designMultistageDecimator
语法
描述
例子
设计高效的杀害多人者
设计一个单级杀害多人者使用designMultirateFIR
函数和多级杀害多人者使用designMultistageDecimator
函数。确定两个设计使用的效率成本
函数。实现效率的特点是两个——成本指标NumCoefficients
和MultiplicationsPerInputSample
。
计算的成本实现设计,和确定哪些设计更有效率。做一个比较,设计的过滤器,这样他们的过渡宽度是相同的。
初始化
选择大量毁灭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
的NumCoefficients
和MultiplicationsPerInputSample
参数较低的四级过滤设计的designMultistageDecimator
功能,使之更为高效。
比较级响应的设计。
hvft = fvtool (b, c);传奇(hvft“单级”,“多级”)
级的反应表明,过渡宽度的过滤器是相同的,使过滤器具有可比性。的成本
功能显示,实现多级设计相比是更高效的实现单级设计。
使用“设计”
选项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分贝的阻带衰减,过渡的宽度 。
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“汽车多级”,“两阶段”)
然而,理解计算储蓄来自哪里的三级设计,看单独的幅度响应三个阶段。
autoSt1 = cAuto.Stage1;autoSt2 = cAuto.Stage2;autoSt3 = cAuto.Stage3;hfvt = fvtool (autoSt1 autoSt2 autoSt3,分析=“级”);传奇(hfvt“第1阶段”,“第二阶段”,“第三阶段”)
第三阶段提供了所需的狭窄的过渡宽度总体设计(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“最小化总系数”,“每个输入样本的乘法数最小化”)
输入参数
Fs
- - - - - -输入采样率
48000年
(默认)|积极的真正的标量
输入采样率多级杀害多人者前,指定为一个积极的真正的标量。如果不指定,Fs
默认为48000 Hz。多级杀害多人者的截止频率Fs
/ (2米
)。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
Astop
- - - - - -最小阻带衰减
积极的真正的标量
最低阻带衰减结果设计、指定为一个积极的真正的标量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:C = designMultistageDecimator(48、48000、200、80年,“NumStages”、“汽车”)
设计了一种多级杀害多人者最低的乘法/输入样本的数量。
NumStages
- - - - - -杀害多人者的阶段
“汽车”
(默认)|正整数
杀害多人者阶段,指定为一个正整数。如果设置为“汽车”
,设计算法确定阶段的数量导致每个输入样本的乘法数量最低。如果指定为一个正整数,N,整体力量的因素,米
至少,必须考虑到N因素,不包括1
或米
作为因素。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
MinTotalCoeffs
- - - - - -最小化总系数
假
(默认)|真正的
当假
,设计算法最小化乘法/输入样本的数量。当真正的
,设计算法最小化的总数系数。
数据类型:逻辑
CostMethod
- - - - - -成本计算方法
“估计”
(默认)|“设计”
成本计算方法,指定为:
“估计”
——每个阶段所需的函数估计滤波器的顺序和设计基于估计的过滤器。该方法比“设计”
,但会导致设计不佳。“设计”
——功能设计和计算每个阶段过滤器的顺序。这个方法会导致一个最优的总体设计。
数据类型:字符
CostTolerance
- - - - - -宽容
1 e-6
(默认)|积极的标量
宽容,指定为一个积极的标量。宽容是用来确定多级配置最少的mpi。当多个配置导致相同的mpi在指定的公差,最低配置,收益率最低的选择系数总体的数量。查看系数和mpi的总数为一个特定的过滤器,使用成本
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
输出参数
C
——设计滤波器
dsp.FilterCascade
dsp.FilterCascade
滤波器设计,作为一个返回dsp.FilterCascade
系统对象™。过滤器是一个级联的多个阶段设计的功能。阶段的数量决定的“NumStages”
论点。
每个过滤阶段的信息,调用信息
功能上的C
论点。
算法
整体力量的因素分为较小的因素,每个因素的大量毁灭因素相应的个人舞台。结合大量毁灭的各个阶段必须等于整个大批杀害。合并后的反应必须满足或超过给定的设计规范。
函数决定通过杀害多人者数量的阶段“NumStages”
论点。阶段的顺序是根据实施成本决定的。默认情况下,“NumStages”
被设置为“汽车”
,导致了一个序列,给出了最低数量的mpi。当多个配置导致相同的mpi在指定的公差,最低配置,收益率最低的选择系数总体的数量。如果“MinTotalCoeffs”
被设置为真正的
,函数决定了总系数序列要求的最低数量。
默认情况下,“CostMethod”
被设置为“估计”
。在这种模式下,每个阶段所需的函数估计滤波器的顺序和设计基于估计的过滤器。该方法比“设计”
,但会导致设计不佳。对于一个优化设计,集“CostMethod”
来“设计”
。在这种模式下,功能设计每个阶段和计算滤波器的顺序。
版本历史
介绍了R2018b
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。