主要内容gydF4y2Ba

dsp。FIRHalfbandDecimatorgydF4y2Ba

Halfband杀害多人者gydF4y2Ba

描述gydF4y2Ba

的gydF4y2Badsp。FIRHalfbandDecimatorgydF4y2Ba系统对象™对输入信号进行高效的多相抽取,抽取倍数为2。您可以使用gydF4y2Badsp。FIRHalfbandDecimatorgydF4y2Ba实现双带滤波器组的分析部分,将信号滤波成低通和高通子带。gydF4y2Badsp。FIRHalfbandDecimatorgydF4y2Ba使用FIR等纹波设计构造半带滤波器和多相实现对输入进行滤波。gydF4y2Ba

要过滤和取样您的数据:gydF4y2Ba

  1. 创建gydF4y2Badsp。FIRHalfbandDecimatorgydF4y2Ba对象,并设置其属性。gydF4y2Ba

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

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

创建gydF4y2Ba

描述gydF4y2Ba

firhalfbanddecimgydF4y2Ba= dsp。FIRHalfbandDecimatorgydF4y2Ba返回半带小数,gydF4y2BafirhalfbanddecimgydF4y2Ba,使用默认设置。在默认设置下,System对象以半频带频率对输入数据进行过滤和下采样gydF4y2Ba11025gydF4y2Ba的过渡宽度gydF4y2Ba4.1gydF4y2Ba和的阻带衰减gydF4y2Ba80gydF4y2BadB。gydF4y2Ba

例子gydF4y2Ba

