📄 fir_mtd_test8.m
字号:
clear;
clc;
close all;
fr=1e3;%脉冲重复频率
tr=1/fr;%脉冲重复周期
fs=1e6;%采样频率
ts=1/fs;%采样周期
%%%%%%%%%%%%%%%%%%%%%%%%%生成测试模块%%%%%%%%%%%%%%%%%%%%%%
Point=4000;
doppler_vector=2*pi*linspace(0,fr,Point);
t_doppler=(1:8)*tr;
test_matrix=t_doppler'*doppler_vector;
test_matrix_i=cos(test_matrix);
test_matrix_q=sin(test_matrix);
test_matrix=test_matrix_i+test_matrix_q*j;
%%%%%%%%%%%%%%%%%%%% 产生8个FIR滤波器的滤波器组 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a0=[ 7.135916968387e-010,1.568395747901e-008,5.471539757694e-008,9.376656588003e-008,...
9.376656588003e-008,5.471539757694e-008,1.568395747901e-008,7.135916968387e-010]*1e10;
n=1:8;
f=linspace(0.61,1.388,8)*pi;
fn=f'*n;
fnexp=exp(j*fn);
a08=repmat(a0,1,8);
a08=reshape(a08,8,8)';
b=a08.*fnexp;
%%%%%%%% FIR滤波器的滤波器组的频率响应曲线 %%%%%%%%%%%%
figure('Name','FIR滤波器的滤波器组的频率响应曲线');
for n=1:8
freqz(b(n,:),1,1024,'whole',fr)
hold on;
end
axis([0 fr -50 100]);
%%%%%%%% FIR滤波器的滤波器组的频率响应曲线 %%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%% 产生16个FIR滤波器的滤波器组 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
yt=test_matrix;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 采用FIR进行MTD处理 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M=8;
L=length(yt);
for i=1:L
s_temp=yt(:,i);
s_mtd(:,i)=b*s_temp;
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 采用FIR进行MTD处理%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mtd_abs=abs(s_mtd);
mtd_abs=mtd_abs/max(max(mtd_abs));
mtd_abs=20*log10(mtd_abs+eps);
t=linspace(0,fr,Point);
figure('Name','实测FIR滤波器组的频率响应曲线 1');
plot(t,abs(s_mtd(1,:)),'-r'),hold on
plot(t,abs(s_mtd(2,:)),'-g'),hold on
plot(t,abs(s_mtd(3,:)),'-b'),hold on
plot(t,abs(s_mtd(4,:)),'-c'),hold on
plot(t,abs(s_mtd(5,:)),'-m'),hold on;
plot(t,abs(s_mtd(6,:)),'-y'),hold on;
plot(t,abs(s_mtd(7,:)),'-k'),hold on
plot(t,abs(s_mtd(8,:)),'-c'),hold on
figure('Name','实测FIR滤波器组的频率响应曲线 2');
plot(t,mtd_abs(1,:),'-r'),hold on
plot(t,mtd_abs(2,:),'-g'),hold on
plot(t,mtd_abs(3,:),'-b'),hold on
plot(t,mtd_abs(4,:),'-c'),hold on
plot(t,mtd_abs(5,:),'-m'),hold on;
plot(t,mtd_abs(6,:),'-y'),hold on;
plot(t,mtd_abs(7,:),'-k'),hold on
plot(t,mtd_abs(8,:),'-c'),hold on
axis([0,fr,-70,0])
figure('Name','实测FIR滤波器组的频率响应曲线包络');
plot(t,20*log10(max(abs(s_mtd))/max(max(abs(s_mtd)))),'-r');grid on;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -