dsp。HighpassFilter
FIR或IIR高通滤波器
描述
的dsp。HighpassFilter
系统对象™使用给定的设计规范随时间独立地过滤输入的每个通道。您可以设置FilterType
的属性dsp。HighpassFilter
来“杉”
或“信息检索”
将对象实现为FIR或IIR高通滤波器。
要过滤输入的每个通道:
创建
dsp。HighpassFilter
对象并设置其属性。使用参数调用对象,就像调用函数一样。
有关系统对象如何工作的详细信息,请参见什么是系统对象?
创建
描述
返回一个最小阶FIR高通滤波器,高通滤波器
= dsp。HighpassFilter高通滤波器
,使用默认筛选器设置。使用默认属性设置调用对象将过滤输入数据,其阻带频率为8
的通频带频率12
千赫时,阻带衰减为80
的通带纹波0.1
dB。
返回一个高通过滤器,带有一个或多个指定的附加属性高通滤波器
= dsp。HighpassFilter (名称,值
)名称,值
对参数。的名字
属性名称和价值
对应的值。的名字
必须出现在单引号(' ')内。您可以以任意顺序指定多个名称-值对参数Name1, Value1,…,的家
.
属性
除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放
功能解锁它们。
如果属性为可调,您可以随时更改其值。
有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计.
SampleRate
- - - - - -输入抽样率
44100
(默认)|正实标量
输入采样率(以Hz为单位),由逗号分隔的对组成“SampleRate”
和一个正的实标量。
数据类型:单
|双
FilterType
- - - - - -过滤器类型
“杉”
(默认)|“信息检索”
过滤器类型,指定为以下选项之一:
“杉”
-目标设计一个FIR高通滤波器。“信息检索”
—该对象设计一个IIR高通(双向)滤波器。
DesignForMinimumOrder
- - - - - -最小阶滤波器设计
真正的
(默认)|假
最小阶滤波器设计,指定为由逗号分隔的对组成“DesignForMinimumOrder”
和一个逻辑值。如果此属性为真正的
,然后dsp。HighpassFilter
设计满足通带频率、阻带频率、通带纹波和阻带衰减规格的最小阶数滤波器。使用相应的属性设置这些规范。如果此属性为假
对象中指定的顺序设计筛选器FilterOrder
财产。此滤波器设计满足使用各自属性设置的通带频率、通带纹波和阻带衰减规范。
FilterOrder
- - - - - -FIR或IIR滤波器的顺序
50
(默认)|正整数标量
FIR或IIR滤波器的顺序,指定为由逗号分隔的对组成“FilterOrder”
一个正整数标量。
依赖关系
的值时,指定筛选器顺序才有效“DesignForMinimumOrder”
是假
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
StopbandFrequency
- - - - - -滤波器阻带边频
8000
(默认)|实正标量
滤波器阻带边频,以Hz为单位,由逗号分隔的对组成“StopbandFrequency”
这是一个正标量。阻带边频率(以Hz为单位)必须小于通带频率。
依赖关系
只能在以下情况下指定阻带边频率“DesignForMinimumOrder”
是真正的
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
PassbandFrequency
- - - - - -滤波器通带边频
12000
(默认)|实正标量
滤波器通带边频,以Hz为单位,由逗号分隔的对组成“PassbandFrequency”
这是一个正标量。通带边频的值(以Hz为单位)必须小于一半SampleRate
并且大于StopbandFrequency
.
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
StopbandAttenuation
- - - - - -阻带内衰减最小
80
(默认)|实正标量
阻带中的最小衰减,以dB为单位,由逗号分隔的对组成“StopbandAttenuation”
这是一个正标量。最小衰减在阻带默认为80
dB。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
PassbandRipple
- - - - - -通带内滤波器响应的最大纹波
0.1
(默认)|实正标量
通带中滤波器响应的最大纹波,以dB为单位,指定为逗号分隔的对,由“PassbandRipple”
这是一个正标量。过滤器响应的最大纹波默认为0.1
dB。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
RoundingMethod
- - - - - -输出定点操作的舍入方法
“地板”
(默认)|“天花板”
|“收敛”
|“最近的”
|“圆”
|“简单”
|“零”
用于输出定点操作的舍入方法,指定为字符向量。有关舍入模式的详细信息,请参见精度和范围.
CoefficientsDataType
- - - - - -系数的字和分数长度
numerictype ([], 16)
(默认)|numerictype
对象
系数的字和分数长度,指定为anumerictype
对象。默认的,numerictype (16)
对应于具有16位系数和基于系数值确定的分数长度的有符号数字类型对象,以提供尽可能高的精度。
此属性不可调。
输出的单词长度与输入的单词长度相同。计算输出的部分长度,以便输出的整个动态范围可以表示而不溢出。有关如何计算输出的分数长度的详细信息,请参见FIR滤波器中避免溢出的定点精度规则.
使用
语法
输入参数
x
- - - - - -噪声数据输入
向量|矩阵
有噪声的数据输入,指定为向量或矩阵。如果输入信号是一个矩阵,矩阵的每一列都被视为一个独立的通道。输入信号中的行数表示通道长度。该对象接受可变大小的输入。对象锁定后,您可以更改每个输入通道的大小,但不能更改通道的数量。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|fi
复数支持:金宝app是的
输出参数
y
-过滤输出
向量|矩阵
过滤后的输出,作为向量或矩阵返回。输出具有与输入相同的大小、数据类型和复杂性特征。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|fi
复数支持:金宝app是的
对象的功能
要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj
,使用这种语法:
发行版(obj)
例子
FIR和IIR高通滤波器的脉冲和频率响应
为44.1 kHz采样数据创建最小阶FIR高通滤波器。指定12 kHz的通带频率,8 kHz的阻带频率,0.1 dB的通带纹波和80 dB的阻带衰减。
Fs = 44.11 e3;filtertype =“杉”;Fpass = 12e3;Fstop = 8e3;Rp = 0.1;stop = 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)
用IIR高通滤波器滤除高斯白噪声
请注意:如果您正在使用R2016a或更早的版本,请使用等效的步骤语法替换对对象的每个调用。例如,obj (x)
就变成了步骤(obj, x)
.
设置IIR高通滤波器。高斯白噪声的采样率为44100 Hz。该滤波器的通带频率为12 kHz,阻带频率为8 kHz,通带纹波为0.1 dB,阻带衰减为80 dB。
Fs = 44.11 e3;filtertype =“信息检索”;Fpass = 12e3;Fstop = 8e3;Rp = 0.1;stop = 80;HPF = dsp。HighpassFilter (“SampleRate”Fs,...“FilterType”filtertype,...“PassbandFrequency”成就,...“StopbandFrequency”Fstop,...“PassbandRipple”Rp,...“StopbandAttenuation”, Astop);
查看高通滤波器的幅值响应。
fvtool(高通滤波器)
创建频谱分析仪对象。
光谱分析仪(“SampleRate”, 44.1 e3,...“PlotAsTwoSidedSpectrum”假的,“ShowLegend”,真的,“YLimits”,...30 [-150],...“标题”,...IIR高通滤波器的输入信号和输出信号);sa。ChannelNames = {“输入”,“输出”};
对输入的白色高斯噪声信号进行滤波。通过频谱分析仪查看输入输出信号。
为k = 1:100 Input = randn(1024,1);输出= hpf(输入);sa((输入、输出));结束
测量高通滤波器的频响特性
测量高通滤波器的频率响应特性。创建一个dsp。HighpassFilter
具有默认属性的系统对象。测量滤波器的频响特性。
HPF = dsp。HighpassFilter
HPF = dsp。HighpassFilter with properties: FilterType: 'FIR' DesignForMinimumOrder: true StopbandFrequency: 8000 PassbandFrequency: 12000 stopband衰减:80 PassbandRipple: 0.1000 SampleRate: 44100显示所有属性
测量(HPF)
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
算法
FIR高通滤波器
当FilterType
属性设置为“杉”
,dsp。HighpassFilter
对象作为FIR高通滤波器。在这个构型中,dsp。HighpassFilter
有替代使用的方法吗firceqrip
而且firgr
与dsp。FIRFilter
.该对象将两步过程浓缩为一个步骤。对于最小阶设计,对象采用广义Remez FIR滤波器设计算法。对于指定阶数的设计,对象采用了约束等纹波FIR滤波器设计算法。然后将所设计的滤波器实现为线性相位Type-1滤波器直接的形式
结构。你可以使用测量
验证设计是否符合规定的规格。
IIR高通滤波器
当FilterType
属性设置为“信息检索”
,dsp。HighpassFilter
对象作为IIR高通滤波器。在此配置中,该对象使用椭圆设计方法来计算满足滤波器设计规范所需的SOS和缩放值。对象使用SOS和缩放值来设置直接形式I
双二次型IIR滤波器,它构成了IIR版本的基础dsp。HighpassFilter
系统对象。你可以使用测量
验证设计是否符合规定的规格。
参考文献
[1] Shpak, d.j.和A. Antoniou。一种用于FIR数字滤波器设计的广义Remez方法。IEEE®电路与系统汇刊.第37卷第2期,1990年2月,第161-174页。
[2]塞莱斯尼克,i.w.和c.s.伯勒斯。“交换算法补充了线性相位FIR滤波器设计的Parks-McClellan算法。”IEEE电路与系统汇刊.第44卷,第2期,1997年2月,第137-143页
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
看到系统对象在MATLAB代码生成(MATLAB编码器).
该对象支持ARM的代码生金宝app成®皮质®ARM Cortex-A处理器。了解更多手臂皮层代码生成,请参见ARM Cortex-M和ARM Cortex-A处理器的代码生成.
该对象还支持在以下条件下使用Int金宝appel AVX2技术生成SIMD代码:
FilterType
设置为“杉”
.输入信号的数据类型为
单
或双
.
SIMD技术显著提高了生成代码的性能。
HDL代码生成
使用HDL Coder™为FPGA和ASIC设计生成Verilog和VHDL代码。
该对象支持使用Filte金宝appr Design HDL Coder™产品生成HDL代码。有关工作流和限制,请参见生成过滤系统对象的HDL代码(Filter Design HDL Coder).
版本历史
Matlabコマンド
次のmatlabコマンドに対応するリンクがクリックされました。
コマンドをmatlabコマンドウィンドウに入力して実行してください。Webブラウザ,はMATLABコマンドをサポ,トしていません。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。