主要内容

dsp。HighpassFilter

FIR或IIR高通滤波器

描述

这个dsp。HighpassFilter随着时间的推移,系统对象™使用给定的设计规范独立地过滤输入的每个通道。您可以设置过滤器类型性质dsp。HighpassFilter“冷杉”“信息检索”将对象实现为FIR或IIR高通滤波器。

过滤你输入的每个通道:

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

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

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

创建

描述

HPF= dsp。HighpassFilter返回最小阶FIR高通滤波器,HPF,使用默认筛选器设置。使用默认属性设置调用对象时,将过滤停止频带频率为的输入数据8.kHz,通频带频率12的阻带衰减80dB,通带纹波为0.1dB。

实例

HPF=dsp.HighpassFilter(名称,值)返回高通过滤器,带有由一个或多个指定的附加属性名称,值对参数。的名字属性名和价值为对应值。的名字必须出现在单引号内(' ')。可以以任意顺序指定多个名称-值对参数Name1, Value1,…,的家

属性

全部展开

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

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

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

以Hz为单位的输入采样率,指定为逗号分隔对,包括“SampleRate”一个正的实标量。

数据类型:|

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

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

  • “信息检索”-该对象设计了一个IIR高通(双四阶)滤波器。

最小阶滤波器设计,由指定的逗号分隔对组成“DesignForMinimumOrder”和一个逻辑值。如果这个属性是真正的然后dsp。HighpassFilter设计符合通带频率、阻带频率、通带纹波和阻带衰减规格的最小阶滤波器。使用相应的属性设置这些规范。如果这个属性是错误的,则对象将按照您在中指定的顺序设计过滤器FilterOrder所有物此滤波器设计符合使用相应属性设置的通带频率、通带纹波和阻带衰减规格。

FIR或IIR滤波器的顺序,指定为逗号分隔对,由“FilterOrder”一个正整数标量。

依赖关系

的值仅在指定筛选顺序时有效“DesignForMinimumOrder”错误的

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

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

依赖关系

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

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

滤波器通带边缘频率,单位为Hz,指定为逗号分隔对,包括“PassbandFrequency”和一个实的正标量。以Hz为单位的通带边缘频率值必须小于SampleRate和更大的比StopbandFrequency

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

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

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

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

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

定点属性

输出定点操作的舍入方法,指定为字符向量。有关舍入模式的详细信息,请参阅精度和范围

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

此属性不可调。

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

使用

语法

描述

实例

Y=HPF(x)高通滤波输入信号,xY是的高通过滤版本x

输入参数

全部展开

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

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

输出参数

全部展开

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

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

目标函数

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

发行版(obj)

全部展开

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

例子

全部折叠

创建一个最小阶FIR高通滤波器的数据采样在44.1 kHz。指定通频带频率为12 kHz,阻频带频率为8 kHz,通频带纹波为0.1 dB,阻频带衰减为80 dB。

Fs = 44.1 e3;filtertype =“冷杉”; Fpass=12e3;Fstop=8e3;Rp=0.1;Astop=80;FIRHPF=dsp.HighpassFilter(“SampleRate”Fs,...“FilterType”filtertype,...“PassbandFrequency”成就,...“阻带频率”Fstop,...“通带波纹”Rp,...“StopbandAttenuation”, Astop);

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

IIRHPF =克隆(FIRHPF);IIRHPF。FilterType =“信息检索”

绘制FIR高通滤波器的脉冲响应。零阶系数被延迟19个样本,等于滤波器的群延迟。FIR高通滤波器是一种因果FIR滤波器

fvtool (FIRHPF“分析”,“冲动”)

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

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

fvtool (IIRHPF“分析”,“冲动”)

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

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

fvtool (FIRHPF“分析”,“频率”)

Figure Filter Visualization Tool-幅值响应(dB)和相位响应包含轴对象和uitoolbar、uimenu类型的其他对象。标题为幅值响应(dB)和相位响应的轴对象包含line类型的对象。

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

fvtool (IIRHPF“分析”,“频率”)

Figure Filter Visualization Tool-幅值响应(dB)和相位响应包含轴对象和uitoolbar、uimenu类型的其他对象。标题为幅值响应(dB)和相位响应的轴对象包含line类型的对象。

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

成本(FIRHPF)
ans=结构体字段:NumCoefficients: 39 NumStates: 38 MultiplicationsPerInputSample: 39 AdditionsPerInputSample: 38

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

成本(IIRHPF)
ans=结构体字段:NumCoefficients:18个NumStates:14乘法PRinputSample:18加法PRinputSample:14

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

grpdelay (FIRHPF)

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

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

grpdelay (IIRHPF)

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

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

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

Fs = 44.1 e3;filtertype =“信息检索”;成就= 12 e3;Fstop = 8 e3;Rp = 0.1;Astop = 80;高通滤波器= dsp。HighpassFilter (“SampleRate”Fs,...“FilterType”filtertype,...“PassbandFrequency”成就,...“阻带频率”Fstop,...“通带波纹”Rp,...“StopbandAttenuation”, Astop);

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

fvtool(高通滤波器)

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

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

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

对于Input = randn(1024,1);输出=高通滤波器(输入);sa((输入、输出));终止

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

HPF=dsp.HighpassFilter
HPF=dsp.HighpassFilter具有properties: FilterType: 'FIR' DesignForMinimumOrder: true StopbandFrequency: 8000 PassbandFrequency: 12000 StopbandAttenuation: 80 PassbandRipple: 0.1000 SampleRate: 44100 Show all properties
HPFMeas=测量值(HPF)
HPFMeas =采样率:44.1 kHz阻带边缘:8 kHz 6-dB点:10.418 kHz 3-dB点:10.8594 kHz通带边缘:12 kHz阻带Atten。: 81.8558 dB通带纹波:0.08066 dB过渡宽度:4 kHz

算法

全部展开

参考文献

[1] 设计FIR数字滤波器的广义Remez方法IEEE®《电路与系统汇刊》.第37卷第2期,1990年2月,161-174页。

塞勒斯尼克,i.w.和c.s.伯拉斯。“用于线性相位FIR滤波器设计的Parks-McClellan算法的补充交换算法。”《IEEE电路与系统汇刊》第44卷,第2期,1997年2月,第137-143页。

扩展功能

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

介绍了R2015a