⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fir_mtd16.m

📁 Moving target detection and the principle of achieving matlab
💻 M
字号:
clear;
clc;
close all;
fr=1.6e3;%脉冲重复频率
tr=1/fr;%脉冲重复周期
fs=1e6;%采样频率
ts=1/fs;%采样周期

f_doppler=800;%多普勒频率

t=0:1/fs:tr-1/fs;%一个脉冲重复时间轴

x=ones(1,2);%回波中目标的回波

n=length(x);
N=fs/fr;
x_1=[zeros(1,120),x,zeros(1,N-120-n)];%一个脉冲回波
x_16=repmat(x_1,1,16);%16个脉冲回波,其中两个为填充脉冲,一个相关处理间隔为16*tr
t_16=(0:length(x_16)-1)*ts;
s_doppler=exp(j*2*pi*f_doppler*t_16);%多普勒调制信号
 %s_doppler=cos(2*pi*f_doppler*t_16);%多普勒调制信号
randn('state', sum(100*clock));%Initialize randn to a different state each time
s_noise_i=0.1*randn(1,length(s_doppler));
randn('state', sum(100*clock));%Initialize randn to a different state each time
s_noise_q=0.1*randn(1,length(s_doppler));
y=x_16.*s_doppler+s_noise_i+s_noise_q*j;%附带多普勒的动目标回波
 %y=x_16;
 figure('Name','附带多普勒的动目标回波显示')
 subplot(211)
 plot(t_16,real(y));
 subplot(212)
 plot(t_16,imag(y));
 
%%%%%%%%%%%%%%%%%%%%  产生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滤波器的滤波器组的频率响应曲线  %%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%  产生16个FIR滤波器的滤波器组  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

yt=reshape(y,length(y)/16,16)';

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  采用FIR进行MTD处理  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
M=16;
L=length(yt);
for i=1:L
    s_temp=yt(:,i); 
    s_mtd(:,i)=b*s_temp;    
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  采用FIR进行MTD处理 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%


%%%%%%%%%%%%%%%%%%%%  MTD处理结果显示  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%  MTD各通道结果显示  %%%%%
t=0:ts:(length(s_mtd)-1)*ts;
figure('Name','MTD各通道结果显示 1')
subplot(241),plot(t,abs(s_mtd(1,:))),title('(第1通道)');
subplot(242),plot(t,abs(s_mtd(2,:))),title('(第2通道)');
subplot(243),plot(t,abs(s_mtd(3,:))),title('(第3通道)');
subplot(244),plot(t,abs(s_mtd(4,:))),title('(第4通道)');
subplot(245),plot(t,abs(s_mtd(5,:))),title('(第5通道)');
subplot(246),plot(t,abs(s_mtd(6,:))),title('(第6通道)');
subplot(247),plot(t,abs(s_mtd(7,:))),title('(第7通道)');
subplot(248),plot(t,abs(s_mtd(8,:))),title('(第8通道)');
figure('Name','MTD各通道结果显示 2')
subplot(241),plot(t,abs(s_mtd(9,:))),title('(第9通道)');
subplot(242),plot(t,abs(s_mtd(10,:))),title('(第10通道)');
subplot(243),plot(t,abs(s_mtd(11,:))),title('(第11通道)');
subplot(244),plot(t,abs(s_mtd(12,:))),title('(第12通道)');
subplot(245),plot(t,abs(s_mtd(13,:))),title('(第13通道)');
subplot(246),plot(t,abs(s_mtd(14,:))),title('(第14通道)');
subplot(247),plot(t,abs(s_mtd(15,:))),title('(第15通道)');
subplot(248),plot(t,abs(s_mtd(16,:))),title('(第16通道)');
%%%%%  MTD各通道结果显示  %%%%%

%%%%%  MTD距离维结果显示  %%%%%
figure('Name','MTD距离维结果显示');
plot(max(abs(s_mtd)))
%%%%%  MTD距离维结果显示  %%%%%

%%%%%  MTD速度维结果显示  %%%%%
figure('Name','MTD速度维结果显示')
plot(1:16,(max(abs(s_mtd'))))
%%%%%  MTD速度维结果显示  %%%%%

%%%%%%%%%%%%%%%%%%%%  MTD处理结果显示  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

⌨️ 快捷键说明

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