主要内容

firpm

Parks-McClellan最佳数字滤波器的设计

描述

例子

b= firpm (n,f,一个)返回行向量b包含n + 1系数的订单n冷杉过滤器。的频率和振幅特征产生的过滤匹配给定的向量f一个

例子

b= firpm (n,f,一个,w)使用w衡量频率垃圾箱。

b= firpm (n,f,一个,ftype)使用一个过滤器类型指定“ftype”

b= firpm (n,f,一个,lgrid)使用整数lgrid控制频率的网格的密度。

(b,犯错)= firpm (___)返回的最大波纹高度犯错。您可以使用该语法与任何以前的输入。

(b,犯错,res)= firpm (___)返回作为结构频率响应特性res

b= firpm (n,f,fresp,w)返回一个数字滤波器的frequency-amplitude最好的近似函数处理返回的响应特征fresp

b= firpm (n,f,fresp,w,ftype)设计反对称(奇数)过滤器,ftype指定过滤微分器或希尔伯特变换器。如果你不指定一个ftype,一个调用fresp确定默认的对称性。

例子

全部折叠

使用Parks-McClellan算法来设计FIR带通滤波器的17。指定规范化的阻带频率 0 3 π 0 7 π rad /样本和规范化的通频带的频率 0 4 π 0 6 π rad /样品。情节的理想和实际级响应。

f = [0 0.3 0.4 0.6 0.7 1];一个= (0 0 1 1 0 0);f, b = firpm (17);[h, w] = freqz (b, 1512);情节(f, w /π,abs (h))传说(“理想”,“firpm设计”)包含的弧度频率ω(\ / \π)',ylabel“级”

图包含一个坐标轴对象。坐标轴对象包含弧度频率ω/ pi), ylabel级包含2线类型的对象。这些对象代表理想,firpm设计。

设计一个低通滤波器和一个1500 Hz通带截止频率和2000赫兹阻带截止频率。指定一个采样频率为8000赫兹。需要最大0.01和阻带振幅最大通频带误差(连锁)为0.001。获得所需的滤波器秩序,规范化频带边缘,使用频率波段振幅和权重firpmord

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

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含一个类型的对象。

使用Parks-McClellan算法创建50阶equiripple冷杉使用带通滤波器在信号采样1 kHz。

N = 50;Fs = 1 e3;

指定的通频带宽频率200赫兹到300赫兹,过渡区两侧的通频带宽度为50赫兹。

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)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含一个类型的对象。

输入参数

全部折叠

过滤器订单,指定为一个真正的积极的标量。

归一化频率点,指定为一个实值向量。参数必须在区间[0,1],1对应的奈奎斯特频率。向量中的元素的数量始终是2的倍数。频率必须在增加订单。

