2026a

# 滤波器设计工具


通过算法选择设计指定滤波器

# 描述

滤波器设计工具应用程序使您能够设计和分析离散数字滤波器。通过此应用程序,您可以:

  • 选择滤波器响应类型和滤波器设计方法进行滤波器设计;

  • 查看各类滤波器响应;

  • 将滤波器系数导出至 Syslab 工作区、文本文件以及 MAT 文件。

详细信息,请参见滤波器设计工具简介

# 启动方式

  • 在 Syslab 命令行窗口输入并执行以下指令;
import TyFilterDesigner.filterDesigner; filterDesigner()
  • 在 App 选项卡中,单击 Filter Designer 按钮

提示

滤波器设计工具要求屏幕分辨率大于 1000 × 800。

相比于单机版滤波器设计工具,Online 版滤波器设计工具去除了菜单栏,添加了分析参数设置及多速率滤波器设计功能。

# 示例

非对称衰减 FIR 带通滤波器

使用滤波器设计工具设计一种阶数为 50 的等波纹 FIR 带通滤波器用于以 1 kHz 采样的信号。

N = 50
Fs = 1000

指定通带频率为 200 - 300 Hz,两侧的过渡区域宽度为 50 Hz。

Fstop1 = 150
Fpass1 = 200
Fpass2 = 300
Fstop2 = 350

为优化匹配指定权重:

  • 低频阻带权重设置为 3;

  • 通带权重设置为 1;

  • 高频阻带权重设置为 100。

通过 App 选项卡打开滤波器设计工具。

Wstop1 = 3
Wpass = 1
Wstop2 = 100

使用滤波器设计工具来设计滤波器的其余部分,并使用上述数值来指定滤波器的频率约束和幅值约束。

  1. 响应类型区域的下拉菜单中选择带通

  2. 设计方法设置为 FIR ,并从下拉列表中选择等波纹

  3. 滤波器阶数区域中选择指定阶,并输入 50

  4. FIR 等波纹滤波器有一个密度因子选项,将此值保留为 20

  5. 频率设定区域中,在单位下拉菜单中选择 Hz,为 Fs 输入 1000,为 Fstop1 输入 150,为 Fpass1 输入 200, 为 Fpass2 输入 300, 为 Fstop2 输入 350

  6. 幅值设定区域中,为 Wstop1 输入 3,为 Wpass 输入 1, 为 Wstop2 输入 100

  7. 完成设计设定后,单击 GUI 底部的设计滤波器按钮来进行滤波器设计;

  8. 若当前处于滤波器设定展示界面,则设计完成后自动跳转至幅值响应展示界;若当前不处于滤波器设定展示界面,则单击工具栏下按钮 ,查看当前滤波器的幅值响应。

任意幅值滤波器

设计具有以下分段频率响应的 FIR 滤波器:

  • 正弦曲线介于 0 和 0.19π rad/sample 之间;
F1 = collect(0:0.01:0.19)
A1 = 0.5 .+ sin.(2 * pi * 7.5 * F1) / 4
  • 0.2π rad/sample 和 0.78π rad/sample 之间的分段线性截面;
F2 = [0.2, 0.38, 0.4, 0.55, 0.562, 0.585, 0.6, 0.78]
A2 = [0.5, 2.3, 1, 1, -0.2, -0.2, 1, 1]
  • 0.79π rad/sample 和奈奎斯特频率之间的二次截面。
F3 = collect(0.79:0.01:1)
A3 = 0.2 .+ 18 * (1 .- F3) .^ 2

指定滤波器阶数为 50。合并频率向量和幅值向量。若要在优化拟合期间为所有标注栏指定相等的权重,请指定所有标注栏的权重向量。通过 App 选项卡打开滤波器设计工具

N = 50
FreqVect = [F1; F2; F3]
AmplVect = [A1; A2; A3]
WghtVect = ones(1, 25)

使用滤波器设计工具设计滤波器:

  1. 响应类型区域的下拉菜单中选择任意幅值

  2. 设计方法设置为 FIR ,并从下拉列表中选择最小二乘

  3. 滤波器阶数区域中选择指定阶,并输入 50

  4. 频率和幅值设定区域中,指定您创建的变量:

    • 频率向量 - FreqVect

    • 幅值向量 - AmplVect

    • 权重向量 - WghtVect

  5. 完成设计设定后,单击 GUI 底部的设计滤波器按钮来设计滤波器;

  6. 若当前处于滤波器设定展示界面,则设计完成后自动跳转至幅值响应展示界;若当前不处于滤波器设定展示界面,则单击工具栏按钮 ,查看当前滤波器的幅值响应。

# 另请参阅