主要内容

补偿抽取器

用FIR抽取器补偿CIC抽取滤波器

描述

你可以补偿CIC抽取器的缺点,即它的通带下垂和宽过渡区,通过跟随它的补偿抽取器。这个System对象™允许您设计和使用这样的过滤器。

为了弥补使用FIR抽取器的CIC滤波器的缺点:

  1. 创建补偿抽取器对象,并设置其属性。

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

要了解有关系统对象如何工作的更多信息,请参见什么是系统对象?

创建

描述

ciccompdec=dsp.cic补偿抽取器返回一个System对象,ciccompdec,它对输入信号的每个通道应用FIR小数部分。利用目标的性质,抽取滤波器可以被设计来补偿之前的CIC滤波器。

ciccompdec=dsp.cic补偿抽取器(分贝)返回一个CIC补偿小数系统对象,用DecimationFactor属性设置为分贝.

ciccompdec=dsp.cic补偿抽取器(cic)返回一个CIC补偿小数系统对象,用循环率变化因子,CICNumSections,CIC延迟中指定的属性dsp。CICDecimator系统对象,cic.

ciccompdec=dsp.cic补偿抽取器(cic,分贝)返回CIC补偿小数系统对象,ciccompdec,循环率变化因子,CICNumSections,CIC延迟中指定的属性dsp。CICDecimator系统对象cic,DecimationFactor属性设置为分贝.

实例

ciccompdec=dsp.cic补偿抽取器(___,名称、值)返回CIC补偿小数对象,其中每个指定的属性设置为指定的值。将每个属性名用引号括起来。您可以将此语法与之前的任何输入参数组合一起使用。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放函数打开它们。

如果一个属性是可调,您可以随时更改其值。

有关更改属性值的更多信息,请参见基于系统对象的MATLAB系统设计.

指定被补偿的CIC滤波器的微分延迟为一个正整数标量。

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

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

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

指定被补偿的CIC滤波器的速率变化因子为一个正整数标量。

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

指定补偿器系统对象的抽取因子为一个正整数标量。

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

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

指定抽取补偿滤波器的阶数为正整数标量。

依赖关系

此属性仅在设置DesignForMinimumOrder财产错误的.

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

指定通带边缘频率为正实标量,以赫兹表示。PassbandFrequency必须小于Fs/2,在那里Fs为输入采样率。

数据类型:||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必须小于Fs/2,在那里Fs为输入采样率。

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

定点属性

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

此属性不可调。

输出的字长与输入的字长相同。计算输出的分数长度时,可以在不溢出的情况下表示输出的整个动态范围。有关如何计算输出分数长度的详细信息,请参阅FIR滤波器中避免溢出的定点精度规则.

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

用法

描述

实例

Y= ciccompdecim (x)返回过滤和下采样的值,Y,输入信号的,x.

输入参数

全部展开

数据输入,指定为向量或矩阵。系统对象将K×N输入矩阵作为N独立通道,在第一个维度上摧毁每个通道。输入行数,K,必须是抽取因子的倍数。

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

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

输出参数

全部展开

滤波和下采样信号,返回为向量或矩阵。对于一个K×N输入矩阵,结果是aKo×N输出矩阵,其中Ko=K/MM为抽取因子。

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

目标函数

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

释放(obj)

全部展开

数字滤波器频率响应 离散时间滤波器的频率响应系统对象
fvtool 显示DSP滤波器的频率响应
信息 有关筛选器的信息系统对象
成本 估计实现过滤器的成本系统对象
非零系数 返回过滤器系统对象结构系数
多相 多速率滤波器的多相分解
生成hdl 为量化DSP滤波器生成HDL代码(需要滤波器设计HDL编码器)
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部崩溃

设计一个CIC补偿式抽取器。指定抽取因子为2,通频带频率为4khz,阻频带频率为4.5 kHz,输入采样率为16khz。

fs = 16 e3;成就= 4 e3;fStop = 4.5 e3;CICCompDecim = dsp。CICCompensationDecimator (“决策因素”2,...“PassbandFrequency”成就,...“阻带频率”,fStop,...“SampleRate”fs);

绘制脉冲响应。滤波器的组延迟为45.5。

fvtool (CICCompDecim“分析”,“冲动”)

图形过滤器可视化工具-脉冲响应包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为脉冲响应的轴对象包含一个类型为stem的对象。

绘制幅值和相位响应图。

fvtool (CICCompDecim“分析”,“频率”)

Figure Filter Visualization Tool-幅值响应(dB)和相位响应包含轴对象和uitoolbar、uimenu类型的其他对象。标题为幅值响应(dB)和相位响应的轴对象包含line类型的对象。

笔记:如果您使用的是R2016a或早期版本,请使用等效的step语法替换对对象的每个调用。例如,obj (x)就变成了步骤(obj, x).

在现有CIC抽取器的基础上,设计了一种补偿抽取器,该抽取器分为六个部分,抽取因子为6。

CICDecim=dsp.CICDecimator(“决策因素”6...“NumSections”,6);

构造补偿小数。指定抽取因子为2,输入采样率为16 kHz,通频带频率为4 kHz,阻频带频率为4.5 kHz。

fs=16e3;fPass=4e3;fStop=4.5e3;CICCompDecim=dsp.CICCompensationDecimator(CICDecim,...“决策因素”2,“PassbandFrequency”成就,...“阻带频率”,fStop,“SampleRate”fs);

可视化级联的频率响应。将所有幅度响应归一化到0分贝。

filtCasc = dsp.FilterCascade (CICDecim CICCompDecim);f = fvtool(CICDecim, CICCompDecim, filtCasc,)...“Fs”[fs*6 fs*6]);f、 消瘦1=“开”; 图例(f,“CIC抽取器”,“中投公司补偿杀害多人者”,...“总体反应”);

图形过滤器可视化工具-幅度响应(dB)包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“大小响应(dB)”的轴对象包含5个类型为line的对象。这些对象代表CIC Decimator: Quantized, CIC Decimator: Reference, CIC Compensation Decimator, Overall Response: Quantized, Overall Response: Reference。

将该设计应用于1200样本的随机输入信号。的第一个维度存储抽取的输出Y大堆

x = dsp.SignalSource (fi (rand(1200 1), 1, 16日15),“样品性能框架”, 120);y = fi(0(100 1), 1, 32岁,20);对于x = 1:10 x2 = CICDecim(x());y (((ind-1) * 10) + 1:印第安纳州* 10,1)= CICCompDecim (x2);终止

算法

CIC滤波器的响应是:

H C C ( ω ) = [ ( R D ω 2. ) ( ω 2. ) ] N

R,D,N分别为速率变化因子、差分延迟和CIC滤波器的分段数。

在抽取之后,cic响应的形式是:okay

H C C ( ω ) = [ ( D ω 2. ) ( ω 2. R ) ] N

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

H C C C o M P ( ω ) = [ R D ( ω 2. R ) ( D ω 2. ) ] N 对于 ω ω P < π

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

注意,当ω/2R≪ π、 上一个方程Hciccomp(ω)可以用sin(x) ≅x:

H C C C o M P ( ω ) [ ( D ω 2. ) ( D ω 2. ) ] N = [ s N C ( D ω 2. ) ] N 对于 ω ω P < π

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

扩展功能

介绍了R2014b