主要内容

数字信号处理器

用级联积分梳状滤波器插值信号

描述

这个数字信号处理器系统对象™ 使用级联积分器梳状(CIC)内插滤波器对输入信号进行内插。CIC内插滤波器结构包括N级联梳状滤波器的截面,然后按因素变化R,然后是N级联积分器的部分。有关详细信息,请参阅算法这个numsections.属性指定N,CIC滤波器中的部分数。这个插值表法属性指定R,插值因子getFixedPointInfo函数返回固定点部分的字长度和分数长度和输出数字信号处理器系统对象。您还可以使用生成hdl作用

笔记

此对象需要一个定点设计器™ 许可证

要使用CIC滤波器对信号进行插值:

  1. 创造数字信号处理器对象,并设置其属性。

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

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

创建

描述

实例

Cicitterp.=dsp.cic插值器创建一个CIC插值系统对象,将CIC插值滤波器应用于输入信号。

实例

Cicitterp.=dsp.cic插值器(R,M,N)使用创建CIC插值对象插值表法属性设置为R这个DifferentialDelay属性设置为M,而且numsections.属性设置为N

Cicitterp.=dsp.cic插值器(名称、值)使用设置为指定值的每个指定属性创建CIC插值对象。用单引号括起每个属性名称。您可以使用任何以前的输入参数组合使用此语法。

特性

展开全部

除非另有说明,否则属性是不可努力,这意味着在调用对象后无法更改其值。当您调用它们时,对象锁定释放函数打开它们。

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

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

输入信号的插值因子,指定为正整数。

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64

在滤波器的每个梳状部分中使用的差分延迟值,指定为正整数。有关详细信息,请参阅算法.如果差分延迟是内置整数类数据类型,则插值因子必须是相同的整数数据类型或双倍的.例如,如果微分延迟是int8,则插值因子必须为int8双倍的

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64

CIC筛选器的积分器和梳状部分的数量,指定为正整数。此数字表示筛选器的梳状部分或积分器部分中的部分数量。CIC筛选器中的部分总数是此属性给定的部分数量的两倍。

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64

固定点属性名称,指定为以下内容之一:

用于每个筛选器节的定点字长,指定为标量或整数行向量。字长必须大于或等于2。如果指定标量,该值适用于筛选器的所有节。如果指定向量,该向量的长度必须为2倍numsections.

例子:32

例子:[32 32 32 32 32]

依赖关系

此属性在设置固定点数据类型财产'指定字长''指定单词和分数长度'

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64

用于每个筛选器节的定点分数长度,指定为标量或整数行向量。分数长度可以为负、0或正。如果指定标量,该值将应用于筛选器的所有节。如果指定向量,该向量的长度必须为2倍numsections.

例子:-2

例子:[-2 0 5 8]

依赖关系

此属性在设置固定点数据类型财产'指定单词和分数长度'

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64

用于滤波器输出的固定点字长度,指定为大于或等于2的标量整数。

依赖关系

此属性在设置固定点数据类型财产'最小部分字长度','指定字长',或'指定单词和分数长度'

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64

用于过滤器输出的定点分数长度,指定为标量整数。

依赖关系

此属性在设置固定点数据类型财产'指定单词和分数长度'

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64

用法

描述

实例

cicInterpOut= cicInterp(输入)使用CIC插值器对输入进行插值。

输入参数

展开全部

数据输入,指定为向量或矩阵。如果输入是单数据类型或双数据类型,则忽略与定点数据类型相关的属性设置。

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64|fi
复数支持:金宝app是的

输出参数

展开全部

插值输出,作为向量或矩阵返回。输出帧大小等于(插值表法)×输入帧大小。输出数据的复杂度与输入数据的复杂度匹配。如果输入为双倍的,则输出数据类型与输入数据类型匹配。

如果输入为内置整数数据类型或定点数据类型,则输出字长和分数长度取决于通过选择的定点数据类型设置固定点数据类型所有物

全面精确

当。。。的时候固定点数据类型属性设置为“全精度”,以下关系适用:

W L 输出 = W L 输入 + N U M s E C T F L 输出 = F L 输入

哪里

  • WL.输出–输出数据的字长。

  • 佛罗里达州输出- 输出数据的分数长度。

  • WL.输入——输入数据的字长。

  • 佛罗里达州输入–输入数据的分数长度。

  • 纽西特中指定的CIC过滤器中的节数numsections.所有物

WL.输入佛罗里达州输入从传递给对象算法的数据输入中继承。对于内置整数输入,分数长度为0。

最小节字长

当。。。的时候固定点数据类型属性设置为'最小部分字长度',输出字长度是您指定的值输出字长所有物输出分数长度,佛罗里达州输出由以下等式给出:

F L 输出 = W L 输出 ( W L 输入 F L 输入 + N U M s E C T )

指定单词和分数长度

当。。。的时候固定点数据类型设置为'指定单词和分数长度',输出字长和分数长度是您在输出字长输出分形长度财产。

指定字的长度

当。。。的时候固定点数据类型设置为'指定字长',输出字长是您在输出字长所有物输出分数长度,佛罗里达州输出由以下等式给出:

