主要内容

dsp。C一世C一世NT.E.rpolator

使用级联集成器梳滤波器插入信号

描述

dsp。C一世C一世NT.E.rpolator系统对象™使用级联积分器梳(CIC)插值滤波器来插值输入信号。CIC插补滤波器结构包括N.级联梳状滤波器的截面,然后按因素变化R., 其次是N.级联积分器的部分。有关详细信息,请参见算法.这numsections.属性指定N.,CIC滤波器中的部分数。这插值表法属性指定R.,插值因子。这getFixedPointInfo函数返回固定点部分的字长度和分数长度和输出dsp。C一世C一世NT.E.rpolator系统对象。您还可以使用此系统对象生成HDL代码generatehdl功能。

笔记

此对象需要固定点设计器™许可证。

要使用CIC滤波器插入信号:

  1. 创造dsp。C一世C一世NT.E.rpolator对象并设置其属性。

  2. 调用带参数的对象,就好像它是一个功能。

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

创建

描述

例子

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

例子

Cicitterp.= dsp.cicinterpolator(R.mN.属性创建CIC插值对象插值表法物业设为R., 这DifferentialDelay物业设为m,而且numsections.物业设为N.

Cicitterp.= dsp.cicinterpolator(名称,值使用设置为指定值的每个指定属性创建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]

依赖性

此属性在设置时适用FixedPointDataType财产'指定单词长度'或者'指定单词和分数长度'

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

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

例子:-2

例子:[-2 0 5 8]

依赖性

此属性在设置时适用FixedPointDataType财产'指定单词和分数长度'

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

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

依赖性

此属性在设置时适用FixedPointDataType财产'最小部分字长度''指定单词长度', 或者'指定单词和分数长度'

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

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

依赖性

此属性在设置时适用FixedPointDataType财产'指定单词和分数长度'

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64

使用

描述

例子

cicInterpOut= cicInterp(输入)使用CIC插入器插入输入。

输入参数

展开全部

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

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|FI.
复数支持:金宝app是的

输出参数

展开全部

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

如果输入是内置整数数据类型或固定点数据类型,则输出字长度和分数长度依赖于您选择的固定点数据类型设置FixedPointDataType财产。

全面精确

当。。。的时候FixedPointDataType属性设置为'完整精度',以下关系适用:

W. L. 输出 = W. L. 输入 + N. m S. E. C T. F L. 输出 = F L. 输入

在哪里,

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

  • fl输出- 输出数据的分数长度。

  • WL.输入- 输入数据的字长度。

  • fl输入- 输入数据的分数长度。

  • NumSect- 通过该CIC滤波器中的部分数numsections.财产。

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

最小部分字长度

当。。。的时候FixedPointDataType属性设置为'最小部分字长度',输出字长度是您指定的值outputwordLength.财产。输出分数长度,fl输出由以下等式给出:

F L. 输出 = W. L. 输出 - W. L. 输入 - F L. 输入 + N. m S. E. C T.

指定字和分数长度

当。。。的时候FixedPointDataType被设定为'指定单词和分数长度',输出字长度和分数长度是您在中指定的值outputwordLength.输出折叠长长属性。

指定字长

当。。。的时候FixedPointDataType被设定为'指定单词长度',则输出字长为您在outputwordLength.财产。输出分数长度,fl输出由以下等式给出:

F L. 输出 = W. L. 输出 - W. L. 输入 - F L. 输入 + N. m S. E. C T.

数据类型:单身的|双倍的|INT8.|int16|INT32.|INT64.|uint8.|uint16|UINT32|UINT64|FI.
复数支持:金宝app是的

对象功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,要发布命名的系统对象的系统资源obj.,使用此语法:

发行版(obj)

展开全部

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

对于过滤器的分析方法此对象支持,类型的列表金宝appdsp.CICInterpolator.helpFilterAnalysis在matlab.®命令提示符。对于相应的函数参考页面,请参阅分析方法筛选系统对象

例子

全部折叠

笔记:如果你正在使用R2016a或更早的版本,将每个对对象的调用替换为等价的句法。例如,OBJ(x)的就变成了步骤(OBJ,x)的

创建一个dsp。C一世C一世NT.E.rpolatorSystem Object™插值表法设置为2。插入一个定点信号的2倍从22.05 kHz到44.1 kHz。

CICINT = DSP.cicinterpolator(2)
CICINT = DSP.cicinterpolator具有属性:InterpolationFactor:2 SciteIlyDelay:1 NUMPERIONS:2 FINDITPOINTDATYPE:'全精密'

创建一个dsp.sinewave.对象与采样率设置为22.05 kHz,SamplesPerframe.设置为32,outputDataType.设置“自定义”.为了产生一个定点信号,设置CustomOutputDataType财产至A.numerictype.目的。出于此示例的目的,将值设置为Numerictype([],16).基于所产生的正弦信号的值来计算分数长度,以提供最佳精度。

为了产生一个定点信号,设置方法财产的财产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赫兹和 F 一世 设置为1050 Hz。

FS = 22.05e3;sine = dsp.sinewave(“频率”,1050,'采样率'Fs,'samplesperframe',32,......'方法'“查表”“OutputDataType”“自定义”
SINE = DSP.SINEWAVE具有属性:幅度:1频率:1050相位OFFSET:0 ComplexOutput:false方法:'表查找'表优化:'speed'samplate:22050 sampleperframe:32 outputdatype:'custom'显示所有属性

在迭代的每个循环中,在固定点的帧流正弦信号在22.05千赫采样。以2内插的输出具有每帧64个采样的内插因子的流传输的信号。

为了I = 1:16 X =正弦();Y = cicint(X);结尾

该CIC内插滤波器的输出是由一个特定的增益值放大。您可以使用确定此值获得功能。这个收益等于增益 2 N. TH. CIC插值过滤器的阶段和等于 一世 × D. N. / 一世 , 在哪里 一世 是插值因素, D. 是差别延迟,和 N. 是CIC插补器的节数。

gainCIC =获得(cicint)
gainCIC = 2

要调整该放大的输出并把它匹配到原始信号的振幅,划分CIC内插信号与所计算的增益值。

比较原始的最后一帧和内插信号。而绘制,占2个采样的输出延迟。

n =(0:63)';茎(n(1:31)/ fs,double(x(1:31)),'r''填充')举行;i = cicint.InterpolationFactor;茎(n(1:61)/(fs * i),......双(Y(4:结束))/ gainCIC,'B')xlabel(“时间(秒)”)ylabel('信号幅度') 传奇('原始信号'“插信号”......“位置”'北')举行;

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

使用信息在功能'长'格式化,获得字长和定点滤波器节的小部分长度和滤波器输出。

信息(Cicint,'长'
ANS =“离散时间FIR多速率滤波器(实际)-----------------------------------------滤波器结构:级联积分梳状插补插因子:2微分延迟:1数目的部分:2稳定:是线性相位:是(类型1)乘法器的实施成本数:加法器的0数:4国数:每个输入样品4个乘法:每输入采样0的添加:6定点信息节字长度:17 17 17 17第分数长度:14 14 14 14输出字长度:17输出分数长度:14'

使用getFixedPointInfo功能,您可以确定固定点部分的字长度和分数长度和输出dsp.CICDecimatordsp。C一世C一世NT.E.rpolator系统对象。过滤器部分和输出的数据类型取决于FixedPointDataType属性过滤系统对象™。

全面精确

创建一个dsp.CICDecimator目的。的默认值numsections.属性为2.此值表示有两个集成器和梳状部分。WLS和FLS矢量返回getFixedPointInfo功能包含每个五行。前两个元素表示两个积分器部分。第三和第四个元素表示两个梳部分。最后一个元素代表滤波器输出。

CICD = dsp.CICDecimator
CICD = DSP.cicDecimator具有属性:DecimationFactor:2 SciteIlyDelay:1 NUMPERIONS:2 FINDITPOINTDATYPE:'全精密'

默认情况下,FixedPointDataType属性设置为'完整精度'.打电话给getFixedPointInfo使用输入数字类型的此对象函数,NT.,产生以下字距和分数长度向量。

元= numerictype(15) 1日16日
nt = DataTypeMode:定点:二进制点缩放Signedness: Signed WordLength: 16 FractionLength: 15
[的WL,FLS] = getFixedPointInfo(CICD,nt)的%#好的
WLS =1×518 18 18 18 18
FLS =1×515 15 15 15 15

有关如何计算字长和分数长度的详细信息,请参阅以下描述输出参数。

如果你锁定CICD.对象通过将输入传递到其算法,您无需通过NT.争论的getFixedPointInfo功能。

INPUT = INT64(RANDN(8,1))
输入=8x1 int64列向量1 2 -2 1 0 -1 0 0
输出= CICD(输入)
输出=4×1对象0 1 3 0 DataTypeMode:定点:二进制点缩放签名:签名WordLength:66 FractionLength:0
(WLs FLs的]= getFixedPointInfo蔡先生)%#好的
WLS =1×566 66 66 66 66
FLS =1×50 0 0 0

输出和部分字长度是输入字长度的总和,64在这种情况下,以及部分的数量,2.输出和部分分数长度为0,因为输入是内置整数。

最小部分字长度

发行对象和更改FixedPointDataType财产'最小部分字长度'.确定输入是固定点数据时的部分和输出定点信息,FI(Randn(8,2),1,24,15)

释放(CICD);cicd.fixedPointDataType ='最小部分字长度'
CICD = DSP.cicDecimator具有属性:decimationFactor:2 SciteIlyDelay:1 NUMPERIONS:2 FINCESTPOINTDATTYPE:'最小部分Word Lengths'outputWordLength:32
inputF =科幻(randn(8,2),1,24,15)
inputF =8×2对象3.5784 -0.1241 2.7694 1.4897 -1.3499 1.4090 3.0349 1.4172 0.7254 0.6715 -0.0630 -1.2075 0.7148 0.7172 -0.2050 1.6302 DataTypeMode:定点:二进制点缩放符号性:签字字长:24 FractionLength:15
[的WL,FLS] = getFixedPointInfo(CICD,numerictype(inputF))%#好的
WLS =1×526 26 26 26 32
FLS =1×515 15 15 15 21

指定字和分数长度

改变FixedPointDataType财产'指定单词和分数长度'.使用该确定定点信息getFixedPointInfo功能。

cicd.fixedPointDataType ='指定单词和分数长度'
cicd = dsp.cicdecimator具有属性:decimationfactor:2差异幂:1 NUMPERIONS:2个定位点
[的WL,FLS] = getFixedPointInfo(CICD,numerictype(inputF))%#好的
WLS =1×516 16 16 16 32
FLS =1×50 0 0 0

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

[WLS,FLS] = GetFixedPointInfo(CICD)%#好的
WLS =1×516 16 16 16 32
FLS =1×50 0 0 0

指定字长

来指定过滤器部和输出的字长,设置FixedPointDataType财产'指定单词长度'

cicd.fixedPointDataType ='指定单词长度'
cicd = dsp.cicDecimator具有属性:DetimationFactor:2差异幂:1 NUMPERIONS:2 FINTIONPOINTDATYPE:'指定字长度'截面字长度:[16 16 16] OUTPUTWORDLENTH:32

getFixedPointInfo功能需要输入数字类型,因为该信息用于计算部分和字分数长度。

[的WL,FLS] = getFixedPointInfo(CICD,numerictype(inputF))
WLS =1×516 16 16 16 32
FLS =1×55 5 5 5 21

有关该功能如何计算单词和分数长度的更多详细信息,请参阅以下描述输出参数

更多关于

展开全部

算法

展开全部

参考

[1] Hogenauer,E.B.“数字的经济学类过滤器抽取和内插”。声学,语音和信号处理上的IEEE交易.第29卷,第2,16号,155-162。

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

哈里斯,弗雷德里克J。通信系统的多速率信号处理.印第安纳波利斯,IN:普伦蒂斯霍尔PTR,2004年。

扩展能力

介绍了R2012a