主要内容

firls

最小二乘线性相位数字滤波器的设计

描述

例子

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

例子

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

例子

b= firls (___,ftype)设计反对称(奇数)过滤器,ftype指定过滤微分器或希尔伯特变换器。您可以使用ftype与以前的任何输入语法。

例子

全部折叠

设计的FIR低通滤波器订购255,中间有一个过渡区 0 2 5 π 0 3 π 。使用fvtool显示过滤器的大小和相位响应。

b = firls(255年,[0 0.25 0.3 1],[1 1 0 0]);fvtool (b, 1“OverlayedAnalysis”,“阶段”)

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

理想微分电路的频率响应 D ( ω ) = j ω 。设计一个微分器的30减弱频率 0 9 π 。包括一个因素 π 在振幅,因为频率归一化 π 。显示过滤器的零相位响应。

b = firls(30 0.9[0][0 0.9 *π],“区别”);fvtool (b, 1“MagnitudeDisplay”,“零”)

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

设计一个24阶反对称与分段线性滤波器通频带。

F = [0 0.3 0.4 0.6 0.7 0.9];一个= [0 1.0 0.0 0.0 0.5 0.5];F b = firls(24日,,希尔伯特的);

情节预期的和实际的频率响应。

[H f] = freqz (b, 1512, 2);情节(f、abs (H))i = 1:2:6、情节([(i) F (i + 1)]、[(我)一个(i + 1),“r——”)结束传奇(“firls设计”,“理想”网格)包含(的归一化频率(\乘以π\ rad /样本))ylabel (“级”)

图包含一个坐标轴对象。坐标轴对象包含归一化频率(空白乘以πr d / s m p l e), ylabel级包含4线类型的对象。这些对象代表firls设计,理想。

设计一个FIR低通滤波器。通频带范围从直流 0 4 5 π rad /样品。的阻带范围 0 5 5 π rad /样品的奈奎斯特频率。产生三种不同的设计,改变乐队的权重最小二乘匹配。

在第一个设计,使阻带重量高于通频带重量100倍。时使用该规范是至关重要的,阻带是平级响应,接近0。的通带波纹阻带波动约100倍。

嗨= firls(18日[0 0.45 0.55 1],[1 1 0 0],[100]);

在第二个设计,逆向权重,通频带的重量阻带重量的100倍。使用本规范时关键是大小响应在通带平坦和接近1。阻带波动大约是100倍通带波纹。

鼓风机= firls(18日[0 0.45 0.55 1],[1 1 0 0],[1]100);

在第三个设计,给两支乐队重量相同。结果是一个过滤器具有类似涟漪在通带和阻带。

b = firls(18日[0 0.45 0.55 1],[1 1 0 0],[1]);

可视化的大小反应三个过滤器。

车辆hfvt = fvtool (bhi 1, 1, b, 1,“MagnitudeDisplay”,“零”);传奇(hfvt嗨:w = [100] ',报称:w = (100 1) ',b: w = [1] ')

图图1:零相位响应包含一个坐标轴对象。坐标轴对象与标题零相位响应,包含归一化频率(空白乘以πr d / s m p l e), ylabel振幅包含3线类型的对象。这些对象代表bhi: w =[100],报称:w = (100 1), b: w = [1]。

输入参数

全部折叠

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

归一化频率点,指定为一个实值向量。参数必须在区间[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在整个乐队。

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

输出参数

全部折叠

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

更多关于

全部折叠

滤波器长度和过渡宽度不相容

如果你在设计一个过滤器,过滤器的产品长度和过渡宽度大,你可能会得到警告消息:矩阵接近奇异或严重了。下面的例子说明了这种限制。

b = firls(100年,[0 0.15 0.85 1],[1 1 0 0]);
警告:矩阵接近奇异或严重了。结果可能是不准确的。RCOND = 3.756863 e-19。
fvtool (b, 1“OverlayedAnalysis”,“阶段”)

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

在这种情况下,滤波器系数b可能不代表所需的滤波器。你可以检查过滤器通过观察它的频率响应。

算法

firls设计线性相位数字滤波器,最小化加权集成平方误差之间的理想的分段线性函数和滤波器的幅度响应所需的频段。

参考[2]描述背后的理论方法firls。函数解决了涉及一个内积矩阵的线性方程组的大致尺寸n \ 2使用MATLAB®\操作符。

这些是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一个向量在定义所需的振幅响应。

这个函数设计类型I, II, III, IV线性相位滤波器。I型和II是默认的过滤器当n是偶数和奇数,分别为,希尔伯特的“区别”旗帜生产类型III (n是偶数)和第四(n是奇数)过滤器。不同滤波器类型有不同的对称性和限制他们的频率响应(见[1]详情)。

线性相位滤波器类型 过滤器订单 对称系数 反应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

类型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

没有限制

引用

[1]奥本海姆,艾伦·V。,Ronald W. Schafer, and John R. Buck.离散时间信号处理。上台北:Prentice Hall出版社,1999年。

[2]公园、托马斯·W。,和C. Sidney Burrus.数字滤波器设计。新泽西州霍博肯:1987年,约翰·威利& Sons 54 - 83页。

扩展功能

C / c++代码生成
生成C和c++代码使用MATLAB®编码器™。

版本历史

之前介绍过的R2006a