F L 输出 = W L 输出 ( W L 输入 F L 输入 + N U M s E C T )

数据类型:|双倍的|int8|int16|INT32.|INT64.|uint8.|uint16|uint32|uint64|fi
复数支持:金宝app是的

目标函数

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

释放(obj)

展开全部

生成hdl 为量化DSP滤波器生成HDL代码(需要过滤器设计HDL编码器)
impz 离散时间滤波器的脉冲响应系统对象
数字滤波器频率响应 离散时间滤波器的频率响应系统对象
阶段 离散时间滤波器的相位响应系统对象(打开)
fvtool DSP滤波器的频率响应可视化
获得 CIC滤波器的增益系统对象
getFixedPointInfo 获得定点字和分数长度
信息 有关筛选器的信息系统对象
运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重启 重置的内部状态系统对象

要查看此对象支持的筛选器分析方法列表,请键入金宝appdsp.CICInterpolator.helpFilterAnalysis在MATLAB中®命令提示符。有关相应的函数参考页,请参见过滤系统对象的分析方法

例子

全部崩溃

笔记:如果您使用的是R2016a或早期版本,请使用等效的语法。例如,obj (x)变成步骤(obj, x)

创建一个数字信号处理器System Object™插值表法设置为2。在22.05 kHz到44.1 kHz之间,将定点信号内插2倍。

CICINT = DSP.cicinterpolator(2)
cicint=dsp.CICInterpolator,具有以下属性:插值因子:2微分延迟:1 NumSections:2 FixedPointDataType:“全精度”

创建一个dsp.sinewave.反对SampleRate设置为22.05 kHz,样品架设置为32,并且OutputDataType着手“习俗”.要产生定点信号,请设置CustomOutputDataType财产数字类型对象。出于此示例的目的,将值设置为数字类型([],16)这个Fraction length is computed based on the values of the generated sinusoidal signal to give the best possible precision.

要产生定点信号,请设置方法财产dsp.sinewave.对象“查表”.这种产生正弦信号的方法要求输出中每个正弦信号的周期都能被采样周期均匀整除。也就是说, 1. / F T s = K 每个通道必须是一个整数值= 1, 2, ...,N价值 T s 等于 1. / F s ,变量 F 是正弦信号的频率,并且 F s 是信号的采样率。换句话说,这个比率 F s / F 必须是一个整数。有关更多详细信息,请参阅算法关于dsp.sinewave.对象页面。

在这个例子中, F s 设置为22050 Hz, F 设置为1050 Hz。

Fs=22.05e3;正弦波(“频率”,1050,...'采样率',财政司司长,...“样品性能框架”32岁的...“方法”,“查表”,...“OutputDataType”,“习俗”)
SINE = DSP.SINEWAVE具有属性:幅度:1频率:1050相位OFFSET:0 ComplexOutput:false方法:'表查找'表优化:'speed'samplate:22050 sampleperframe:32 outputdatype:'custom'显示所有属性

在迭代的每个循环中,流在以22.05 kHz采样的定点正弦信号帧中。对流信号进行因子2的插值。插值输出每帧有64个样本。

对于I = 1:16 x = sin ();y = cicint (x);终止

CIC插补滤波器的输出被特定增益值放大。属性可以确定该值获得作用这个收益等于增益 2. N th CIC内插滤波器的级和相等值 ( × D ) N / , 在哪里 是插值因子, D 是差别延迟,和 N 是CIC插值器的节数。

增益系数=增益(ciint)
增益系数=2

为了调整放大的输出并使其与原始信号的振幅匹配,将CIC插值信号与计算的增益值分割。

比较原始信号和插值信号的最后一帧。绘图时,考虑2个样本的输出延迟。

n=(0:63)';茎(n(1:31)/Fs,双(x(1:31)),“r”,“填充”)持有;I=ciint.InterpolationFactor;茎(n(1:61)/(Fs*I),...双(y(4:结束))/ gainCIC,“b”)包含(的时间(秒)) ylabel (“信号幅度”)传说(“原始信号”,...“插值信号”,...“位置”,“北方”)持有;

图包含轴对象。轴对象包含2个型杆的物体。这些对象代表原始信号,内插信号。

使用信息功能“长”格式,获取定点过滤器部分的单词长度和分数长度以及过滤器输出。

信息(cicint,“长”)
ans = '离散冷杉多重速率的过滤器(真实 ) ----------------------------------------- 滤波器结构:级联Integrator-Comb插入器插值系数:2微分延迟:1的部分:2稳定:是的线性相位:是的(1型)实施成本数量的乘数:0条数量:4的状态数:4乘每输入样本:0加每输入样本:6固定点信息节字长度:17 17 17 17节分数长度:14 14 14 14输出字长度:17输出分数长度:14 '

使用getFixedPointInfo函数,可以确定定点部分的字长和分数长度以及dsp。C我CDEC我Mator数字信号处理器系统对象。过滤器部分的数据类型和输出取决于固定点数据类型筛选器系统对象的属性™.

全面精确

