主要内容gydF4y2Ba

dsp。FIRHalfbandDecimatorgydF4y2Ba

Halfband杀害多人者gydF4y2Ba

描述gydF4y2Ba

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

要过滤和减少数据样本:gydF4y2Ba

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

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

有关系统对象如何工作的详细信息,请参见gydF4y2Ba什么是系统对象?gydF4y2Ba.gydF4y2Ba

创建gydF4y2Ba

描述gydF4y2Ba

firhalfbanddecimgydF4y2Ba= dsp。FIRHalfbandDecimatorgydF4y2Ba返回半带小数,gydF4y2BafirhalfbanddecimgydF4y2Ba,使用默认设置。在默认设置下,System对象对输入数据进行过滤和低采样,其半带频率为gydF4y2Ba11025gydF4y2BaHz,过渡宽度为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的交替零序列从第二个系数开始。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独立的通道。系统对象通过分别加减两个多相分支输出产生两个功率互补的输出信号。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.11 e3;filterspec =gydF4y2Ba滤镜顺序和过渡宽度gydF4y2Ba;Order = 52;TW = 4.11 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

图过滤器可视化工具-脉冲响应包含一个轴和uitoolbar, uimenu类型的其他对象。标题为Impulse Response的轴包含一个stem类型的对象。gydF4y2Ba

绘制幅值和相位响应。gydF4y2Ba

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

图形过滤可视化工具-幅度响应(dB)和相位响应包含一个轴和uitoolbar, uimenu类型的其他对象。标题为幅度响应(dB)和阶段响应的轴包含类型为line的对象。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

Afr = dsp。一个udioFileReader(“speech_dft.mp3”gydF4y2Ba,gydF4y2Ba“SamplesPerFrame”gydF4y2Ba, 1024);filterspec =gydF4y2Ba滤镜顺序和过渡宽度gydF4y2Ba;Order = 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

图形过滤可视化工具-幅度响应(dB)包含一个轴和uitoolbar, uimenu类型的其他对象。标题为Magnitude Response (dB)的轴包含2个类型为line的对象。gydF4y2Ba

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

而gydF4y2Ba~isDone(afr) audioframe = afr();Xlo = firhalfbanddecim(音频帧);yellow = firhalfbandinterp(xlo);adw (ylow);gydF4y2Ba结束gydF4y2Ba

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

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

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

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

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

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

AF = dsp。一个udioFileReader(“speech_dft.mp3”gydF4y2Ba,gydF4y2Ba“SamplesPerFrame”gydF4y2Ba, 1024);AP = audioDeviceWriter(gydF4y2Ba“SampleRate”gydF4y2Ba, AF.SampleRate);filterspec =gydF4y2Ba滤镜顺序和过渡宽度gydF4y2Ba;Order = 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采样的数据创建一个半波段decimator。使用过渡宽度为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);[yellow,yhigh] = step(hfirhalfbanddecim,x);gydF4y2Ba

更多关于gydF4y2Ba

全部展开gydF4y2Ba

算法gydF4y2Ba

全部展开gydF4y2Ba

参考文献gydF4y2Ba

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

扩展功能gydF4y2Ba

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

在R2014b中引入gydF4y2Ba