滤波器性能评估
- 幅频响应:查看滤波器的幅频响应曲线,比较通带平坦度和阻带衰减。
- 相频响应:观察相频响应,以确保相位响应平滑,尤其在需要线性相位的应用中。
- 均方误差(MSE):计算原始信号与滤波后信号之间的均方误差,数值越小表示滤波器性能越好。
- 信噪比(SNR):计算滤波后信号的信噪比,信噪比越高表示滤波效果越好。
设计低通、高通、带通和带阻滤波器
凯撒窗为例设计fir滤波器,示例代码显示滤波器的幅频响应、相频响应、均方误差和信噪比,可根据这几个性能参数来优化性能。(tip:最近学习相关知识,记录学习笔记,如有不同想法,欢迎探讨)
%% Clear
clc; clear; close all;
% 创建一个测试信号,包含50Hz、100hz、150hz和200Hz的成分
fs = 1000;
t = 0:1/fs:1-1/fs; % 时间向量
raw = 0.5 * sin(2*pi*50*t) + sin(2*pi*100*t) + 2*sin(2*pi*150*t) + 1.5*sin(2*pi*200*t); % 合成信号
% 原信号绘制
index = 1;
plot_fig(raw, index, raw, fs, '原信号')
%% FIR滤波器--凯撒窗
% 低通滤波
fcuts = [100, 120];
mags = [1, 0];
devs = [0.01, 10^(-60 / 20)]; % 通带波纹和阻带衰减,阻带衰减将db转为线性比例,10^(-阻带衰减 / 20)
[n,Wn,beta,ftype] = kaiserord(fcuts,mags,devs,fs);
h