shighpassf.m

来自「高通系统源程序」· M 代码 · 共 32 行

M
32 行
字号
function hfdata=showpassf(f,fdata,fc)
%高通滤波函数
%输出:
%   lfdata:经过高通滤波的信号幅频数据;
%输入:
%   fdata:信号的幅频值
%   fs:输入信号的采样率
%   fc:高通滤波器的截止频率

N = length(f);
df = f(2) - f(1);
fs = N * df;
highpa = zeros(1,N);
hfdata = zeros(1,N);
wc = fc * 2 * pi;
for h = -(N - 1) / 2 :(N - 1) / 2
   w = h * df * 2 * pi;
   x = (N - 1) / 2 + h + 1;
   highpa(x) = (-1 * w^2) / (-1 * w^2 + sqrt(2) * i * w * wc + wc ^ 2 ) + 1 / 1000;
end
hfdata = highpa .* fdata;
wl = [0 : df : (fs - df)] - fs / 2;
subplot(2,1,1);
plot(wl,abs(highpa));
xlabel('频率');
ylabel('高通滤波器频响');
subplot(2,1,2);
plot(wl,abs(hfdata));
xlabel('频率');
ylabel('高通滤波后频谱');
pause;

⌨️ 快捷键说明

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