主要内容

dsp。HighpassFilter

FIR或IIR高通滤波器

描述

dsp。HighpassFilter随着时间的推移,系统对象™使用给定的设计规范独立地过滤输入的每个通道。您可以设置FilterType的属性dsp。HighpassFilter“杉”或者'IIR'将对象作为FIR或IIR高通滤波器实现。

过滤你输入的每个通道:

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

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

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

创建

描述

高通滤波器= dsp。HighpassFilter返回最小阶FIR高通滤波器,高通滤波器,默认过滤器设置。使用默认属性设置调用对象将输入数据过滤,具有停止频率8kHz,通带频率12.khz,一个停滞衰减80DB,以及通带纹波0.1dB。

例子

高通滤波器= dsp。HighpassFilter (名称,价值返回高通滤波器,具有一个或多个指定的附加属性名称,价值对参数。的名字属性名和价值是相应的价值。的名字必须出现在单引号内('')。您可以以任何顺序指定多个名称值对参数Name1, Value1,…,的家

属性

全部展开

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

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

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

输入采样率(Hz),指定为逗号分隔对“SampleRate”一个正的实标量。

数据类型:|

过滤器类型,指定为下列选项之一:

  • “杉”- 对象设计FIR高通滤波器。

  • 'IIR'-该对象设计了IIR高通(biquad)滤波器。

最小阶滤波器设计,由指定的逗号分隔对组成“DesignForMinimumOrder”和一个逻辑值。如果这个属性是真的,然后dsp。HighpassFilter设计符合通带频率、阻带频率、通带纹波和阻带衰减规格的最小阶滤波器。使用相应的属性设置这些规范。如果这个属性是,然后该对象按照您在FilterOrder财产。此滤波器设计满足使用各自属性设置的通频带频率、通频带纹波和阻频带衰减规格。

FIR或IIR过滤器的顺序,指定为逗号分隔对组成'filterorder'和一个正整数标量。

依赖关系

指定过滤器顺序仅在值时才有效“DesignForMinimumOrder”

数据类型:||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

Hz中的过滤器停止边缘频率,指定为逗号分隔对“StopbandFrequency”一个实正标量。停止带边缘频率的值(Hz)必须小于通带频率。

依赖关系

只有在下列情况下才能指定阻带边缘频率“DesignForMinimumOrder”真的

数据类型:||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

滤波器通带边缘频率以Hz表示,指定为逗号分隔对组成'Passband职业'一个实正标量。通带边缘频率的值(Hz)必须小于该值的一半SampleRate和更大的比StopbandFrequency

数据类型:||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

以dB为单位的阻带最小衰减,指定为逗号分隔对'stopbandattenuation'一个实正标量。阻带的最小衰减默认为80dB。

数据类型:||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

滤波器响应在通带内的最大纹波,以dB为单位,指定为逗号分隔对“PassbandRipple”一个实正标量。滤波器响应的最大纹波默认为0.1dB。

数据类型:||INT8.|int16|int32|int64|uint8|uint16|uint32|UINT64

定点属性

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

系数的字和分数长度,指定为anumerictype对象。默认的,Numerictype(1,16)对应于具有16位系数的符号数字类型对象,并且基于系数值确定的分数长度,以提供最佳精度。

此属性是不可调优的。

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

用法

描述

例子

y=高通滤波器(x高通滤波输入信号,xy是高通滤波版的吗x

输入参数

全部展开

嘈杂数据输入,指定为向量或矩阵。如果输入信号是一个矩阵,则矩阵的每一列都被视为一个独立的信道。输入信号中的行数表示信道长度。该对象接受可变大小的输入。锁定对象后,可以更改每个输入通道的大小,但不能更改通道的数量。

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

输出参数

全部展开

过滤后的输出,作为向量或矩阵返回。输出具有与输入相同的大小、数据类型和复杂性特征。

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

对象的功能

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

释放(obj)

全部展开

freqz 离散时间滤波器的频率响应系统对象
fvtool 可视化DSP滤波器的频率响应
轰炸 离散时间过滤器的脉冲响应系统对象
信息 信息过滤系统对象
多项式系数 返回过滤器系统对象结构系数
成本 估计实现过滤器的成本系统对象
Grpdelay 离散时间滤波器的组延迟响应系统对象
generatehdl. 为量化DSP滤波器生成HDL代码(需要滤波器设计HDL编码器
测量 测量滤波器的频响特性系统对象
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 使内部状态复位系统对象

例子

全部收缩

创建最小订单FIR高通滤波器,用于以44.1kHz采样的数据。指定通带频率为12 kHz,停止频率为8 kHz,通带纹波为0.1 dB,并且停止衰减为80 dB。

fs = 44.1e3;filtertype =.“杉”;成就= 12 e3;Fstop = 8 e3;Rp = 0.1;Astop = 80;FIRHPF = dsp。HighpassFilter (“SampleRate”,fs,...'filtertype'filtertype,...'Passband职业',馈送,...“StopbandFrequency”Fstop,...“PassbandRipple”,rp,...'stopbandattenuation',astop);

设计一个最小阶IIR高通滤波器,具有与FIR高通滤波器相同的特性。使用克隆创建具有与FIR高通滤波器相同属性的系统对象。改变FilterType属性的克隆过滤器信息检索

IIRHPF =克隆(FIRHPF);IIRHPF。FilterType ='IIR'

绘制FIR高通滤波器的脉冲响应。Zeroth阶系数被19个样本延迟,其等于过滤器的组延迟。FIR高通滤波器是一个因果灭菌滤波器

fvtool (FIRHPF'分析'“冲动”

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

绘制IIR高通滤波器的脉冲响应。

FVTool(IIRHPF,'分析'“冲动”

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

绘制FIR高通滤波器的幅度和相位响应。

fvtool (FIRHPF'分析'“频率”

图过滤器可视化工具-幅度响应(dB)和相位响应包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“幅度响应(dB)”和“相位响应”的轴对象包含一个类型线对象。

绘制IIR高通滤波器的幅度和相位响应。

FVTool(IIRHPF,'分析'“频率”

图过滤器可视化工具-幅度响应(dB)和相位响应包含一个轴对象和其他类型的uitoolbar, uimenu对象。标题为“幅度响应(dB)”和“相位响应”的轴对象包含一个类型线对象。

计算实现FIR高通滤波器的成本。

成本(FiRHPF)
ans =结构与字段:NumCofficents:39 NumStates:38多重PULTINPUTSAMPLE:39 AddersPerInputSample:38

计算实现IIR高通滤波器的成本。IIR滤波器的实现比FIR滤波器更有效。

成本(IIRHPF)
ans =结构与字段:NumCoefficients: 18 NumStates: 14 MultiplicationsPerInputSample: 18 AdditionsPerInputSample: 14

计算FIR高通滤波器的群延迟。

grpdelay(firhpf)

图形过滤可视化工具-组延迟包含一个轴对象和其他类型的uitoolbar, uimenu对象。具有标题组延迟的axis对象包含一个类型为line的对象。

计算IIR高通滤波器的组延迟。FIR滤波器具有恒定的组延迟(线性相位),而IIR滤波器则不是。

grpdelay (IIRHPF)

图形过滤可视化工具-组延迟包含一个轴对象和其他类型的uitoolbar, uimenu对象。具有标题组延迟的axis对象包含一个类型为line的对象。

请注意:此示例仅在R2016b或更高版本中运行。如果您正在使用较早的版本,请将对该函数的每个调用替换为等价的一步句法。例如,MyObject(x)变为步骤(myObject,x)。

设置IIR高通滤波器。高斯白噪声的采样率为44100hz。该滤波器的通带频率为12 kHz,阻带频率为8 kHz,通带纹波为0.1 dB,阻带衰减为80 dB。

fs = 44.1e3;filtertype =.'IIR';成就= 12 e3;Fstop = 8 e3;Rp = 0.1;Astop = 80;hpf = dsp.highpassfilter(“SampleRate”,fs,...'filtertype'filtertype,...'Passband职业',馈送,...“StopbandFrequency”Fstop,...“PassbandRipple”,rp,...'stopbandattenuation',astop);

查看高通滤波器的幅值响应。

fvtool(高通滤波器)

创建一个频谱分析器对象。

sa = dsp。简介(“SampleRate”, 44.1 e3,...“PlotAsTwoSidedSpectrum”,错误的,“ShowLegend”,真的,“YLimits”...30 [-150],...“标题”...'IIR高通滤波器的输入信号和输出信号');sa。ChannelNames = {'输入''输出'};

滤波输入的高斯噪声信号。使用频谱分析仪查看输入和输出信号。

Input = randn(1024,1);输出=高通滤波器(输入);sa((输入、输出));结束

测量高通滤波器的频率响应特性。创建一个dsp。HighpassFilter具有默认属性的系统对象。测量滤波器的频率响应特性。

高通滤波器= dsp。HighpassFilter
HPF = DSP.HighPassFilter具有属性:FilterType:'FIR'DesignFormimuminder:True StopbandFrequency:8000 PassbandRequency:12000 STOPBANDANTENUATY:80 PASTBANDRIPPLE:0.1000 SAMPLEDE:44100显示所有属性
HPFMeas =测量(高通滤波器)
HPFMEAS =采样率:44.1 kHz停滞边缘:8 kHz 6-dB点:10.418 kHz 3-dB点:10.8594 kHz通带边缘:12 kHz停滞耐动力。:81.8558 DB通带纹波:0.08066 DB过渡宽度:4 kHz

算法

全部展开

参考文献

Shpak, d.j.和A. Antoniou。“FIR数字滤波器设计的广义雷米兹方法”。IEEE®电路和系统的事务.第37卷第2期,1990年2月,161-174页。

[2] Selesnick,I.W.和C. S. Burrus。“补充PARKS-MCCLELLAN算法的交换算法,用于线性相位FIR滤波器设计。”《IEEE电路与系统汇刊》.第44卷第2期1997年2月137-143页

扩展功能

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

在R2015A介绍