christy 发表于 2005-8-14 14:43

[求助]阻带FIR滤波器

请问在matlab中如何实现阻带FIR滤波器

hyacinth 发表于 2005-8-14 19:42

回复:(xingxia)[求助]阻带FIR滤波器

下面以设计线性相位FIR滤波器为例介绍具体的设计方法。

线性相位FIR滤波器通常采用窗函数法设计。窗函数法设计FIR滤波器的基本思想是:根据给定的滤波器技术指标,选择滤波器长度N和窗函数ω(n),使其具有最窄宽度的主瓣和最小的旁瓣。其核心是从给定的频率特性,通过加窗确定有限长单位脉冲响应序列h(n)。工程中常用的窗函数共有6种,即矩形窗、巴特利特(Bartlett)窗、汉宁(Hanning)窗、汉明(Hamming)窗、布莱克曼(Blackman)窗和凯塞(Kaiser)窗。

假设实际工程需要设计一个线性相位带通FIR滤波器指标如下:

fn=;

a=;

dev=;

阻带最小衰减60dB,再设采样频率fs=10kHz,则根据阻带最小衰减来选择凯塞(Kaiser)窗,利用MATLAB的求阶函数和FIR滤波器的设计函数,可以快速地设计出所需的数字滤波器。这两个设计函数如下:

=kaiserord(fn,a,dev,fs);

b=fir1(n,Wn,ftype,Kaiser(n+1,beta);

最后,利用的滤波器分析函数freqz分析所设计出的滤波器的幅频特性和相频特性,并用图形显示函数plot将它们显示出来,如图1所示。由图1可见,设计结果满足指标要求。

Anonymous 发表于 2005-8-15 10:50

回复:(xingxia)[求助]阻带FIR滤波器

最简单的方法是用fdatool,呵呵,方便快捷
页: [1]
查看完整版本: [求助]阻带FIR滤波器