主要内容

低通数字滤波器长度最小化

这个例子展示了如何减少系数,通过设计最小相位或最小订单过滤器。

最小相位低通滤波器设计

首先,设置滤波器参数和使用fdesign创建一个构造函数来设计滤波器。

N = 100;Fp = 0.38;置= 0.42;美联社= 0.06;Ast = 60;高频= fdesign.lowpass (“Fp,置,美联社,Ast”Fp,置,美联社,Ast);

到目前为止,我们只考虑线性相位的设计。在许多应用线性相位是可取的。然而,如果线性相位不是要求,最小相位设计可以明显改善了线性相位。例如,回到最低订购量的限制情况下,相同规格的最小相位/最小订单设计计算:

Hd1 =设计(高频,“equiripple”,“systemobject”,真正的);Hd2 =设计(高频,“equiripple”,“minphase”,真的,“systemobject”,真正的);hfvt = fvtool (Hd1, Hd2,“颜色”,“白色”);传奇(hfvt“线性相位equiripple设计”,“最小相位equiripple设计”)

图级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB)包含3线类型的对象。这些对象代表线性相位equiripple设计,最小相位equiripple设计。

注意,系数的数量已经从146人削减到117人。第二个例子,考虑设计一个阻带衰减在线性方式。注意到增加阻带衰减。通带波纹也小得多。

setspecs(高频,“N, Fp,置”、N、Fp置);Hd3 =设计(高频,“equiripple”,“StopbandShape”,“线性”,“StopbandDecay”,53.333,“systemobject”,真正的);setspecs(高频,“Fp,置,美联社,Ast”Fp,置,美联社,Ast);Hd4 =设计(高频,“equiripple”,“StopbandShape”,“线性”,“StopbandDecay”,53.333,“minphase”,真的,“systemobject”,真正的);hfvt2 = fvtool (Hd3 Hd4,“颜色”,“白色”);传奇(hfvt2“线性相位equiripple设计线性阻带衰减的,“最小相位equiripple设计线性阻带衰减的)

图级响应(dB)包含一个坐标轴对象。坐标轴对象2级响应(dB)包含标题行类型的对象。这些对象代表线性相位equiripple设计线性阻带衰减的,最小相位equiripple设计线性阻带衰减的。

最小订单使用多级技术低通滤波器的设计

一种不同的方法来降低系数的数量不涉及最小相位设计是使用多级技术。在这里我们展示一个插值冷杉(IFIR)方法。

Hd5 = ifir(高频);Hd5 hfvt3 = fvtool (Hd1,“颜色”,“白色”);传奇(hfvt3“线性相位equirriple设计”,“线性相位IFIR设计”)

图级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB)包含3线类型的对象。这些对象代表线性相位equirriple设计线性相位IFIR设计。

在IFIR情况下所需的非零系数是111。不到的equiripple线性相位和最小相位设计。