FIR滤波器截止频率范围
本帖最后由 lologame 于 2013-6-29 17:39 编辑这是来自数字滤波器相关书籍上FIR滤波器设计章节中的一句话,
对于书上的这句话,我感觉很疑惑啊!
为什么带宽 必须要小于pi呢?
这样的话,我设计一个低通滤波器,截止频率为Wc
那么Wc也必须小于pi?
我不能将截止频率设置为1KHz吗?
角频率pi,对应的频率才0.5Hz啊...
望各位大侠指点... 数字滤波器都是归一化来说明 NJ8888 发表于 2013-6-29 17:56 static/image/common/back.gif
数字滤波器都是归一化来说明
初学数字滤波器,不是很明白。
那么我如果要涉及1KHz截止频率的低通滤波器,
Wc=2*pi*1000;
这样超出了范围pi,可以的吗? 本帖最后由 NJ8888 于 2013-6-29 18:06 编辑
频域中的频率要结合采样率来定位0--1之间的归一化时域频率,当你采样率没定,没法讨论数字滤波器。1000Hz信号,用5000Hz采样,与100Hz信号,500Hz采样结果是一样的 NJ8888 发表于 2013-6-29 18:04 static/image/common/back.gif
频域中的频率要结合采样率来定位0--1之间的归一化时域频率,当你采样率没定,没法讨论数字滤波器。1000Hz信 ...
那当我以5000Hz采样频率采样的时候,对应的截止频率最大值是多少呢?
是2500Hz吗? lologame 发表于 2013-6-29 18:45 static/image/common/back.gif
那当我以5000Hz采样频率采样的时候,对应的截止频率最大值是多少呢?
是2500Hz吗? ...
我理论水平不够,我只能说我的理解:2倍采样率是指波形为正弦时,但是实际波形很复杂,好多谐波,如果你关心谐波,那你至少应当使用你所关心谐波频率的上限的2倍来采样,如果只关心基波,不关心谐波,你应当外面用模拟的滤波器来衰减基带外信号,衰减越多越好,能抗混叠,实际往往不全是想要基波,还想要谐波,那么10倍过采样,能处理10次谐波,通常10次谐波分量很小了,在加上外面至少一个一阶RC,基本不会有混叠。
5000Hz采样意味着能记录2500Hz的信号,高于2500Hz的应当用模拟滤波器过滤掉,如果混着2500以上的波形,没有抗混叠的滤波器,那么恢复的波形严重不同于原始信号,所以你用5000采样,除非你确信信号就是所有具有一定电平的谐波(根据实际确定电平)低于2500的正弦叠加,有高于2500的而没滤掉,且幅度够大,复现信号有严重走形的状况 NJ8888 发表于 2013-6-29 20:07 static/image/common/back.gif
我理论水平不够,我只能说我的理解:2倍采样率是指波形为正弦时,但是实际波形很复杂,好多谐波,如果你 ...
嗯,我输入的波形是一正弦波(matlab模拟阶段),采样信号是5000Hz。那么截止频率应该就是2500Hz吧? you got it.
你可以试下用5000Hz去采样3000Hz,看看采样后所看到的波形频率是不是变成2000Hz了,这就是aliasing winster321 发表于 2013-6-29 21:10 static/image/common/back.gif
you got it.
你可以试下用5000Hz去采样3000Hz,看看采样后所看到的波形频率是不是变成2000Hz了,这就是alia ...
嗯,稍微有点明白了。
能否请您帮我看下这段简短的代码,是否能够实现FIR滤波器的功能
我做出来有些问题,得不到输出波形、、
function test()
clear;
Fs = 1000; %采样频率为1KHz
%-----------------------------------------输入信号---------------------------------------------
F = 1; %输入信号频率
t = 0:1/Fs:1;
Y = sin((F*2*pi)*t);
subplot(211), plot(t, Y);
%-----------------------------------------计算滤波信号---------------------------------------------
Fc = 500; %截止频率Fc Hz
Wc = 2*pi*Fc; %截止频率(弧度)
M = 10; %长度为10 阶数为9的FIR滤波器
hd = ideal_lp(Wc, M); %获得理想低通滤波器的前M个脉冲响应
w_box = (boxcar(M))'; %获得矩窗口函数
h = hd .* w_box; %获得实际脉冲响应
Y = [, Y]; %初始时,以0补齐最前面的数据
for i = 10:(1*Fs+10) %滤波
OUT(i-9) = h(1)*Y(i) + h(2)*Y(i-1) + h(3)*Y(i-2) + h(4)*Y(i-3) + h(5)*Y(i-4) + h(6)*Y(i-5) + h(7)*Y(i-6) + h(8)*Y(i-7) + h(9)*Y(i-8) + h(10)*Y(i-9);
end
subplot(212), plot(t, OUT);
axis();
好像是我的滤波器阶数设置的还太小了。 搞懂了,结贴。
这里是对频率进行归一化处理。
归一化频率,是已知信号最大频率,并将其最大角频率化为1,其他相关频率进行百分比计算。
比如:
1000KHz采样频率,信号的最大频率就应该是500Hz, 信号最大的角频率应该是1000*pi(奈奎斯特定理)
假设截止频率为100Hz,截止角频率就为200*pi。
那么归一化后的截止角频率为多少呢?
信号最大角频率1000*pi <----------> 1
信号截止角频率 200*pi<----------> x
通常的数学公式,我们可以知道,x=0.2
在fir滤波器中,我们就取截止角频率为0.2*pi. 这几天在搞fir,上面讨论有助理解。{:smile:}
页:
[1]