firhalfbanddecimgydF4y2Ba= dsp。FIRHalfbandDecimator (gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba返回半带小数,带有由一个或多个指定的附加属性gydF4y2Ba名称,值gydF4y2Ba对参数。gydF4y2Ba

例子:gydF4y2Bafirhalfbanddecim = dsp。FIRHalfbandDecimator (“规范”,'滤波器顺序和阻带衰减')gydF4y2Ba创建一个FIR半带抽取器对象,滤波器阶数设置为52,阻带衰减设置为80 dB。gydF4y2Ba

属性gydF4y2Ba

全部展开gydF4y2Ba

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

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

有关更改属性值的更多信息,请参见gydF4y2Ba在MATLAB中使用系统对象进行系统设计gydF4y2Ba.gydF4y2Ba

过滤器设计参数,指定为字符向量。当您设置gydF4y2Ba规范gydF4y2Ba为了满足下列条件之一,您可以选择三个可用的设计参数中的两个来设计FIR半带滤波器。gydF4y2Ba

  • “过渡宽度和阻带衰减”gydF4y2Ba——过渡宽度和阻带衰减是设计参数。gydF4y2Ba

  • '滤波器顺序和阻带衰减'gydF4y2Ba——滤波器阶数和阻带衰减是设计参数。gydF4y2Ba

  • “滤镜顺序和过渡宽度”gydF4y2Ba——滤镜顺序和过渡宽度是设计参数。gydF4y2Ba

采用最优等纹波滤波器设计方法设计滤波器。gydF4y2Ba

当您设置gydF4y2Ba规范gydF4y2Ba来gydF4y2Ba“系数”gydF4y2Ba时,直接指定半带滤波器系数gydF4y2Ba分子gydF4y2Ba财产。gydF4y2Ba

过滤顺序,指定为偶数正整数。gydF4y2Ba

依赖关系gydF4y2Ba

此属性在设置时应用gydF4y2Ba规范gydF4y2Ba要么gydF4y2Ba'滤波器顺序和阻带衰减'gydF4y2Ba或gydF4y2Ba“滤镜顺序和过渡宽度”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba

用dB表示的阻带衰减,指定为正实标量。gydF4y2Ba

依赖关系gydF4y2Ba

此属性在设置时应用gydF4y2Ba规范gydF4y2Ba要么gydF4y2Ba'滤波器顺序和阻带衰减'gydF4y2Ba或gydF4y2Ba“过渡宽度和阻带衰减”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba

转换宽度(Hz),指定为正实标量。过渡宽度的值(Hz)必须小于输入采样率的1/2。gydF4y2Ba

依赖关系gydF4y2Ba

此属性在设置时应用gydF4y2Ba规范gydF4y2Ba要么gydF4y2Ba“过渡宽度和阻带衰减”gydF4y2Ba或gydF4y2Ba“滤镜顺序和过渡宽度”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba

FIR半带滤波器系数,指定为行向量。系数必须符合FIR半带脉冲响应格式。有关该格式的详细信息,请参见gydF4y2BaHalfband过滤器gydF4y2Ba和gydF4y2BaFIR半带滤波器设计gydF4y2Ba.如果是过滤器的一半阶,gydF4y2Ba(长度(分子)- 1)/ 2gydF4y2Ba,则除中心系数必须为0.5外,从第一个系数开始的其他系数必须为零。如果滤波器的一半的阶数是奇数,那么从第二个系数开始,以0.5为中心的0交替出现的序列。gydF4y2Ba

依赖关系gydF4y2Ba

此属性在设置时应用gydF4y2Ba规范gydF4y2Ba来gydF4y2Ba“系数”gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba

输入采样率Hz,指定为正实标量。输入采样率默认为44100hz。如果将过渡宽度指定为滤波器设计参数之一,则过渡宽度不能超过输入采样率的1/2。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

定点属性gydF4y2Ba

系数的字和分数长度,指定为有符号或无符号gydF4y2BanumerictypegydF4y2Ba对象。默认的,gydF4y2Banumerictype (16)gydF4y2Ba对应具有16位系数和基于系数值确定的分数长度的带符号数字类型对象,以提供尽可能最好的精度。gydF4y2Ba

此属性是不可调优的。gydF4y2Ba

输出的字长与输入的字长相同。计算输出的分数长度,使输出的整个动态范围可以表示而不溢出。有关输出的分数长度如何计算的详细信息,请参见gydF4y2BaFIR滤波器中避免溢出的定点精度规则gydF4y2Ba.gydF4y2Ba

输出定点运算的舍入方法,指定为字符向量。有关舍入模式的更多信息,请参见gydF4y2Ba精度和范围gydF4y2Ba.gydF4y2Ba

使用gydF4y2Ba

描述gydF4y2Ba

例子gydF4y2Ba

ylowgydF4y2Ba= firhalfbanddecim (gydF4y2BaxgydF4y2Ba)gydF4y2Ba过滤输入信号gydF4y2BaxgydF4y2Ba使用FIR半带滤波器,gydF4y2BafirhalfbanddecimgydF4y2Ba,并对输出进行因子2的向下采样。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2BaylowgydF4y2Ba,gydF4y2BayhighgydF4y2Ba) = firhalfbanddecim (gydF4y2BaxgydF4y2Ba)gydF4y2Ba计算gydF4y2BaylowgydF4y2Ba和gydF4y2BayhighgydF4y2Ba的分析滤波器组,gydF4y2BafirhalfbanddecimgydF4y2Ba输入gydF4y2BaxgydF4y2Ba.一个gydF4y2BaKigydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba输入矩阵为gydF4y2BaNgydF4y2Ba独立的通道。System对象通过对两个多相分支输出分别加和减产生两个功率互补输出信号。gydF4y2BaylowgydF4y2Ba和gydF4y2BayhighgydF4y2Ba大小相同(gydF4y2BaKogydF4y2Ba——- - - - - -gydF4y2BaNgydF4y2Ba)和数据类型。gydF4y2BaKogydF4y2Ba=gydF4y2BaKigydF4y2Ba/ 2,gydF4y2Ba2gydF4y2Ba为抽取因子。gydF4y2Ba

输入参数gydF4y2Ba

全部展开gydF4y2Ba

数据输入,指定为列向量或矩阵。如果输入信号是一个矩阵,则矩阵的每一列都被视为一个独立的信道。输入信号的行数必须是2的倍数。gydF4y2Ba

