7-12.m

来自「是《MATLAB数字信号处理与应用》一书的源代码,该书由李正周编著 清华大学出版」· M 代码 · 共 27 行

M
27
字号
%例程7-12自适应陷波滤波器
% 50Hz工频干扰陷波器

clear all
clc
%50Hz陷波器:由一个低通滤波器加上一个高通滤波器组成
%而高通滤波器由一个全通滤波器减去一个低通滤波器构成
M=800;               %滤波器阶数
L=800;               %窗口长度
beta=8;              %衰减系数
Fs=400;
wc1=51/(Fs/2)*pi;     %wc1为高通滤波器截止频率,对应51Hz
wc2=49/(Fs/2)*pi     ;%wc2为低通滤波器截止频率,对应49Hz
h=ideal_lp(pi,M)-ideal_lp(wc1,M)+ideal_lp(wc2,M);    %h为陷波器冲击响应
w=kaiser(L,beta);
y=h.*rot90(w);         %y为50Hz陷波器冲击响应序列

%其中,具有线性相位的FIR低通滤波器由如下函数实现:
%理想低通滤波器
%截止角频率wc,阶数M

function hd=ideal_lp(wc,M)
alpha=(M-1)/2;
n=0:M-1;
m=n-alpha+eps;              %eps为很小的数,避免被0除
hd=sin(wc*m)./(pi*m);       %用Sinc函数产生冲击响应

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?