主要内容

dsp.FarrowRateConverter

多项式与任意采样率转换器转换因子

描述

dsp.FarrowRateConverter系统对象™实现polynomial-fit采样率转换过滤器使用法罗结构。您可以使用该对象转换上下一个信号的采样率任意因素。这个对象支持定点操作。万博1manbetx

将一个信号的采样率:

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

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

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

frc= dsp.FarrowRateConverter创建一个多项式基于过滤器采样率转换器系统对象,frc。对于每个通道的输入信号,frc输入采样率转换为输出采样率。

例子

frc= dsp.FarrowRateConverter (名称,值)设置使用一个或多个属性名称-值对。在单引号附上每个属性的名字。

例子:frc = dsp.FarrowRateConverter ('Specification','Coefficients','Coefficients',[1 2; 3 4])返回一个过滤器,它将从44.1千赫至48 kHz使用自定义实现二阶多项式滤波器的系数。

frc= dsp.FarrowRateConverter (傅氏国际,fsOut,托尔,np)返回一个采样率转换器系统对象,frc,InputSampleRate属性设置为傅氏国际,OutputSampleRate属性设置为fsOut,OutputRateTolerance属性设置为托尔,PolynomialOrder属性设置为np

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

过滤性能

输入信号的采样率,指定为一个积极的标量赫兹。输入采样率必须大于感兴趣的带宽。

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

输出信号的采样率,指定为一个积极的标量赫兹。输出采样率可以表示一个upsample或downsample输入信号。

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

最大容许输出采样率,指定为一个积极的标量从0到0.5,包容性。

实际的输出采样率各不相同,但在指定范围内。例如,如果OutputRateTolerance被指定为0.01,那么实际输出采样率范围OutputSampleRate±1%。这种灵活性通常使一个简单的滤波器设计。

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

方法用于指定过滤器插入器滤波器系数,指定为以下之一:

  • 多项式阶的——使用PolynomialOrder属性指定的顺序Lagrange-interpolation-filter多项式。对象计算系数满足率和宽容的属性。

  • “系数”——使用系数属性指定直接多项式系数。

Lagrange-interpolation-filter多项式的命令,指定为一个正整数小于或等于4。对象计算系数满足率和宽容的属性。

依赖关系

这个属性只适用于当您设置规范多项式阶的

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

过滤器多项式系数,指定为一个实值——- - - - - -矩阵,是多项式的秩序。

图中显示了信号流图dsp.FarrowRateConverter与系数设置为对象[1 2;3 4]

每个分支的冷杉过滤系数矩阵的对应于一个行。

依赖关系

这个属性只适用于当您设置规范“系数”

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

定点属性

舍入方法,定点操作,指定为一个特征向量。更多信息见的舍入方法舍入模式

溢出行动定点操作,指定为“包装”“饱和”。更多细节溢出行为,看到溢出处理

指定数据类型的滤波器系数,作为签署numerictype(定点设计师)对象。默认数据类型是一个签名,16位numerictype对象。您必须指定一个numerictype对象不特定的二进制小数点缩放。最大化精度,这个数据类型的对象决定了分数长度根据系数值。

分数延迟的数据类型指定为一个无符号numerictype对象。默认数据类型是一个无符号,8位numerictype对象。您必须指定一个numerictype对象不特定的二进制小数点缩放。最大化精度,这个数据类型的对象决定了分数长度根据分数延迟值。

被乘数的数据类型指定为一个签名numerictype对象。默认数据类型是一个签署了16位numerictype对象可部分长度。您必须指定一个numerictype对象都有一个特定的二进制扩展点。

输出的数据类型,指定为以下之一:

  • 相同的单词长度作为输入的——输出单词长度和长度比例是一样的输入。

  • “蓄电池一样”——输出单词长度和长度是一样的蓄电池。

  • numerictype对象——签署了定点输出数据类型。如果你不指定长度,一小部分对象计算分数基于输入长度范围。对象保存输入的动态范围。

使用

语法

描述

例子

y=frc(x)重新取样输入x创建输出y根据定义的转换速度frc