这个对象支持可变大小的输金宝app入信号。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba|gydF4y2BafigydF4y2Ba
复数的支持:金宝appgydF4y2Ba是的gydF4y2Ba

输出参数gydF4y2Ba

全部展开gydF4y2Ba

小数输出的低通子带,作为列向量或矩阵返回。输出,gydF4y2BaylowgydF4y2Ba输入是低通半带滤波和下采样版本吗gydF4y2BaxgydF4y2Ba.由于滤波器的半带特性,下采样因子总是2。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba|gydF4y2BafigydF4y2Ba
复数的支持:金宝appgydF4y2Ba是的gydF4y2Ba

小数输出的高通子带,作为列向量或矩阵返回。输出,gydF4y2BayhighgydF4y2Ba是高通半带滤波和下采样版本的输入gydF4y2BaxgydF4y2Ba.由于滤波器的半带特性,下采样因子总是2。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba|gydF4y2Baint8gydF4y2Ba|gydF4y2Baint16gydF4y2Ba|gydF4y2Baint32gydF4y2Ba|gydF4y2Baint64gydF4y2Ba|gydF4y2Bauint8gydF4y2Ba|gydF4y2Bauint16gydF4y2Ba|gydF4y2Bauint32gydF4y2Ba|gydF4y2Bauint64gydF4y2Ba|gydF4y2BafigydF4y2Ba
复数的支持:金宝appgydF4y2Ba是的gydF4y2Ba

对象的功能gydF4y2Ba

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

发行版(obj)gydF4y2Ba

全部展开gydF4y2Ba

freqzgydF4y2Ba 离散时间滤波器的频率响应gydF4y2Ba系统对象gydF4y2Ba
fvtoolgydF4y2Ba 显示DSP滤波器的频率响应gydF4y2Ba
信息gydF4y2Ba 信息过滤gydF4y2Ba系统对象gydF4y2Ba
成本gydF4y2Ba 估计实现过滤器的成本gydF4y2Ba系统对象gydF4y2Ba
多项式系数gydF4y2Ba 返回过滤器gydF4y2Ba系统对象gydF4y2Ba结构系数gydF4y2Ba
多相gydF4y2Ba 多速率滤波器的多相分解gydF4y2Ba
一步gydF4y2Ba 运行gydF4y2Ba系统对象gydF4y2Ba算法gydF4y2Ba
释放gydF4y2Ba 释放资源并允许更改gydF4y2Ba系统对象gydF4y2Ba属性值和输入特征gydF4y2Ba
重置gydF4y2Ba 使内部状态复位gydF4y2Ba系统对象gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

为44.1 kHz采样的数据创建一个低通半带抽取滤波器。输出数据率为输入采样率的1/2,即22.05 kHz。指定过滤器顺序为52,过渡宽度为4.1 kHz。gydF4y2Ba

Fs = 44.1 e3;filterspec =gydF4y2Ba“滤镜顺序和过渡宽度”gydF4y2Ba;订单= 52个;TW = 4.1 e3;firhalfbanddecim = dsp。FIRHalfbandDecimator (gydF4y2Ba“规范”gydF4y2Bafilterspec,gydF4y2Ba...gydF4y2Ba“FilterOrder”gydF4y2Ba订单,gydF4y2Ba...gydF4y2Ba“TransitionWidth”gydF4y2BaTW,gydF4y2Ba...gydF4y2Ba“SampleRate”gydF4y2BaFs);gydF4y2Ba

绘制脉冲响应。零阶系数被延迟26个样本,等于滤波器的组延迟。这就产生了一个因果半带滤波器。gydF4y2Ba

fvtool (firhalfbanddecimgydF4y2Ba“分析”gydF4y2Ba,gydF4y2Ba“冲动”gydF4y2Ba)gydF4y2Ba

绘制幅值和相位响应。gydF4y2Ba