创建一个dsp。C我CDEC我Mator对象。的默认值numsections.属性为2.此值表示有两个集成器和梳状部分。WLS和FLS矢量返回getFixedPointInfo函数各包含5个元素。前两个元素表示两个积分器部分。第三和第四元素代表两个梳节。最后一个元素表示过滤器输出。

蔡先生= dsp。C我CDEC我Mator
CICD = DSP.cicDecimator具有属性:DecimationFactor:2 SciteIlyDelay:1 NUMPERIONS:2 FINDITPOINTDATYPE:'全精密'

默认情况下,固定点数据类型对象的属性设置为“全精度”.打电话给getFixedPointInfo此对象上具有输入数字类型的函数,nt,生成以下字长和分数长度向量。

nt=数字类型(1,16,15)
nt=DataTypeMode:定点:二进制点缩放符号性:有符号字长:16分位数长度:15
(WLs FLs的]= getFixedPointInfo(蔡先生,nt)%#好的
WLs=1×518 18 18 18 18
FLs的=1×515 15 15 15 15

有关如何计算单词长度和分数长度的详细信息,请参见的说明输出参数。

如果你把门锁上CICD.对象通过将输入传递到其算法,您无需通过nt参数getFixedPointInfo作用

输入=int64(随机数(8,1))
输入=8x1 int64列向量1 2 -2 1 0 -1 0 0
输出=cicD(输入)
输出= 0 1 3 0 DataTypeMode:定点:二进制点缩放Signedness: Signed WordLength: 66 FractionLength: 0
[WLs,FLs]=getFixedPointInfo(cicD)%#好的
WLs=1×566 66 66 66 66
FLs的=1×50 0 0 0 0

输出和部分字长是输入字长(本例中为64)和部分数(2)之和。由于输入为内置整数,因此输出和部分分数长度为0。

最小节字长

释放对象并更改固定点数据类型财产'最小部分字长度'. 当输入为定点数据时,确定区段并输出定点信息,fi(randn(8,2),1,24,15)

发布(cicD);cicD.FixedPointDataType='最小部分字长度'
cicD=dsp.CIC具有以下属性的抽取器:抽取因子:2微分延迟:1个分段:2固定点数据类型:“最小分段字长”输出字长:32
inputF = fi (randn(8, 2), 1, 24日15)
INPUTF = 3.5784 -0.1241 2.7694 1.4897 -1.3499 1.4090 3.0349 1.4172 0.7154 0.6715 -0.0630 -1.2075 0.7148 0.7172-0.7172-0.2050 1.6302数据效应:固定点:二进制点缩放签名:签名WordLength:24 FractionLength:15
[WLs, FLs] = getFixedPointInfo(cicD,numerictype(inputF)); / /输入%#好的
WLs=1×526 26 26 26 32
FLs的=1×515 15 15 21

指定单词和分数长度

改变固定点数据类型财产'指定单词和分数长度'.使用该确定定点信息getFixedPointInfo作用

蔡先生。F我xedPointDataType ='指定单词和分数长度'
cicD=dsp.CICDecimator,属性为:DecimationFactor:2 DifferenticationDelay:1 NumSections:2 FixedPointDataType:“指定字和分数长度”SectionWordLength:[16]SectionFractionLength:0 OutputWordLength:32 OutputFractionLength:0
[WLs, FLs] = getFixedPointInfo(cicD,numerictype(inputF)); / /输入%#好的
WLs=1×516 16 16 16 32
FLs的=1×50 0 0 0 0

节和输出字长以及分数长度是根据相应的固定点属性指定的CICD.对象。这些值不是由输入数字类型确定的。要确认,请致电getFixedPointInfo没有通过的功能数字类型输入参数。

[WLs,FLs]=getFixedPointInfo(cicD)%#好的
WLs=1×516 16 16 16 32
FLs的=1×50 0 0 0 0

指定字的长度

要指定筛选器部分和输出的字长,请设置固定点数据类型财产'指定字长'

蔡先生。F我xedPointDataType ='指定字长'
cicD=dsp.CICDecimator,具有以下属性:DecimationFactor:2微分延迟:1个分段:2 FixedPointDataType:“指定字长”分段字长:[16]输出字长:32

这个getFixedPointInfo函数需要输入数字类型,因为该信息用于计算节和分词长度。

[WLs, FLs] = getFixedPointInfo(cicD,numerictype(inputF)); / /输入
WLs=1×516 16 16 16 32
FLs的=1×55 5 5 21

有关函数如何计算单词和分数长度的更多详细信息,请参见输出参数

更多关于

展开全部

算法

展开全部

工具书类

[1] Hogenauer, E.B.用于抽取和插值的经济型数字滤波器。IEEE声学、语音和信号处理学报.第29卷,第2,16号,155-162。

[2] Meyer-Baese,U.用现场可编程门阵列进行数字信号处理. 纽约:斯普林格,2001年。

[3] 哈里斯,弗雷德里克J。通信系统的多速率信号处理.印第安纳波利斯:Prentice Hall PTR, 2004。

扩展能力

2012年推出