文档

dsp。HighpassFilter

FIR或IIR高通滤波器

描述

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

要过滤输入的每个通道:

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

  2. 调用带有参数的对象,就像调用函数一样。

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

创建

描述

高通滤波器= dsp。HighpassFilter返回一个最小阶FIR高通滤波器,高通滤波器,使用默认的筛选设置。调用带有默认属性设置的对象会过滤输入数据,屏蔽频带频率为8的通频带频率12的阻带衰减80的通带波纹0.1dB。

例子

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

属性

全部展开

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

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

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

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

数据类型:|

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

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

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

最小序滤波器设计,指定为逗号分隔对组成“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,指定为逗号分隔的对,由“PassbandFrequency”和一个实数正的标量。通带边缘频率的值(以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 (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对象指定为第一个输入参数。例如,释放名为obj,使用以下语法:

发行版(obj)

全部展开

freqz 滤波器的频率响应
fvtool 可视化DSP滤波器的频率响应
impz 离散时间滤波器的脉冲响应系统对象
信息 filter系统对象信息
多项式系数 滤波器系数
成本 估计实现过滤器系统对象的成本
grpdelay 离散时间滤波器的群时延响应系统对象
generatehdl 生成量化DSP滤波器的HDL代码(需要filter Design HDL Coder)
测量 测量滤波器系统对象的频响特性
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置系统对象的内部状态

例子

全部展开

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

Fs = 44.1e3;filtertype =“杉”;Fpass = 12e3;Fstop = 8e3;Rp = 0.1;停止= 80;FIRHPF = dsp。HighpassFilter (“SampleRate”Fs,“FilterType”filtertype,“PassbandFrequency”成就,“StopbandFrequency”Fstop,“PassbandRipple”Rp,“StopbandAttenuation”, Astop);

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

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

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

fvtool (FIRHPF“分析”“冲动”

画出IIR高通滤波器的脉冲响应。

fvtool (IIRHPF“分析”“冲动”

画出FIR高通滤波器的幅值和相位响应。

fvtool (FIRHPF“分析”“频率”

画出IIR高通滤波器的幅值和相位响应。

fvtool (IIRHPF“分析”“频率”

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

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

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

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

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

grpdelay (FIRHPF)

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

grpdelay (IIRHPF)

请注意:本例仅在R2016b或更高版本中运行。如果您使用的是较早的版本,请将对函数的每次调用替换为等效函数一步语法。例如,myObject(x)变成step(myObject,x)。

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

Fs = 44.1e3;filtertype =“信息检索”;Fpass = 12e3;Fstop = 8e3;Rp = 0.1;停止= 80;HPF = dsp。HighpassFilter (“SampleRate”Fs,“FilterType”filtertype,“PassbandFrequency”成就,“StopbandFrequency”Fstop,“PassbandRipple”Rp,“StopbandAttenuation”, Astop);

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

fvtool(高通滤波器)

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

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

对白色高斯噪声输入信号进行滤波。使用频谱分析仪查看输入和输出信号。

k = 1:100输入= randn(1024,1);输出= hpf(输入);sa((输入、输出));结束

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

HPF = dsp。HighpassFilter
HPF = dsp。HighpassFilter属性:FilterType: 'FIR' DesignForMinimumOrder: true StopbandFrequency: 8000 PassbandFrequency: 12000 stopbanddamping: 80 PassbandRipple: 0.1000 SampleRate: 44100显示所有属性
测量法
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

算法

全部展开

参考文献

沙帕克,d.j.和安东尼。设计FIR数字滤波器的广义雷米兹方法IEEE®电路与系统汇刊.第37卷,第2期,1990年2月,第161-174页。

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

扩展功能

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

在R2015a中介绍