主要内容

designMultistageDecimator

多级杀害多人者设计

自从R2018b

描述

C= designMultistageDecimator ()设计了一种多级杀害多人者整体力量的因素。为了让C多级,不能一个质数。有关详细信息,请参见算法。设计过程可能需要一段时间,如果有许多因素。

例子

C= designMultistageDecimator (,Fs,太瓦)设计了一种多级杀害多人者的采样率Fs和一个过渡的宽度太瓦。采样率在本例中是指输入信号的采样率在多级杀害多人者。

多级杀害多人者的截止频率Fs/ (2)。

例子

C= designMultistageDecimator (,Fs,太瓦,Astop)指定的最小衰减Astop数据库的设计。

例子

C= designMultistageDecimator (___,名称,值)指定额外使用一个或多个名称-值对参数设计参数。

例子:C = designMultistageDecimator(48、48000、200、80年,“NumStages”、“汽车”)设计了一种多级杀害多人者最少的每个输入样本的乘法数(mpi)。

例子

全部折叠

设计一个单级杀害多人者使用designMultirateFIR函数和多级杀害多人者使用designMultistageDecimator函数。确定两个设计使用的效率成本函数。实现效率的特点是两个——成本指标NumCoefficientsMultiplicationsPerInputSample

计算的成本实现设计,和确定哪些设计更有效率。做一个比较,设计的过滤器,这样他们的过渡宽度是相同的。

初始化

选择大量毁灭48倍,输入的采样率 30. 72年 × 48 兆赫 、片面的10赫兹的带宽和阻带attenution 90 dB。

M = 48;鳍= 30.72 e6 * M;Astop = 90;BW = 1 e7;

使用designMultirateFIR函数

设计大量毁灭过滤器使用designMultirateFIR函数产生一个单级设计。设定half-polyphase长度为一个有限的整数,在这种情况下8。

