主要内容

dsp。DigitalDownConverter

将数字信号从中频(IF)带转换到基带并对其进行抽取

描述

dsp。DigitalDownConverter目标将数字信号从中频(IF)带转换到基带并对其进行抽取。

对输入信号进行数字下变频:

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

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

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

创建

描述

dwnConv= dsp。DigitalDownConverter返回一个数字下变频器(DDC)系统对象™,dwnConv

例子

dwnConv= dsp。DigitalDownConverter (名称,值返回一个DDC对象,dwnConv,使用指定的属性名字设置为指定的价值。您可以以任意顺序指定附加的名称-值对参数,如(Name1Value1、……).

属性

全部展开

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

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

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

将此属性设置为一个正标量值,该值大于或等于控件的值的两倍CenterFrequency财产。

数据类型:|

将此属性设置为正整数标量,或1 × 2或1 × 3的正整数向量。

将此属性设置为标量时,对象将自动为三个过滤阶段中的每个阶段选择抽取因子。

当您将此属性设置为1 × 2向量时,该对象将绕过第三个筛选阶段,并将第一个和第二个筛选阶段的抽取因子分别设置为第一个和第二个向量元素中的值。这两个元素DecimationFactor向量必须大于1。

当你将这个属性设置为1 × 3向量时,的抽取因子过滤阶段。的第一个和第二个元素DecimationFactorVector必须大于1,第三个元素必须是1或2。

数据类型:

当您将此属性设置为真正的,该对象设计的滤波器具有满足通带纹波、阻带衰减、通带频率和阻带频率规格的最小阶数PassbandRippleStopbandAttenuation带宽StopbandFrequencySource,StopbandFrequency属性。

当您将此属性设置为类中指定的顺序来设计过滤器NumCICSectionsSecondFilterOrder,ThirdFilterOrder属性。滤波器设计满足通带和阻带频率规格,您可以使用带宽StopbandFrequencySource,StopbandFrequency属性。

数据类型:逻辑

以正整数标量指定的CIC抽取数的分段数。

依赖关系

属性设置时应用此属性MinimumOrderDesign财产

数据类型:

CIC补偿滤波器级的阶数,指定为正整数标量。

依赖关系

属性设置时应用此属性MinimumOrderDesign财产

数据类型:

第三级滤波器的阶数,指定为一个偶数正整数标量。当你设置DecimationFactor属性设置为1 × 2向量,则对象忽略ThirdFilterOrder属性,因为绕过了第三个筛选阶段。

依赖关系

属性设置时应用此属性MinimumOrderDesign财产

数据类型:

输入信号的双边带宽,单位为Hz,指定为正整数标量。对象将滤波器级联的通带频率设置为在中指定的值的一半带宽财产。将此属性的值设置为小于SampleRate/DecimationFactor

数据类型:

指定阻带频率的源为其中之一汽车|财产。当您将此属性设置为汽车,对象将级联滤波器响应的截止频率设置为近似FcSampleRate// 2赫兹,中指定的总抽取因子是否为DecimationFactor财产。对象计算阻带频率为F停止Fc+太瓦/ 2。TW为级联响应的过渡带宽,计算为2×(Fc- - - - - -Fp,通带频率,Fp,等于带宽/ 2

以Hz为单位的阻带频率,指定为正标量。

依赖关系

属性设置时应用此属性StopbandFrequencySource财产财产

数据类型:

级联响应的通带纹波,以dB为单位,指定为正标量。当你设置MinimumOrderDesign财产真正的中指定的通带纹波,该对象设计滤波器以使级联响应满足PassbandRipple财产。

依赖关系

属性设置时应用此属性MinimumOrderDesign财产真正的

数据类型:

级联响应的阻带衰减,单位为dB,指定为正标量。当你设置MinimumOrderDesign财产真正的,该对象设计滤波器,使级联响应满足您在StopbandAttenuation财产。

依赖关系

属性设置时应用此属性MinimumOrderDesign财产真正的

数据类型:

指定振荡器为其中之一正弦波|以区域|输入端口|没有一个。当您将此属性设置为正弦波,目标频率向下转换输入信号,使用从正弦三角函数的样本中获得的复指数。当您将此属性设置为以区域,该对象使用数控振荡器(NCO)获得的复指数进行频率下变频。当您将此属性设置为输入端口,对象利用复振荡器信号进行频率下变频;z,将其作为输入传递给对象。当您将此属性设置为没有一个,对象中的混频器阶段不存在,对象充当三级级联抽取器。

输入信号的中心频率,单位为Hz,指定为小于或等于的一半值的正标量SampleRate财产。中指定的通带中心频率向下转换输入信号CenterFrequency财产,0赫兹。

依赖关系

属性设置时应用此属性振荡器财产正弦波以区域

数据类型:

NCO累加器的位数,指定为范围内的正整数[128]

依赖关系

属性设置时应用此属性振荡器财产以区域

数据类型:

NCO量化累加器位的个数,指定为范围内的整数标量[128]。属性中指定的值必须小于属性中指定的值NumAccumulatorBits财产。

依赖关系

属性设置时应用此属性振荡器财产以区域

数据类型:

当您将此属性设置为真正的中指定的抖动位的个数NumDitherBits属性将用于对NCO信号施加抖动。

依赖关系

属性设置时应用此属性振荡器财产以区域

属性中指定的累加器位位数小于整数标量NumAccumulatorBits财产。

依赖关系

属性设置时应用此属性振荡器财产以区域和抖动属性真正的

数据类型:

定点属性

在第一、第二和第三(如果没有绕过)筛选器阶段的输入处指定数据类型为之一和输入一样|自定义。该对象根据在此属性中设置的值在每个筛选器阶段的输入处转换数据。

将过滤器输入定点类型指定为缩放后的类型numerictype(定点设计师)签名为的对象汽车

依赖关系

属性设置时应用此属性FiltersInputDataType财产自定义

将输出的数据类型指定为和输入一样|自定义

将输出定点类型指定为缩放后的numerictype(定点设计师)签名为的对象汽车

依赖关系

属性设置时应用此属性OutputDataType财产自定义

使用

描述

例子

y= dwnConv (x接受输入x输出一个信号,y这是频率下变频和下采样。

y= dwnConv (xz使用复数输入,z,作为振荡器信号用于频率下转换输入x当你设置振荡器财产输入端口

输入参数

全部展开

数据输入,指定为列向量或矩阵。输入长度x必须是抽取因子的倍数。时的数据类型x的数据类型y和…一样吗x。时的数据类型x的数据类型为y定义为OutputDataType财产。

输入只有在其数据类型为时才能具有多个通道。输入可以是数据类型,有符号整数,或有符号定点(fi对象)。

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

振荡器信号用于频率下转换输入信号,指定为列向量或矩阵。这个输入必须是复杂的。的长度z一定等于的长度xz可以,有符号整数,或有符号定点(fi对象)。

依赖关系

此输入在设置时应用振荡器财产输入端口

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

输出参数

全部展开

下转换和下采样信号,作为列向量或矩阵返回。的长度y等于的长度x除以DecimationFactor。时的数据类型x的数据类型y和…一样吗x。时的数据类型x是定点类型,数据类型是y定义为OutputDataType财产。

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

对象的功能

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

发行版(obj)

全部展开

getDecimationFactors 得到数字下变频器各滤波级的抽取系数
getFilterOrders 得到数字下变频或数字上变频滤波器级联的阶数
getFilters 获取数字下变频器或数字上变频器滤波器级联对象的句柄
fvtool 可视化数字下变频器或数字上变频器滤波器级联的频率响应
groupDelay 数字下变频器或数字上变频器滤波器级联的组延迟
visualizeFilterStages 显示数字下变频或数字上变频滤波器级联响应
generatehdl 生成量化DSP滤波器的HDL代码(要求)滤波器设计HDL编码器
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特性
重置 的内部状态复位系统对象

例子

全部折叠

创建一个数字up转换器对象,将1 KHz的正弦信号以20倍的倍数up采样,并将其转换为50 KHz。创建一个数字下变频对象,将信号向下转换为0 Hz,并以20倍的倍数进行采样。

创建一个正弦波发生器,以6 KHz的采样率获得1 KHz的正弦波信号。

Fs = 6e3;%采样率sin = dsp。SineWave (“频率”, 1000,“SampleRate”Fs,“SamplesPerFrame”, 1024);X = sin ();%生成信号

创建一个DigitalUpConverter对象。使用最小阶滤波器设计并将通带纹波设置为0.2 dB,阻带衰减设置为55 dB。设置双面信号带宽为2khz。

upConv = dsp。DigitalUpConverter (“InterpolationFactor”, 20岁,“SampleRate”Fs,“带宽”2 e3,“StopbandAttenuation”现年55岁的“PassbandRipple”, 0.2,“CenterFrequency”, 50 e3);

创建一个DigitalDownConverter对象。使用最小阶滤波器设计并将通带纹波设置为0.2 dB,阻带衰减设置为55 dB。

dwnConv = dsp。DigitalDownConverter (“DecimationFactor”, 20岁,“SampleRate”Fs * 20,“带宽”3 e3,“StopbandAttenuation”现年55岁的“PassbandRipple”, 0.2,“CenterFrequency”, 50 e3);

创建一个频谱估计器来可视化上行转换前、上行转换后和下行转换后的信号频谱。

Window = hamming(floor(length(x)/10));图;pwelch (x,窗口、[][],Fs,“中心”)标题(基带信号x的频谱

图包含一个轴对象。标题为Spectrum of基带信号x, xlabel Frequency (kHz), ylabel Power/ Frequency (dB/Hz)的axes对象包含类型为line的对象。

向上转换信号并可视化频谱

xUp = upConv(x);% up转换window = hamming(floor(length(xUp)/10));图;pwelch (xUp窗口、[][],20 * Fs,“中心”);标题(向上转换信号的频谱xUp

图包含一个轴对象。标题为Spectrum of up转换信号xUp, xlabel Frequency (kHz), ylabel Power/ Frequency (dB/Hz)的axes对象包含类型为line的对象。

向下转换信号并可视化频谱

xDown = dwnConv(xUp);% down转换window = hamming(floor(length(xDown)/10));图;pwelch (xDown窗口、[][],Fs,“中心”)标题(下转换信号的频谱xDown

图包含一个轴对象。标题为Spectrum of down转换信号xDown, xlabel Frequency (kHz), ylabel Power/ Frequency (dB/Hz)的axes对象包含一个类型为line的对象。

可视化抽取滤波器的响应

visualizeFilterStages (dwnConv)

图1:振幅响应(dB)包含一个轴对象。标题为Magnitude Response (dB), xlabel Frequency (kHz), ylabel Magnitude (dB)的axes对象包含5个line类型的对象。这些对象分别代表CIC抽取器、抽取因子= 5、CIC补偿器、抽取因子= 2、半带抽取器、抽取因子= 2、级联响应。

得到各滤波级的抽取因子dsp。DigitalDownConverter系统对象™。

创建一个dsp。DigitalDownConverter系统对象,使用默认设置。使用getDecimationFactors函数,获得对象各阶段的抽取因子。

dwnConv = dsp。DigitalDownConverter
dwnConv = dsp。DigitalDownConverter与属性:DecimationFactor: 100 MinimumOrderDesign:真带宽:200000 StopbandFrequencySource: 'Auto' PassbandRipple: 0.1000阻带衰减:60振荡器:'Sine wave' CenterFrequency: 14000000 SampleRate: 30000000显示所有属性
M = getDecimationFactors(dwnConv)% #好吧
M =1×325 2 2

DecimationFactor属性设置为100。输出默认情况下是一个1 × 3的向量,其中向量中的每个元素都是整体抽取因子的一个因子。

当你设置DecimationFactor对于一个1 × 2的向量,该对象绕过第三个过滤阶段,并将第一和第二过滤阶段的抽取因子分别设置为第一个和第二个向量元素中的值。

dwnConv。DecimationFactor = [10 10]
dwnConv = dsp。DigitalDownConverter与属性:DecimationFactor: [10 10] MinimumOrderDesign: true带宽:200000 StopbandFrequencySource: 'Auto' PassbandRipple: 0.1000 stopband衰减:60振荡器:'Sine wave' CenterFrequency: 14000000 SampleRate: 30000000显示所有属性
M = getDecimationFactors(dwnConv)
M =1×210 10

的输出getDecimationFactors函数现在是一个1 × 2的向量。

更多关于

全部展开

算法

数字下变频通过将输入信号与具有指定中心频率的复指数相乘来进行下变频。该算法使用三个抽取滤波器的级联对频率下变频信号进行下采样。在这种情况下,滤波器级联由CIC抽取器、CIC补偿器和第三FIR抽取级组成。下面的框图显示了数字下变频的结构。

缩放部分归一化CIC增益和振荡器功率。它还可以包含一个校正因子,以达到所需的纹波规格。当您指定通过输入端口的振荡器信号时,归一化因子不包括振荡器功率因子。根据您设置抽取因子的方式,该块将绕过第三个过滤器阶段。当输入数据类型为double或single时,该算法实现一个N-部分CIC抽取滤波器作为FIR滤波器的响应,对应于级联的N货车车厢过滤器。该算法用FIR滤波器模拟CIC滤波器,以便您可以使用浮点数据运行模拟。当输入数据类型为定点时,该算法实现了具有实际梳状和积分器部分的真正CIC滤波器。

这个框图表示具有单精度或双精度浮点输入的DDC算法。

定点操作的详细信息请参见不动点

扩展功能

版本历史

在R2012a中引入