输入参数

全部展开

输入信号,指定为一个向量或矩阵。输入的每一列都被视为一个单独的通道。

输出参数

全部展开

重新取样信号,作为一个向量或矩阵返回。

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

getPolynomialCoefficients 得到多项式系数法罗率转换过滤器
getActualOutputRate 得到实际输出率
getRateChangeFactors 得到整体插值和大量毁灭的因素
generatehdl 生成量化的HDL代码DSP滤波器(需要滤波器设计高密度脂蛋白编码器)
freqz 离散滤波器的频率响应系统对象
fvtool 可视化DSP滤波器的频率响应
信息 信息过滤系统对象
成本 实现滤波器的估计成本系统对象
一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

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

注意:dsp.AudioFileWriter不支持系统对象™万博1manbetxMATLAB在线

创建一个dsp.FarrowRateConverter系统对象™将音频信号从44.1千赫到96千赫。集的多项式阶滤波器。

傅氏国际= 44.1 e3;FsOut = 96年e3;LagrangeOrder = 2;% 1 =线性插值frc = dsp.FarrowRateConverter (“InputSampleRate”傅氏国际,“OutputSampleRate”FsOut,“PolynomialOrder”,LagrangeOrder);基于“增大化现实”技术= dsp.AudioFileReader (“guitar10min.ogg”,“SamplesPerFrame”,14700);aw = dsp.AudioFileWriter (“guitar10min_96kHz.wav”,“SampleRate”,FsOut);

检查结果插值和大量毁灭的因素。

[插值函数,decim] = getRateChangeFactors (frc)
插值函数= 320
decim = 147

显示对象使用的多项式来适应输入样本。

多项式系数= getPolynomialCoefficients (frc)
多项式系数=3×30.5000 - -0.5000 0 0 -1.0000 1.0000 0.5000 0.5000 0

音频信号的转换100帧。将结果写入一个文件。

n = 1:1:100 x = ar ();y = frc (x);亚历山大-伍尔兹(y);结束

释放dsp.AudioFileWriter系统对象™完成创建输出文件。

发布(aw)发布(ar)

画出输入和输出信号。法罗的延迟率转换器输出信号引入了一个延迟。

