开元周游
德国频道
查看: 5451|回复: 34
打印 上一主题 下一主题

做实习遇到的问题

[复制链接]
1#
发表于 10.6.2006 16:16:36 | 只看该作者
这次实习做的是关于用Wavelet变换来分析EMG的信号。观察Aktivitaet和它的关系。<br /><br />现在碰到个问题,对于已有的Wavelet的C的源代码如何变成Simulink里的S-Function<br /><br />呢?请懂的人说一下。十分感谢!
回复 支持 反对

使用道具 举报

2#
 楼主| 发表于 10.6.2006 16:38:26 | 只看该作者
那你能不能给我看看C的源代码?很难理解,看不懂。
回复 支持 反对

使用道具 举报

3#
 楼主| 发表于 11.6.2006 22:39:48 | 只看该作者
#define N0 128<br />#include &quot;stdio.h&quot;<br />#include &quot;stdlib.h&quot;<br />#include &quot;math.h&quot;<br />#include &quot;string.h&quot;<br />void db4(double *h,double *g,double *hh,double *gg);<br />void wd(int N,double *h,double *g,double *c0,double *c,double *d);<br />void wr(int N,double *h,double *g,double *c, double *d,double *cd);<br />void main()<br />{<br />double fk[N0],c0[N0],c[N0],d[N0];<br />double h[8],g[8],hh[8],gg[8];<br />float fk0[N0];<br />FILE *fp;<br />int i,k,j,n,l,N;<br />fp=fopen(&quot;wdata.dat&quot;,&quot;rt&quot;);<br />fscanf(fp,&quot;%d&quot;,&N);<br />for(k=0;kfclose(fp);<br />db4(h,g,hh,gg);<br />for(k=0;kc0[k]=fk0[k];<br />c[k]=0;<br />d[k]=0;<br />}<br />wd(N,hh,gg,c0,c,d);<br />wr(N,hh,gg,c,d,c0);<br />for(k=0;kreturn;<br />}<br />void wd(int N,double *h,double *g,double *c0,double *c,double *d)<br />/* wavelet decomposition */<br />{<br />int k,n,k2,l;<br />double ck,dk;<br />for(k=0;kck=0.0;<br />dk=0.0;<br />for(l=0;l&lt;8;l++) {<br />n=k+l;<br />ck+=c0[n%N]*h[l];<br />dk+=c0[n%N]*g[l];<br />}<br />c[k]=ck;<br />d[k]=dk;<br />}<br />for(k=0;kk2=2*k;<br />c0[k]=c[k2];<br />c0[N/2+k]=d[k2];<br />}<br />return;<br />}<br />void wr(int N,double *h,double *g,double *c,double *d,double *c0)<br />/* wavelet reconstruction */<br />{<br />int k,n,l,k2;<br />double ck,cn,dn;<br />for(k=0;kk2=2*k;<br />c[k2]=c0[k];<br />c[k2+1]=0;<br />d[k2]=c0[N/2+k];<br />d[k2+1]=0;<br />}<br />for(k=0;kfor(k=0;kck=0.0;<br />for(l=0;l&lt;8;l++) {<br />n=k-l;<br />cn=c[(N+n)%N];<br />dn=d[(N+n)%N];<br />ck+=cn*h[l]+dn*g[l];<br />}<br />c0[k]=ck;<br />}<br />return;<br />}<br />void db4(double *h,double *g,double *hh,double *gg)<br />/* Daubechies 4 wavelet */<br />{<br />int k,isgn;<br />h[7]=-0.0105974017850890;<br />h[6]= 0.0328830116668852;<br />h[5]= 0.0308413818355607;<br />h[4]=-0.1870348117190931;<br />h[3]=-0.0279837694168599;<br />h[2]= 0.6308807679398597;<br />h[1]= 0.7148465705529154;<br />h[0]= 0.2303778133088964;<br />isgn=1;<br />for(k=0;k&lt;8;k++) {<br />gg[k]=isgn*h[7-k];<br />isgn=-isgn;<br />}<br />for(k=0;k&lt;8;k++) {<br />g[k]=gg[7-k];<br />hh[k]=h[7-k];<br />}<br />return;<br />}<br />float fun(float x)<br />{<br />float pi=3.1415926;<br />float yx=30*exp(-x/40)*sin(2*pi*x/40);<br />return(yx);<br />}<br /><br />这个用的是 DB4小波,周期延拓,可以实现精确重构的。
回复 支持 反对

使用道具 举报

4#
 楼主| 发表于 11.6.2006 22:40:01 | 只看该作者
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 12.6.2006 22:02:17 | 只看该作者
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 13.6.2006 16:08:22 | 只看该作者
问下斑竹,这个就是所谓的短波变换吗?<br /><br />我现在做实习里面的前提就是先要用Simulink进行仿真。<br /><br />输入是时间和频率,或者只是频率。因为是离散的时间,时间间隔是常数。<br /><br />那么如果用以上的C源代码。怎么变成Simulink里的S函数呢?<br /><br />数据是从From Workspace输入,经过变换和Scope之后,还要回到Workspace。就是to Workspace。而我现在就是要通过这个变化得到那个Spektrogramm。
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 16.6.2006 13:46:40 | 只看该作者
的确是这样,现在就是这个S函数该怎么调整?能不能再说的详细一点啊?谢谢!
回复 支持 反对

使用道具 举报

8#
发表于 17.6.2006 08:43:40 | 只看该作者
eisenstange <br />好人加能人。<br />我文科生,一窍不懂得说。但是,非常欣赏这样相互帮助的态度。<br />
回复 支持 反对

使用道具 举报

9#
发表于 17.6.2006 10:59:51 | 只看该作者
<!--emo&--><img src='style_emoticons/<#EMO_DIR#>/smile.gif' border='0' style='vertical-align:middle' alt='smile.gif' /><!--endemo--> <!--QuoteBegin-eisenstange+17.06.2006, 09:07 --><div class='quotetop'>QUOTE(eisenstange @ 17.06.2006, 09:07 )</div><div class='quotemain'><!--QuoteEBegin-->万事开头难,每个人都有一开始的时候,作为过来人,因该尽可能的扶一下,谁叫现在企业对毕业生的要求都那么高呢,大家学的好,对个人和国家社会都有利。牺牲个把小时,值得。有时候自己也能从中学到一些东西。利己利人何乐而不为。<br />[right][snapback]1008611[/snapback][/right]<br /><!--QuoteEnd--></div><!--QuoteEEnd--><br />如果大家都能这么团结一致,共同研究,那么,我们中国学生勤奋好学,紧密联系会让周围的外国人敬佩的。<br />
回复 支持 反对

使用道具 举报

10#
 楼主| 发表于 17.6.2006 16:15:11 | 只看该作者
今天早上刚和一起做的人讨论好回来。就看到斑竹如此详细的解释。真是很感谢。马上试下。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

站点信息

站点统计| 举报| Archiver| 手机版| 小黑屋

Powered by Discuz! X3.2 © 2001-2014 Comsenz Inc.

GMT+1, 24.11.2024 04:17

关于我们|Apps

() 开元网

快速回复 返回顶部 返回列表