想要的振幅在指定的点f,指定为一个向量。f一个必须是相同的长度。长度必须是偶数。

  • 所需的振幅频率之间的双点(f(k),f(k+ 1)k奇怪的是线段连接的点(f(k),一个(k)和(f(k+ 1),一个(k+ 1)。

  • 所需的振幅频率之间的双点(f(k),f(k+ 1)k即使是未指定的。点是过渡区域或地区之间的区域,对特定的应用程序并不重要。

重量用来调整适应每一个频段,指定为一个实值向量。的长度w一半的长度吗f一个,所以每个乐队都有一个重量。

线性相位滤波器类型过滤器与奇对称(类型III和IV型),指定为希尔伯特的“区别”:

  • 希尔伯特的——输出系数b服从的关系b(k)= -b(n+ 2 -k),k= 1,…,n+ 1。这类过滤器包括希尔伯特变换器,它期望的振幅为1在整个乐队。

    例如,

    h = firpm(30日[0.1 - 0.9],[1],希尔伯特的);

    设计长度的近似冷杉希尔伯特变换器31。

  • “区别”——对非零振幅乐队,过滤重错误1 /倍f这样的错误在低频率比在高频率小得多。冷杉差异,有振幅特性与频率成正比,这些过滤器最小化最大相对误差(最大错误所需的振幅)的比值。

控制频率的密度网格,大约(lgrid * n) / (2 * bw)频点,bw是整个频段的分数区间[0,1]了吗f。增加lgrid往往导致过滤器更精确匹配一个equiripple过滤器,但这要花很长的时间来计算。的默认值16应该指定的最小值lgrid

频率响应,指定为一个函数处理。从内部调用的函数firpm这个语法:

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

参数是类似的firpm:

  • n是过滤器的顺序。

  • f是向量的归一化频带边缘出现单调在0和1之间,1是奈奎斯特频率的地方。

  • 女朋友是一个向量的网格点线性插值在每个指定频段firpm女朋友决定了电网的频率响应函数必须被评估,并返回包含相同的数据cfirpmfgrid场的选择结构。

  • w是一个向量的,积极的重量,每一个乐队,期间使用优化。w在调用是可选的firpm;如果没有指定,它将被传递给前统一权重fresp

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

输出参数

全部折叠

滤波器系数,返回一个行向量的长度n+ 1。系数是增加订单。

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

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

res.fgrid

电网频率向量用于滤波器优化设计

res.des

为每个点所需的频率响应res.fgrid

res.wt

为每个点权重opt.fgrid

res.H

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

res.error

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

res.iextr

向量指标进res.fgrid对极值频率

res.fextr

向量极值频率

提示

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

如果你的滤波器设计无法收敛和由此产生的滤波器设计是不正确的,尝试下列一个或多个:

  • 增加过滤器的顺序。

  • 放松滤波器设计通过降低阻带的衰减和/或扩大的过渡区域。

算法

firpm使用Parks-McClellan设计线性相位数字滤波器算法[2]。Parks-McClellan算法使用雷米交换算法和切比雪夫逼近理论与最优设计过滤器符合预期的和实际的频率响应之间的关系。过滤器是最优,所需的频率响应之间的最大误差和实际频率响应是最小化。过滤器设计这种方式展示equiripple行为的频率响应和有时被称作equiripple过滤器。firpm展品不连续脉冲响应的脑袋和尾巴由于equiripple自然。

这些是I型(n奇怪的)和II型(n甚至)线性相位滤波器。向量f一个指定的frequency-amplitude特征滤波器:

  • f是一个向量的双频率点,指定的范围在0和1之间,1对应于奈奎斯特频率。频率必须在增加订单。

  • 一个是一个向量包含所需的振幅在指定的点吗f

    所需的振幅函数频率之间的双点(f(k),f(k+ 1)k奇怪的是线段连接的点(f(k),一个(k)和(f(k+ 1),一个(k+ 1)。

    所需的振幅函数频率之间的双点(f(k),f(k+ 1)k即使是未指定的。这些都是过渡或“不在乎”地区。

  • f一个是相同的长度。这个长度必须是偶数。

下图说明了之间的关系f一个向量在定义所需的振幅响应。

firpm总是使用一个过滤订单配置甚至对称和非零在奈奎斯特频率通带。过滤订单的原因是,对于脉冲响应表现出即使是对称和奇怪的命令,在奈奎斯特频率的频率响应是0。如果你指定一个奇值n,firpm增加1。

firpm设计类型I, II, III和IV线性相位滤波器。I型和II型的违约n甚至和n奇怪,分别,而类型III (n甚至)和IV型(n奇怪的)指定希尔伯特的“区别”分别使用ftype论点。不同类型的滤波器有不同的对称性和某些限制他们的频率响应。(见[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

firpm增加过滤器订单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

没有限制

您还可以使用firpm编写一个函数,定义了所需的频率响应。预定义的频率响应函数处理firpm@firpmfrf设计一个线性相位滤波器。

请注意

b = firpm (n、f, w)相当于b = firpm (n、f {@firpmfrf,}, w),在那里,@firpmfrf预定义的频率响应函数处理吗firpm。如果需要,您可以编写自己的响应函数。使用帮助私人/ firpmfrf看看创建函数处理为更多的信息。

引用

[1]IEEE音响、数字信号处理委员会的演讲,和信号处理社会,eds。选定的论文在数字信号处理。卷二世。纽约:IEEE出版社,1976年。

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

[3]奥本海姆,艾伦·V。,Ronald W. Schafer, and John R. Buck.离散时间信号处理。上台北:普伦蒂斯霍尔,1999年,p . 486。

[4]公园、托马斯·W。,和C. Sidney Burrus.数字滤波器设计。纽约:约翰·威利& Sons, 1987年,p . 83。

[5]拉宾,劳伦斯·R。,James H. McClellan, and Thomas W. Parks. "FIR Digital Filter Design Techniques Using Weighted Chebyshev Approximation."IEEE学报》®。第四卷。63年,1975年,页595 - 610。

扩展功能

版本历史

之前介绍过的R2006a