主要内容

dsp。FIRInterpolator

多相冷杉插入器

描述

这个dsp。FIRInterpolator系统对象™ 通过整数上采样因子对输入进行上采样L沿着第一个维度。FIR插值器(如图所示)概念上由上采样器和FIR反成像滤波器组成,后者通常是理想的带限插值滤波器的近似。设计一种反成像滤波器,使用设计多速率功能。

上采样器通过插入数据以更高的速率对输入的每个通道进行上采样L样本之间是-1个零。直接形式的FIR滤波器跟随滤波器上采样数据的每个通道。得到的离散时间信号的采样率为L乘以原始采样率。

FIR内插器包含一个上采样器和一个反成像FIR滤波器。

注意,实际的对象算法实现了多相结构,这是图中所示的组合系统的有效等效物。有关详细信息,请参见算法

对输入进行上采样:

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

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

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

在特定条件下,System对象也支持SIMD代码生成。金宝app有关详细信息,请参见代码生成

创建

描述

firinterp= dsp。FIRInterpolator返回一个FIR插值器,firinterp,它将输入信号上采样3倍,并应用FIR滤波器对输出进行插值。

例子

firinterp=dsp.FIRInterpolator(interpFactor,全国矿工工会)返回具有整数值的FIR插值器InterpolationFactor属性设置为interpFactor分子属性设置为全国矿工工会

firinterp=dsp.FIRInterpolator(___,名称、值)返回一个FIR插值器对象,其中每个指定的属性都被设置为指定的值。将每个属性名用引号括起来。您可以将此语法与之前的任何输入参数组合一起使用。

属性

全部展开

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

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

有关更改属性值的更多信息,请参见基于系统对象的MATLAB系统设计

指定整数因子,L,从而提高输入信号的采样率。多阶段实现使用L在较低的采样率下计算卷积的多相子滤波器。FIR插值器延迟并交错这些低速率的卷积以获得更高速率的输出。

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

FIR滤波器系数源,为:

  • “属性”——分子系数是通过分子财产。

  • “输入端口”–分子系数被指定为目标算法的输入。

将FIR反成像滤波器的分子系数指定为中多项式的系数Z1.下面的方程定义了长度滤波器的系统函数N+ 1:

H ( Z ) = N = 0 N B ( N ) Z N

向量B= (B(0),B(1), …,B(N)]表示滤波系数向量。

作为一个有效的反成像滤波器,系数通常对应一个低通滤波器的归一化截止频率不大于的倒数InterpolationFactor.使用设计多速率设计这样一个过滤器。更一般地说,可以使用任何复杂的带通滤波器。有关示例,请参见使用FIR插值器使采样率翻倍

滤波器系数是按值缩放的InterpolationFactor属性,然后过滤信号。形成了L多相subfilters,分子如有必要,会在后面加0。

依赖关系

此属性适用于以下情况数字源被设置为“属性”

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

定点属性

标志来使用定点算术的全精度规则,指定为以下方式之一:

  • 真正的–对象使用全精度规则计算所有内部算术和输出数据类型。这些规则提供最精确的定点数值。在此模式下,其他定点属性不适用。对象内不发生量化。根据需要添加位,以确保不发生舍入或溢出。

  • 假的——定点数据类型通过单个定点属性设置进行控制。

有关更多信息,请参见定点系统对象的全精度设置系统对象的定点属性

定点运算的舍入方法。有关详细信息,请参阅舍入模式

依赖关系

当满足以下条件时,此属性不可见,并且对数值结果没有影响:

  • 全精度覆盖着手真正的

  • 全精度覆盖着手假的,ProductDataType着手“充分精确”,累加器数据类型着手“充分精确”,OutputDataType着手“蓄电池一样”

在这些条件下,对象以全精度模式运行。

定点操作的溢出操作,指定为下列操作之一:

  • “包装”–对象包装其定点操作的结果。

  • “饱和”——对象饱和其定点操作的结果。

有关溢出操作的详细信息,请参见溢出模式用于定点操作。

依赖关系

当满足以下条件时,此属性不可见,并且对数值结果没有影响:

  • 全精度覆盖着手真正的

  • 全精度覆盖着手假的,OutputDataType着手“蓄电池一样”,ProductDataType着手“充分精确”,累加器数据类型着手“充分精确”

在这些条件下,对象以全精度模式运行。

FIR滤波器系数的数据类型,具体为:

  • 与输入相同的字长——系数的字长与输入的字长相同。计算分数长度是为了给出可能的最佳精度。

  • 自定义属性指定的系数数据类型为自定义数值类型CustomCoefficientsDataType财产。

指定为自动签名的系数数据类型的字和分数长度numerictype(定点设计师)单词长度为16,分数长度为15。

依赖关系

属性设置时将应用此属性系数数据类型财产自定义

该对象中产品输出的数据类型,指定为以下类型之一:

  • “充分精确”–产品输出数据类型具有全精度。

  • 同样作为输入的–对象指定产品输出数据类型与输入数据类型相同。

  • “自定义”属性指定产品输出数据类型为自定义数值类型CustomProductDataType财产。

有关产品输出数据类型的更多信息,请参见乘法的数据类型

依赖关系

此属性在设置时应用全精度覆盖假的

产品数据类型的字和分数长度,指定为字长为32、分数长为30的自动签名数字类型。

