主要内容

任意级滤波器设计

这个例子展示了如何设计过滤器具有任意大小的反应。滤波器设计的家庭(FDESIGN)对象允许过滤器的设计与各种类型的反应。在这些类型中,任意大小是更少的专业和最多才多艺的人。下面的例子说明任意大小的设计可以解决问题当其他反应类型发现局限性。

冷杉建模与频率抽样法

本节说明了情况的振幅在完整的奈奎斯特范围内定义的过滤器(没有放松或“不在乎”地区)。接下来的例子使用了一个(全部)乐队规范类型和健壮的频率采样算法来设计滤波器的振幅定义在三个部分:一个正弦部分,分段线性部分和二次部分。有必要选择一个大型过滤器订单因为过滤器的形状很复杂:

N = 300;B1 = 0:0.01:0.18;B2 = [。2 38。4。55 .562 .585。6尾数就];B3 = 0.79:0.01:1;A1罪= 5 +(2 * 7.5π* * B1) / 4;%正弦部分A2 = [。2.3 - 1 1 - 5。2 -。2 1 1];%分段线性部分A3 = 2 + 18 * (1-B3)。^ 2;%二次部分F = (B1 B2 B3);一个= (A1 A2 A3);d = fdesign.arbmag (' N、F '、N、F);高清=设计(d,“freqsamp”,“SystemObject”,真正的);fvtool(高清“MagnitudeDisplay”,“零”);

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

关上(gcf)

在上一个示例中,归一化频率点分布在0到π之间rad /样本(包括极值)。您还可以指定负频率,得到复杂的过滤器。下面的示例模型复杂的射频带通滤波器和使用Kaiser窗来减轻吉布斯现象发生的影响由于70分贝大小差距-ππrad /样本频率:

负载cfir.mat;%加载一组预定义的频率和振幅矢量N = 200;d = fdesign.arbmag (' N、F '、N、F);高清=设计(d,“freqsamp”,“窗口”{@kaiser 20},“SystemObject”,真正的);fvtool(高清“FrequencyRange”,“(π-π)”);

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

建模与一个光滑函数Equiripple冷杉过滤器

equiripple算法非常适合建模光滑函数如以下示例所示,模型一个指数最低订购量冷杉过滤器。示例指定一个小脉动值在所有频率和定义权重比例增加到所需振幅提高性能在高频率:

F = linspace (0, 1100);一个= exp(2 *π* F);R = 0.045;%的涟漪W = .1-20 * log10 (abs (A));%的重量d = fdesign.arbmag (“F, R”F, R);高清=设计(d,“equiripple”,“重量”W,“SystemObject”,真正的);fvtool(高清“MagnitudeDisplay”,“零”,“FrequencyRange”,“[0,π)”);

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

单波段、多波段Equiripple冷杉的设计

在某些应用程序中,这可能是感兴趣的形态滤波器的阻带,例如,减少集成的旁瓣水平,或提高量化的鲁棒性。下面的示例与楼梯设计低通滤波器阻带。实现设计,它使用一个分布的权重衰减增加阻带5 dB的每一步:

N = 150;F = [0 .25。3。4 .401 5 .501。6 .601 7 .701。8 .801。9 .901 1];一个= [1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0];W = 10。^ ([0 0 5 5 10 10 15 15 20 20 25 25 30 30 35 35]/ 20);d = fdesign.arbmag (' N、F '、N、F);Hd1 =设计(d,“equiripple”,“重量”W,“SystemObject”,真正的);

下面的例子提供了一个替代设计基于多波段的使用方法,定义了两个乐队(通带和阻带)隔开“不在乎”地区(或过渡带):

B = 2;%的乐队F1 = F (1:2);%通频带F2 = F(3:结束);%阻带% F (2:3) = (。25。3)%过渡带A1 = (1:2);A2 =(3:结束);W1 = W (1:2);W2 = W(3:结束);d = fdesign.arbmag (”N, B, F,“A1, N, B, F1, F2, A2);Hd2 =设计(d,“equiripple”,“B1Weights”W1,“B2Weights”W2,“SystemObject”,真正的);hfvt = fvtool (Hd1, Hd2,“MagnitudeDisplay”,“(dB)级”,“传奇”,“上”);传奇(hfvt“单波段设计”,“多波段设计”);

