高通滤波器设计需要选择好通带、阻带衰减。通带衰减是通频带内能接受的最大衰减,阻带衰减是阻带内能接受的最小衰减。
说白了就是通带内尽量衰减小,阻带内尽可能衰减,完全滤除不要的频率分量。
以下为一个高通滤波器的matlab实现实例:
data = [yourdata]; %读入你的处理数据
As = 50;Fs = 8000; Fs2 = Fs/2; % 阻带最小衰减和采样频率
fp = 75; fs = 60; % 通带阻带频率
df = fp-fs; % 求取过渡带
M0 = round((As-7.95)/(14.36*df/Fs))+2; % 按式(5-5-4)求凯泽窗长
M = M0+mod(M0+1,2); % 保证窗长为奇数
wp = fp/Fs2*pi; ws = fs/Fs2*pi; % 转为圆频率
wc = (wp+ws)/2; % 求取截止频率
beta = 0.5842*(As-21)^0.4+0.07886*(As-21);% 按式(5-5-5)求出beta值
fprintf('beta=%5.6f\n',beta); % 显示beta的数值
w_kai = (kaiser(M,beta))'; % 求凯泽窗
hd = ideal_lp(pi,M)-ideal_lp(wc,M); % 求理想滤波器的脉冲响应(高通滤波器的组合)
b = hd.*w_kai; % 理想脉冲响应与窗函数相乘
y = filter(b,1,data); %滤波处理