firls

最小二乘线性相位FIR滤波器设计

描述

例子

b= firls (nf一个返回行向量b包含n + 1阶系数n冷杉过滤器。所得到的滤波器的频率和振幅特性与矢量所给出的特性相匹配f一个

例子

b= firls (nf一个w使用w衡量频率箱。

例子

b= firls (___ftype设计反对称(奇)滤波器,其中ftype指定滤波器为微分器或希尔伯特变压器。您可以使用ftype使用任何前面的输入语法。

例子

全部折叠

设计一个阶为255的FIR低通滤波器,滤波器之间有一个过渡区 0 2 5 π 0 3. π .使用fvtool显示滤波器的幅值和相位响应。

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

理想微分器的频率响应为 D ω = j ω .设计一个衰减以上频率的30阶微分器 0 9 π .包括一个因素 π 因为频率被归一化了 π .显示滤波器的零相位响应。

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

设计一个具有分段线性通带的24阶反对称滤波器。

F = [0 0.3 0.4 0.6 0.7 0.9];A = [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, plot([F(i) F(i+1)],[A(i) A(i+1)],“r——”结束传奇(“firls设计”“理想”网格)包含('归一化频率(\乘以\ rad/sample)') ylabel (“级”

设计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 10 0 0],[1 1]);

想象三个过滤器的幅度响应。

车辆hfvt = fvtool (bhi 1, 1, b, 1,“MagnitudeDisplay”“零”); 图例(hfvt,'bhi: w = [1 100]''blo: w = [100 1]''b: w = [1 1]'

输入参数

全部折叠

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

归一化频率点,指定为实值向量。参数必须在[0,1]范围内,其中1对应于Nyquist频率。向量中的元素数总是2的倍数。频率必须是非递减顺序。

中规定的点的期望振幅f,指定为向量。f一个必须是相同的长度。长度必须是偶数。

  • 在两个点(fk),fk+ 1)k奇数是连接两个点(fk),一个k)和(fk+ 1),一个k+ 1)。

  • 在两个点(fk),fk+ 1)k即使是未指定的。这些点之间的区域是过渡区域或对特定应用程序不重要的区域。

权值用于调整每个频带的适合度,指定为实值向量。的长度w长度的一半是f一个,因此,每个带正好有一个重量。

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

  • 希尔伯特的-输入输出系数b服从的关系bk) = -bn+ 2 -k),k= 1,…,n+ 1。这类滤波器包括希尔伯特变压器,它在整个频带的期望振幅为1。

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

输出参数

全部折叠

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

更多关于

全部折叠

滤镜长度和过渡宽度不兼容

如果你设计一个过滤器,使其长度和过渡宽度的乘积很大,你可能会得到这个警告消息:矩阵接近奇异或比例失调.下面的例子说明了这个限制。

B = firls(100,[0 0.15 0.85 1],[1 100]);
警告:矩阵是接近单数或严重缩放。结果可能不准确。RCOND = 3.860608 e-18。
fvtool (b, 1“OverlayedAnalysis”“阶段”

这里是滤波系数b可能不代表所需的筛选器。你可以通过看它的频率响应来检查滤波器。

算法

firls设计一个线性相位FIR滤波器,使理想分段线性函数与滤波器在一组期望频带上的幅值响应之间的加权积分平方误差最小化。

参考[2]描述了背后的理论方法firls.该函数解一个线性方程组,其中包含一个大致大小的内积矩阵n \ 2使用MATLAB®操作符。

这些是第一类(n是奇数)和第II类(n是偶数)线性相位滤波器。向量f一个指定滤波器的频幅特性:

  • f是由频率点对组成的向量,在0到1的范围内指定,其中1对应于Nyquist频率。频率必须是递增的。重复的频率点是允许的,事实上,可以用来设计一个滤波器,与滤波器返回的完全相同fir1的故事函数带有矩形(rectwin)窗口。

  • 一个在图中指定的点处,向量是否包含所需的振幅f

    在对点之间的频率处的期望振幅函数(fk),fk+ 1)k奇数是连接两个点(fk),一个k)和(fk+ 1),一个k+ 1)。

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

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

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

此功能设计I、II、III和IV型线性相位滤波器。当n分别为偶数和奇数时,I型和II型是默认过滤器,而希尔伯特的“区别”标志产生类型III (n是偶数)和IV (n是奇数)过滤器。不同类型的滤波器对它们的频率响应有不同的对称性和约束(见[1]详细信息)。

线性相位滤波器类型 过滤器订单 对称系数 响应H(f), f = 0 响应H(f), f = 1 (Nyquist)

I型

甚至

b k = b n + 2 k k = 1 ... n + 1

没有限制

没有限制

第二类

奇怪的

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

没有限制

工具书类

Oppenheim, Alan V., Ronald W. Schafer, and John R. Buck。离散时间信号处理.上鞍河,新泽西州:普伦蒂斯霍尔,1999。

[2] Parks, Thomas W.和C. Sidney Burrus。数字滤波器设计.Hoboken, NJ: John Wiley & Sons, 1987,第54-83页。

扩展功能

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

之前介绍过的R2006a