图4图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含2线类型的对象。这些对象代表的单波段设计、多波段设计。

注意多波段方法的明显的优势。通过放松约束过渡区,equiripple算法收敛于一个通带波纹和更大的阻带衰减较低的解决方案。换句话说,第一个过滤器的频率特征可能与较低的秩序。下面的例子说明了这个最后的评价,获得相当于过滤器使用最低订购量的设计。

最低订购量设计要求规范每带一个脉动值。对于这个示例,设置波纹在所有乐队,至0.0195。

R = 0.0195;%的单波段最低订购量的设计d = fdesign.arbmag (“F, R”F, R);Hd1 =设计(d,“equiripple”,“重量”W,“SystemObject”,真正的);%多波段最低订购量的设计d = fdesign.arbmag (“B, F, A, R”,B, F1, A1, R, F2, A2, R);Hd2 =设计(d,“equiripple”,“B1Weights”W1,“B2Weights”W2,“SystemObject”,真正的);hfvt = fvtool (Hd1, Hd2);传奇(hfvt“单波段最低订购量设计”,“多波段最低订购量设计”);

图5图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含2线类型的对象。这些对象代表的单波段最低订购量设计、多波段最低订购量的设计。

通带波纹和阻带衰减的设计比赛。然而,152年的单波段设计订单而多波段设计72年的订单。

订单(高清)
ans = 32

约束多波段Equiripple设计

多波段equiripple设计允许您指定涟漪约束不同的乐队,指定单频乐队,迫使指定频率点指定值。

约束带的设计

下面的示例设计一个第80阶通带滤波器的衰减60 dB 40 dB的阻带和第二个阻带。通过放松第二阻带的衰减,在通带波纹减少,同时保持相同的过滤器。

N = 80;%过滤器订单B = 3;%的乐队d = fdesign.arbmag (' N, B, F, A, C '0.25 N B[0],[0 0],真的,[0.3 - 0.6],[1],假的,0.65[1],[0 0],真的)
d = arbmag属性:回应:任意大小的规范:“N, B, F, A、C的描述:{4 x1细胞}NormalizedFrequency: 1 FilterOrder: 80 NBands: 3 B1Frequencies: 0.2500 [0] B1Amplitudes: [0 0] B1Constrained: 1 B1Ripple: 0.2000 B2Frequencies: [0.3000 - 0.6000] B2Amplitudes: [1] B2Constrained: 0 B3Frequencies: [0.6500 - 1] B3Amplitudes: [0 0] B3Constrained: 1 B3Ripple: 0.2000

B1ConstrainedB3Constrained属性被设置为true来指定,第一和第三个乐队乐队的限制。指定的脉动值i乐队使用的限制BiRipple属性:

d。B1Ripple = 10 ^ (-60/20);%第一阻带衰减d。B3Ripple = 10 ^ (-40/20);%为第二个阻带衰减高清=设计(d,“equiripple”,“SystemObject”,真正的)
高清= dsp。FIRFilter属性:结构:“直接形式”NumeratorSource:“财产”分子:[-0.0036 0.0049 0.0052 -0.0022 -0.0097 -0.0044 0.0093 0.0100 -0.0031 -0.0062 -8.4302 e-04 -0.0055 -0.0040 0.0120 0.0100 -0.0056 -0.0026 -0.0032 -0.0157 8.1567 e-04 0.0218 0.0050 -0.0029 0.0057 -0.0200 -0.0274 0.0182 0.0235……]InitialConditions: 0显示所有属性
fvtool(高清“传奇”,“关闭”);

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

单频乐队

下面的示例设计最低订购量equiripple与两级过滤器完全* pi和0.55 * 0.25πrad /样本,并在通带波纹为0.15。

