关于FIR滤波器的系数

目录

FIR频率采样结构

fir1函数

fir2函数


FIR频率采样结构

    频率采样是FIR滤波器的一种结构方式,其中描述FIR滤波器的参数为所求的频率响应的参数,而不是冲激响应h(n)。为了得到频率采样结构的参数,我们需要通过等间隔的频率采样指定所需要的频率响应。

    我们可以使用MATLAB中的函数实现其具体的操作,在这里我们主要利用了MATLAB中的fir1函数或者fir2函数。

fir1函数

    fir1函数是用窗函数法设计线性相位FIRDF的工具箱函数,以实现线性相位FIRDF的标准窗函数法设计。

    b=fir1(n,wn);

    b=fir1(n,wn,'ftype');

    b=fir1(n,wn,'ftype',window);

    其中参数b为滤波器系数,参数n为滤波器阶数,参数Wn为截止频率的取值,其取值范围必须为0 \leq Wn \leq 1

    在采样前我们首先要对频率进行归一化处理,这是因为在使用fir1函数进行滤波器设计时采用的是归一化频率。设实际采样频率为fs,实际的截止频率为fc,设归一化截止频率为fcmfcm=fc/(fs/2)。当设计带通和带阻滤波器时, Wn=[W1 \quad W2], W1 \leq w \leq W2

     以设计一个48阶的滤波器为例:

fs=3200;%采样频率
fs_half=fs/2;%归一化频率
f1=45/fs_half;f2=55/fs_half;
b = fir1(48,[f1 f2]);%设计滤波器

[H w]=freqz(b,1,512);%求频响

[b_new,a_new]=invfreqz(H,w,48,0);
figure;freqz(b,1,512);
figure;freqz(b_new,1,512);

fir2函数

    fir2函数可以用于设计有任意频率响应的加窗FIR滤波器,对标准的低通、带通、高通和带阻滤波器的设计可使用fir1函数。 

    函数fir2的各种形式如下:

    b = fir2(n,f,m)
    b = fir2(n,f,m,window)
    b = fir2(n,f,m,npt)
    b = fir2(n,f,m,npt,window)
    b = fir2(n,f,m,npt,lap)
    b = fir2(n,f,m,npt,lap,window)

    接下来对fir2函数中的各项参数进行介绍,n为滤波器的阶数。向量f是指定频率点的幅度响应样本,它所划分的频率段与参数m定义的幅度响应样本相对应;fm具有相同的长度,并且f的第一个和最后一个分量分别是0和1;可以对f中的频点进行复制,从而跳变地逼近幅度响应指标。f: 指定归一化的各频带边界频率,从0到1递增, 1对应fs/2,即
    npt指定了fir2函数进行内插得频率响应的栅格点数目,npt必须大于过滤器阶数的一半,即npt > n/2,该参数的默认值为512。
    lap指定了在f中重复频率点间插入的区域大小。

     例如设计一个30阶的FIR滤波器,其代码如下:

f = [0 0.6 0.6 1]; m = [1 1 0 0];
b = fir2(30,f,m);
[h,w] = freqz(b,1,128);
plot(f,m,w/pi,abs(h))
legend(‘Ideal’,‘fir2 Designed’)
title(‘Comparison of Frequency Response Magnitudes’)

     再举一个例子。用fir2函数设计一个60阶的FIR滤波器,要求滤波器0到π/4的幅度响应为0 ,π/4到π/2的幅度响应为1/4,π/2到3π/4的幅度响应为0,3π/4到1的幅度响应为1。其程序如下:

n=60;
f=[0 0.25 0.25 0.50 0.50 0.75 0.75 1];
m=[0 0 1/4 1/4 0 0 1 1];
%对幅频响应插值时插值点的个数
npt=1024;
%插值时不连续点转变成连续时的点数 lap=50; %衰减为30dB的切比雪夫窗函数
window=chebwin(61,30);
b=fir2(n,f,m,npt,lap,window);

  • 10
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

daijingxin

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值