tx =(0:长度(x) 1)。/国际;泰=(0:长度(y) 1)。/ FsOut;图次要情节(2,1,1)情节(tx, x (: 1),“。”)举行情节(泰,y (: 1),“——”0.005)xlim([0])包含(“时间(s)”)传说(输入样本的,的输出样本,“位置”,“最佳”)标题(通道1的次要情节(2,1,2)情节(tx, x (:, 2),“。”)举行情节(泰,y (:, 2),“——”0.005)xlim([0])包含(“时间(s)”)传说(输入样本的,的输出样本,“位置”,“最佳”)标题(通道2的)

图包含2轴对象。坐标轴对象与标题通道1包含2线类型的对象。这些对象代表输入样本,输出样本。坐标轴对象与标题通道2包含2线类型的对象。这些对象代表输入样本,输出样本。

使用outputDelay函数来确定这个延迟值。占这个延迟,转变这个延迟值的输出。

(延迟,~,~)= outputDelay (frc Fc = 0)
延迟= 4.5351 e-05
tx =(0:长度(x) 1)。/国际;泰=(0:长度(y) 1)。/ FsOut;图次要情节(2,1,1)情节(tx, x (: 1),“。”)举行情节(ty-delay, y (: 1),“——”0.005)xlim([0])包含(“时间(s)”)传说(输入样本的,的输出样本,“位置”,“最佳”)标题(通道1的次要情节(2,1,2)情节(tx, x (:, 2),“。”)举行情节(ty-delay, y (:, 2),“——”0.005)xlim([0])包含(“时间(s)”)传说(输入样本的,的输出样本,“位置”,“最佳”)标题(通道2的)

图包含2轴对象。坐标轴对象与标题通道1包含2线类型的对象。这些对象代表输入样本,输出样本。坐标轴对象与标题通道2包含2线类型的对象。这些对象代表输入样本,输出样本。

放大看样本率的差异。

图次要情节(2,1,1)情节(tx, x(: 1),颜色= [0.6 0.6 0.6])情节(tx, x (: 1),“罗”)情节(ty-delay y (: 1),“b”。传说)xlim ([0.0105 - 0.0107]) (“插入输入”,输入样本的,的输出样本)标题(通道1的次要情节(2,1,2)情节(tx, x(:, 2),颜色= [0.6 0.6 0.6])情节(tx, x (:, 2),“罗”)情节(ty-delay y (:, 2),“b”。传说)xlim ([0.0105 - 0.0107]) (“插入输入”,输入样本的,的输出样本)标题(通道2的)

图包含2轴对象。坐标轴对象与标题通道1包含3线类型的对象。这些对象代表插入输入,输入样本,输出样本。坐标轴对象与标题通道2包含3线类型的对象。这些对象代表插入输入,输入样本,输出样本。

创建一个dsp.FarrowRateConverter系统对象™公差为0%。输出率=OutputSampleRate财产。输入的大小必须大量毁灭的多个因素,。在这种情况下是320。

frc = dsp.FarrowRateConverter (“InputSampleRate”96年e3,“OutputSampleRate”44.1 e3);FsOut = getActualOutputRate (frc)
FsOut = 44100
[L, M] = getRateChangeFactors (frc)
L = 147
米= 320

允许公差1%的输出率,观察大量毁灭因素的差异。

frc。OutputRateTolerance = 0.01;FsOut2 = getActualOutputRate (frc)
FsOut2 = 4.4308 e + 04
(L2, M2) = getRateChangeFactors (frc)
L2 = 6
M2 = 13

现在只有13的大量毁灭因素。大量毁灭系数越低,输入尺寸更大的灵活性。率范围内的输出OutputSampleRate ± 1%。

创建一个dsp.FarrowRateConverter系统对象™使用默认属性。计算和显示频率响应。

frc = dsp.FarrowRateConverter;[h f] = freqz (frc);情节(f, 20 * log10 (abs (h))) ylabel (滤波器响应的)包含(“频率(rad / s)”)

图包含一个坐标轴对象。坐标轴对象包含一个类型的对象。

创建一个dsp。FarrowRateConverter系统对象™和默认值。确定其计算成本:系数的数量,数量的州,乘法/输入样本,每个输入样本和添加。

frc = dsp.FarrowRateConverter;中科=成本(frc)
中科=结构体字段:NumCoefficients: 16 NumStates: 3 MultiplicationsPerInputSample: 13.0612 AdditionsPerInputSample: 11.9728

重复计算,允许10%的公差输出采样率。

frc。OutputRateTolerance = 0.1;ctl =成本(frc)
ctl =结构体字段:NumCoefficients: 16 NumStates: 3 MultiplicationsPerInputSample: 12 AdditionsPerInputSample: 11

更多关于

全部展开

算法

法罗过滤器使用霍纳氏规则实现分段多项式插值多项式计算样本。适合使用的多项式系数输入样本对应的拉格朗日插值系数。

一次多项式拟合输入数据,可以计算多项式的值在任何时候。因此,一个多项式滤波器使插值在任意地点之间的输入样本。

您可以使用任意阶的多项式适合现有的样品。经常摆动,然而,由于大订单多项式多项式的订单1、2、3或4用于实践。

算法计算插值在所需的位置只通过改变部分延迟µ。这个值之间的间隔是前面的输入样本和当前的输出示例。所有滤波器系数保持不变。

  • 输入样本过滤后使用+ 1 FIR滤波器,是多项式的秩序。

  • 这些过滤器的输出乘以分数延迟,µ

  • 输出是乘法运算结果的总和。

引用

[1]Hentschel, T。,G. Fettweis. "Continuous-Time Digital Filters for Sample-Rate Conversion in Reconfigurable Radio Terminals."Frequenz。55卷,5 - 6号,2001年,页185 - 188。

扩展功能

版本历史

介绍了R2014b