找回密码
 注册
关于网站域名变更的通知
查看: 472|回复: 1
打印 上一主题 下一主题

为什么MATLAB运行的时候b=fir1(N,[0.5*(f2+f1)/(fs/2),0.5*(f4+f3)/(fs/2)],'stopp...

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2020-8-5 15:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
有关凯塞窗设计带阻滤波器问题请教大神。感谢!
' j, n8 ?9 A2 Q& `, o, i# j# R. I0 X
/ ?; y/ C: Q, z4 yclc;
% a3 \/ @8 b8 `/ u, `6 _/ Sclear;) E4 C4 ~& H; _5 v0 j3 Q) Q  ^2 M
f1=150;f2=250;f3=350;f4=450;%定义通阻带频率
. l7 Y* A0 E2 ?fs=2000;%采样频率
5 B: p. }6 X" b6 H5 f* h. sAs=80;
- B5 q) n6 i4 z, S, Z0 Iws1=2*pi*f1/fs;  
  m! C! d' W" I" c( _3 E6 P$ Q1 Dwp1=2*pi*f2/fs;" M( J' m  }. z, ?) R) l' y" c3 L
wp2=2*pi*f3/fs;  
$ V* C6 H& }1 p# ~8 _: o3 uws2=2*pi*f4/fs;
6 i& P0 H4 q! x" Xbeta=0.1102*(As-8.7);" h5 i. Y  I3 _3 `4 T* O6 z
Bt=min(abs(ws1-wp1),abs(ws1-wp1));
0 B" \% k/ G, J: g; i. tN=ceil((As-7.95)/2.285/Bt);%定义滤波器的阶数
9 u) `/ f+ n% l+ lb=fir1(N,[0.5*(f2+f1)/(fs/2),0.5*(f4+f3)/(fs/2)],'stopp',kaiser(N+1,beta)); %输入的参数分别是滤波器的阶数和截止频率
" G" H* ~% `% O' Vfigure(1)
' p) _  H. P7 D/ A% t[h,f]=freqz(b,1,512);%幅频特性图
) C6 t5 n5 R, v& w. l2 }plot(f*fs/(2*pi),20*log10(abs(h)))%输入参数为频率与幅值- O9 b# d" H- z
title('滤波器的增益响应');xlabel('频率/赫兹');ylabel('增益/分贝');; @! c( x# f$ {6 v! k) j. @' o
figure(2)2 U: p7 X2 S* U0 d6 p0 r/ D
subplot(211)
: v- X" v4 n* z1 p3 f* \/ K5 e  It=0:1/fs:0.1;%定义时间范围和步长
1 |" i' [8 ?( B" _  C( r) ^) Xf5=100;f6=200;f7=500;%输入信号频率
1 _- I2 W: {2 T1 Xs=sin(2*pi*f5*t)+sin(2*pi*f6*t)+sin(2*pi*f7*t);%滤波前信号
" t6 j0 V2 ]& L1 p# J+ J$ ^1 Dplot(t,s);%滤波前的信号图像
- R1 \4 `3 {" }' H- m* U$ qtitle('信号滤波前时域图');xlabel('时间/秒');ylabel('幅度/伏');
4 l8 y) r" A9 K4 i! C. |subplot(212)
# x; a9 e/ Y: g0 w  P8 `( @Fs=fft(s,512);%傅里叶变换
" A# q+ B2 ~4 s4 g% {' p2 j; }9 t/ jAFs=abs(Fs);%信号频域图的幅值
4 T6 ?! n8 B3 I" R( x& y  U5 _f=(0:255)*fs/512;%频率采样
+ E" S; p- t: o% }: U+ Wplot(f,AFs(1:256));%滤波前的信号频域图1 f+ X; R; H: {5 B# H
title('信号滤波前频域图');xlabel('频率/赫兹');ylabel('幅度');
* ^% u  n) H1 Gfigure(3)
2 w5 l$ ^" z8 esf=filter(b,1,s);%对信号进行滤波
, l7 b& l# L% M0 Tsubplot(211)
$ L2 f! ~2 I% J" e, `3 tplot(t,sf)%滤波后的信号图像6 e6 `7 b+ _% r1 F  O# \
title('信号滤波后时域图');xlabel('时间/秒');ylabel('幅度/伏');
7 q0 m7 a  C9 F( Z" Zaxis([0 0.1 -2 2]);%限定坐标范围
. ?5 @$ J0 _1 i( [& O# osubplot(212)
( _& F1 z: X/ M2 `+ {) |Fsf=fft(sf,512);%滤波后的信号频域图
. D* y4 i5 k" e% ?AFsf=abs(Fsf);%信号频域图的幅值
& _+ q+ A8 M$ _) u" ?0 T4 Kf=(0:255)*fs/512;%频率采样
7 h9 [  C5 N" A; Cplot(f,AFsf(1:256))%滤波后的信号频域图
0 o/ \5 _$ ]! A4 y! T0 t/ Xtitle('信号滤波后频域图');xlabel('频率/赫兹');ylabel('幅度');# p. P4 x& j! x& |5 L% ^
为什么MATLAB运行的时候b=fir1(N,[0.5*(f2+f1)/(fs/2),0.5*(f4+f3)/(fs/2)],'stopp',kaiser(N+1,beta));会报错。

该用户从未签到

2#
发表于 2020-8-5 15:50 | 只看该作者
你仔细检查一下你的代码。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-25 00:42 , Processed in 0.156250 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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