主要内容

FILPM.

Parks-McClellan最优FIR滤波器设计

描述

实例

B= firpm (N,F,A.)返回行向量B包含这一点n + 1阶系数N冷杉过滤器。所得到的滤波器的频率和振幅特性与矢量所给出的特性相匹配FA.

实例

B= firpm (N,F,A.,W)用途W称重频率箱。

B= firpm (N,F,A.,文件类型)使用由指定的筛选器类型“ftype”

B= firpm (N,F,A.,Lgrid.)使用整数Lgrid.控制频率网格的密度。

[B,犯错误) = firpm (___)返回最大纹波高度犯错误.您可以使用此以前的任何输入语法。

[B,犯错误,物件) = firpm (___)返回结构的频率响应特性物件

B= firpm (N,F,弗雷斯普,W)返回一个FIR滤波器,其频率幅度特性最接近函数句柄返回的响应弗雷斯普

B= firpm (N,F,弗雷斯普,W,文件类型)设计反对称(奇)滤波器,其中文件类型将滤波器指定为差异化器或Hilbert变压器。如果您没有指定文件类型,打给弗雷斯普以确定默认的对称特性。

例子

全部崩溃

利用Parks-McClellan算法设计了一个17阶FIR带通滤波器。的归一化频带频率 0 3. π 0 7. π RAD /样品和标准化通带频率 0 4. π 0 6. π rad /样品。绘制理想和实际的幅度响应。

F = [0 0.3 0.4 0.6 0.7 1];A = [0 0 1 1 0 0];f, b = firpm (17);[h, w] = freqz (b, 1512);情节(f, w /π,abs (h))传说(“理想的”,'FILPM DESIGN')Xlabel.'弧度频率(\omega/\pi)',伊拉贝尔“震级”

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表理想,公司设计。

设计具有1500 Hz通带截止频率和2000 Hz停滞截止频率的低通滤波器。指定8000 Hz的采样频率。要求最大停止带幅度为0.01和最大通带错误(纹波)0.001。获得所需的滤波器顺序,归一化频带边缘,频带幅度和使用权重firpmord

[n,fo,ao,w] = firpmord([1500 2000],[1 0],[0.001 0.01],8000);B = FILPM(n,fo,ao,w);fvtool (b, 1)

Figure Filter Visualization Tool-震级响应(dB)包含uitoolbar、uimenu类型的轴和其他对象。标题为震级响应(dB)的轴包含line类型的对象。

使用Parks-McClellan算法创建一个50阶等波纹FIR带通滤波器,用于1 kHz采样信号。

N=50;Fs=1e3;

指定通带跨越200 Hz和300 Hz之间的频率,并且通带两侧的过渡区域的宽度为50 Hz。

Fstop1=150;Fpass1=200;Fpass2=300;Fstop2=350;

设计滤波器,使优化拟合权重为低频阻带(权重为3)、通带(权重为1)和高频阻带(权重为100)。显示滤波器的幅值响应。

Wstop1=3;Wpass=1;Wstop2=100;b=firpm(N[0 Fstop1 Fpass1 Fpass2 Fstop2 Fs/2]/(Fs/2),...[0 0 1 1 0 0],[Wstop1 Wpass Wstop2]);fvtool (b, 1)

Figure Filter Visualization Tool-震级响应(dB)包含uitoolbar、uimenu类型的轴和其他对象。标题为震级响应(dB)的轴包含line类型的对象。

输入参数

全部崩溃

过滤器顺序,指定为实正标量。

归一化频率点,指定为真实值的矢量。该参数必须在[0,1]的范围内,其中1对应于奈奎斯特频率。向量中的元素数量始终为2.频率越来越多。

