抗混叠滤波的Matlab解释

时间:2024-03-26 13:52:22

信号分析学习时,对书上混叠的解释,老是不明不白的。当频率大于采样频率的一半时,就会出现混叠。

其实,用Matlab仿真一下,就会很清楚。

%第一步,产生sin信号
f=4000;
fs=10000;   
N=5000;
t=0:1/fs:(N-1)/fs;
x=sin(2*pi*f*t);
%第二步,对生成的sin信号进行fft变换
k=0:fs/N:fs*(N-1)/N;
y=abs(fft(x));
z=plot(k,y);

比如上面采样频率10kHz,正弦信号频率为4kHz时,fft之后得到的频谱图如下。

抗混叠滤波的Matlab解释

当采样频率不变,将信号频率改为6kHz时,得到的频谱和上图一模一样。这样,你仅仅通过观察经fft变换之后的频谱图,就无法判断信号是4kHz还是6kHz。即二者混到一块了,无法分辨了。那我们可以采用抗混叠滤波器,来实现,将大于采样频率一半的信号给过滤掉,那么频谱显示的频率即为真实的信号了。因此抗混叠滤波器一般为低通滤波器,理论上其截止频率应为fs/2。