主要内容

设计并实现滤波器

使用 Digital Filter Design 模块设计一个数字低通滤波器,并将该模块纳入到您的模型中,以仿真低频噪声的存在。

您可以使用 Digital Filter Design 模块来设计低通、高通、带通和带阻滤波器。这些模块能够计算各种滤波器结构的滤波器系数。本主题使用 Digital Filter Design 模块将白噪声转换为低频噪声,以便您可以仿真其对系统的影响。

在实际应用中,假设一名飞行员正在飞机座舱内对着麦克风讲话。风吹过机身的噪声也传到麦克风。传感器正在测量飞机外部的风噪声。您要估计座舱内的风噪声,并从麦克风的输入中将其减去,以便只传输飞行员的声音。

在本主题的第一节中,您将学习如何对到达麦克风的低频噪声进行建模。在本主题的第二节中,您将学习如何消除这种噪声,以便只听到飞行员的声音。

在 Simulink 中设计数字滤波器

在本节中,您将使用 Digital Filter Design 模块来创建低频噪声,以对座舱内的风噪声进行建模。

打开 ex_gstut3 模型。此模型包含一个 Scope 模块,该模块显示原始正弦波和添加了白噪声的正弦波。

gstut3.png

在 MATLAB® 命令提示符下键入 dsplib,以打开 DSP System Toolbox™ 库。

通过在模型中引入一个 Digital Filter Design 模块,将白噪声转换为低频噪声。在飞机场景中,经过机身的空气会产生白噪声,该噪声由传感器测量。这种噪声可使用 Random Source 模块进行建模。飞机的机身将这种白噪声转换为低频噪声,这是一种有色噪声,在座舱内可以听到。这种噪声只包含特定频率,很难消除。此示例中,您将使用 Digital Filter Design 模块对低频噪声进行建模。此模块使用滤波器设计和分析工具 (FDATool) 的功能来设计滤波器。

双击 Filtering 库,然后双击 Filter Implementations 子库。点击 Digital Filter Design 模块并将其拖入您的模型中。

gstut3_sep_filter.png

设置 Digital Filter Design 模块参数,以设计低通滤波器并生成低频噪声。双击模块以打开模块参数对话框。按如下方式设置参数:

  • 响应类型 = Lowpass

  • 设计方法 = FIR。从列表中选择 Window

  • 滤波器阶数 = 指定阶数并输入 31。

  • 清除缩放通带

  • = Hamming

  • 单位 = Normalized (0 to 1)

  • wc = 0.5

基于这些参数,Digital Filter Design 模块设计了一个具有 32 个系数和截止频率为 0.5 的低通 FIR 滤波器。该模块将滤波器的时域响应乘以一个包含 32 个采样的汉明窗。

点击对话框底部中间的设计滤波器,在幅值响应窗格中查看滤波器的幅值响应。现在,“数字滤波器设计”对话框的外观应如下图所示。

gs_filtering2.png

现在,您已使用 Digital Filter Design 模块设计了一个数字低通滤波器。

您可以使用 Digital Filter Design 模块进行试验以设计自己的滤波器。有关模块功能的详细信息,请参阅 Digital Filter Design 模块参考页。

向您的模型添加数字滤波器

在本节中,您要将在在 Simulink 中设计数字滤波器中设计的低通滤波器添加到模块图中。使用此滤波器(用于将白噪声转换为有色噪声)对座舱内的低频风噪声进行仿真:

如果您在在 Simulink 中设计数字滤波器中创建的模型没有在您的桌面上打开,请打开 ex_gstut4,它是等效模型。

gstut4.png

通过将 Digital Filter Design 模块置于 Random Source 模块和 Sum 模块之间,将其纳入到您的模块图中。

gstut4_connected_filter.png

运行模型并在示波器窗口中查看结果。此窗口显示原始输入信号和添加了低频噪声的信号。

signal_with_low_freq_noise.png

现在,您已构建一个数字滤波器,并使用它对信号中的有色噪声进行了建模。这类似于对传到飞机座舱中麦克风的低频噪声进行建模。现在,您已在系统中添加了噪声,可以尝试使用一些方法来消除它。

另请参阅

模块

主题