主要内容

Highpass Filter

设计 FIR 或 IIR 高通滤波器

  • Highpass Filter block

库:
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)

模块特性

数据类型

double | fixed point | integer | single

直接馈通

多维信号

可变大小信号

过零检测

算法

全部展开

扩展功能

全部展开

版本历史记录

在 R2015b 中推出

全部展开