EngeeDSP.CICInterpolator
使用级联积分器-梳状滤波器进行信号插值。
库::`工程师` 座:: CIC Interpolation
资料描述
系统对象*EngeeDSP。CICInterpolator*使用级联梳状积分器(Cic)滤波器内插输入信号。 插值CIC滤波器的结构是级联的 梳状滤波器的部分,然后是采样率的一个因子的变化 ,然后级联 积分器部分。 有关详细信息,请参阅算法。 Property*NumSections*设置节数 在CIC过滤器中。 Property*InterpolationFactor*设置插值系数 .
要插入输入信号,请按照以下步骤操作:
-
创建*EngeeDSP。CICInterpolator*对象并设置其属性。
-
用参数调用对象,就好像它是一个函数一样。
若要了解有关如何使用系统对象的详细信息,请参阅 AnyMath系统对象.
语法
创造
-
cicInterp=EngeeDSP。CICInterpolator缧-创建将CIC插值滤波器应用于输入信号的CIC插值系统对象。 -
cicInterp=EngeeDSP。CICInterpolator(R,M,N)-创建插值CIC系统对象,该对象具有*InterpolationFactor*值集R,对于*DifferentialDelay*-值M,而对于属性*NumSections*—值N.
-
cicInterp=EngeeDSP。CICInterpolator(___,名称=值)-创建CIC插值对象cicInterp将指定的属性作为一对名称=值,在哪里姓名-物业的名称,以及价值-适当的值。 您可以指定多个对 «名称-值» 对的顺序并不重要。 未指定的属性保留其默认值。例子::
# создание системного объекта CIC интерполяции c количеством секций 4 cicInterp = EngeeDSP.CICInterpolator(NumSections = 4)
使用
-
[参数:cicinterpout]=cicInterp([参数:输入])-使用CIC内插器内插输入数据。
争论
输入参数
# 输入 — 输入数据
+
向量资料 | 矩阵
Details
指定为向量或矩阵的输入数据。
| 数据类型 |
|
输出参数
# cicInterpOut — CIC内插器的输出
+
向量资料 | 矩阵
Details
作为矢量或矩阵返回的插值输出数据。 输出帧的大小为 (1/InterpolationFactor)×输入帧大小. 输出数据的复杂度对应于输入数据的复杂度。
如果输入数据具有嵌入式整数或定点数据类型,则输出字的长度和分数的长度取决于使用*FixedPointDataType*指定的定点数据类型。
完全准确
如果对于属性*FixedPointDataType*值集 "全精度",应用以下关系式:
哪里
-
-输出数据字的长度;
-
-输出数据的小数部分的长度;
-
-输入数据字的长度;
-
-输入数据的小数部分的长度;
-
-cic过滤器中的节数,由属性*NumSections*设置。
价值 和 它们继承自传递给对象算法的输入数据。 对于嵌入式整数输入数据,小数部分的长度为 0.
设置单词的长度和小数部分
如果对于属性*FixedPointDataType*值集 "指定单词和分数长度",则输出中单词的长度和小数部分的长度将对应于属性*OutputWordLength*和*OutputFractionLength*中指定的值。
| 数据类型 |
|
特征
#
NumSections —
积分器和梳状滤波器部分数
Int64 integer
Details
积分器部分和梳状cic滤波器的数目,设置为正整数。 该数字表示滤波器的梳状和积分器部分中的部分的数目。 CIC筛选器中的部分总数是此属性指定的部分数的两倍。
#
FixedPointDataType —
定点属性的设置方法
Symbol
Details
用于设置定点属性的方法,由以下值之一指定:
-
"全精度"-字的长度和定点数的小数部分的长度对于cic滤波器的部分和对象的输出数据进行充分的精度处理。
-
"指定单词和分数长度"-使用属性*SectionWordLengths*、SectionFractionLengths、SectionFractionLengths、OutputWordLength*和OutputFractionLength*指定单词的长度和小数部分的长度。
# SectionFractionLengths — 每个滤波器段的定点数小数部分的长度
Details
用于每个滤波器部分的定点数的小数部分的长度,指定为整数的标量或向量。 分数长度可以是负数或等于 0 或者肯定的。 如果指定标量,则该值将应用于筛选器的所有部分。 如果指定向量,则其长度应等于 2×[属性:NumSections].
依赖关系
若要使用此属性,请设置*FixedPointDataType*值 "指定单词和分数长度".
#
OutputWordLength —
滤波器输出的定点字的长度
Int64 integer
Details
#
OutputFractionLength —
滤波器输出的定点分数的长度
Int64 integer
Details
# SectionWordLengths — 每个过滤区段的定点词的长度
Details
每个滤波器部分的定点词的长度,设置为标量。
单词的长度必须大于或等于 2.
此值适用于所有筛选器部分。
依赖关系
若要使用此属性,请设置*FixedPointDataType*值
"指定单词和分数长度".
#
InterpolationFactor —
的插值系数
Int64 integer
Details
输入信号进行插值的系数,设为正整数。
此外
CIC过滤器
Details
CIC滤波器是一类优化的线性相位FIR滤波器,由梳状滤波器和串联的积分器组成。
概念上,内插CIC滤波器是增加采样频率的元件,其后是单频cic滤波器。 ,其是用于失真抑制的低通滤波器。 CIC插值滤波器使用级联梳状积分器(Cic)滤波器将输入信号的采样率提高整数倍。
在更有效的实现中,CIC过滤器 ,其在不改变采样率的情况下运行,以这种方式分解为因子:
哪里
-
-传递函数 梳状滤波器级联的部分,每个部分的宽度为 ;
-
-的级联的传递函数 集成商;
-
-节数。 CIC滤波器中的节数定义为滤波器梳状部分或积分部分中的节数。 此值不反映整个筛选器中的部分总数。;
-
-插值系数;
-
-差分延迟。
提供全多速率滤波的算法考虑到插值的显着身份,这允许您移动改变采样频率的操作。 对于级联 梳状滤波器而不扭曲运算结果。
所得滤波器的传递函数由下式给出:
有关显示多速实现的流程图,请参阅算法。
定点信号
Details
定点信号图显示了*EngeeDSP的数据类型。CICInterpolator*对象用于定点信号。

这里
-
secNT=numerictype(1,secWL,secFL); -
outNT=numerictype(1,outWL,outFL); -
第三章-节词的长度,使用*[属性设置:SectionWordLengths]*; -
秘书处-部分小数部分的长度,使用*[属性设置:SectionFractionLengths]*; -
外翻-输出字的长度,使用*OutputWordLength设置*; -
外向型-输出字小数部分的长度,使用*OutputFractionLength*设置。
此图中的*NumSections*属性的值为 2.
算法
CIC插值滤波器
Details
[More-about]一节中描述的cic插值滤波器实现为级联 梳状滤波器,然后是将信号的采样率增加一个因子的元素 ,然后级联 集成商。

该图显示了具有两个部分的梳状滤波器级联和也由两个部分组成的积分器级联。 Cic滤波器积分器中的单个延迟可以位于正向电路和反馈电路中。 这两种配置产生相同的滤波器频率特性。 但是,由于延迟的影响,这两个配置选项的输出中的实际数字序列会有所不同。 在该算法中,单个延迟被放置在积分器的直接线路的路径中,因为这种配置对于HDL实现是优选的。