📄 fir_mtd_test16.asv
字号:
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:16)*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;
%%%%%%%%%%%%%%%%%%%% 产生16个FIR滤波器的滤波器组 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a0=[ 5.93141234807e-008,4.347755861717e-007,1.303747145161e-006,2.772196904973e-006,...
4.74857800029e-006,6.910166596115e-006,8.774077218793e-006,9.856915099804e-006,...
9.856915099804e-006,8.774077218793e-006,6.910166596115e-006,4.74857800029e-006,...
2.772196904973e-006,1.303747145161e-006,4.347755861717e-007,5.93141234807e-008]*1e8;
n=1:16;
f=linspace(0.5,1.5,16)*pi;
fn=f'*n;
fnexp=exp(j*fn);
a016=repmat(a0,1,16);
a016=reshape(a016,16,16)';
b=(a016.*fnexp);
%%%%%%%% FIR滤波器的滤波器组的频率响应曲线 %%%%%%%%%%%%
figure('Name','FIR滤波器的滤波器组的频率响应曲线');
for n=1:16
freqz(b(n,:),1,1024,'whole',fr)
hold on;
end
axis([0 fr -50 100]);
%%%%%%%% FIR滤波器的滤波器组的频率响应曲线 %%%%%%%%%%%%
yt=test_matrix;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 采用FIR进行MTD处理 %%%%%%%%%%%%%%%%%%%
M=16;
L=length(yt);
for i=1:L
s_temp=s_mti(:,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
plot(t,abs(s_mtd(9,:)),'-r'),hold on
plot(t,abs(s_mtd(10,:)),'-g'),hold on
plot(t,abs(s_mtd(11,:)),'-b'),hold on
plot(t,abs(s_mtd(12,:)),'-c'),hold on
plot(t,abs(s_mtd(13,:)),'-m'),hold on
plot(t,abs(s_mtd(14,:)),'-y'),hold on
plot(t,abs(s_mtd(15,:)),'-k'),hold on
plot(t,abs(s_mtd(16,:)),'-c');grid 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
plot(t,mtd_abs(9,:),'-r'),hold on
plot(t,mtd_abs(10,:),'-g'),hold on
plot(t,mtd_abs(11,:),'-b'),hold on
plot(t,mtd_abs(12,:),'-c'),hold on
plot(t,mtd_abs(13,:),'-m'),hold on
plot(t,mtd_abs(14,:),'-y'),hold on
plot(t,mtd_abs(15,:),'-k'),hold on
plot(t,mtd_abs(16,:),'-c');grid 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 + -