fvtool (firhalfbanddecimgydF4y2Ba“分析”gydF4y2Ba,gydF4y2Ba“频率”gydF4y2Ba)gydF4y2Ba

利用半带分析滤波器组和插值滤波器从语音信号中提取低频子带。gydF4y2Ba

请注意gydF4y2Ba:如果你正在使用R2016a或更早的版本,将每个对对象的调用替换为等价的gydF4y2Ba一步gydF4y2Ba语法。例如,gydF4y2Baobj (x)gydF4y2Ba就变成了gydF4y2Ba步骤(obj, x)gydF4y2Ba.gydF4y2Ba

注意:gydF4y2Ba的gydF4y2BaaudioDeviceWritergydF4y2Ba中不支持系统对象™金宝appgydF4y2BaMATLAB在线gydF4y2Ba.gydF4y2Ba

设置音频文件读取器、分析滤波器组、音频设备写入器和插值滤波器。音频数据采样率为22050 Hz。半带滤波器的阶数为52,过渡宽度为2 kHz。gydF4y2Ba

误判率= dsp。一个udioFileReader(“speech_dft.mp3”gydF4y2Ba,gydF4y2Ba“SamplesPerFrame”gydF4y2Ba, 1024);filterspec =gydF4y2Ba“滤镜顺序和过渡宽度”gydF4y2Ba;订单= 52个;TW = 2000;firhalfbanddecim = dsp。FIRHalfbandDecimator (gydF4y2Ba...gydF4y2Ba“规范”gydF4y2Bafilterspec,gydF4y2Ba“FilterOrder”gydF4y2Ba订单,gydF4y2Ba...gydF4y2Ba“TransitionWidth”gydF4y2BaTW,gydF4y2Ba“SampleRate”gydF4y2Ba, afr.SampleRate);firhalfbandinterp = dsp。FIRHalfbandInterpolator (gydF4y2Ba...gydF4y2Ba“规范”gydF4y2Bafilterspec,gydF4y2Ba“FilterOrder”gydF4y2Ba订单,gydF4y2Ba...gydF4y2Ba“TransitionWidth”gydF4y2BaTW,gydF4y2Ba“SampleRate”gydF4y2Ba, afr.SampleRate / 2);adw = audioDeviceWriter (gydF4y2Ba“SampleRate”gydF4y2Ba, afr.SampleRate);gydF4y2Ba

查看半带滤波器的幅值响应。gydF4y2Ba

fvtool (firhalfbanddecim)gydF4y2Ba

以1024个样本帧从音频文件中读取语音信号。将语音信号滤波成半频带频率为5512.5 Hz的低通和高通子频带。通过插值低通子带重构语音信号的低通近似。播放过滤后的输出。gydF4y2Ba

而gydF4y2Ba~isDone(afr) audioframe = afr();xlo = firhalfbanddecim (audioframe);ylow = firhalfbandinterp (xlo);adw (ylow);gydF4y2Ba结束gydF4y2Ba

等待音频文件播放完毕后,关闭输入文件,释放音频输出资源。gydF4y2Ba

释放(误判率);释放(adw);gydF4y2Ba

采用半带抽取器和内插器实现双通道滤波器组。这个示例使用音频文件输入,并显示滤波器组输出的功率谱与输入没有显著差异。gydF4y2Ba

请注意gydF4y2Ba如果你正在使用R2016a或更早的版本,用等价的步骤语法替换每个对象调用。例如,obj(x)变成step(obj,x)。gydF4y2Ba

请注意gydF4y2Ba:gydF4y2BaaudioDeviceWritergydF4y2Ba在MATLAB联机中不支持系统对象™。金宝appgydF4y2Ba

设置音频文件读取器和设备写入器。构造FIR半带抽取器和内插器。最后,搭建频谱分析仪,显示滤波器组输入输出的功率谱。gydF4y2Ba

