firls

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

描述

例子

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

例子

b= firls (n,f,一个,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))[F(i) F(i+1)],[A(i) A(i+1)],“r——”)结束传奇(“firls设计”,“理想”网格)包含(“归一化频率(\乘以\pi rad/样本)”) 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 1 0 0],[1 1]);

可视化三个过滤器的响应幅度。

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

输入参数

全部折叠

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

归一化频率点,指定为一个实值向量。参数必须在[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所以低频时的误差要比高频时小得多。对于具有振幅与频率成比例特性的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®\操作符。

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

  • f为频率点对的向量,取值范围为0 ~ 1,其中1为奈奎斯特频率。频率必须是递增的。重复的频率点是允许的,事实上,可以用来设计一个过滤器是完全相同的过滤器返回fir1的故事功能与矩形(rectwin)窗口。

  • 一个向量是否包含指定的点的期望振幅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为偶数)和IV (n为奇数)过滤器。不同的滤波器类型对它们的频率响应有不同的对称性和约束(参见[1]详情)。

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

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

没有限制

参考文献

奥本海姆,艾伦五世,罗纳德W.谢弗和约翰R.巴克。离散时间信号处理。上鞍河,新泽西州:普伦蒂斯霍尔出版社,1999年。

Thomas W.和C. Sidney Burrus。数字滤波器设计。新泽西州霍博肯:约翰威利父子公司,1987年,第54-83页。

扩展功能

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

之前介绍过的R2006a