dsp。DigitalDownConverter
将数字信号从中频(IF)波段转换到基带,并将其分解
描述
的dsp。DigitalDownConverter
对象将数字信号从中频(IF)波段转换到基带并对其进行decimate。
对输入信号进行数字下转换:
创建
dsp。DigitalDownConverter
对象并设置其属性。调用带有参数的对象,就像调用函数一样。
要了解更多关于System对象如何工作的信息,请参见什么是系统对象?(MATLAB)。
创建
描述
返回数字下变频(DDC)系统对象™,dwnConv
= dsp。DigitalDownConverterdwnConv
.
返回一个DDC对象,dwnConv
= dsp。DigitalDownConverter (名称,值
)dwnConv
,使用指定的属性的名字
设置为指定的价值
.可以以任意顺序指定附加的名称-值对参数,如(Name1
,Value1
、……以
,家
).
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
函数解锁它们。
如果属性是可调,您可以随时更改其值。
有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统(MATLAB)。
SampleRate
- - - - - -输入信号的采样率
30000000
(默认)|积极的标量
属性的值的两倍,将此属性设置为正标量值CenterFrequency
财产。
数据类型:单
|双
DecimationFactor
- - - - - -大量毁灭的因素
One hundred.
(默认)|正整数标量|正整数向量
将此属性设置为正整数标量,或1 × 2或1 × 3的正整数向量。
当您将此属性设置为一个标量时,对象将自动为三个过滤阶段中的每个阶段选择抽取因子。
当您将此属性设置为1 × 2向量时,对象将绕过第三个筛选阶段,并将第一和第二个筛选阶段的抽取因子分别设置为第一个和第二个向量元素中的值。这两个元素DecimationFactor
向量必须大于1。
当您将此属性设置为1 × 3向量时,我向量的第Th元素指定的抽取因子我过滤阶段。的第一个和第二个元素DecimationFactor
Vector必须大于1,第三个元素必须是1或2。
数据类型:双
MinimumOrderDesign
- - - - - -最小订购量滤波器设计
真正的
(默认)|假
当您将此属性设置为真正的
方法设置的通带波纹、阻带衰减、通带频率和阻带频率规格的最小阶滤波器PassbandRipple
,StopbandAttenuation
,带宽
,StopbandFrequencySource
,StopbandFrequency
属性。
当您将此属性设置为假
类中指定的顺序来设计过滤器NumCICSections
,SecondFilterOrder
,ThirdFilterOrder
属性。方法设置的通频带和阻频带频率规格带宽
,StopbandFrequencySource
,StopbandFrequency
属性。
数据类型:逻辑
NumCICSections
- - - - - -CIC decimator的节数
3.
(默认)|正整数标量
CIC decimator的节数,指定为正整数标量。
依赖关系
属性时应用此属性MinimumOrderDesign
财产假
.
数据类型:双
SecondFilterOrder
- - - - - -CIC补偿过滤级顺序
12
(默认)|正整数标量
CIC补偿过滤器级的顺序,指定为正整数标量。
依赖关系
属性时应用此属性MinimumOrderDesign
财产假
.
数据类型:双
ThirdFilterOrder
- - - - - -第三级过滤的顺序
10
(默认)|偶数正整数
第三个过滤级的顺序,指定为偶数正整数标量。当你设置DecimationFactor
属性设置为1 × 2向量时,对象将忽略ThirdFilterOrder
属性,因为绕过了第三个筛选阶段。
依赖关系
属性时应用此属性MinimumOrderDesign
财产假
.
数据类型:双
带宽
- - - - - -输入信号的双面带宽,单位为Hz
200000
(默认)|正整数标量
输入信号的双面带宽,以Hz为单位,指定为正整数标量。对象将级联滤波器的通频带频率设置为您在带宽
财产。将此属性的值设置为小于SampleRate
/DecimationFactor
.
数据类型:双
StopbandFrequencySource
- - - - - -阻带频率源
汽车
(默认)|财产
指定阻带频率的源为之一汽车
|财产
.当您将此属性设置为汽车
,该对象将级联滤波器响应的截止频率放置在约Fc=
赫兹,米你在?中指定的总抽取因子SampleRate
/米/ 2DecimationFactor
财产。对象计算阻带频率为F停止=Fc+太瓦/ 2
.TW为级联响应的过渡带宽,计算为2×(Fc- - - - - -Fp)
,通频带频率,Fp,等于
.带宽
/ 2
StopbandFrequency
- - - - - -阻带频率(以Hz为单位)
150000
(默认)|积极的标量
以Hz为单位的阻带频率,指定为正标量。
依赖关系
属性时应用此属性StopbandFrequencySource
财产财产
.
数据类型:双
PassbandRipple
- - - - - -级联响应的通频带波纹,单位为dB
0.1
(默认)|积极的标量
级联响应的通带波纹(以dB为单位),指定为正标量。当你设置MinimumOrderDesign
财产真正的
对象设计滤波器,使级联响应满足您在中指定的通带纹波PassbandRipple
财产。
依赖关系
属性时应用此属性MinimumOrderDesign
财产真正的
.
数据类型:双
StopbandAttenuation
- - - - - -级联响应的阻带衰减,单位为dB
60
(默认)|积极的标量
级联响应的阻带衰减,单位为dB,指定为正标量。当你设置MinimumOrderDesign
财产真正的
,该对象设计滤波器,使级联响应满足您在StopbandAttenuation
财产。
依赖关系
属性时应用此属性MinimumOrderDesign
财产真正的
.
数据类型:双
振荡器
- - - - - -振荡器类型
正弦波
(默认)|以区域
|输入端口
|没有一个
指定振荡器为其中之一正弦波
|以区域
|输入端口
|没有一个
.当您将此属性设置为正弦波
,对象频率下转换输入信号使用复指数从正弦三角函数的样本。当您将此属性设置为以区域
,该对象与使用数控振荡器(NCO)获得的复指数执行频率下转换。当您将此属性设置为输入端口
,该对象利用复振信号进行频率下变频,z
,将其作为对象的输入传递。当您将此属性设置为没有一个
,该对象中不存在混合级,该对象充当三级级联decimator。
CenterFrequency
- - - - - -输入信号的中心频率,单位为Hz
14000000
(默认)|积极的标量
输入信号的中心频率(以Hz为单位),指定为一个正标量,小于或等于的值的一半SampleRate
财产。中指定的通频带中心频率向下转换输入信号CenterFrequency
财产,0
赫兹。
依赖关系
属性时应用此属性振荡器
财产正弦波
或以区域
.
数据类型:双
NumAccumulatorBits
- - - - - -NCO累加器位数
16
(默认)|正整数
NCO累加器位数,指定为范围内的正整数[128]
.
依赖关系
属性时应用此属性振荡器
财产以区域
.
数据类型:双
NumQuantizedAccumulatorBits
- - - - - -NCO量子化累加器位数
12
(默认)|正整数
NCO量化累加器位数,指定为范围内的整数标量[128]
.属性中指定的值必须小于NumAccumulatorBits
财产。
依赖关系
属性时应用此属性振荡器
财产以区域
.
数据类型:双
高频振动
- - - - - -NCO的抖动控制
真正的
(默认)|假
当您将此属性设置为真正的
中指定的抖动位的数量NumDitherBits
属性将用于对NCO信号施加抖动。
依赖关系
属性时应用此属性振荡器
财产以区域
.
NumDitherBits
- - - - - -NCO抖动比特数
4
(默认)|正整数
类中指定的累加器位数的整数标量指定此属性NumAccumulatorBits
财产。
依赖关系
属性时应用此属性振荡器
财产以区域
和抖动属性真正的
.
数据类型:双
定点属性
FiltersInputDataType
- - - - - -每个筛选阶段的输入数据类型
和输入一样
(默认)|自定义
在第一个、第二个和第三个(如果没有被绕过)筛选阶段的输入处指定数据类型为其中之一和输入一样
|自定义
.该对象根据您在此属性中设置的值在每个筛选器阶段的输入处强制转换数据。
CustomFiltersInputDataType
- - - - - -每个筛选阶段输入的定点数据类型
numerictype([], 16岁,15)
(默认)|数值类型
OutputDataType
- - - - - -输出的数据类型
和输入一样
(默认)|自定义
指定输出的数据类型为和输入一样
|自定义
.
CustomOutputDataType
- - - - - -输出的定点数据类型
numerictype([], 16岁,15)
(默认)|数值类型
使用
描述
输入参数
x
- - - - - -数据输入
列向量|矩阵
数据输入,指定为列向量或矩阵。输入的长度x
必须是抽取因子的倍数。当数据类型为x
是双
或单
精度,数据类型y
和的一样吗x
.当数据类型为x
为定点类型,数据类型为y
定义为OutputDataType
财产。
只有当数据类型为时,输入才可以有多个通道双
或单
.输入可以是数据类型双
,单
、有符号整数或有符号定点(fi
对象)。
数据类型:单
|双
|int8
|int16
|int32
|int64
|fi
复数支持:金宝app是的
z
- - - - - -振荡器信号
列向量|矩阵
振荡器信号用于频率下转换输入信号,指定为列向量或矩阵。输入必须是复数。的长度z
一定等于的长度x
.z
可以双
,单
、有符号整数或有符号定点(fi
对象)。
依赖关系
的时候应用此输入振荡器
财产输入端口
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|fi
复数支持:金宝app是的
输出参数
y
-向下转换和向下采样信号
列向量|矩阵
下转换和下采样的信号,作为列向量或矩阵返回。的长度y
等于的长度x
除以DecimationFactor
.当数据类型为x
是双
或单
精度,数据类型y
和的一样吗x
.当数据类型为x
的定点类型,数据类型为y
定义为OutputDataType
财产。
数据类型:单
|双
|int8
|int16
|int32
|int64
|fi
复数支持:金宝app是的
对象的功能
要使用对象函数,请将System对象指定为第一个输入参数。例如,释放名为obj
,使用以下语法:
发行版(obj)
特定于dsp。DigitalDownConverter
getDecimationFactors |
得到数字下变频各滤波级的抽取因子 |
getFilterOrders |
获得数字下变频器或数字上变频器滤波器级联的订单 |
getFilters |
获取数字下变频或数字上变频滤波器级联对象的句柄 |
fvtool |
可视化数字下变频或数字上变频滤波器级联的频率响应 |
groupDelay |
数字下变频或数字上变频滤波器级联的组延时 |
visualizeFilterStages |
数字下变频或数字上变频滤波器串级显示响应 |
generatehdl |
生成量化DSP滤波器的HDL代码(需要filter Design HDL Coder) |
例子
正弦波信号的上转换和下转换
创建一个数字上转换器对象,将1 KHz的正弦信号采样20倍,然后将其转换为50 KHz。创建一个数字下变频对象,将信号向下转换为0hz,并向下采样20倍。
请注意:如果您使用的是R2016a或更早的版本,请用等效的步骤语法替换对对象的每次调用。例如,obj (x)
就变成了步骤(obj, x)
.
创建一个正弦波发生器以获得采样率为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);
创建一个频谱估计器来可视化上转换前、上转换后和下转换后的信号频谱。
窗= hamming(地板(长度(x)/10));图;pwelch (x,窗口、[][],Fs,“中心”)标题('基带信号的频谱x')
向上转换信号并可视化频谱
xUp = upConv(x);%上升转换window = hamming(floor(length(xUp)/10));图;pwelch (xUp窗口、[][],20 * Fs,“中心”);标题(“上转换信号的频谱xUp”)
向下转换信号并可视化频谱
xDown = dwnConv(xUp);下折算%window = hamming(floor(length(xDown)/10));图;pwelch (xDown窗口、[][],Fs,“中心”)标题('向下转换信号的频谱xDown')
可视化抽取过滤器的响应
visualizeFilterStages (dwnConv)
获取抽取因子
的各个滤波阶段的抽取因子dsp。DigitalDownConverter
系统对象™。
创建一个dsp。DigitalDownConverter
具有默认设置的系统对象。使用getDecimationFactors
函数,得到对象各阶段的抽取因子。
dwnConv = dsp。DigitalDownConverter
dwnConv = dsp。DigitalDownConverter的属性:DecimationFactor: 100 MinimumOrderDesign: true带宽:200000 stopbandfrequencsource: 'Auto' PassbandRipple: 0.1000 stopband衰减:60振荡器:'正弦波'中心频率:14000000采样率: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 stopbandfrequencsource: 'Auto' PassbandRipple: 0.1000 stopband衰减:60振荡器:'正弦波'中心频率:14000000采样率:30000000显示所有属性
M = getDecimationFactors(dwnConv)
M =1×210 10
的输出getDecimationFactors
函数现在是一个1乘2的向量。
算法
对象通过将输入信号与中心频率等于中的值的复指数相乘来向下转换输入信号CenterFrequency
财产。该对象使用三个抽取滤波器的级联对频率下转换信号进行下采样。在这种情况下,滤波器级联由一个CIC抽取器、一个CIC补偿器和第三个FIR抽取段组成。下面的框图显示了数字下变频的架构。
缩放部分归一化CIC增益和振荡器功率。它还可以包含一个校正因子,以达到所需的波纹规格。当你设置振荡器财产InputPort
,归一化因子不包括振荡器功率因子。取决于的设置DecimationFactor属性,您可能能够绕过第三个筛选阶段。当输入数据类型为双类型或单类型时,对象实现N-section CIC抽取滤波器作为FIR滤波器,其响应对应于N货车车厢过滤器。当输入数据为定点类型时,实现了具有实际梳状和积分器部分的真正CIC滤波器。CIC过滤器是用FIR过滤器模拟的,因此您可以用浮点数据运行模拟。
下面的框图表示具有单精度或双精度浮点输入的DDC算法。
定点操作的详细信息,请参见不动点.
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
看到MATLAB代码生成中的系统对象(MATLAB编码器)。
定点转换
使用定点设计器设计和模拟定点系统。
下面的框图表示带符号定点输入的DDC算法。
王
输入的字长度,和FL
是输入长度的分数。类中指定的数据类型将每个筛选器的输入转换为FiltersInputDataType而且CustomFiltersInputDataType属性。
振荡器输出被强制转换为等于输入字长加1的字长。分数长度等于输入单词长度减1。
CIC抽取器输出的缩放由粗增益和细增益调整组成。粗增益是使用
reinterpretcast
对CIC十进制输出的功能。精细增益是通过全精度乘法实现的。
下图描述了粗增益和细增益操作。
若归一化增益为G(其中0
WLcic
是CIC十进制输出的字长和FLcic
CIC十进制输出的分数长度是多少F1 = abs(nextpow2(G))
,表示用位移位(粗增益)实现的G部分F2
参数指定的分数长度FiltersInputDataType而且CustomFiltersInputDataType属性fg = fi((2^F1)*G, true, 16)
,表示剩余增益不能通过位移位(精细增益)实现。
另请参阅
功能
对象
块
在R2012a中介绍
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。