📄 high_pass.m
字号:
%高通滤波器
%==========================================================================
clear all;
k=0;
for t=0:5e-10:2e-6 %脉冲宽度为:2微秒
k=k+1; %频率变化为:100MHz~200MHz
if t<1e-6 %载频为:100MHz
f1=1e8+1e14*t;
else
f1=2e8-1e14*(t-1e-6);
end
s1(k)=cos(2*pi*f1*t);
f2=5e8; %本振频率为:500MHz
s2(k)=cos(2*pi*f2*t);
s(k)=s1(k).*s2(k); %混频
end
%==========================================================================
y1=fftshift(abs(fft(s,256)));
freq=linspace(-1e9,1e9,256);
subplot(211);
plot(freq*10^(-6),y1);
xlabel('频率 单位:MHz');
title('高通滤波前的频谱图');
axis tight;
grid on;
%==========================================================================
b=1; %高通滤波器
a=[1 -0.0042/0.0012 -0.0035/0.0012 0.0074/0.0012 0.0079/0.0012 -0.0112/0.0012 -0.0155/0.0012 0.0152/0.0012 0.0281/0.0012 -0.0191/0.0012 -0.0501/0.0012 0.0222/0.0012 0.0974/0.0012 -0.0243/0.0012 -0.3153/0.0012 0.5250/0.0012 -0.3153/0.0012 -0.0243/0.0012 0.0974/0.0012 0.0222/0.0012 -0.0501/0.0012 -0.0191/0.0012 0.0281/0.0012 0.0152/0.0012 -0.0155/0.0012 -0.0112/0.0012 0.0079/0.0012 0.0074/0.0012 -0.0035/0.0012 -0.0042/0.0012 1];
y=filter(a,b,s);
%==========================================================================
y2=fftshift(abs(fft(y,256)));
subplot(212);
plot(freq*10^(-6),y2/1e3);
xlabel('频率 单位:MHz');
title('高通滤波后的频谱图');
axis tight;
grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -