w89986581 发表于 2007-7-12 20:22

滤波器设计

如何设计滤波器使其幅度与相位满足已知系统的传递函数H(w).

songzy41 发表于 2007-7-13 09:39

可以把传递函数H(w)进行IFFT后变成h(t),它实际上就是FIR滤波器的系数b;若h(t)太长,可加窗函数把它截断。

w89986581 发表于 2007-7-13 22:33

FIR滤波器通带范围不是线形相位么?可以满足任意相位么?

songzy41 发表于 2007-7-14 08:46

我把它称为FIR,是因为它是有限的激冲响应,和我们平时学习的FIR滤波器设计是不同的。但这种方法在语音的同态处理的分析合成中实际已应用了。

w89986581 发表于 2007-7-14 10:51

万分感谢!再反变换时有没有什么需要特殊注意的问题?

songzy41 发表于 2007-7-14 18:34

我认为H(w)应为最小相位系统

w89986581 发表于 2007-7-15 16:51

回复 #6 songzy41 的帖子

clear all;clc

nfft = 1024;
F = zeros(1,nfft+1);
fs = 10000;
fn = /nfft * fs;

fh = 2000;
fl = 1000;

index = find(fn>=fl & fn<=fh);
F(index(1:20)) = 1*exp(i*pi/4);
F(index(21:40)) = 2*exp(-i*pi/4);
F(index(41:60)) = 2.5*exp(i*pi/2);
F(index(61:80)) = 3*exp(i*pi*3/4);
F(index(81:100)) = 1*exp(-i*pi/4);
F(end:-1:end-(nfft/2-2)) = conj(F(2:nfft/2));

y = real(ifft(F));

psd(y,1024,fs,[])

对于我假定的H(w),经过ifft变换以后,再fft以后已经不是H(w)了.:@( 帮我看看如何修改.

songzy41 发表于 2007-7-16 09:03

我想求出y后不应用psd来求它的功率谱。可用FFT看它的实部虚部是否满足要求。
页: [1]
查看完整版本: 滤波器设计