滤波器设计中的频率归一化问题

滤波器介绍

滤波器的设计就是设计滤波器的系数[b,a]

归一化的介绍

信号处理工具箱中经常使用的是nyquist频率,它被定义为采样频率的一半,在滤波器的阶数选择和设计中的截止频率均使用nyquist频率进行归一化处理。

滤波器设计的介绍

本文示例中的滤波器的通频带设计为butter(5,[20/(fs/2) 20/(fs/2)]),5为滤波器阶数,20为你需要设置通过频率的上限或下限,fs为你的采样频率,本文使用nyquist频率进行归一化处理,所以对fs除以2。

如果采样频率Fs=1000Hz,设计一个5阶、通带为100-200Hz的带通滤波器,那么:

1
[b,a]=butter(5,[0.2 0.4])=butter(5,[100/(1000/2) 200/(1000/2) ])

实例分析滤波器

源码

下面是一个简单的滤波器的设计源码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
fs = 50;% 采样频率
Wn=[20/(fs/2) 20/(fs/2)];% 设置通频带
N=5;% n阶滤波器
[b,a]=butter(N,Wn);
t = 0:1/fs:10-1/fs;
x = sin(2*pi*15*t) + sin(2*pi*20*t);% 产生一个频率分量为15Hz和20Hz的正弦信号
X = fft(x,4096);% 频域分析
f = (0:length(X)-1)*fs/length(X);
subplot(221);plot(t,x);title('滤波前信号的波形(a)');
subplot(222);plot(f,abs(X));title('滤波前信号的频谱(b)');
y=filter(b,a,x);
Y=fft(y,4096);
subplot(223);plot(t,y);title('滤波后信号的波形(c)');
subplot(224);plot(f,abs(Y));title('滤波后信号的频谱(d)');

滤波器效果图及分析

图a和图b是未处理的信号波形,从b图可以看出这个正弦信号有两个频率分量

图c和图d是处理后的信号波形,从d图可以看出此时只有20Hz这一个频率分量了