主要内容

dsp。CICCompensationInterpolator

利用FIR插补器补偿CIC插补滤波器

描述

你可以补偿CIC插补器的缺点,即它的通带下垂和宽过渡区域,通过在它前面加一个补偿插补器。这个System对象™允许您设计和使用这样的过滤器。

为了弥补使用FIR插值器的CIC滤波器的缺点:

  1. 创建dsp。CICCompensationInterpolator对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

ciccompint= dsp。CICCompensationInterpolator返回一个System对象,ciccompint,该方法将FIR插值器应用于输入信号的每个通道。利用对象的属性,可以设计插值滤波器来补偿后续的CIC滤波器。

ciccompint= dsp。CICCompensationInterpolator (插值函数返回一个CIC补偿插值器系统对象,ciccompint,与InterpolationFactor属性设置为插值函数

ciccompint= dsp。CICCompensationInterpolator (中投公司返回一个CIC补偿插值器系统对象,ciccompint,与CICRateChangeFactorCICNumSections,CICDifferentialDelay中指定的属性dsp。CICInterpolator系统对象中投公司

ciccompint= dsp。CICCompensationInterpolator (中投公司插值函数返回一个CIC补偿插值器系统对象,ciccompint,与CICRateChangeFactorCICNumSections,CICDifferentialDelay中指定的属性dsp。CICInterpolator系统对象中投公司,以及InterpolationFactor属性设置为插值函数

例子

ciccompint= dsp。CICCompensationInterpolator (<年代pan class="argument_placeholder">___名称,值返回一个CIC补偿插值器对象,将每个指定属性设置为指定值。将每个属性名用引号括起来。您可以将此语法用于以前的任何输入参数组合。

属性

全部展开

除非另有说明,属性为<年代pan class="emphasis">nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为<年代pan class="emphasis">可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

指定补偿为正整数标量的CIC滤波器的差分延迟。

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

指定作为正整数标量补偿的CIC过滤器的节数。

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

指定补偿的CIC滤波器的速率变化因子为正整数标量。缺省值是2。

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

指定是将最小阶滤波器设计为逻辑标量,还是将指定阶滤波器设计为逻辑标量。默认为真正的,对应于最小阶滤波器。

将插值补偿器过滤器的顺序指定为正整数标量。

依赖关系

属性时才应用此属性DesignForMinimumOrder财产

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

将补偿器系统对象的插值因子指定为正整数标量。

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

指定通带边缘频率为用赫兹表示的正实标量。PassbandFrequency必须小于<年代pan class="inlineequation">F<年代ub>年代/ 2,在那里<年代pan class="inlineequation">F<年代ub>年代是输出采样率。

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

将滤波器通带纹波指定为以分贝表示的正实标量。

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

指定输入采样率为用赫兹表示的正实标量。

数据类型:|

将滤波器阻带衰减指定为以分贝表示的正实标量。

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

指定止带边缘频率为正实标量,以赫兹表示。StopbandFrequency必须小于<年代pan class="inlineequation">F<年代ub>年代/ 2,在那里<年代pan class="inlineequation">F<年代ub>年代是输出采样率。

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

定点属性

系数的字和分数长度,指定为有符号或无符号numerictype对象。默认的,numerictype (16)对应于具有16位系数和基于系数值确定的分数长度的有符号数字类型对象,以提供尽可能高的精度。

此属性不可调。

输出的单词长度与输入的单词长度相同。计算输出的部分长度,以便输出的整个动态范围可以表示而不溢出。有关如何计算输出的分数长度的详细信息,请参见FIR滤波器中避免溢出的定点精度规则

用于输出定点操作的舍入方法,指定为字符向量。有关舍入模式的详细信息,请参见精度和范围

使用

描述

例子

y= ciccompint (x输出上采样和过滤的值,y,为输入信号,x

输入参数

全部展开

数据输入,指定为向量或矩阵。对象处理K<年代ub>我×N输入矩阵为N独立的通道,在第一个维度上插值每个通道。

该对象不支持复杂的无符号定点数据。金宝app

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fi
复数支持:金宝app是的

输出参数

全部展开

上采样和滤波信号,以矢量或矩阵形式返回。对于一个K<年代ub>我×N输入矩阵,结果是aK<年代ub>o×N输出矩阵,其中K<年代ub>oK<年代ub>我×l而且l是插值因子。

数据类型:||int8|int16|int32|int64|uint8|uint16|uint32|uint64|fi
复数支持:金宝app是的

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

freqz 离散时间滤波器的频率响应<年代pan class="trademark entity">系统对象
fvtool 可视化DSP滤波器的频率响应
信息 关于过滤器的信息<年代pan class="trademark entity">系统对象
成本 估计实现过滤器的成本<年代pan class="trademark entity">系统对象
多项式系数 返回筛选器<年代pan class="trademark entity">系统对象结构中的系数
多相 多速率滤波器的多相分解
generatehdl 生成量化DSP滤波器的HDL代码(需要<年代pan class="trademark entity">滤波器设计HDL编码器)
一步 运行<年代pan class="trademark entity">系统对象算法
释放 释放资源并允许更改<年代pan class="trademark entity">系统对象属性值和输入特征
重置 重置的内部状态<年代pan class="trademark entity">系统对象

例子

全部折叠

设计一个CIC补偿插补器。插值系数为2,通频带频率为200hz,阻频带频率为500hz,输入采样率为600hz。

Fs = 600;fPass = 200;fStop = 500;CICCompInterp = dsp。CICCompensationInterpolator (<年代pan style="color:#0000FF">...“InterpolationFactor”2,<年代pan style="color:#0000FF">...“PassbandFrequency”成就,<年代pan style="color:#0000FF">...“StopbandFrequency”fStop,<年代pan style="color:#0000FF">...“SampleRate”fs);

画出脉冲响应。零阶系数为延迟6个样本,等于滤波器的群延迟。

fvtool (CICCompInterp<年代pan style="color:#A020F0">“分析”,<年代pan style="color:#A020F0">“冲动”)

{

绘制幅值和相位响应。

fvtool (CICCompInterp<年代pan style="color:#A020F0">“分析”,<年代pan style="color:#A020F0">“频率”)

{

请注意:如果您正在使用R2016a或更早的版本,请使用等效的步骤语法替换对对象的每个调用。例如,obj (x)就变成了步骤(obj, x)

为现有的6段插补系数为16的CIC插补器设计补偿插补器。

CICInterp = dsp。CICInterpolator (<年代pan style="color:#A020F0">“InterpolationFactor”, 16岁,<年代pan style="color:#0000FF">...“NumSections”6);

构造补偿插补器。指定插值系数为2,输入采样率为600hz,通频带频率为100hz,阻频带频率为250hz。将阻带中混叠分量的最小衰减设置为至少80 dB。

Fs = 600;fPass = 100;fStop = 250;Ast = 80;CICCompInterp = dsp。CICCompensationInterpolator (CICInterp<年代pan style="color:#0000FF">...“InterpolationFactor”2,<年代pan style="color:#A020F0">“PassbandFrequency”成就,<年代pan style="color:#0000FF">...“StopbandFrequency”fStop,<年代pan style="color:#A020F0">“StopbandAttenuation”ast,<年代pan style="color:#0000FF">...“SampleRate”fs);

可视化级联的频率响应。将所有震级响应归一化为0分贝。

FC = dsp。F我lterCascade(CICCompInterp, CICInterp); f = fvtool(CICCompInterp,CICInterp,FC,<年代pan style="color:#0000FF">...“Fs”, [fs*2 fs*16*2 fs*16*2]);f.NormalizeMagnitudeto1 =<年代pan style="color:#A020F0">“上”;传奇(f,<年代pan style="color:#A020F0">“CIC补偿插补器”,<年代pan style="color:#A020F0">“中投插入器”,<年代pan style="color:#0000FF">...“总体响应”);

{

将该设计应用于1000个样本的随机输入信号。

x = dsp.SignalSource(fi(rand(1000,1),1,16,15),<年代pan style="color:#A020F0">“SamplesPerFrame”, 100);Y = fi(0 (32000,1),1,32,20);<年代pan style="color:#0000FF">为ind = 1:10 x2 = CICCompInterp(x());y(((ind-1)*3200)+1:ind*3200) = CICInterp(x2);<年代pan style="color:#0000FF">结束

算法

CIC滤波器的响应为:

H c c ω R D ω 2 ω 2 N

RD,N分别为速率变化率、差分时延和CIC滤波器的节数。

抽取后,cic的反应形式是:好的

H c c ω D ω 2 ω 2 R N

最后一个响应的规范化版本是CIC补偿器需要补偿的版本。因此,CIC补偿器的通带响应应为以下形式:

H c c c o p ω R D ω 2 R D ω 2 N ω ω p < π

在哪里ωp为CIC补偿滤波器的通带频率。

注意当ω/ 2R的上一个方程式,≪πHciccompω)可以简化为sin(x)≅x

H c c c o p ω D ω 2 D ω 2 N 年代 n c D ω 2 N ω ω p < π

前面的方程是CIC滤波器真实逆通带响应的逆sinc近似。

扩展功能

版本历史

在R2014b中引入

另请参阅

功能

  • |<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">|<年代pan itemscope itemtype="//www.tatmou.com/help/schema/MathWorksDocPage/SeeAlso" itemprop="seealso">

对象