房颤= dsp。一个udioFileReader(“speech_dft.mp3”gydF4y2Ba,gydF4y2Ba“SamplesPerFrame”gydF4y2Ba, 1024);美联社= audioDeviceWriter (gydF4y2Ba“SampleRate”gydF4y2Ba, AF.SampleRate);filterspec =gydF4y2Ba“滤镜顺序和过渡宽度”gydF4y2Ba;订单= 52个;TW = 2000;firhalfbanddecim = dsp。FIRHalfbandDecimator (gydF4y2Ba...gydF4y2Ba“规范”gydF4y2Bafilterspec,gydF4y2Ba“FilterOrder”gydF4y2Ba订单,gydF4y2Ba...gydF4y2Ba“TransitionWidth”gydF4y2BaTW,gydF4y2Ba“SampleRate”gydF4y2Ba, AF.SampleRate);firhalfbandinterp = dsp。FIRHalfbandInterpolator (gydF4y2Ba...gydF4y2Ba“规范”gydF4y2Bafilterspec,gydF4y2Ba“FilterOrder”gydF4y2Ba订单,gydF4y2Ba...gydF4y2Ba“TransitionWidth”gydF4y2BaTW,gydF4y2Ba“SampleRate”gydF4y2Ba房颤。SampleRate / 2,gydF4y2Ba...gydF4y2Ba“FilterBankInputPort”gydF4y2Ba,真正的);SpecAna = dsp。简介(gydF4y2Ba“SampleRate”gydF4y2Ba房颤。SampleRate,gydF4y2Ba...gydF4y2Ba“PlotAsTwoSidedSpectrum”gydF4y2Ba假的,gydF4y2Ba“ReducePlotRate”gydF4y2Ba假的,gydF4y2Ba...gydF4y2Ba“ShowLegend”gydF4y2Ba,真的,gydF4y2Ba...gydF4y2Ba“ChannelNames”gydF4y2Ba, {gydF4y2Ba输入信号的gydF4y2Ba,gydF4y2Ba过滤后的输出信号的gydF4y2Ba});gydF4y2Ba

一次读取1024个音频样本。滤波器的输入,以获得低通和高通子带信号抽取因子二。这是分析滤波器组。采用半带插值器作为综合滤波器组。显示音频输入和合成滤波器组输出的运行功率谱。输出。gydF4y2Ba

而gydF4y2Ba~isDone(AF) audioInput = AF();(xlo xhigh] = firhalfbanddecim (audioInput);audioOutput = firhalfbandinterp (xlo xhigh);spectrumInput = [audioInput audioOutput];SpecAna (spectrumInput);美联社(audioOutput);gydF4y2Ba结束gydF4y2Ba释放(AF);释放(美联社);释放(SpecAna);gydF4y2Ba

为44.1 kHz采样的数据创建半频带抽取器。采用最小阶设计,过渡宽度为2 kHz,阻带衰减为60 dB。gydF4y2Ba

hfirhalfbanddecim = dsp。FIRHalfbandDecimator (gydF4y2Ba...gydF4y2Ba“规范”gydF4y2Ba,gydF4y2Ba“过渡宽度和阻带衰减”gydF4y2Ba,gydF4y2Ba...gydF4y2Ba“TransitionWidth”gydF4y2Ba, 2000,gydF4y2Ba“StopbandAttenuation”gydF4y2Ba现年60岁的gydF4y2Ba“SampleRate”gydF4y2Ba44.1 e3);gydF4y2Ba

滤波器双通道输入到低和高通子带gydF4y2Ba

x = randn (1024 2);[ylow, yhigh] = (hfirhalfbanddecim x)步;gydF4y2Ba

更多关于gydF4y2Ba

全部展开gydF4y2Ba

算法gydF4y2Ba

全部展开gydF4y2Ba

参考文献gydF4y2Ba

[1]哈里斯F.J.gydF4y2Ba通信系统的多速率信号处理gydF4y2Ba, Prentice Hall, 2004, pp. 208-209。gydF4y2Ba

扩展功能gydF4y2Ba

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

介绍了R2014bgydF4y2Ba