HalfPolyLength = 8;b = designMultirateFIR (1 M HalfPolyLength Astop);d = dsp.FIRDecimator (M, b)
d = dsp。FIRDecimator属性:主要DecimationFactor: 48 NumeratorSource:“财产”分子:[0 -5.7242 -3.0130 -2.0736 -1.2617 e-08 e-07 e-07 e-07 -4.0841 -1.1482 -9.7294 -8.1124 -6.6324 -5.2899 e-07 e-07 e-07 e-07 e-07 e-06 -1.3365 e-06 -1.5376 e-06 -1.7507 -2.9605 -2.7036 -2.4527 -2.2093 -1.9749 e-06 e-06 e-06 e-06 e-06 e-06……结构:直接的形式显示所有属性

计算的成本实施杀害多人者。大量毁灭过滤器需要753系数和720个国家。乘法的数量每输入样本和添加输入示例15.6875和15.6667,分别。

成本(d)
ans =结构体字段:NumCoefficients: 753 NumStates: 720 MultiplicationsPerInputSample: 15.6875 AdditionsPerInputSample: 15.6667

使用designMultistageDecimator函数

设计一个多级杀害多人者与相同的过滤器规格单级设计。计算过渡宽度使用以下关系:

Fc =鳍/ (2 * M);TW = 2 * (Fc-BW);

默认情况下,由数量的阶段NumStages参数设置为“汽车”产生最优的设计,试图减少乘法/输入样本的数量。

c = designMultistageDecimator(米、鳍、TW Astop)
c = dsp。FilterCascade属性:Stage1: [1 x1 dsp。FIRDecimator] Stage2: [1 x1 dsp。FIRDecimator] Stage3: [1 x1 dsp。FIRDecimator] Stage4: [1 x1 dsp。FIRDecimator] CloneStages:假的

调用信息函数c显示过滤器被实现为一个级联的四个dsp.FIRDecimator对象,与大量毁灭因素3、2、2和4分别。

计算的成本实施杀害多人者。

成本(c)
ans =结构体字段:NumCoefficients: 78 NumStates: 99 MultiplicationsPerInputSample: 7.2708 AdditionsPerInputSample: 6.6667

NumCoefficientsMultiplicationsPerInputSample参数较低的四级过滤设计的designMultistageDecimator功能,使之更为高效。

比较级响应的设计。

hvft = fvtool (b, c);传奇(hvft“单级”,“多级”)

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

级的反应表明,过渡宽度的过滤器是相同的,使过滤器具有可比性。的成本功能显示,实现多级设计相比是更高效的实现单级设计。

使用“设计”选项designMultistageDecimator函数

过滤器可以更有效的通过设置“CostMethod”论点的designMultistageDecimator函数“设计”。默认情况下,这个参数被设置为“估计”

“设计”模式下,功能设计和计算每个阶段过滤器的顺序。这产生一个优化设计相比“估计”模式,函数估计滤波器为每个阶段和设计基于估计的过滤器。

请注意,“设计”选择要花更长时间相比“估计”选择。

cOptimal = designMultistageDecimator (M,鳍、TW Astop,“CostMethod”,“设计”)
cOptimal = dsp。FilterCascade属性:Stage1: [1 x1 dsp。FIRDecimator] Stage2: [1 x1 dsp。FIRDecimator] Stage3: [1 x1 dsp。FIRDecimator] Stage4: [1 x1 dsp。FIRDecimator] CloneStages:假的
成本(cOptimal)
ans =结构体字段:NumCoefficients: 70 NumStates: 93 MultiplicationsPerInputSample: 7 AdditionsPerInputSample: 6.5417

设计一个杀害多人者整体24倍力量的使用designMultistageDecimator函数。设计两个配置的过滤器:

  • 两级配置,NumStages被设置为2。

  • 汽车配置-NumStages被设置为“汽车”。这个配置设计一个过滤器每个输入样本的乘法数最低的。

比较成本实现配置。

初始化

选择大批杀害24倍,输入采样率6 kHz, 90分贝的阻带衰减,过渡的宽度 0 03 × 6000年 2

M = 24;Fs = 6000;Astop = 90;TW = 0.03 * Fs / 2;

设计滤波器

设计两个过滤器使用designMultistageDecimator函数。

考托= designMultistageDecimator (M, Fs、TW Astop,“NumStages”,“汽车”)
考托= dsp。FilterCascade属性:Stage1: [1 x1 dsp。FIRDecimator] Stage2: [1 x1 dsp。FIRDecimator] Stage3: [1 x1 dsp。FIRDecimator] CloneStages:假的
cTwo = designMultistageDecimator (M, Fs、TW Astop,“NumStages”,2)
cTwo = dsp。FilterCascade属性:Stage1: [1 x1 dsp。FIRDecimator] Stage2: [1 x1 dsp。FIRDecimator] CloneStages:假的

查看使用过滤信息信息函数。的“汽车”配置设计一连串的三冷杉杀害多人者大量毁灭因素2、3和4分别。两级配置设计一连串的两个冷杉杀害多人者大量毁灭因素4和6,分别。

比较成本

比较的成本实现两个设计使用成本函数。

成本(考托)
ans =结构体字段:NumCoefficients: 73 NumStates: 94 MultiplicationsPerInputSample: 8.6250 AdditionsPerInputSample: 7.9167
成本(cTwo)
ans =结构体字段:NumCoefficients: 100 NumStates: 118 MultiplicationsPerInputSample: 8.9583 AdditionsPerInputSample: 8.6667

“汽车”配置大量毁灭滤波器产生一个三级设计,相当大的程度上胜过两阶段设计费用指标。

比较级响应

比较级响应的两个过滤器,过滤器有相同的过渡带行为和遵循的设计规范。

cTwo hfvt = fvtool(考托,分析=“级”);传奇(hfvt“汽车多级”,“两阶段”)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含3线类型的对象。这些对象代表汽车多级,两级。

然而,理解计算储蓄来自哪里的三级设计,看单独的幅度响应三个阶段。

autoSt1 = cAuto.Stage1;autoSt2 = cAuto.Stage2;autoSt3 = cAuto.Stage3;hfvt = fvtool (autoSt1 autoSt2 autoSt3,分析=“级”);传奇(hfvt“第1阶段”,“第二阶段”,“第三阶段”)

图2图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含3线类型的对象。这些对象代表第一阶段、第二阶段、第三阶段。

第三阶段提供了所需的狭窄的过渡宽度总体设计(0.03 × Fs / 2)。然而,第三阶段在1.5 kHz,光谱副本为中心频率及其谐波。

第一阶段删除这样的副本。第一和第二阶段操作速度但买得起宽过渡宽度。结果是一个decimate-by-2第一阶段过滤器只有7非零系数和decimate-by-3阶段过滤器只有19个非零系数。第三阶段需要47个系数。总的来说,有73 100年三级设计和非零系数非零系数的两阶段设计。

多级过滤器的设计满足下列条件:

  • 合并后的反应必须满足或超过给定的设计规范。

  • 合并后的大量毁灭必须等于整体需要大量毁灭。

48的整体力量的因素,有几种组合的各个阶段。

获得设计用最少的总系数,设置“MinTotalCoeffs”参数真正的

Astop = 80;M = 48;Fs = 6000;TW = 0.03 * Fs / 2;cMinCoeffs = designMultistageDecimator (M, Fs、TW Astop,“MinTotalCoeffs”,真正的)
cMinCoeffs = dsp。FilterCascade属性:Stage1: [1 x1 dsp。FIRDecimator] Stage2: [1 x1 dsp。FIRDecimator] Stage3: [1 x1 dsp。FIRDecimator] Stage4: [1 x1 dsp。FIRDecimator] CloneStages:假的
成本(cMinCoeffs)
ans =结构体字段:NumCoefficients: 48 NumStates: 59 MultiplicationsPerInputSample: 5.8542 AdditionsPerInputSample: 5.0833

获得设计每个输入的乘法数最少的样本,集“NumStages”汽车的

cMinMulti = designMultistageDecimator (M, Fs、TW Astop,“NumStages”,“汽车”)
cMinMulti = dsp。FilterCascade属性:Stage1: [1 x1 dsp。FIRDecimator] Stage2: [1 x1 dsp。FIRDecimator] CloneStages:假的
成本(cMinMulti)
ans =结构体字段:NumCoefficients: 158 NumStates: 150 MultiplicationsPerInputSample: 5.6875 AdditionsPerInputSample: 5.1667

两个过滤器的使用比较级响应fvtool。过滤器有相同的过渡带行为和阻带衰减,低于80分贝。

hvft = fvtool (cMinCoeffs cMinMulti)
hvft =图(filtervisualizationtool)属性:号码:[]名称:图1:级响应(dB)的颜色:(0.9400 0.9400 0.9400)位置:(348 376 583 437)单位:像素使用能显示所有属性
传奇(hvft“最小化总系数”,“每个输入样本的乘法数最小化”)

图1图:级响应(dB)包含一个坐标轴对象。坐标轴对象与标题级响应(dB),包含频率(赫兹),ylabel级(dB)包含3线类型的对象。这些对象代表最小化总系数,减少每个输入样本的乘法数。

输入参数

全部折叠

整体力量的因素,指定为一个大于1的正整数。为了让C多级,不能一个质数。有关详细信息,请参见算法

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输入采样率多级杀害多人者前,指定为一个积极的真正的标量。如果不指定,Fs默认为48000 Hz。多级杀害多人者的截止频率Fs/ (2)。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

过渡宽度,指定为一个积极的真正的标量不到Fs/。如果不指定,太瓦默认为0.2×Fs/。过渡宽度必须小于Fs/

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

最低阻带衰减结果设计、指定为一个积极的真正的标量。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

例子:C = designMultistageDecimator(48、48000、200、80年,“NumStages”、“汽车”)设计了一种多级杀害多人者最低的乘法/输入样本的数量。

杀害多人者阶段,指定为一个正整数。如果设置为“汽车”,设计算法确定阶段的数量导致每个输入样本的乘法数量最低。如果指定为一个正整数,N,整体力量的因素,至少,必须考虑到N因素,不包括1作为因素。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

,设计算法最小化乘法/输入样本的数量。当真正的,设计算法最小化的总数系数。

数据类型:逻辑

成本计算方法,指定为:

  • “估计”——每个阶段所需的函数估计滤波器的顺序和设计基于估计的过滤器。该方法比“设计”,但会导致设计不佳。

  • “设计”——功能设计和计算每个阶段过滤器的顺序。这个方法会导致一个最优的总体设计。

数据类型:字符

宽容,指定为一个积极的标量。宽容是用来确定多级配置最少的mpi。当多个配置导致相同的mpi在指定的公差,最低配置,收益率最低的选择系数总体的数量。查看系数和mpi的总数为一个特定的过滤器,使用成本函数。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64

输出参数

全部折叠

滤波器设计,作为一个返回dsp.FilterCascade系统对象™。过滤器是一个级联的多个阶段设计的功能。阶段的数量决定的“NumStages”论点。

每个过滤阶段的信息,调用信息功能上的C论点。

算法

整体力量的因素分为较小的因素,每个因素的大量毁灭因素相应的个人舞台。结合大量毁灭的各个阶段必须等于整个大批杀害。合并后的反应必须满足或超过给定的设计规范。

函数决定通过杀害多人者数量的阶段“NumStages”论点。阶段的顺序是根据实施成本决定的。默认情况下,“NumStages”被设置为“汽车”,导致了一个序列,给出了最低数量的mpi。当多个配置导致相同的mpi在指定的公差,最低配置,收益率最低的选择系数总体的数量。如果“MinTotalCoeffs”被设置为真正的,函数决定了总系数序列要求的最低数量。

默认情况下,“CostMethod”被设置为“估计”。在这种模式下,每个阶段所需的函数估计滤波器的顺序和设计基于估计的过滤器。该方法比“设计”,但会导致设计不佳。对于一个优化设计,集“CostMethod”“设计”。在这种模式下,功能设计每个阶段和计算滤波器的顺序。

版本历史

介绍了R2018b