请注意:如果你正在使用R2016a或更早的版本,将每个对对象的调用替换为等价的一步
语法。例如,obj(x)
变成步骤(obj,x)
.
创建一个dsp。CICInterpolator
系统对象™InterpolationFactor
设置为2。在22.05 kHz至44.1 kHz范围内,将定点信号内插2倍。
cicint = dsp。CICInterpolator具有以下属性:InterpolationFactor: 2 DifferentialDelay: 1 NumSections: 2 FixedPointDataType: 'Full precision'
创建一个正弦波
对象与取样频率
设置为22.05 kHz,SamplesPerFrame
设置为32,然后OutputDataType
设置为“自定义”
.要生成定点信号,请设置CustomOutputDataType
属性到一个numerictype
对象。对于本例,将值设置为numerictype ([], 16)
.分数长度是根据生成的正弦信号的值来计算的,以给出可能的最佳精度。
要生成定点信号,请设置方法
财产的正弦波
反对“查表”
.这种产生正弦信号的方法要求输出中每个正弦信号的周期都能被采样周期平均整除。即,
每个通道必须为整数值我= 1, 2,…N。的价值
=
,变量
是正弦信号的频率,和
为信号的采样率。换句话说,就是比率
必须是整数。有关详细信息,请参见算法上节正弦波
对象页面。
在这个例子中,
设置为22050 Hz,并且
设置为1050hz。
正弦= dsp。正波与属性:振幅:1频率:1050 PhaseOffset: 0 ComplexOutput: false方法:'Table lookup' TableOptimization: 'Speed' SampleRate: 22050 SamplesPerFrame: 32 OutputDataType: 'Custom'显示所有属性
在迭代的每个循环中,在以22.05 kHz采样的定点正弦信号的一帧中进行流。将流信号内插2倍。内插输出每帧有64个采样。
CIC插值滤波器的输出被特定的增益值放大。您可以使用获得
函数。这个增益等于
级CIC插值滤波器等
,在那里
为内插因子,
是差分延迟,和
是CIC插补器的节数。
要调整此放大输出并使其与原始信号的振幅匹配,请将CIC插值信号与计算的增益值分开。
比较原始信号和插值信号的最后一帧。绘制时,考虑2个样本的输出延迟。
使用信息
功能“长”
格式化,获取定点过滤器段的字长和分数长度以及过滤器输出。
ans='离散时间FIR多速率滤波器(实数)------------------------------------------滤波器结构:级联积分器梳状插值器插值因子:2微分延迟:1段数:2稳定:是线性相位:是(类型1)实现成本乘法器数量:0加法器数量:4状态数量:每个输入样本4乘法:每个输入样本0加法:6固定点信息节字长:17节分数长度:14输出字长:17输出分数长度:14'