B = 5;%的乐队d = fdesign.arbmag (“B, F, A, R”,B);d。B1Frequencies = 0.2 [0];d。B1Amplitudes = [1];d。B1Ripple = 0.15;d。B2Frequencies = 0.25;%单频乐队d。B2Amplitudes = 0;d。B3Frequencies = (0.3 - 0.5);d。B3Amplitudes = [1];d。B3Ripple = 0.15;d。B4Frequencies = 0.55;%单频乐队d。B4Amplitudes = 0;d。B5Frequencies = (0.6 - 1);d。B5Amplitudes = [1];d。B5Ripple = 0.15;高清=设计(d,“equiripple”,“SystemObject”,真正的);fvtool (Hd);

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

迫使频率点

下面的示例设计高通滤波器的阻带边缘在100赫兹,和通频带边缘在150赫兹。假设您想要拒绝60 Hz强干扰,而无需添加额外的过滤器或无需增加过滤器由大量订单。你可以通过强制的级响应是0 60 Hz高通滤波器:

B = 2;%的乐队N = 92;%过滤器订单Fs = 2 e3;%采样频率d = fdesign.arbmag (”N, B, F,“N B [0 60 100], [0 0 0], 1000 [150], [1], Fs);

使用B1ForcedFrequencyPoints设计选项强迫60 Hz指向其指定的振幅值。

高清=设计(d,“equiripple”,“B1ForcedFrequencyPoints”现年60岁的“SystemObject”,真正的);hfvt = fvtool(高清“Fs”Fs);

图图8:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含2线类型的对象。

放大观察,高通滤波器的阻带振幅为零60赫兹的频率在指定的点:

hfvt。MagnitudeDisplay =“级”;

图图8:级响应包含一个坐标轴对象。坐标轴对象与标题级响应,包含频率(赫兹),ylabel级包含2线类型的对象。

单波段、多波段信息检索设计

冷杉的情况下,信息检索的设计问题,无法轻易识别过渡带是最好的解决与单个(全部)乐队的规范方法。作为一个例子,模型的光学吸收气体(原子Rubidium87蒸汽):

Nb = 12;Na = 10;F = linspace (0, 1100);= (1100)- f * 0.2;吸收= [(30),(1 - 0.6 * bohmanwin (10))”,(1、5),(1 - 0.5 * bohmanwin(8))的,(47)];一个=。*吸收;d = fdesign.arbmag (“Nb, Na, F,”Nb, Na, F);30 W = [(1) (10) *。2人(1、60)];高清=设计(d,“iirlpnorm”,“重量”W,“规范”2,“DensityFactor”30岁的“SystemObject”,真正的);fvtool(高清“MagnitudeDisplay”,“(dB)级”,“NormalizedFrequency”,“上”);

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

在其他情况下,约束可以放松在一个或多个过渡乐队,多波段方法提供了相同的好处在冷杉的情况下(即更好的通带和阻带特性)。下面的例子说明了这些差异的瑞利衰落无线通信信道建模:

Nb = 4;Na = 6;F = [0:0.01:0.4。45 1];A = [1.0. / (1 - (F (1: end-2) / 0.42)。^ 2)。^ 0.25 0 0];d = fdesign.arbmag (“Nb, Na, F,”Nb, Na, F);%的单波段设计Hd1 =设计(d,“iirlpnorm”,“SystemObject”,真正的);B = 2;F1 = F (1: end-2);%通频带F2 = F (end-1:结束);%阻带% F (end-2: end-1) = (。4点45]%过渡带A1 = (1: end-2);A2 = (end-1:结束);d = fdesign.arbmag (“Nb, Na, B, F,“Nb, Na, B, F1, A1, F2, A2);%多波段设计Hd2 =设计(d,“iirlpnorm”,“SystemObject”,真正的);hfvt = fvtool (Hd1, Hd2);传奇(hfvt“单波段设计”,“多波段设计”);

图图10:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含归一化频率(空白乘以πr d / s m p l e), ylabel级(dB)包含2线类型的对象。这些对象代表的单波段设计、多波段设计。