# 滤波器设计工具
通过算法选择设计指定滤波器
# 描述
滤波器设计工具应用程序使您能够设计和分析离散数字滤波器。通过此应用程序,您可以:
选择滤波器响应类型和滤波器设计方法进行滤波器设计;
查看各类滤波器响应;
将滤波器系数导出至 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
使用滤波器设计工具来设计滤波器的其余部分,并使用上述数值来指定滤波器的频率约束和幅值约束。
在响应类型区域的下拉菜单中选择带通;
将设计方法设置为 FIR ,并从下拉列表中选择等波纹;
在滤波器阶数区域中选择指定阶,并输入 50;
FIR 等波纹滤波器有一个密度因子选项,将此值保留为 20;
在频率设定区域中,在单位下拉菜单中选择 Hz,为 Fs 输入 1000,为 Fstop1 输入 150,为 Fpass1 输入 200, 为 Fpass2 输入 300, 为 Fstop2 输入 350;
在幅值设定区域中,为 Wstop1 输入 3,为 Wpass 输入 1, 为 Wstop2 输入 100;
完成设计设定后,单击 GUI 底部的设计滤波器按钮来进行滤波器设计;
若当前处于滤波器设定展示界面,则设计完成后自动跳转至幅值响应展示界;若当前不处于滤波器设定展示界面,则单击工具栏下按钮
,查看当前滤波器的幅值响应。
任意幅值滤波器
设计具有以下分段频率响应的 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)
使用滤波器设计工具设计滤波器:
在响应类型区域的下拉菜单中选择任意幅值;
将设计方法设置为 FIR ,并从下拉列表中选择最小二乘;
在滤波器阶数区域中选择指定阶,并输入 50;
在频率和幅值设定区域中,指定您创建的变量:
频率向量 - FreqVect
幅值向量 - AmplVect
权重向量 - WghtVect
完成设计设定后,单击 GUI 底部的设计滤波器按钮来设计滤波器;
若当前处于滤波器设定展示界面,则设计完成后自动跳转至幅值响应展示界;若当前不处于滤波器设定展示界面,则单击工具栏按钮
,查看当前滤波器的幅值响应。