主要内容

firgr

Parks-McClellan冷杉过滤器

描述

例子

b= firgr (n,f,一个,w)使用一个极大极小滤波器设计算法来设计一个真正的线性相位滤波器b的长度n+ 1。过滤器有最佳逼近期望的频率响应来描述f一个极小极大的意义。w是一个向量的权重,每一个乐队。当你忽略w权重,所有的乐队都是一样的。输入参数的更多信息,请参阅firpm

b= firgr (n,f,一个,ftype)设计一个指定类型的滤波器ftype

b= firgr (,f,一个,r),过滤器设计反复,直到最低订购量过滤器中指定这符合规范f,一个是发现。可以之一”minorder”、“mineven”或“minodd”。r是一个向量包含每个频段脉动峰值。您必须指定r。当你指定的mineven”或“minodd”,最小的偶数或奇数阶滤波器。

b= firgr ({,},f,一个,r)在哪里是一个的minorder”、“mineven”或“minodd”,使用作为初始估计滤波器的顺序。为常见的滤波器设计是可选的,但是它必须指定的设计吗firpmord不能使用,如在设计差异或希尔伯特变压器。

b= firgr (n,f,一个,w,e)指定独立近似错误不同的乐队。使用这种语法来设计额外的波纹或最大纹波过滤器。这些过滤器有有趣的属性如最小过渡宽度。e是一个单元阵列特征向量指定要使用的近似误差。它的长度必须等于乐队的数量。

b= firgr (n,f,一个,年代)用于设计具有特殊属性的过滤器年代在某些频率点。

b= firgr (n,f,一个,年代,w,e)指定权重和独立的过滤器具有特殊属性的近似误差。权重和属性都包含在向量we。有时,你可能需要使用独立的近似错误设计,迫使值收敛。例如,

b = firgr(82年,[0 0.055 0.06 0.1 0.15 1],[0 0 0 0 1 1)……{' n ' '我' ' f ' ' n ' ' n ' ' n '}, (10 1 1) {e1的e2的e3的});

b= firgr (___,' 1 ')设计一个1型过滤器(并且对称)。您可以指定2型(奇数阶对称),3型(并且反对称),和4型(奇数阶反对称)过滤器。注意,适用的限制一个f=0f=1冷杉滤波器类型2,3,4。

b= firgr (___,' minphase ')设计一个最小相位滤波器。您可以使用参数“maxphase”设计一个最大相位滤波器。

b = firgr (___,'检查')当有潜在的过渡区异常返回一个警告。

b= firgr (___,{lgrid}),在哪里{lgrid}是一个标量单元阵列。标量值的控制频率的密度网格通过设置沿频率轴使用的样本数量。

(b,犯错)= firgr (___)返回未加权的近似误差大小。犯错包含一个元素为每个独立的函数返回的近似误差。

(b,犯错,res)= firgr (___)返回的结构res包括可选的结果计算firgr

b= firgr (n,f,fresp,w)返回一个长度n+ 1冷杉过滤器具有最佳逼近理想的频率响应返回的用户定义函数fresp

firgr包括一个预定义的频率响应函数命名“firpmfrf2”。您可以编写您自己的基于简单“firpmfrf”。请参阅帮助私人/ firpmfrf为更多的信息。

b= firgr (n,f,{fresp,p1, p2,…},w)指定可选参数p1,p2、…pn传递给响应函数fresp

b = firgr (n、f, w)是一个同义词b = firgr (n、f {firpmfrf2,}, w),在那里一个是一个向量包含指定响应振幅在每个频带边缘f。默认情况下,firgr设计对称(甚至)FIR滤波器。“firpmfrf2”是预定义的频率响应函数。如果你不指定自己的频率响应函数(fresp变量),firgr使用的firpmfrf2”

b = firgr (___,' h ')' d ' b = firgr (__)设计反对称(奇数)过滤器。当你忽略“h”' d '参数的firgr命令语法,每个频率响应函数fresp可以告诉firgr设计一个奇数还是偶数过滤器。使用命令语法信谊=fresp(“违约”,{n, f, [], w, p1, p2,…})

firgr预计fresp返回信谊= '甚至'信谊=“奇怪”。如果fresp不支持这个调用,金宝appfirgr假定甚至对称。

更多信息的输入参数firgr,请参考firpm

例子

全部折叠

设计一个数字滤波器和两个单波段在0.25和0.55级。

b1 = firgr(42岁,[0 0.2 0.25 0.3 0.5 0.55 0.6 1],[1 1 0 1 1 0 1 1],{“n”“n”“年代”“n”“n”“年代”“n”“n”});

设计一个高通滤波器的增益为0.06被迫为零。获得0.055分是不确定的,因为它应该紧靠乐队。

b2 = firgr(82年,[0 0.055 0.06 0.1 0.15 - 1),(1 0 0 0 0 1),{“n”“我”“f”“n”“n”“n”});

设计一个高通滤波器迫使价值观和独立的近似误差。

