Highpass Filter
设计 FIR 或 IIR 高通滤波器
库:
DSP System Toolbox /
Filtering /
Filter Designs
描述
Highpass Filter 模块使用给定的设计设定,随时间对输入信号的每个通道独立进行滤波。您可以使用滤波器类型参数控制该模块是实现 IIR 还是 FIR 高通滤波器。您可以以 Hz 为单位或以归一化频率单位 (自 R2023a 起)指定通带和阻带边缘频率。
此模块支持 ARM® Cortex® 代码生成。在某些条件下,此模块还支持 SIMD 代码生成。有关详细信息,请参阅代码生成。
示例
使用 Highpass Filter 模块对正弦信号进行高通滤波。在频谱分析仪中绘制原始信号和滤波后信号的频谱。
打开并检查 HighpassFilterSinusoid.slx 模型。输入是具有 1 kHz 和 15 kHz 音调的含噪正弦信号。输入信号的采样率为 44.1 kHz。添加的噪声为高斯白噪声,均值为 0,方差为 0.05。
高通滤波器是一个最小阶滤波器,其阻带边缘频率为 8 kHz,通带边缘频率为 12 kHz。在模块对话框中指定输入信号的采样率。
运行模型并在频谱分析仪中查看滤波后的输出。1 kHz 的音调发生了衰减,而 15 kHz 的音调不受影响。


从采样率固定但未知的音频信号中滤除 1.5 kHz 以下的所有频率。
打开并检查 HighpassFilterAudioSignal.slx 模型。输入是其采样率未知的语音信号。Highpass Filter 模块具有 1.5 kHz 的通带边缘频率。模块对话框中的采样率模式参数默认设置为 Inherit from input port,因此该模块从其输入端口继承语音信号的采样率。
运行模型。在频谱分析仪中查看输入信号和滤波后输出的频谱。


对其采样率和帧大小在仿真期间变化的正弦信号进行高通滤波。
打开并检查 HighpassFilterVarSizeSinSignal.slx 模型。输入可以是两个正弦信号之一。第一个正弦信号是 1 kHz 正弦波,采样率为 44100 Hz,帧大小为 256。第二个正弦信号是 10 kHz 正弦波,采样率为 22050 Hz,帧大小为 128。这两个信号的帧周期相同(256/44100 或 128/22050)。有关采样率和帧周期的详细信息,请参阅Sample- and Frame-Based Concepts。使用手动开关,您可以控制哪个正弦波是 Highpass Filter 模块的输入。
由于输入采样率在仿真期间会发生变化,因此请以归一化频率单位指定 Highpass Filter 模块的频率设定。为此,请将 Highpass Filter 模块对话框中的采样率模式参数设置为 Use normalized frequency (0 to 1)。现在将高通滤波器的通带边缘频率设置为 0.5(采用归一化频率单位)。
运行模型。在频谱分析仪中查看输入和滤波后输出的频谱。


这是当您选择第二个正弦信号时的滤波后输出。

