|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
第一种是N=41,W=0.40-0.48.这两个参数代入下面的程序,得到mes的结果图,并绘制图像。(程序正常运行了)第二种是取W=0.45时,N取分别取31 33 35 37 41 97 99 101 127时,两个参数代入下面的程序,得到mes的结果图,并绘制图像。
运行不了,得不出结果图。求帮帮我,毕设。
- 第一种
- w1=zeros(10); %%%定义一个0数组
- y=zeros(10); %%%定义一个0数组
- w1=[0.40 0.41 0.42 0.43 0.44 0.45 0.46 0.47 0.48 ]; %%赋值
- N=41;
- for i=1:1:9
- w=w1(i); %%每次循环都会将数组w1中的值赋给w,参与运算
- %下面的程序没动
-
- [h0,h1,g0,g1]=firpr2chfb(N,w); [H1z,w]=freqz(h0,1,512);
- H1_abs=abs(H1z);H1_db=20*log10(H1_abs); [H2z,w]=freqz(h1,1,512);
- H2_abs=abs(H2z);H2_db=20*log10(H2_abs);
- n=1:500; T=0.2; x=sin(n*T);
- hlp=mfilt.firdecim(2,h0); hhp=mfilt.firdecim(2,h1);
- glp=mfilt.firinterp(2,g0); ghp=mfilt.firinterp(2,g1);
- x0=filter(hlp,x); x0=filter(glp,x0);
- x1=filter(hhp,x); x1=filter(ghp,x1);
- xidle=x0+x1; xshift=[zeros(1,N) x(1:end-N)];
- e=xidle-xshift;
- mes=sum(abs(e).^2)/length(e);
- y(i)=mes; %每次运算的mes值都赋给相应的y(i)
- end
- figure(7);
- i=1:1:9;
- sprintf('%f',w1(1))
- plot(w1(i),y(i),'--b');
- 第二种
- w1=zeros(10); %%%定义一个0数组
- y=zeros(10); %%%定义一个0数组
- w1=[31 33 35 37 41 97 99 101 127]; %%赋值
- w=0.45;
- for i=1:1:9
- N=w1(i); %%每次循环都会将数组w1中的值赋给w,参与运算
- %下面的程序没动
-
- [h0,h1,g0,g1]=firpr2chfb(N,w); [H1z,w]=freqz(h0,1,512);
- H1_abs=abs(H1z);H1_db=20*log10(H1_abs); [H2z,w]=freqz(h1,1,512);
- H2_abs=abs(H2z);H2_db=20*log10(H2_abs);
- n=1:500; T=0.2; x=sin(n*T);
- hlp=mfilt.firdecim(2,h0); hhp=mfilt.firdecim(2,h1);
- glp=mfilt.firinterp(2,g0); ghp=mfilt.firinterp(2,g1);
- x0=filter(hlp,x); x0=filter(glp,x0);
- x1=filter(hhp,x); x1=filter(ghp,x1);
- xidle=x0+x1; xshift=[zeros(1,N) x(1:end-N)];
- e=xidle-xshift;
- mes=sum(abs(e).^2)/length(e);
- y(i)=mes; %每次运算的mes值都赋给相应的y(i)
- end
- figure(7);
- i=1:1:9;
- sprintf('%f',w1(1))
- plot(w1(i),y(i),'--b');
复制代码 |
|