依赖关系

此属性仅在设置时应用全精度覆盖假的ProductDataType“自定义”

该对象中累加操作的数据类型,指定为:

  • “充分精确”——积累操作精度高。

  • “一样的产品”–对象指定累加器数据类型与产品输出数据类型相同。

  • 同样作为输入的–对象指定累加器数据类型与输入数据类型相同。

  • “自定义”属性指定累加器数据类型为自定义数字类型CustomAccumeratorDataType财产。

依赖关系

此属性在设置时应用全精度覆盖假的

累加器数据类型的字和分数长度,指定为字长为32、分数长为30的自动签名数字类型。

依赖关系

此属性仅在设置时应用全精度覆盖假的累加器数据类型“自定义”

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

  • “蓄电池一样”——输出数据类型与累加器输出数据类型相同。

  • 同样作为输入的——输出数据类型与输入数据类型相同。

  • “一样的产品”——输出数据类型与产品输出数据类型相同。

  • “自定义”的输出数据类型指定为自定义数字类型CustomOutputDataType财产。

依赖关系

此属性在设置时应用全精度覆盖假的

输出数据类型的字和分数长度,指定为字长为16、分数长为15的自动签名数字类型。

依赖关系

此属性仅在设置时应用全精度覆盖假的OutputDataType“自定义”

使用

描述

例子

Y= firinterp (x)插入输入信号x并输出上采样和过滤后的值,Y

Y= firinterp (x,全国矿工工会)使用FIR滤波器,全国矿工工会,对输入信号进行插值。该配置仅在“NumeratorSource”属性设置为“输入端口”

输入参数

全部展开

数据输入,指定为向量或矩阵。一个P——- - - - - -Q输入矩阵为Q独立通道,System对象在第一个维度上插入每个通道并生成L P *——- - - - - -Q输出矩阵,其中L为插值因子。

该对象支持可变大小的输入金宝app,不支持复杂的无符号定点输入。

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

FIR滤波器系数,指定为行向量。

依赖关系

此输入仅在“NumeratorSource”属性设置为“输入端口”

数据类型:
复数支持:金宝app是的

输出参数

全部展开

FIR插值器输出,作为向量或大小矩阵返回L P *——- - - - - -Q,在那里L为插值因子。

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

目标函数

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

发行版(obj)

全部展开

数字滤波器频率响应 离散时间滤波器的频率响应系统对象
fvtool 显示DSP滤波器的频率响应
信息 有关筛选器的信息系统对象
成本 估计实现过滤器的成本系统对象
多相 多速率滤波器的多相分解
generatehdl 生成量化DSP滤波器的HDL代码(需要)滤波器设计HDL编码器)
impz 离散时间滤波器的脉冲响应系统对象
非零系数 返回过滤器系统对象结构系数
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部折叠

:如果您使用的是R2016a或早期版本,请使用等效的一步语法。例如obj (x)就变成了步骤(obj, x)

注意:这个音频设备编写器中不支持系统对象™金宝appMATLAB在线

此示例演示如何将音频信号的采样率从22.05 kHz提高到44.1 kHz,并播放音频。

误判率= dsp。一个udioFileReader(“OutputDataType”,...“单一”); adw=音频设备编写器(44100);L=2;num=设计多速率FIR(L,1);firInterp=dsp.FIRInterpolator(L,num);~isDone(afr)帧= afr();y = firInterp(框架);adw (y);结束暂停(1);释放(误判率);释放(adw);

算法

利用多相结构有效地实现了FIR插值滤波器。

为了推导多相结构,从FIR滤波器的传递函数开始:

H ( Z ) = B 0 + B 1. Z 1. + ... + B N Z N

N+1是FIR滤波器的长度。

您可以按如下方式重新排列此方程式:

H ( Z ) = ( B 0 + B L Z L + B 2. L Z 2. L + .. + B N L + 1. Z ( N L + 1. ) ) + Z 1. ( B 1. + B L + 1. Z L + B 2. L + 1. Z 2. L + .. + B N L + 2. Z ( N L + 1. ) ) + Z ( L 1. ) ( B L 1. + B 2. L 1. Z L + B 3. L 1. Z 2. L + .. + B N Z ( N L + 1. ) )

L为多相分量的数目,其值等于所指定的插值因子。

你可以把这个方程写成:

H ( Z ) = E 0 ( Z L ) + Z 1. E 1. ( Z L ) + ... + Z ( L 1. ) E L 1. ( Z L )

E0(zL),E1.(zL)、……El - 1(zL)FIR滤波器的多相成分是什么H(z)。

从概念上讲,FIR插值滤波器包含一个上采样器和一个FIR低通滤波器H(z)。

FIR内插器包含一个上采样器和一个反成像FIR滤波器。

取代H(z) 具有多相表示。

这是插值的多速率高贵身份。

应用高贵恒等式进行插值,将上采样运算移到滤波运算之后。这个动作可以使你以较低的速率过滤信号。

可以用换向器开关替换上采样运算符、延迟块和加法器。开关在第一个支路0上启动,逆时针方向移动,每次从每个支路接收一个样品。插值器有效地输出L它接收到的每一个输入样本的采样。因此,FIR插值滤波器输出的采样率为Lfs

扩展功能

定点转换
使用fixed-point Designer™设计和模拟定点系统。

介绍了R2012a