网站首页 美食营养 游戏数码 手工爱好 生活家居 健康养生 运动户外 职场理财 情感交际 母婴教育 时尚美容 知识问答

FIR低通滤波器的MATLAB仿真及效果验证

时间:2024-10-12 13:02:57

1、实际应用背景:若信号为一个10Hz与一个30Hz的余弦信号相加,那么如何滤除30Hz的信号?

2、首先产生原始信号。采样率设置为100Hz,时宽2s。MATLAB程序如下: f1=10;%第一个点频信号分量频率 f2=30;%第二个点频信号分量频率 fs=100;%采样率 T=2;%时宽 B=20;%带宽 n=round(T*fs);%采样点个数 t=linspace(0,T,n); y=cos(2*pi*f1*t)+cos(2*pi*f2*t);

3、观察原始信号的时域波形和频谱,从频谱图中可以明显看出其10Hz与30H所鼙艘疯z的分量。MATLAB程序如下: figure; plot(t,y)稆糨孝汶; title('原始信号时域'); xlabel('t/s'); ylabel('幅度'); figure; fft_y=fftshift(fft(y)); f=linspace(-fs/2,fs/2,n); plot(f,abs(fft_y)); title('原始信号频谱'); xlabel('f/Hz'); ylabel('幅度'); axis([ 0 50 0 100]);

FIR低通滤波器的MATLAB仿真及效果验证

4、设计FIR滤波器:为滤除30Hz的分量,我们选用20Hz截止频率的低通滤波器,阶数为40阶(若要获得更陡峭的过渡带,阶数可以选择的更高)。MATLAB中用fir1函数实现滤波器冲击响应系数的计算。注意:模拟频率f=20Hz需要按f/(fs/2)的式子化为数字频率,作为fir1函数中的参数。MATLAB程序如下: b=fir1(40, B/(fs/2)); %滤波产生指定带宽的噪声信号 figure; freqz(b);%画滤波器频响

FIR低通滤波器的MATLAB仿真及效果验证FIR低通滤波器的MATLAB仿真及效果验证
© 2025 小知经验
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com