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


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


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


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

扩展示例
Obtain Measurements Data Programmatically for Spectrum Analyzer Block
Obtain measurements data from Spectrum Analyzer block.
端口
输入
输入信号,指定为实数值或复数值列向量或矩阵。如果输入信号是矩阵,则该矩阵的每列被视为一个独立通道。输入信号中的行数表示通道长度。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
复数支持: 是
输出
滤波后的信号,以向量或矩阵形式返回。输出具有与输入相同的大小、数据类型和复/实性特征。
数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | fixed point
复数支持: 是
参数
主要
指定该模块是实现 FIR 低通滤波器还是 IIR 低通滤波器。
当您选中此复选框时,此模块设计一个具有最小阶且指定了通带、阻带频率、通带波纹和阻带衰减的滤波器。
当您清除此复选框时,您可以将滤波器阶数指定为正整数。
将低通滤波器的阶数指定为正整数。
依赖关系
要启用此参数,请清除设计最小阶滤波器复选框。
以 Hz 为单位或以归一化频率单位 (自 R2023a 起)将低通滤波器的通带边缘频率指定为正实数标量。
如果您将采样率模式参数设置为:
在对话框上指定或从输入端口继承 - 通带边缘频率的值以 Hz 为单位,且必须小于输入采样率值的一半。
使用归一化频率(0 到 1) - 通带边缘频率的值采用归一化频率单位。该值必须为小于
1.0的正标量。
(自 R2023a 起)
以 Hz 为单位或以归一化频率单位 (自 R2023a 起)将低通滤波器的阻带边缘频率指定为正实数标量。
如果您将采样率模式参数设置为:
在对话框中指定或从输入端口继承 - 阻带边缘频率的值以 Hz 为单位,且必须小于输入采样率值的一半。
使用归一化频率(0 到 1) - 阻带边缘频率的值采用归一化频率单位。该值必须为小于
1.0的正标量。
(自 R2023a 起)
依赖关系
要启用此参数,请选中设计最小阶滤波器复选框。
将通带中的滤波器响应的最大波纹指定为正实数标量(以 dB 为单位)。
将阻带中的最小衰减指定为正实数标量(以 dB 为单位)。
自 R2023a 起
使用以下选项之一指定输入采样率:
使用归一化频率(0 到 1) - 以归一化频率单位(0 到 1)指定通带边缘频率和阻带边缘频率。
在对话框上指定 - 使用输入采样率(Hz) 参数在模块对话框中指定输入采样率。
从输入端口继承 - 模块从输入信号继承采样率。
将输入采样率指定为标量(以 Hz 为单位)。
依赖关系
要启用此参数,请将采样率模式参数设置为在对话框上指定。 (自 R2023a 起)
打开滤波器可视化工具 (fvtool) 并显示 Lowpass Filter 的幅值和相位响应。响应基于模块对话框参数。对这些参数所做的更改会更新 FVTool。

要在 FVTool 运行时更新幅值响应,请修改对话框参数并点击应用。
要运行的仿真的类型:
解释执行(默认值)
使用 MATLAB® 解释器对模型进行仿真。此选项会缩短启动时间,但仿真速度比代码生成慢。
代码生成
使用生成的 C 代码对模型进行仿真。第一次运行仿真时,Simulink® 会为该模块生成 C 代码。只要模型不变,C 代码就会在后续仿真中重用。此选项会增加启动时间,但仿真速度比解释执行更快。
数据类型
输出定点运算的舍入方法。
系数的定点数据类型,指定为以下项之一:
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 版本的基础。
扩展功能
Lowpass Filter 模块支持 ARM Cortex 代码生成。要了解有关 ARM Cortex 代码生成的更多信息,请参阅基于 ARM Cortex-M 和 ARM Cortex-A 处理器的代码生成。
Lowpass 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)