端口
输入
输入信号,指定为实数值或复数值列向量或矩阵。如果输入信号是矩阵,则该矩阵的每列被视为一个独立通道。输入信号中的行数表示通道长度。
数据类型: single | double | fixed point
复数支持: 是
输出
滤波后的信号,以向量或矩阵形式返回。输出具有与输入相同的大小和复/实性特征。如果输出具有定点数据类型,则它始终为有符号。
数据类型: single | double | fixed point
复数支持: 是
参数
主要
指定模块是实现 FIR 高通滤波器还是 IIR 高通滤波器。
当您选中此复选框时,模块设计一个具有最小阶的滤波器。当您清除此复选框时,您可以将滤波器阶数指定为正整数。
将高通滤波器的阶数指定为正整数。
依赖关系
要启用此参数,请清除设计最小阶滤波器复选框。
以 Hz 为单位或以归一化频率单位 (自 R2023a 起)将高通滤波器的阻带边缘频率指定为正实数标量。
如果您将采样率模式参数设置为:
在对话框上指定或从输入端口继承 - 阻带边缘频率的值以 Hz 为单位,并且必须小于通带边缘频率。
使用归一化频率(0 到 1) - 阻带边缘频率的值采用归一化频率单位。该值必须为小于通带边缘频率的正标量。
(自 R2023a 起)
依赖关系
要启用此参数,请选中设计最小阶滤波器复选框。
以 Hz 为单位或以归一化频率单位 (自 R2023a 起)将高通滤波器的通带边缘频率指定为正实数标量。
如果您将采样率模式参数设置为:
在对话框上指定或从输入端口继承 - 通带边缘频率的值以 Hz 为单位,且必须小于输入采样率值的一半。
使用归一化频率(0 到 1) - 通带边缘频率的值采用归一化频率单位。该值必须为小于
1.0的正标量。
(自 R2023a 起)
将阻带中的最小衰减指定为正实数标量(以 dB 为单位)。
将通带中的滤波器响应的最大波纹指定为正实数标量(以 dB 为单位)。
自 R2023a 起
使用以下选项之一指定输入采样率:
使用归一化频率(0 到 1) - 以归一化频率单位(0 到 1)指定通带边缘频率和阻带边缘频率。
在对话框上指定 - 使用输入采样率(Hz) 参数在模块对话框中指定输入采样率。
从输入端口继承 - 模块从输入信号继承采样率。
将输入采样率指定为标量(以 Hz 为单位)。
依赖关系
要启用此参数,请将采样率模式参数设置为在对话框上指定。 (自 R2023a 起)
要运行的仿真的类型:
解释执行(默认值)
使用 MATLAB® 解释器对模型进行仿真。此选项会缩短启动时间,但仿真速度比代码生成慢。
代码生成
使用生成的 C 代码对模型进行仿真。第一次运行仿真时,Simulink® 会为该模块生成 C 代码。只要模型不变,C 代码就会在后续仿真中重用。此选项会增加启动时间,但仿真速度比解释执行更快。
打开滤波器可视化工具 (fvtool) 并显示高通滤波器的幅值/相位响应。响应基于模块对话框参数。对这些参数所做的更改会更新 FVTool。

要在 FVTool 运行时更新幅值响应,请修改对话框参数并点击应用。
数据类型
输出定点运算的舍入方法。
系数的定点数据类型,指定为以下项之一:
fixdt(1,16) - 字长为
16且具有二进制小数点定标的有符号定点数据类型。模块根据系数值自动确定小数长度,以使系数占据最大可表示范围而不发生溢出。fixdt(1,16,0) - 字长为
16且小数长度为0的有符号定点数据类型。您可以将小数长度更改为任何其他整数值。<数据类型表达式> - 使用计算结果为数据类型对象的表达式指定数据类型,例如,数值类型 (
fixdt([ ],16,15))。将此数据类型的符号模式指定为[ ]或true。Refresh Data Type- 刷新为默认数据类型。
点击显示数据类型助手按钮
以显示数据类型助手,它可帮助您设置数据类型。有关详细信息,请参阅使用数据类型助手指定数据类型 (Simulink)。
模块特性
数据类型 |
|
直接馈通 |
|
多维信号 |
|
可变大小信号 |
|
过零检测 |
|
算法
对于最小阶设计,算法使用广义 Remez FIR 滤波器设计算法。对于指定阶设计,算法使用约束等波纹 FIR 滤波器设计算法。然后,设计的滤波器实现为一个具有 Direct form 结构的线性相位 1 型滤波器。
在 IIR 配置中,算法使用椭圆设计方法计算满足滤波器设计设定所需的 SOS 和定标值。算法使用 SOS 和定标值设置 Direct form I 双二次 IIR 滤波器,这构成高通滤波器 IIR 版本的基础。
扩展功能
Highpass Filter 模块支持 ARM Cortex 代码生成。要了解有关 ARM Cortex 代码生成的更多信息,请参阅基于 ARM Cortex-M 和 ARM Cortex-A 处理器的代码生成。
Highpass Filter 模块还支持在以下情况下使用 Intel AVX2 代码替换库生成 SIMD 代码:
滤波器类型设置为 FIR。
输入信号的数据类型为
single或double。
SIMD 技术显著提高了生成代码的性能。有关详细信息,请参阅SIMD 代码生成。要从此模块生成 SIMD 代码,请参阅Use Intel AVX2 Code Replacement Library to Generate SIMD Code from Simulink Blocks。
版本历史记录
在 R2015b 中推出当您将采样率模式参数设置为使用归一化频率(0 到 1) 时,您可以使用归一化频率单位(0 至 1)指定通带和阻带边缘频率。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
- América Latina (Español)
- Canada (English)
- United States (English)
欧洲
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)