仪器社区

椭圆低通滤波器基于matlab设计程序如下,求每句注释

大萌856 2012-06-23
%连续信号的产生及采样 clear Fs=100; t=(1:100)/Fs; s1=sin(2*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30); s=s1+s2+s3; plot(t,s); xlabel('时间(s)'); ylabel('幅值'); grid; %椭圆低通滤波器的设计 [b,a]=ellip(5,0.1,40,5*2/Fs); [H,w]=freqz(b,a,51... %连续信号的产生及采样 clear Fs=100; t=(1:100)/Fs; s1=sin(2*pi*t*5); s2=sin(2*pi*t*15); s3=sin(2*pi*t*30); s=s1+s2+s3; plot(t,s); xlabel('时间(s)'); ylabel('幅值'); grid; %椭圆低通滤波器的设计 [b,a]=ellip(5,0.1,40,5*2/Fs); [H,w]=freqz(b,a,512); plot(w*Fs/(2*pi),abs(H)); xlabel('频率(Hz)');ylabel('频率响应图'); grid; %对滤波后的信号进行分析和变换 sf=filter(b,a,s); plot(t,sf); xlabel('时间 (s)'); ylabel('幅值'); axis([0 1 -1 1]); S=fft(s,512); SF=fft(sf,512); w=(0:255)/256*(Fs/2); plot(w,abs([S(1:256)' SF(1:256)'])); xlabel('频率(Hz)'); ylabel('傅立叶变换图'); grid; legend({'before','after'});
评论
全部评论
11小天使2
%椭圆低通滤波器的设计
[b,a]=ellip(5,0.1,40,5*2/Fs);
关键是ellip这个函数的使用,diyi个参数表示滤波器的阶数,第二个参数表示通带波纹度,单位dB,第三个参数表示阻带衰减,单位dB,第四个参数表示归一化的低通滤波器截止频率,计算公式如下,假设截止频率为F,则有:
第四个参数=F/(Fs/2)=F*2/Fs
由上面的描述可知,该滤波器的截止频率为5Hz,所以会把15和30Hz滤掉,不过我觉得截止频率设为10Hz会更好一点,你说呢。
剩下的比较简单,有不懂的欢迎追问。
4 0 2017-11-25 0条评论 回复
我是菜老公
20 0 2012-06-24 0条评论 回复
您可能感兴趣的社区主题
加载中...
发布 评论