在指定的点处需要期望的幅度F,指定为向量。FA.长度必须相同。长度必须为偶数。

  • 成对点之间频率处的期望振幅(F(K),F(K+1) )为了K奇数是连接两个点(F(K),A.(K))及(F(K+1),A.(K+ 1)。

  • 成对点之间频率处的期望振幅(F(K),F(K+1) )为了K这些点之间的区域是过渡区域或对特定应用不重要的区域。

用于调整每个频带中的拟合度的权重,指定为实值向量W是长度的一半FA.,因此每个频段都有一个重量。

奇数对称线性相位滤波器(III型和IV型)的滤波器类型,规定为“希尔伯特”“差异化”:

  • “希尔伯特”- 输出系数B服从的关系B(K) = -B(N+ 2 –K),K= 1, ...,N+ 1。这类过滤器包括Hilbert变压器,在整个频段上具有所需的1个幅度。

    例如,

    H = firpm(30,[0.1 0.9],[1 1],“希尔伯特”);

    设计了一个长度为31的近似FIR希尔伯特变压器。

  • “差异化”-对于非零振幅频带,滤波器用1/来衡量误差F所以低频的误差要比高频的小得多。对于具有与频率成比例的振幅特性的FIR微分器,这些滤波器使最大相对误差(误差与期望振幅的最大比值)最小化。

控制频率网格的密度,大致有(lgrid * n)/(2 * bw)频率点,在哪里体重是否覆盖了总的频带区间[0,1]的分数F.增加Lgrid.通常会导致滤波器更精确地匹配等效纹波滤波器,但这需要更长的计算时间。的默认值16是应该指定的最小值Lgrid.

频率响应,指定为函数句柄。函数从内部调用FILPM.这个语法:

[dh,dw] = fresp(n,f,gf,w)

这些论点与支持的论点相似FILPM.:

  • N是过滤器订单。

  • F为在0到1之间单调出现的归一化频带边向量,其中1为奈奎斯特频率。

  • 女朋友是在每个指定的频带上线性插值的网格点的向量吗FILPM.女朋友确定必须评估响应函数的频率网格,并包含返回的相同数据cfirpm在里面弗里德领域选择结构。

  • W是一个实数正权重向量,每个频带一个,在优化过程中使用。W在调用中是可选的FILPM.;如果未指定,则将其设置为在传递到之前的Unity加权弗雷斯普

  • dhdw是否在网格中的每个频率上分别评估所需的复频率响应和频带权重向量女朋友

输出参数

全部崩溃

过滤器系数,返回为长度的行向量N+ 1。系数是递增的。

最大纹波高度,作为标量返回。

频率响应特性,作为结构返回。结构物件有以下字段:

res.fgrid.

用于滤波器设计优化的频率网格矢量

雷斯

每个输入点的期望频率响应res.fgrid.

res.wt

每个点的加权opt.fgrid

res.H

中每个点的实际频率响应res.fgrid.

结果误差

每个点的错误res.fgrid.(res.des-res.H)

res.iextr

指数向量res.fgrid.用于极值频率

res.fextr.

极值频率矢量

提示

如果您的过滤器设计无法收敛,则过滤器设计可能不正确。通过检查频率响应来验证设计。

如果您的滤波器设计无法收敛,并且生成的滤波器设计不正确,请尝试以下一种或多种方法:

  • 增加过滤顺序。

  • 通过减少挡带中的衰减和/或展大过渡区域来放松过滤器设计。

算法

FILPM.使用Parks-McClellan算法设计线性相位FIR滤波器[2].帕克斯-麦克莱伦算法使用雷米兹交换算法和切比雪夫近似理论来设计在期望和实际频率响应之间具有最佳拟合的滤波器。滤波器是最优的,因为期望的频率响应和实际频率响应之间的最大误差是最小的。用这种方法设计的滤波器在频率响应中表现出等纹波行为,有时被称为等纹波滤波器。FILPM.由于这种平等的性质,在脉冲反应的头部和尾部展示了不连续性。

这些是I型(N奇数)和II型(N偶数)线性相位滤波器.矢量FA.指定滤波器的频幅特性:

  • F是频率点对的矢量,在0和1之间的范围内指定,其中1对应于奈奎斯特频率。频率必须增加顺序。允许重复的频率点,实际上可以用于设计一个完全相同的过滤器与返回的过滤器fir1的故事函数带有矩形(retwin.)窗口。

  • A.在图中指定的点处,向量是否包含所需的振幅F

    成对点之间频率处的期望振幅函数(F(K),F(K+1) )为了K奇数是连接两个点(F(K),A.(K))及(F(K+1),A.(K+ 1)。

    成对点之间频率处的期望振幅函数(F(K),F(K+1) )为了K即使是未指定的。这些是过渡或“不关心”区域。

  • FA.长度相同。这个长度必须是偶数。

下图说明了两者之间的关系FA.定义所需幅度响应的载体。

FILPM.始终使用甚至对称性的配置以及奈奎斯特频率的非零通带的配置。偶数过滤器顺序的原因是,对于呈现甚至对称性和奇数命令的脉冲响应,奈奎斯特频率的频率响应必须为0.如果指定奇值N,FILPM.将其递增1。

FILPM.设计I型、II型、III型和IV型线性相位滤波器。I型和II型是N甚至和N奇数,分别为III型(N第IV类(N奇数)指定为“希尔伯特”“差异化”,分别使用文件类型参数. .不同类型的滤波器有不同的对称性和一定的频率响应约束。(见[3]更多细节。)

线性相位滤波器型 过滤器订单 对称系数 回复H(f),F=0 回复H(f),F=1(奈奎斯特)

I型

即使

甚至:

B ( K ) = B ( N + 2. K ) , K = 1. , ... , N + 1.

无限制

无限制

II型

古怪的

甚至:

B ( K ) = B ( N + 2. K ) , K = 1. , ... , N + 1.

无限制

H(1)=0

FILPM.如果试图在奈奎斯特频率下构造带非零通带的II型滤波器,则将滤波器阶数增加1。

类型III

即使

奇数:

B ( K ) = B ( N + 2. K ) , K = 1. , ... , N + 1.

H(0)=0

H(1)=0

IV型 古怪的

奇数:

B ( K ) = B ( N + 2. K ) , K = 1. , ... , N + 1.

H(0)=0

无限制

你也可以用FILPM.编写定义所需频率响应的函数。的预定义频率响应函数句柄FILPM.@firpmfrf.,设计了一个线性相位FIR滤波器。

笔记

b = firpm (n、f, w)相当于b = firpm(n,f,{@ firpmfrf,a},w),在那里,@firpmfrf.是预定义的频率响应函数句柄FILPM.. 如果需要,您可以编写自己的响应函数。使用帮助私人/firpmfrf看看创建功能句柄想要查询更多的信息。

参考

[1] IEEE声学、语音和信号处理学会数字信号处理委员会,eds。数字信号处理论文选.卷。II。纽约:IEEE按,1976年。

[2] IEEE声学、语音和信号处理学会数字信号处理委员会,eds。数字信号处理程序纽约:IEEE出版社,1979年,算法5.1。

[3] Oppenheim,Alan V.,Ronald W. Schafer和John R. Buck。离散时间信号处理新泽西州上鞍河:普伦蒂斯大厅,1999年,第486页。

[4]公园,托马斯W.和C. Sidney Burrus。数字滤波器设计.纽约:John Wiley&Sons,1987,p。83。

[5] 拉宾纳、劳伦斯R、詹姆斯H.麦克莱伦和托马斯W.帕克斯,“使用加权切比雪夫近似的FIR数字滤波器设计技术。”IEEE会议录®第63卷,第4期,1975年,第595-610页。

扩展功能

之前介绍过的R2006a