当前位置:首页>维修大全>综合>

matlab中firl如何使用(matlab filter2函数怎么用)

matlab中firl如何使用(matlab filter2函数怎么用)

更新时间:2024-08-05 17:09:00

matlab中firl如何使用

以下是使用 firls 的一般步骤:

1.确定滤波器的设计规格,包括截止频率、通带增益、阻带衰减等。

2.使用 firls 函数来设计滤波器。

3.使用返回的系数 b 来应用滤波器。可以使用 filter 函数来应用 FIR 滤波器。例如,假设有一个信号 x,需要将其通过设计好的 FIR 滤波器进行低通滤波,则可以使用以下代码:y = filter(b, 1, x);

首先需要根据性能指标(如主瓣宽度、旁瓣衰减等)确定适合的窗函数。 主瓣宽度、旁瓣衰减是一对情敌,想要主瓣宽度窄且旁瓣衰减大,那是电视剧里都不会出现的情况。实际中,需要根据自己的任务指标权衡。此外,还需要确定阶数。然后就可以用fir1函数设计滤波器了。

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

其中:

b:我们设计的fir滤波器系数,长度为n+1;b跟过渡带的宽度有关,设计时根据性能要求确定。

n:滤波器的阶数。注意,b的长度为n+1。

wn:滤波器的截止频率,可以是一个标量或者多元素的向量。取值范围0<wn<1,wn = 1对应于奈奎斯特采样频率(采样频率/2)。wn是单个值时,为低通/高通滤波器,ftype可以为low/high;当wn为有两个元素的向量[w1 w2 ],w1 < w2 , 为带通/带阻滤波器,ftype可以为bandpass/stop; 如果Wn有两个以上元素[w1 w2 …… wn],w1< w2 <…… <wn,ftype可以为'DC-0' | 'DC-1'。ftype为'DC-0'代表第一个带(0~w1 )为阻带(系统默认),ftype为'DC-1'代表第一个带(0~w1 )为通带。wn对应于滤波器归一化增益-6dB处。

window:表示使用的窗函数,最常用的是汉明窗(Hamming)、汉宁窗(Hanning)、三角窗(bartlett、triang)、矩形窗(boxcar)、布莱克曼窗(Blackman)、chebwin(切比雪夫窗)、凯赛窗(Kaiser);默认是汉明窗(Hamming)。各种窗的差别主要在集中于主瓣的能量和分散在所有旁瓣的能量之比。

例如我们需要设计一个50阶,截止频率ω = 0.3π,使用汉明窗的低通滤波器。

b = fir1(50,0.3,'low',hamming(51));

freqz(b,1,512)

更多栏目