dsphdl.CICDecimatorgydF4y2Ba
描述gydF4y2Ba
的gydF4y2Badsphdl.CICDecimatorgydF4y2Ba
系统对象™会毁坏一个输入信号通过使用级联integrator-comb (CIC)大量毁灭过滤器。中投过滤器是一种线性相位有限脉冲响应(杉木)过滤器组成的梳部分和积分器组成部分。包括中投大批杀害滤波器结构gydF4y2BaNgydF4y2Ba段级联集成商、速度变化系数gydF4y2BaRgydF4y2Ba,gydF4y2BaNgydF4y2Ba段级联梳过滤器。中投公司大量毁灭过滤器的更多信息,请参阅gydF4y2Ba算法gydF4y2Ba。gydF4y2Ba
系统的输入和输出数据的对象支持这些组金宝app合。gydF4y2Ba
标量输入和标量输出,支持固定和可变利率终于被赶下台金宝appgydF4y2Ba
输入矢量和标量输出——只支持固定利率终于被赶下台金宝appgydF4y2Ba
矢量输入和输出,只支持固定利率终于被赶下台金宝appgydF4y2Ba
系统对象提供了一个适合HDL代码生成和硬件部署架构。gydF4y2Ba
系统对象支持真正的和复杂的定点输入。金宝appgydF4y2Ba
过滤输入数据与一个HDL-optimized中投大批杀害过滤器,遵循这些步骤:gydF4y2Ba
创建gydF4y2Ba
dsphdl.CICDecimatorgydF4y2Ba
对象并设置其属性。gydF4y2Ba调用对象的参数,就好像它是一个函数。gydF4y2Ba
了解更多关于系统对象是如何工作的,看到的gydF4y2Ba系统对象是什么?gydF4y2Ba
创建gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
创建一个HDL-optimized中投大批杀害过滤系统对象,gydF4y2BacicDecFiltgydF4y2Ba
= dsphdl.CICDecimatorgydF4y2BacicDecFiltgydF4y2Ba
用默认属性。gydF4y2Ba
创建过滤器使用一个或多个名称与属性设置参数。在单引号附上每个属性的名字。gydF4y2BacicDecFiltgydF4y2Ba
= dsphdl.CICDecimator (gydF4y2Ba名称,值gydF4y2Ba
)gydF4y2Ba
属性gydF4y2Ba
属性,除非另有注明gydF4y2BanontunablegydF4y2Ba后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,gydF4y2Ba释放gydF4y2Ba
函数打开它们。gydF4y2Ba
如果一个属性gydF4y2Ba可调gydF4y2Ba在任何时候,你可以改变它的值。gydF4y2Ba
改变属性值的更多信息,请参阅gydF4y2Ba系统设计在MATLAB使用系统对象gydF4y2Ba。gydF4y2Ba
DecimationSourcegydF4y2Ba
- - - - - -gydF4y2Ba大量毁灭因素来源gydF4y2Ba
“属性”gydF4y2Ba
(默认)|gydF4y2Ba输入端口的gydF4y2Ba
指定是否固定或可变的系统对象操作大量毁灭率。gydF4y2Ba
“属性”gydF4y2Ba
——使用指定的固定大量毁灭的速度gydF4y2BaDecimationFactorgydF4y2Ba
财产。gydF4y2Ba输入端口的gydF4y2Ba
——使用一个变量指定的大批杀害gydF4y2BaRgydF4y2Ba
输入参数。gydF4y2Ba
对于向量输入,系统对象不支持变量大量毁灭的速度。金宝appgydF4y2Ba
DecimationFactorgydF4y2Ba
- - - - - -gydF4y2Ba大量毁灭的因素gydF4y2Ba
2gydF4y2Ba
(默认)|gydF4y2Ba从1到2048的整数gydF4y2Ba
指定的大量毁灭因素作为一个从1到2048的整数。这个值给出了系统对象使得输入的速度。gydF4y2Ba
依赖关系gydF4y2Ba
要启用这个特性,设置gydF4y2BaDecimationSourcegydF4y2Ba
财产gydF4y2Ba“属性”gydF4y2Ba
。gydF4y2Ba
MaxDecimationFactorgydF4y2Ba
- - - - - -gydF4y2Ba上界的变量大量毁灭的因素gydF4y2Ba
2gydF4y2Ba
(默认)|gydF4y2Ba从1到2048的整数gydF4y2Ba
指定的有效范围的上界值gydF4y2BaRgydF4y2Ba
输入参数为一个从1到2048的整数。gydF4y2Ba
请注意gydF4y2Ba
对于向量输入,系统对象不支持变量大批杀害。金宝appgydF4y2Ba
依赖关系gydF4y2Ba
要启用这个特性,设置gydF4y2BaDecimationSourcegydF4y2Ba
财产gydF4y2Ba输入端口的gydF4y2Ba
。gydF4y2Ba
DifferentialDelaygydF4y2Ba
- - - - - -gydF4y2Ba微分延迟gydF4y2Ba
1gydF4y2Ba
(默认)|gydF4y2Ba2gydF4y2Ba
指定的延迟微分梳状滤波器的一部分gydF4y2Ba1gydF4y2Ba
或gydF4y2Ba2gydF4y2Ba
周期。gydF4y2Ba
NumSectionsgydF4y2Ba
- - - - - -gydF4y2Ba积分器或梳部分gydF4y2Ba
2gydF4y2Ba
(默认)|gydF4y2Ba1gydF4y2Ba
|gydF4y2Ba3gydF4y2Ba
|gydF4y2Ba4gydF4y2Ba
|gydF4y2Ba5gydF4y2Ba
|gydF4y2Ba6gydF4y2Ba
指定的部分数量积分器或梳系统对象的一部分。gydF4y2Ba
GainCorrectiongydF4y2Ba
- - - - - -gydF4y2Ba输出增益补偿gydF4y2Ba
假gydF4y2Ba
(默认)|gydF4y2Ba真正的gydF4y2Ba
将此属性设置为gydF4y2Ba真正的gydF4y2Ba
补偿滤波器的输出增益。gydF4y2Ba
系统对象的延迟变化取决于类型的输入,您所指定的大批杀害,部分的数量,这个属性的值。有关系统的延迟对象的更多信息,见gydF4y2Ba延迟gydF4y2Ba。gydF4y2Ba
OutputDataTypegydF4y2Ba
- - - - - -gydF4y2Ba数据类型的输出gydF4y2Ba
“充分精确”gydF4y2Ba
(默认)|gydF4y2Ba相同的单词长度作为输入的gydF4y2Ba
|gydF4y2Ba“最低部分单词长度”gydF4y2Ba
选择的数据类型过滤输出数据。gydF4y2Ba
“充分精确”gydF4y2Ba
——输出数据类型有一个单词长度等于输入单词长度+获得碎片。gydF4y2Ba相同的单词长度作为输入的gydF4y2Ba
——输出数据类型有一个单词长度等于输入单词长度。gydF4y2Ba“最低部分单词长度”gydF4y2Ba
——输出数据类型使用你指定的单词长度gydF4y2BaOutputWordLengthgydF4y2Ba
财产。当你选择这个选项,系统内部对象适用修剪算法。关于修剪的更多信息,请参阅gydF4y2Ba输出数据类型gydF4y2Ba。gydF4y2Ba
OutputWordLengthgydF4y2Ba
- - - - - -gydF4y2Ba单词长度的输出gydF4y2Ba
16gydF4y2Ba
(默认)|gydF4y2Ba从104年2至整数gydF4y2Ba
单词长度的输出,从2到104年指定为一个整数。gydF4y2Ba
请注意gydF4y2Ba
当这个值gydF4y2Ba2gydF4y2Ba
,gydF4y2Ba3gydF4y2Ba
,gydF4y2Ba4gydF4y2Ba
,gydF4y2Ba5gydF4y2Ba
,或gydF4y2Ba6gydF4y2Ba
,系统输出数据对象可以溢出。gydF4y2Ba
依赖关系gydF4y2Ba
要启用这个特性,设置gydF4y2BaOutputDataTypegydF4y2Ba
财产gydF4y2Ba“最低部分单词长度”gydF4y2Ba
。gydF4y2Ba
ResetInputPortgydF4y2Ba
- - - - - -gydF4y2Ba重置的论点gydF4y2Ba
假gydF4y2Ba
(默认)|gydF4y2Ba真正的gydF4y2Ba
当你设定这个属性gydF4y2Ba真正的gydF4y2Ba
预计,系统对象gydF4y2Ba重置gydF4y2Ba
输入参数。gydF4y2Ba
使用gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
(gydF4y2Ba
过滤器并致输入数据使用一个固定的只有当大量毁灭因素gydF4y2BadataOutgydF4y2Ba
,gydF4y2BavalidOutgydF4y2Ba
)= cicDecFilt (gydF4y2BadataIngydF4y2Ba
,gydF4y2BavalidIngydF4y2Ba
)gydF4y2BavalidIngydF4y2Ba
是gydF4y2Ba真正的gydF4y2Ba
。gydF4y2Ba
(gydF4y2Ba
过滤输入数据使用指定的变量大量毁灭的因素gydF4y2BadataOutgydF4y2Ba
,gydF4y2BavalidOutgydF4y2Ba
)= cicDecFilt (gydF4y2BadataIngydF4y2Ba
,gydF4y2BavalidIngydF4y2Ba
,gydF4y2BaRgydF4y2Ba
)gydF4y2BaRgydF4y2Ba
。的gydF4y2BaDecimationSourcegydF4y2Ba
属性必须设置为gydF4y2Ba输入端口的gydF4y2Ba
。gydF4y2Ba
(gydF4y2Ba
当过滤器的输入数据gydF4y2BadataOutgydF4y2Ba
,gydF4y2BavalidOutgydF4y2Ba
)= cicDecFilt (gydF4y2BadataIngydF4y2Ba
,gydF4y2BavalidIngydF4y2Ba
,gydF4y2Ba重置gydF4y2Ba
)gydF4y2Ba重置gydF4y2Ba
是gydF4y2Ba假gydF4y2Ba
和清除过滤器内部状态的时候gydF4y2Ba重置gydF4y2Ba
是gydF4y2Ba真正的gydF4y2Ba
。预计的系统对象gydF4y2Ba重置gydF4y2Ba
只有当你设置的论点gydF4y2BaResetInputPortgydF4y2Ba
财产gydF4y2Ba真正的gydF4y2Ba
。gydF4y2Ba
(gydF4y2Ba
当过滤器的输入数据gydF4y2BadataOutgydF4y2Ba
,gydF4y2BavalidOutgydF4y2Ba
)= cicDecFilt (gydF4y2BadataIngydF4y2Ba
,gydF4y2BavalidIngydF4y2Ba
,gydF4y2BaRgydF4y2Ba
,gydF4y2Ba重置gydF4y2Ba
)gydF4y2Ba重置gydF4y2Ba
是gydF4y2Ba假gydF4y2Ba
和清除过滤器内部状态的时候gydF4y2Ba重置gydF4y2Ba
是gydF4y2Ba真正的gydF4y2Ba
。预计的系统对象gydF4y2Ba重置gydF4y2Ba
只有当你设置的论点gydF4y2BaResetInputPortgydF4y2Ba
财产gydF4y2Ba真正的gydF4y2Ba
。的gydF4y2BaDecimationSourcegydF4y2Ba
属性必须设置为gydF4y2Ba输入端口的gydF4y2Ba
。gydF4y2Ba
输入参数gydF4y2Ba
dataIngydF4y2Ba
- - - - - -gydF4y2Ba输入数据gydF4y2Ba
标量gydF4y2Ba|gydF4y2Ba列向量gydF4y2Ba
指定输入数据作为一个标量或一个列向量的长度从1到64。输入数据必须是一个带符号整数或签署了不动点单词长度小于等于32。的gydF4y2BaDecimationFactorgydF4y2Ba
属性必须是一个整数输入帧大小的倍数。gydF4y2Ba
数据类型:gydF4y2Baint8gydF4y2Ba
|gydF4y2Baint16gydF4y2Ba
|gydF4y2Baint32gydF4y2Ba
|gydF4y2BafigydF4y2Ba
复数的支持:金宝appgydF4y2Ba是的gydF4y2Ba
validIngydF4y2Ba
- - - - - -gydF4y2Ba显示有效的输入数据gydF4y2Ba
标量gydF4y2Ba
控制信号表明如果输入数据是有效的。当gydF4y2BavalidIngydF4y2Ba
是gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
),对象捕捉的值gydF4y2BadataIngydF4y2Ba
论点。当gydF4y2BavalidIngydF4y2Ba
是gydF4y2Ba0gydF4y2Ba
(gydF4y2Ba假gydF4y2Ba
),忽略了值的对象gydF4y2BadataIngydF4y2Ba
论点。gydF4y2Ba
数据类型:gydF4y2Ba逻辑gydF4y2Ba
RgydF4y2Ba
- - - - - -gydF4y2Ba可变大批杀害率gydF4y2Ba
标量gydF4y2Ba
指定大量毁灭率。gydF4y2Ba
的gydF4y2BaRgydF4y2Ba
值必须有数据类型gydF4y2Bafi (0 12 0)gydF4y2Ba
它必须是一个整数的范围从1到gydF4y2BaMaxDecimationFactorgydF4y2Ba
属性值。gydF4y2Ba
依赖关系gydF4y2Ba
要启用这个论点,设置gydF4y2BaDecimationSourcegydF4y2Ba
财产gydF4y2Ba输入端口的gydF4y2Ba
。gydF4y2Ba
数据类型:gydF4y2Bafi (0 12 0)gydF4y2Ba
重置gydF4y2Ba
- - - - - -gydF4y2Ba清除内部状态gydF4y2Ba
逻辑标量gydF4y2Ba
清除内部状态的控制信号。当gydF4y2Ba重置gydF4y2Ba
是gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
),对象停止当前的计算和清除内部状态。当gydF4y2Ba重置gydF4y2Ba
是gydF4y2Ba0gydF4y2Ba
(gydF4y2Ba假gydF4y2Ba
),输入gydF4y2Ba有效的gydF4y2Ba
是gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
),对象捕捉数据进行处理。gydF4y2Ba
重新考虑,看到gydF4y2Ba复位信号gydF4y2Ba上节gydF4y2Ba硬件控制信号gydF4y2Ba页面。gydF4y2Ba
依赖关系gydF4y2Ba
要启用这个论点,设置gydF4y2BaResetInputPortgydF4y2Ba
财产gydF4y2Ba真正的gydF4y2Ba
。gydF4y2Ba
数据类型:gydF4y2Ba逻辑gydF4y2Ba
输出参数gydF4y2Ba
dataOutgydF4y2Ba
——CIC-decimated输出数据gydF4y2Ba
标量|列向量gydF4y2Ba
CIC-decimated输出数据,作为一个标量或返回一个列向量的长度从1到64。gydF4y2Ba
的gydF4y2BaOutputDataTypegydF4y2Ba
属性设置这个参数的数据类型。看到gydF4y2Ba输出数据类型gydF4y2Ba。gydF4y2Ba
数据类型:gydF4y2Baint8gydF4y2Ba
|gydF4y2Baint16gydF4y2Ba
|gydF4y2Baint32gydF4y2Ba
|gydF4y2BafigydF4y2Ba
复数的支持:金宝appgydF4y2Ba是的gydF4y2Ba
validOutgydF4y2Ba
:表示有效的输出数据gydF4y2Ba
标量gydF4y2Ba
控制信号,表明如果输出数据是有效的。当gydF4y2BavalidOutgydF4y2Ba
是gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
),该对象返回有效的数据gydF4y2BadataOutgydF4y2Ba
论点。当gydF4y2BavalidOutgydF4y2Ba
是gydF4y2Ba0gydF4y2Ba
(gydF4y2Ba假gydF4y2Ba
),值gydF4y2BadataOutgydF4y2Ba
参数是无效的。gydF4y2Ba
数据类型:gydF4y2Ba逻辑gydF4y2Ba
对象的功能gydF4y2Ba
使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名gydF4y2BaobjgydF4y2Ba
使用这个语法:gydF4y2Ba
发行版(obj)gydF4y2Ba
特定于gydF4y2Badsphdl.CICDecimatorgydF4y2Ba
getLatencygydF4y2Ba |
延迟的中投公司大量毁灭过滤器gydF4y2Ba |
常见的系统对象gydF4y2Ba
一步gydF4y2Ba |
运行gydF4y2Ba系统对象gydF4y2Ba算法gydF4y2Ba |
释放gydF4y2Ba |
释放资源,并允许修改gydF4y2Ba系统对象gydF4y2Ba属性值和输入特征gydF4y2Ba |
重置gydF4y2Ba |
重置的内部状态gydF4y2Ba系统对象gydF4y2Ba |
例子gydF4y2Ba
为HDL代码生成创建中投大批杀害过滤器gydF4y2Ba
这个例子展示了如何使用一个gydF4y2Badsphdl.CICDecimatorgydF4y2Ba
系统对象™过滤和downsample数据。这个对象支持标量和向量输金宝app入。在这个例子中,两个函数提供了单独使用标量和向量输入。你可以从这些函数生成HDL代码。gydF4y2Ba
生成随机输入帧样本gydF4y2Ba
设置工作空间变量的对象使用。对象支持固定和可变利率金宝app标量力量的投入,只有一个固定的大量毁灭的速度向量输入。运行的例子gydF4y2BaHDLCIC_maxR8gydF4y2Ba
当你设置标量变量的函数gydF4y2Ba真正的gydF4y2Ba
和运行gydF4y2BaHDLCIC_vecgydF4y2Ba
当你设置标量变量的函数gydF4y2Ba假gydF4y2Ba
。对于标量输入,选择一系列的输入gydF4y2BavarRValuegydF4y2Ba
值和设置大量毁灭因子值gydF4y2BaRgydF4y2Ba
的最大预期大量毁灭的因素。为向量输入,输入数据必须是一个列向量的大小1到64和gydF4y2BaRgydF4y2Ba
必须是一个整数输入帧大小的倍数。gydF4y2Ba
R = 8;gydF4y2Ba%大量毁灭的因素gydF4y2BaM = 1;gydF4y2Ba%微分延迟gydF4y2BaN = 3;gydF4y2Ba%的部分gydF4y2Ba标量= true;gydF4y2Ba%对标量;假的向量gydF4y2Ba如果gydF4y2Ba标量varRValue = (2, 4, 5, 6, 7, 8);vecSize = 1;gydF4y2Ba其他的gydF4y2BavarRValue = R;gydF4y2Ba% #好吧gydF4y2Bafac =(因子(R));vecSize = fac (randi(长度(fac), 1, 1));gydF4y2Ba结束gydF4y2BanumFrames =长度(varRValue);dataSamples =细胞(1、numFrames);varRtemp =细胞(1、numFrames);numFrames framesize = 0 (1);refOutput = [];王= 0;gydF4y2Ba%字长gydF4y2BaFL = 0;gydF4y2Ba%部分长度gydF4y2Ba
生成参考输出gydF4y2Badsp.CICDecimatorgydF4y2Ba
系统对象gydF4y2Ba
生成帧随机输入样本和样本应用到gydF4y2Badsp.CICDecimatorgydF4y2Ba
系统对象。稍后在本例中,您使用系统生成的输出对象作为比较的参考数据。系统对象不支持一个变量大量毁灭,所以你必须创建和释放大金宝app量毁灭的对象为每个变化因子值。gydF4y2Ba
totalsamples = 0;gydF4y2Ba为gydF4y2Bai = 1: numFrames framesize (i) = varRValue randi(我)* (20 [5],1,1);dataSamples{我}= fi (randn (vecSize, framesize(我)),1,16日8);ref_cic = dsp.CICDecimator (gydF4y2Ba“DifferentialDelay”gydF4y2Ba米,gydF4y2Ba…gydF4y2Ba“NumSections”gydF4y2BaNgydF4y2Ba…gydF4y2Ba“DecimationFactor”gydF4y2BavarRValue(我));refOutput = [refOutput ref_cic (dataSamples{我}(:))。');gydF4y2Ba% #好吧gydF4y2Ba释放(ref_cic);gydF4y2Ba结束gydF4y2Ba
运行函数包含gydF4y2Badsphdl.CICDecimatorgydF4y2Ba
系统对象gydF4y2Ba
系统对象的属性设置为匹配输入数据为输入类型参数和运行功能。这些函数将处理流数据样本而不是一个框架。你可以从这些函数生成HDL代码。gydF4y2Ba
这个例子使用了gydF4y2BaHDLCIC_maxR8gydF4y2Ba
为一个标量函数的输入。gydF4y2Ba
函数gydF4y2Ba[dataOut, validOut] = HDLCIC_maxR8 (dataIn validIn, R)gydF4y2Ba% HDLCIC_maxR8gydF4y2Ba%执行中投大批杀害8输入大量毁灭因素。gydF4y2Ba% dataIn是一个标量定点值。gydF4y2Ba% validIn是一个逻辑标量值。gydF4y2Ba持续的gydF4y2Bacic8;gydF4y2Ba如果gydF4y2Baisempty (cic8) cic8 = dsphdl.CICDecimator (gydF4y2Ba“DecimationSource”gydF4y2Ba,gydF4y2Ba输入端口的gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“MaxDecimationFactor”gydF4y2Ba8gydF4y2Ba…gydF4y2Ba“DifferentialDelay”gydF4y2Ba,1gydF4y2Ba…gydF4y2Ba“NumSections”gydF4y2Ba3);gydF4y2Ba结束gydF4y2Ba[dataOut, validOut] = cic8 (dataIn validIn, R);gydF4y2Ba结束gydF4y2Ba
这个例子使用了gydF4y2BaHDLCIC_vecgydF4y2Ba
对于一个向量输入函数。gydF4y2Ba
函数gydF4y2Ba[dataOut, validOut] = HDLCIC_vec (dataIn validIn)gydF4y2Ba% HDLCIC_vecgydF4y2Ba%执行中投大量毁灭与输入向量。gydF4y2Ba% dataIn是一个定点向量。gydF4y2Ba% validIn是一个逻辑标量值。gydF4y2Ba持续的gydF4y2BacicVec;gydF4y2Ba如果gydF4y2Baisempty (cicVec) cicVec = dsphdl.CICDecimator (gydF4y2Ba“DecimationSource”gydF4y2Ba,gydF4y2Ba“属性”gydF4y2Ba,gydF4y2Ba…gydF4y2Ba“DecimationFactor”gydF4y2Ba8gydF4y2Ba…gydF4y2Ba“DifferentialDelay”gydF4y2Ba,1gydF4y2Ba…gydF4y2Ba“NumSections”gydF4y2Ba3);gydF4y2Ba结束gydF4y2Ba[dataOut, validOut] = cicVec (dataIn validIn);gydF4y2Ba结束gydF4y2Ba
冲剩下的数据,运行对象插入所需数量的每一帧使用后空闲周期gydF4y2Ba延迟gydF4y2Ba
变量。有关更多信息,请参见gydF4y2Ba延迟gydF4y2Ba。gydF4y2Ba
初始化输出大小足够大来容纳数据的输出。最终的大小是小于gydF4y2BatotalsamplesgydF4y2Ba
由于大量毁灭。gydF4y2Ba
延迟=地板((vecSize - 1) * (N / vecSize)) + 1 + N + (2 + (vecSize + 1) * N) + 9;dataOut = 0 (1、totalsamples + numFrames *延迟);validOut = 0 (1、totalsamples + numFrames *延迟);idx = 0;gydF4y2Ba为gydF4y2Baij = 1: numFramesgydF4y2Ba如果gydF4y2Ba标量gydF4y2Ba%标量变量输入与大批杀害gydF4y2Ba为gydF4y2Ba2 = 1:长度(dataSamples {ij}) idx = idx + 1;[dataOut (idx), validOut (idx)] = HDLCIC_maxR8 (gydF4y2Ba…gydF4y2BadataSamples {ij} (ii),gydF4y2Ba…gydF4y2Ba真的,gydF4y2Ba…gydF4y2Bafi (varRValue (ij), 0, 12日0));gydF4y2Ba结束gydF4y2Ba为gydF4y2Ba2 = 1:延迟idx = idx + 1;[dataOut (idx), validOut (idx)] = HDLCIC_maxR8 (gydF4y2Ba…gydF4y2Bafi(0, 1, 16日8),gydF4y2Ba…gydF4y2Ba假的,gydF4y2Ba…gydF4y2Bafi (varRValue (ij), 0, 12日0));gydF4y2Ba结束gydF4y2Ba其他的gydF4y2Ba%向量输入与固定大量毁灭gydF4y2Ba为gydF4y2Ba2 = 1:尺寸(dataSamples {ij}, 2)gydF4y2Ba% #好吧gydF4y2Baidx = idx + 1;[dataOut (idx), validOut (idx)] = HDLCIC_vec (gydF4y2Ba…gydF4y2BadataSamples {ij}(:,(二),gydF4y2Ba…gydF4y2Ba真正的);gydF4y2Ba结束gydF4y2Ba为gydF4y2Ba2 = 1:延迟idx = idx + 1;[dataOut (idx), validOut (idx)] = HDLCIC_vec (gydF4y2Ba…gydF4y2Bafi (0 (vecSize 1) 1, 16日8),gydF4y2Ba…gydF4y2Ba假);gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba结束gydF4y2Ba
比较函数输出与参考数据gydF4y2Ba
比较函数结果的输出gydF4y2Badsp.CICDecimatorgydF4y2Ba
对象。gydF4y2Ba
cicOutput = dataOut (validOut = = 1);流(gydF4y2Ba“\ nCIC杀害多人者\ n”gydF4y2Ba);差= (abs (cicOutput-refOutput(1:长度(cicOutput))) > 0);流([gydF4y2Ba‘\ nTotal数量的样本之间的不同行为gydF4y2Ba…gydF4y2Ba“和高密度脂蛋白仿真:% d \ n”gydF4y2Ba),和(差));gydF4y2Ba
中投杀害多人者的样本总数之间的不同行为和高密度脂蛋白仿真:0gydF4y2Ba
探索中投杀害多人者对象的延迟gydF4y2Ba
的延迟gydF4y2Badsphdl.CICDecimatorgydF4y2Ba
系统对象™变化取决于有多少积分器和梳部分你的过滤器,输入向量的大小,是否启用获得校正。使用gydF4y2BagetLatencygydF4y2Ba
函数来找到一个特定的延迟滤波器配置。之间的延迟是周期的数量第一次有效输入和第一个有效输出,如果输入是持续有效的。gydF4y2Ba
创建一个gydF4y2Badsphdl.CICDecimatorgydF4y2Ba
系统对象和请求的延迟。默认的系统对象滤波器有两个积分器和梳部分,和增益校正是禁用的。gydF4y2Ba
hdlcic = dsphdl.CICDecimatorgydF4y2Ba
hdlcic = dsphdl.CICDecimatorwith properties: DecimationSource: 'Property' DecimationFactor: 2 DifferentialDelay: 1 NumSections: 2 GainCorrection: false Show all properties
L_def = getLatency (hdlcic)gydF4y2Ba
L_def = 5gydF4y2Ba
修改过滤器对象,所以它有三个积分器和梳部分。检查结果延迟的变化。gydF4y2Ba
hdlcic。Nu米Sections = 3; L_3sec = getLatency(hdlcic)
L_3sec = 6gydF4y2Ba
使增益校正过滤器对象与向量输入大小2。检查结果延迟的变化。gydF4y2Ba
hdlcic。G一个我nCorrect我on=真正的; vecSize = 2; L_wgain = getLatency(hdlcic,vecSize)
L_wgain = 25gydF4y2Ba
算法gydF4y2Ba
中投公司大量毁灭过滤器gydF4y2Ba
中投公司大量毁灭滤波器的传递函数gydF4y2Ba
HgydF4y2Ba我gydF4y2Ba传递函数的积分器CIC滤波器的一部分。gydF4y2Ba
HgydF4y2BaCgydF4y2Ba的传递函数是梳子CIC滤波器的一部分。gydF4y2Ba
NgydF4y2Ba是部分的数量。部分的数量在CIC滤波器的定义是部分在梳理部分或积分器过滤器的一部分。这个值并不代表总数的部分在整个过滤器。gydF4y2Ba
RgydF4y2Ba是大量毁灭的因素。gydF4y2Ba
米gydF4y2Ba是微分延迟。gydF4y2Ba
CIC滤波器结构gydF4y2Ba
的gydF4y2Badsphdl.CICDecimatorgydF4y2Ba
系统对象有此图所示的CIC滤波器结构。的结构包括gydF4y2BaNgydF4y2Ba段级联集成商、速度变化系数gydF4y2BaRgydF4y2Ba,gydF4y2BaNgydF4y2Ba段级联梳过滤器gydF4y2Ba[1]gydF4y2Ba。gydF4y2Ba
设计可以把单位延迟积分器的一部分CIC滤波器在前馈和反馈路径。这两个配置产生一个相同的滤波器的频率响应。然而,从这两个数值输出配置不同的延迟路径。这个系统对象把单位的前馈路径延迟积分器。gydF4y2Ba
固定和可变大量毁灭gydF4y2Ba
系统对象downsamples积分器输出使用阶段gydF4y2BaRgydF4y2Ba基于固定大量毁灭,要么提供使用gydF4y2BaDecimationFactorgydF4y2Ba
属性或变量大批杀害率提供使用gydF4y2BaRgydF4y2Ba
输入参数。downsampler阶段,系统对象使用一个计数器计算有效的输入样本,这依赖于大量毁灭。只要大量毁灭率发生变化,对象重置并开始一个新的计算下一个样品。这种机制可以防止系统对象积累无效值。然后,系统对象提供了大量输出到梳部分。gydF4y2Ba
增益校正gydF4y2Ba
对象是由系统的增益gydF4y2Ba 。gydF4y2Ba
RgydF4y2Ba是gydF4y2Ba
DecimationFactorgydF4y2Ba
属性值。gydF4y2Ba米gydF4y2Ba是gydF4y2Ba
DifferentialDelaygydF4y2Ba
属性值。gydF4y2BaNgydF4y2Ba是gydF4y2Ba
NumSectionsgydF4y2Ba
属性值。gydF4y2Ba
系统对象实现增益校正两部分:粗增益,增益。在粗增益校正,系统对象计算位移值,增加了价值转向部分创建一个数字类型,然后执行一个向左移位。总之得到校正,系统对象把剩下的增益与粗增益如果获得不是2的乘方,然后繁殖的粗获得纠正价值逆好获得的价值。所有可能的转变和细增益值是预先计算的并存储在一个数组在系统对象开始前处理。gydF4y2Ba
你可以修改这个方程gydF4y2Ba ,在那里gydF4y2BacGaingydF4y2Ba意味着粗增益和gydF4y2BafGaingydF4y2Ba意味着良好的收益。gydF4y2Ba
执行gydF4y2BaGainCorrectiongydF4y2Ba
当gydF4y2BaInterpolationSourcegydF4y2Ba
属性设置为gydF4y2Ba输入端口的gydF4y2Ba
设置输出数据类型配置,系统对象最大力量的速率和bit-shifts留给所有最大大批杀害速率下的值。移位值等于gydF4y2Ba
。gydF4y2Ba
输出数据类型gydF4y2Ba
本节解释如何系统对象决定了输出数据类型。例如,考虑一个过滤器gydF4y2BaDecimationFactorgydF4y2Ba
,gydF4y2BaDifferentialDelaygydF4y2Ba
,gydF4y2BaNumSectionsgydF4y2Ba
值8、1和3,分别输入16位的宽度。gydF4y2Ba
输出单词长度计算gydF4y2Ba 。gydF4y2Ba
BgydF4y2Ba在gydF4y2Ba是输入单词长度。gydF4y2Ba
BgydF4y2Ba出gydF4y2Ba是输出单词长度。gydF4y2Ba
当你设置gydF4y2BaOutputDataTypegydF4y2Ba
财产gydF4y2Ba“充分精确”gydF4y2Ba
系统对象返回数据的字长25位,通过添加九位输入单词长度。gydF4y2Ba
当你设置gydF4y2BaOutputDataTypegydF4y2Ba
财产gydF4y2Ba相同的单词长度作为输入的gydF4y2Ba
对象输出数据的字长16日也就是长度作为输入单词长度。内部积分器和梳理阶段软件不能使用数据类型与25位。gydF4y2Ba
当你设置gydF4y2BaOutputDataTypegydF4y2Ba
财产gydF4y2Ba“最低部分单词长度”gydF4y2Ba
和gydF4y2BaOutputWordLengthgydF4y2Ba
财产gydF4y2Ba16gydF4y2Ba
,系统对象返回的字长16位的数据。在这种情况下,对象在每个阶段的位宽变化,基于修剪算法。gydF4y2Ba
如果gydF4y2BaOutputWordLengthgydF4y2Ba
属性值小于输出的比特数要求,最低有效位(lsb)早期修剪。Hogenauer算法提供了lsb丢弃在每个阶段的数量。该算法最小化输出数据中的信息的损失gydF4y2Ba[1]gydF4y2Ba。gydF4y2Ba
延迟gydF4y2Ba
系统对象的延迟变化取决于类型的输入,您所指定的大批杀害,部分的数量,和的值gydF4y2BaGainCorrectiongydF4y2Ba
财产。此表显示了系统对象的延迟。gydF4y2BaNgydF4y2Ba部分的数量和吗gydF4y2BavecLengydF4y2Ba向量的长度。gydF4y2Ba
输入数据gydF4y2Ba | 输出数据gydF4y2Ba | 大量毁灭类型gydF4y2Ba | 增益校正gydF4y2Ba | 在时钟周期延迟gydF4y2Ba |
---|---|---|---|---|
标量gydF4y2Ba | 标量gydF4y2Ba | 固定gydF4y2Ba | 从gydF4y2Ba |
3 +gydF4y2BaNgydF4y2Ba。当gydF4y2BaRgydF4y2Ba= 1,2 +gydF4y2BaNgydF4y2Ba。gydF4y2Ba |
在gydF4y2Ba |
3 +gydF4y2BaNgydF4y2Ba+ 9。当gydF4y2BaRgydF4y2Ba= 1,2 +gydF4y2BaNgydF4y2Ba+ 9。gydF4y2Ba | |||
标量gydF4y2Ba | 标量gydF4y2Ba | 变量gydF4y2Ba | 从gydF4y2Ba |
4 +gydF4y2BaNgydF4y2Ba。当gydF4y2BaRgydF4y2Ba马克斯gydF4y2Ba= 1,3 +gydF4y2BaNgydF4y2Ba。gydF4y2Ba |
在gydF4y2Ba |
4 +gydF4y2BaNgydF4y2Ba+ 9。当gydF4y2BaRgydF4y2Ba马克斯gydF4y2Ba= 1,3 +gydF4y2BaNgydF4y2Ba+ 9。gydF4y2Ba | |||
向量gydF4y2Ba | 标量gydF4y2Ba | 固定gydF4y2Ba | 从gydF4y2Ba |
地板上gydF4y2Ba ((gydF4y2BavecLengydF4y2Ba- 1)x (gydF4y2BaNgydF4y2Ba/gydF4y2BavecLengydF4y2Ba)+ 1 +gydF4y2BaNgydF4y2Ba+ (2 + (gydF4y2BavecLengydF4y2Bax + 1)gydF4y2BaNgydF4y2Ba |
在gydF4y2Ba |
地板上gydF4y2Ba ((gydF4y2BavecLengydF4y2Ba- 1)x (gydF4y2BaNgydF4y2Ba/gydF4y2BavecLengydF4y2Ba)+ 1 +gydF4y2BaNgydF4y2Ba+ (2 + (gydF4y2BavecLengydF4y2Bax + 1)gydF4y2BaNgydF4y2Ba)+ 9gydF4y2Ba |
|||
向量gydF4y2Ba | 向量gydF4y2Ba | 固定gydF4y2Ba | 从gydF4y2Ba |
地板上gydF4y2Ba ((gydF4y2BavecLengydF4y2Ba- 1)x (gydF4y2BaNgydF4y2Ba/gydF4y2BavecLengydF4y2Ba)+ 1 +gydF4y2BaNgydF4y2Ba+ (2 + (gydF4y2BavecLengydF4y2Bax + 1)gydF4y2BaNgydF4y2Ba |
在gydF4y2Ba |
地板上gydF4y2Ba ((gydF4y2BavecLengydF4y2Ba- 1)x (gydF4y2BaNgydF4y2Ba/gydF4y2BavecLengydF4y2Ba)+ 1 +gydF4y2BaNgydF4y2Ba+ (2 + (gydF4y2BavecLengydF4y2Bax + 1)gydF4y2BaNgydF4y2Ba)+ 9gydF4y2Ba |
请注意gydF4y2Ba
对于向量输入,系统对象不支持变量大批杀害。金宝appgydF4y2Ba
本节显示了一个标量系统对象的输出输入不同gydF4y2BaRgydF4y2Ba,gydF4y2Ba米gydF4y2Ba,gydF4y2BaNgydF4y2Ba值。gydF4y2Ba
这个图展示了系统的输出对象使用默认配置,即与一个固定的速度和力量gydF4y2BaDecimationFactorgydF4y2Ba
,gydF4y2BaDifferentialDelaygydF4y2Ba
,gydF4y2BaNumSectionsgydF4y2Ba
值2,1和2分别。系统对象返回有效的输出数据基于固定在每一秒周期gydF4y2BaDecimationFactorgydF4y2Ba
值为2。系统的延迟对象是5时钟周期,计算3 +gydF4y2BaNgydF4y2Ba。gydF4y2Ba
这个图展示了系统的输出对象与一个固定的大量毁灭,gydF4y2BaDecimationFactorgydF4y2Ba
,gydF4y2BaDifferentialDelaygydF4y2Ba
,gydF4y2BaNumSectionsgydF4y2Ba
值8、1和3,分别gydF4y2BaGainCorrectiongydF4y2Ba
设置为gydF4y2Ba真正的gydF4y2Ba
。系统对象返回有效的输出数据在每一个第八周期基于固定gydF4y2BaDecimationFactorgydF4y2Ba
值8。对象的延迟15时钟周期和计算3 +gydF4y2BaNgydF4y2Ba+ 9。gydF4y2Ba
这个图展示了系统的输出对象变量gydF4y2BaRgydF4y2Ba
值2,4,8gydF4y2Ba米gydF4y2Ba和gydF4y2BaNgydF4y2Ba1和3的值。的gydF4y2BaGainCorrectiongydF4y2Ba
属性设置为gydF4y2Ba假gydF4y2Ba
。系统对象返回有效的输出数据在第二,第四和第八周期对应gydF4y2BaRgydF4y2Ba
值2,4,8,分别。系统对象接受gydF4y2BaRgydF4y2Ba
只有当输入参数值变化gydF4y2BavalidIngydF4y2Ba
是gydF4y2Ba1gydF4y2Ba
(gydF4y2Ba真正的gydF4y2Ba
)。系统的延迟对象是7时钟周期,计算4 +gydF4y2BaNgydF4y2Ba。gydF4y2Ba
本节显示了一个向量系统对象的输出输入不同gydF4y2BaRgydF4y2Ba,gydF4y2Ba米gydF4y2Ba,gydF4y2BaNgydF4y2Ba值。gydF4y2Ba
这个图显示了双元素系统对象的输出列向量输入使用默认配置,即与一个固定的速度和力量gydF4y2BaDecimationFactorgydF4y2Ba
,gydF4y2BaDifferentialDelaygydF4y2Ba
,gydF4y2BaNumSectionsgydF4y2Ba
值2,1和2分别。延迟的对象是12个时钟周期。gydF4y2Ba
这个图显示了一个系统对象的输出eight-element列向量输入固定大量毁灭,gydF4y2BaRgydF4y2Ba,gydF4y2Ba米gydF4y2Ba,gydF4y2BaNgydF4y2Ba值8、1和3,分别gydF4y2BaGainCorrectiongydF4y2Ba
设置为gydF4y2Ba真正的gydF4y2Ba
。对象的延迟是44个时钟周期。gydF4y2Ba
性能gydF4y2Ba
合成HDL代码的性能随你的目标和合成选项。它还基于输入数据类型而异。gydF4y2Ba
此表显示了资源和性能数据合成的结果为一个标量类型的输入的对象gydF4y2Bafixdt (1 16 0)gydF4y2Ba
与固定和可变利率和力量的双元素与固定列向量输入大量毁灭率gydF4y2BaDecimationFactorgydF4y2Ba
,gydF4y2BaDifferentialDelaygydF4y2Ba
,gydF4y2BaNumSectionsgydF4y2Ba
值是2,1和2分别。生成的高密度脂蛋白是Xilinx目标gydF4y2Ba®gydF4y2BaZynqgydF4y2Ba®gydF4y2Ba-7000年ZC706评估板。gydF4y2Ba
输入数据gydF4y2Ba | 大量毁灭类型gydF4y2Ba | 片附近地区gydF4y2Ba | 片寄存器gydF4y2Ba | 最大频率在兆赫gydF4y2Ba |
---|---|---|---|---|
标量gydF4y2Ba | 固定利率gydF4y2Ba | 101年gydF4y2Ba | 166年gydF4y2Ba | 711.74gydF4y2Ba |
可变利率gydF4y2Ba | 206年gydF4y2Ba | 186年gydF4y2Ba | 441.70gydF4y2Ba |
|
向量gydF4y2Ba | 固定利率gydF4y2Ba | 218年gydF4y2Ba | 627年gydF4y2Ba | 624.61gydF4y2Ba |
的资源和频率随输入数据的类型的值gydF4y2BaRgydF4y2Ba,gydF4y2Ba米gydF4y2Ba,gydF4y2BaNgydF4y2Ba,以及其他属性。使用一个向量输入可以增加吞吐量,然而,这样做也会增加硬件资源的数量,系统对象使用。gydF4y2Ba
引用gydF4y2Ba
[1]Hogenauer,大肠”一个经济类的数字滤波器大量毁灭和插值。”gydF4y2BaIEEE声学,演讲,和信号处理gydF4y2Ba29日,没有。2(1981年4月):155 - 62。https://doi.org/10.1109/TASSP.1981.1163535。gydF4y2Ba
扩展功能gydF4y2Ba
C / c++代码生成gydF4y2Ba
生成C和c++代码使用MATLAB®编码器™。gydF4y2Ba
此系统对象支持C / c++代码生成,金宝app加速MATLABgydF4y2Ba®gydF4y2Ba模拟,DPI组件的一代。gydF4y2Ba
HDL代码生成gydF4y2Ba
生成FPGA和ASIC设计的Verilog和VHDL代码使用HDL编码器™。gydF4y2Ba
该软件支持金宝appgydF4y2Ba双gydF4y2Ba
和gydF4y2Ba单gydF4y2Ba
仿真的数据类型,但不是HDL代码生成。gydF4y2Ba
从预定义的系统对象,生成HDL代码看看gydF4y2Ba从维特比译码器系统HDL代码生成对象gydF4y2Ba(高密度脂蛋白编码器)gydF4y2Ba。gydF4y2Ba
版本历史gydF4y2Ba
介绍了R2019bgydF4y2BaR2022a:gydF4y2Ba搬到gydF4y2BaDSP HDL工具箱gydF4y2Ba从gydF4y2BaDSP系统工具箱gydF4y2Ba
被任命为R2022a之前,这个系统对象gydF4y2Badsp.HDLCICDecimationgydF4y2Ba
并包含在DSP系统工具箱™。gydF4y2Ba
R2022a:gydF4y2Ba大量毁灭因素变化参数gydF4y2Ba
现在,您可以设置大量毁灭的因素gydF4y2Ba
1gydF4y2Ba
。在以前的版本中,大量毁灭的因素gydF4y2Ba1gydF4y2Ba
是无效的。gydF4y2BaResetIngydF4y2Ba
财产被重命名gydF4y2BaResetInputPortgydF4y2Ba
。gydF4y2Ba
配置gydF4y2Ba | 之前R2022agydF4y2Ba | 2022年之后一个gydF4y2Ba |
---|---|---|
变量大量毁灭因素gydF4y2Ba | 选择gydF4y2BaVariableDownsamplegydF4y2Ba 财产和设置gydF4y2BaDecimationFactorgydF4y2Ba 参数的最大预期大量毁灭的因素。gydF4y2Ba |
设置gydF4y2BaDecimationSourcegydF4y2Ba 财产gydF4y2Ba输入端口gydF4y2Ba 并设置gydF4y2BaMaxDecimationFactorgydF4y2Ba 财产的最大预期大量毁灭的因素。的gydF4y2BadecimFactorgydF4y2Ba 端口是重命名为gydF4y2BaRgydF4y2Ba 。gydF4y2Ba |
固定大量毁灭的因素gydF4y2Ba | 清除gydF4y2BaVariableDownsamplegydF4y2Ba 财产和设置gydF4y2BaDecimationFactorgydF4y2Ba 财产所需的大量毁灭的因素。gydF4y2Ba |
设置gydF4y2BaDecimationSourcegydF4y2Ba 财产gydF4y2Ba财产gydF4y2Ba 并设置gydF4y2BaDecimationFactorgydF4y2Ba 财产所需的大量毁灭的因素。gydF4y2Ba |
R2021b:gydF4y2Ba高通量的接口gydF4y2Ba
接受的对象并返回一个列向量的元素代表样本。最多可以包含64个样本的输入向量。使用框架的输入时,您必须使用一个固定的大量毁灭的因素。gydF4y2Ba
R2020a:gydF4y2Ba获得校正和可编程大量毁灭的因素gydF4y2Ba
您可以启用自动增益修正。您还可以指定大量毁灭的因素作为输入参数。gydF4y2Ba
MATLAB命令gydF4y2Ba
你点击一个链接对应MATLAB命令:gydF4y2Ba
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝appgydF4y2Ba
选择一个网站gydF4y2Ba
选择一个网站翻译内容,看到当地事件和提供。根据你的位置,我们建议您选择:gydF4y2Ba。gydF4y2Ba
你也可以从下面的列表中选择一个网站:gydF4y2Ba
表现最好的网站怎么走吗gydF4y2Ba
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。gydF4y2Ba
美洲gydF4y2Ba
- 美国拉丁gydF4y2Ba(西班牙语)gydF4y2Ba
- 加拿大gydF4y2Ba(英语)gydF4y2Ba
- 美国gydF4y2Ba(英语)gydF4y2Ba
欧洲gydF4y2Ba
- 比利时gydF4y2Ba(英语)gydF4y2Ba
- 丹麦gydF4y2Ba(英语)gydF4y2Ba
- 德国gydF4y2Ba(德语)gydF4y2Ba
- 西班牙gydF4y2Ba(西班牙语)gydF4y2Ba
- 芬兰gydF4y2Ba(英语)gydF4y2Ba
- 法国gydF4y2Ba(法语)gydF4y2Ba
- 爱尔兰gydF4y2Ba(英语)gydF4y2Ba
- 意大利gydF4y2Ba(意大利语)gydF4y2Ba
- 卢森堡gydF4y2Ba(英语)gydF4y2Ba
- 荷兰gydF4y2Ba(英语)gydF4y2Ba
- 挪威gydF4y2Ba(英语)gydF4y2Ba
- 奥地利gydF4y2Ba(德语)gydF4y2Ba
- 葡萄牙gydF4y2Ba(英语)gydF4y2Ba
- 瑞典gydF4y2Ba(英语)gydF4y2Ba
- 瑞士gydF4y2Ba
- 联合王国gydF4y2Ba(英语)gydF4y2Ba
亚太地区gydF4y2Ba
- 澳大利亚gydF4y2Ba(英语)gydF4y2Ba
- 印度gydF4y2Ba(英语)gydF4y2Ba
- 新西兰gydF4y2Ba(英语)gydF4y2Ba
- 中国gydF4y2Ba
- 日本gydF4y2Ba(日本語)gydF4y2Ba
- 한국gydF4y2Ba(한국어)gydF4y2Ba