文档

dsp。FIRRateConverter

采样速率转换器

描述

dsp。FIRRateConverter系统对象™通过对矢量或矩阵输入的有理数因子执行采样率转换。FIR速率转换器级联一个插值器和一个decimator。插值器通过上采样因子对输入进行上采样,l,然后是一个低通FIR滤波器。FIR滤波器在抽取前充当反成像滤波器和反混叠滤波器。抽取器通过下采样因子对上采样和FIR滤波的输出进行下采样.你必须使用上采样和下采样的相对素因子或互素因子。得到的离散时间信号具有采样率L / M乘以原始采样率。

执行采样速率转换:

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

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

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

创建

描述

例子

firrc= dsp。FIRRateConverter返回一个FIR采样速率转换器,firrc,它以原始采样速率的3/2倍对输入信号进行采样。

例子

firrc= dsp.FIRRateConverter (L, M, NUM)返回一个FIR采样速率转换器,firrc,与InterpolationFactor属性设置为l,DecimationFactor属性设置为,以及分子属性设置为全国矿工工会

firrc= dsp。FIRRateConverter (___名称,值返回一个FIR采样速率转换器,带有一个或多个指定的附加属性名称,值对参数。

例子:firrc = dsp.FIRRateConverter('FullPrecisionOverride','false')允许通过各个定点属性设置来控制定点数据类型。

属性

全部展开

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

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

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象设计系统(MATLAB)。

插值因子,指定为正整数。

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

抽取因子,指定为正整数。

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

指定FIR滤波器系数的幂z-1.滤波系数的长度必须超过插值因子。使用归一化截止频率不大于分钟(1 / InterpolationFactor, 1 / DecimationFactor).所有初始滤波器状态都为零。

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

定点属性

指定是否使用全精度规则。如果你设置FullPrecisionOverride真正的,该对象使用全精度规则计算所有内部算术和输出数据类型。这些规则提供了最精确的定点数值。它还关闭了其他定点属性的显示,因为它们不能单独应用。这些规则保证对象内不会发生量子化。根据需要添加位,以确保不会发生舍入或溢出。如果你设置FullPrecisionOverride,定点数据类型是通过单个定点属性设置控制的。有关更多信息,请参见定点系统对象的全精度

指定舍入方法为|之一天花板|收敛|地板上|最近的||简单的||。

依赖关系

此属性仅在对象未处于完全精确模式时应用。

将溢出操作指定为|之一包装|饱和|。

依赖关系

此属性仅在对象未处于完全精确模式时应用。

将滤波系数定点数据类型指定为|之一与输入字长度相同|自定义|。

指定滤波系数定点类型为anumerictype对象。Signedness汽车

依赖关系

此属性仅适用于CoefficientsDataType属性是自定义

指定产品定点数据类型为|之一完整的精度|和输入一样|自定义|。

指定产品不动点类型作为缩放numerictype对象。Signedness汽车

依赖关系

此属性仅适用于ProductDataType属性是自定义

指定累加器定点数据类型为|之一完整的精度|和产品一样|和输入一样|自定义|。

指定累加器定点类型为缩放numerictype对象。Signedness汽车

依赖关系

此属性仅适用于AccumulatorDataType属性是自定义

指定输出定点数据类型为|之一和累加器一样|和产品一样|和输入一样|自定义|。

将输出定点类型指定为缩放类型numerictype对象。Signedness汽车

依赖关系

此属性仅适用于OutputDataType属性是自定义

使用

语法

描述

例子

y= firrc (x对输入进行重采样x并返回重采样的信号y

输入参数

全部展开

数据输入,指定为列向量或矩阵。输入行数必须是抽取因子的倍数。一个——- - - - - -N矩阵输入处理为N独立的通道。

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

输出参数

全部展开

重新采样的输出,作为列向量或矩阵返回。输出信号的行数由心肌梗死/D,在那里是输入行数,是插值因子,和D是抽取因子。

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

对象的功能

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

发行版(obj)

全部展开

freqz 滤波器的频率响应
fvtool 可视化DSP滤波器的频率响应
信息 filter系统对象信息
成本 估计实现过滤器系统对象的成本
多项式系数 滤波器系数
多相 多速率滤波器的多相分解
generatehdl 生成量化DSP滤波器的HDL代码(需要filter Design HDL Coder)
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置系统对象的内部状态

例子

全部展开

这个例子展示了如何以3:2的倍数重采样一个100hz的正弦波信号。

请注意:本例仅在R2016b或更高版本中运行。如果您使用的是较早的版本,请将对函数的每次调用替换为等效函数一步语法。例如,myObject(x)变成step(myObject,x)。

sin = dsp。SineWave (100,“SampleRate”, 5000,“SamplesPerFrame”, 50);

创建一个FIR速率转换器过滤器。默认的插值因子是3,抽取因子是2。

firrc = sp. firrateconverter;输入= sin ();输出= firrc(输入);

绘制原始信号和重采样信号。

ndelay = round(length(firrc.Numerator)/2/firrc.DecimationFactor);Indx = ndelay+1:长度(输出);x = (0:length(indx)-1)/sin . samplerate *firrc.DecimationFactor/firrc.InterpolationFactor;茎((0:38)/正弦。SampleRate、输入(以上));持有;茎(x, firrc.InterpolationFactor *输出(indx),“r”);传奇(“原始”重新取样的);

请注意:如果您使用的是R2016a或更早的版本,请将对对象的每次调用替换为等效的一步语法。例如,obj (x)就变成了步骤(obj, x)

注意:dsp。AudioFileReader而且audioDeviceWriter中不支持系统对象金宝appMATLAB在线

这个例子展示了如何在Windows®平台上重采样并播放从48 kHz到32 kHz的音频信号。

Afr = dsp。AudioFileReader (“audio48kHz.wav”...“OutputDataType”“单一”...“SamplesPerFrame”, 300);adw = audioDeviceWriter(32000);

创建一个插值因子= 2,抽取因子= 3的FIRRateConverter系统对象。默认FIR滤波器系数定义了一个归一化截止频率为1/3的低通滤波器。

firrc = sp. firrateconverter (2,3);~isDone(afr) audio1 = afr();Audio2 = firrc(audio1);adw (audio2);结束释放(误判率);释放(adw);

算法

类中描述的算法、输入和输出FIR速率转换阻塞引用页面。对象属性对应于块参数。

扩展功能

定点转换
使用定点设计器设计和模拟定点系统。

在R2012a中介绍