b3 = firgr(82年,[0 0.055 0.06 0.1 0.15 - 1),(1 0 0 0 0 1),{“n”“我”“f”“n”“n”“n”(10 1 1)},{“e1”“e2”“e3”});

使用过滤器可视化工具来查看结果的过滤器。

hvft = fvtool (b1, b2, b3, 1);传奇(hvft“过滤b1”,“过滤b2”,“过滤b3”)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含3线类型的对象。这些对象代表过滤器b1, b2过滤,过滤b3。

输入参数

全部折叠

过滤器订单,指定为一个整数大于或等于3。

归一化频率点,指定为一个实值向量。参数必须在区间[0,1],1对应的奈奎斯特频率。的长度f必须是偶数。频率必须在增加订单。

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

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

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

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

    例如,

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

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

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

类型的最低订购量过滤器,指定为“minorder”,“mineven”,或“minodd”。当你指定的mineven”或“minodd”,功能设计最低甚至秩序或最低奇数阶滤波器。

每个频段脉动峰值,指定为一个实值向量。的长度r一半的长度吗f一个,所以每个乐队都有一个重量。

过滤器的初始估计,指定为一个整数大于或等于3。的函数接受这个值b = firgr ({m,倪},f r}语法。为常见的滤波器设计是可选的,但是它必须指定的设计吗firpmord不能使用,如在设计差异或希尔伯特变压器。

独立的近似错误使用不同的乐队,指定为一个单元阵列特征向量或一个字符串数组。的长度e必须等于乐队的数量。条目的e必须在表单吗“e #”“e”#在哪里#显示相应的乐队使用哪个近似误差。例如,当e = (e1, e2、“e1”),第一个和第三个乐队使用相同的近似误差“e1”和第二个乐队使用不同的一个“e2”。当所有乐队使用相同的近似误差,如[" e1”、“e1”,“e1…],它相当于省略e,如b = firgr (n、f, w)

数据类型:字符|字符串

特殊属性在某些频率点,指定为一个单元阵列特征向量或一个字符串数组。年代必须有相同的长度吗f一个。条目的年代必须的:

  • “n”“n”——正常的频率点。

  • “年代”“s”——单点乐队。频率是由一个单点“乐队”。指定相应的获得在该频率点一个

  • “f”“f”——迫使频率点。部队在指定频段的增益为指定的值。

  • “我”“我”——不确定的频率点。相邻的乐队时使用这个论点相互邻接(无过渡区)。

例如,下面的命令设计bandstop与新鲜感单点阻带滤波器(级)0.25和0.55。

b = firgr(42岁,[0 0.2 0.25 0.3 0.5 0.55 0.6 1],…[1 1 0 1 1 0 1 1],[“n”“n”“s”“n”“n”“s”“n”“n”))

b = firgr(82年,[0 0.055 0.06 0.1 0.15 1],[0 0 0 0 1 1],[“n”“我”“f”“n”“n”“n”))设计一个高通滤波器增益0.06被迫为零。带边的0.055实际上是不确定的,因为前两个乐队联系。其他乐队边缘是正常的。

数据类型:字符|字符串

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

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

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

地点:

  • fresp确定您所使用的功能,来定义所需的滤波器的频率响应。

  • n是过滤器的顺序。

  • f是向量的频带边缘必须出现单调在0和1之间,1是采样频率的一半。频带跨度f (k)f (k + 1)k奇数。的时间间隔f (k + 1)f (k + 2)k奇怪的是“过渡乐队”或“不在乎”地区在优化。

  • 女朋友是一个向量的网格点选择在每个指定频段firgr,确定的频率firgr评估响应函数。

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

  • dhdw是理想的频率响应和优化权重向量,计算网格中的每个频率女朋友

输出参数

全部折叠

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

firgr使用极大极小滤波器设计算法的FIR滤波器设计以下类型:

  • 类型1 - 4线性阶段:

    • 1型甚至秩序、对称的

    • 2型是奇数,对称的

    • 3型甚至秩序,反对称

    • 类型4是奇数阶反对称

  • 最小相位

  • 最大的阶段

  • 最低订购量(奇数还是偶数)

  • 额外的涟漪

  • 最大纹波

  • 约束波纹

  • 单点乐队(开槽和峰值)

  • 强迫获得

  • 任意频率响应曲线形状过滤器

未加权的近似误差大小,作为一个标量或矢量返回。犯错包含一个元素为每个独立的函数返回的近似误差。

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

结构域

内容

res.fgrid

向量包含频率电网滤波器优化设计中使用

res.des

期望的反应fgrid

res.wt

重量在fgrid

res.h

实际频率响应电网频率

res.error

错误每一点(期望的响应-实际响应)在电网频率

res.iextr

向量指标进fgrid外部频率

res.fextr

向量的外部频率

res.order

过滤器订单

res.edgecheck

过渡区异常检查。每带边缘的一个元素。元素值有以下含义:1 =好吧,0 =可能过渡区异常,1 =边不检查。当你指定计算“检查”输入选择函数的语法。

res.iterations

的数量年代迭代的优化

res.evals

数量评估函数的优化

扩展功能

版本历史

介绍了R2011a

全部展开