?? pcmtitest.m
字號(hào):
close all;
clear all;
%===================================================================================%
% 雷達(dá)參數(shù) %
%===================================================================================%
C=3.0e8; %光速(m/s)
RF=3.140e9; %雷達(dá)射頻
Lambda=C/RF;%雷達(dá)工作波長(zhǎng)
PulseNumber=2; %回波脈沖數(shù)
BandWidth=2.0e6; %發(fā)射信號(hào)帶寬
TimeWidth=42.0e-6; %發(fā)射信號(hào)時(shí)寬
PRT=230e-6; % 雷達(dá)發(fā)射脈沖重復(fù)周期(s)
PRF=1/PRT
Fs=20e6; %采樣頻率
%F0=15e6;
F0=0;
NoisePower=-26;%(dB);
%---------------------------------------------------------------%
SampleNumber=fix(Fs*PRT);%計(jì)算一個(gè)脈沖周期的采樣點(diǎn)數(shù);
TotalNumber=SampleNumber*PulseNumber;%總的采樣點(diǎn)數(shù);
BlindNumbe=fix(Fs*TimeWidth);%計(jì)算一個(gè)脈沖周期的盲區(qū)-遮擋樣點(diǎn)數(shù);
%===================================================================================%
% 目標(biāo)參數(shù) %
%===================================================================================%
TargetNumber=3;%目標(biāo)個(gè)數(shù)
SigPower(1:TargetNumber)=[1 .5 .3];%目標(biāo)功率,無(wú)量綱
TargetDistance(1:TargetNumber)=[7000 14000 23000];%目標(biāo)距離,單位m
DelayNumber(1:TargetNumber)=fix(Fs*2*TargetDistance(1:TargetNumber)/C);
TargetVelocity(1:TargetNumber)=[0 30 100];%目標(biāo)徑向速度 單位m/s
TargetFd(1:TargetNumber)=2*TargetVelocity(1:TargetNumber)/Lambda %計(jì)算目標(biāo)多卜勒
%====================================================================================%
% 產(chǎn)生線性調(diào)頻信號(hào) %
%====================================================================================%
number=fix(Fs*TimeWidth);
if rem(number,2)~=0
number=number+1;
end
for i=-fix(number/2):fix(number/2)-1
Chirp(i+fix(number/2)+1)=exp(j*(2*pi*F0*i/Fs+pi*(BandWidth/TimeWidth)*(i/Fs)^2));
end
figure(100)
plot(abs(fftshift(Chirp)));
coeff=conj(Chirp);
coeff=fliplr(coeff);
coeff=real(coeff);
%-------------------------產(chǎn)生目標(biāo)回波串------------------------%
SignalAdd=zeros(1,TotalNumber);%所有脈沖的信號(hào)
for k=1:TargetNumber% 依次產(chǎn)生各個(gè)目標(biāo)
SignalTemp=zeros(1,SampleNumber);% 一個(gè)脈沖
SignalTemp(DelayNumber(k)+1:DelayNumber(k)+number)=sqrt(SigPower(k))*Chirp;%一個(gè)脈沖的某個(gè)目標(biāo)
Signal=zeros(1,TotalNumber);
for i=1:PulseNumber
Signal((i-1)*SampleNumber+1:i*SampleNumber)=SignalTemp;
end
FreqMove=exp(j*2*pi*TargetFd(k)*(0:TotalNumber-1)/Fs);
Signal=Signal.*FreqMove;
SignalAdd=SignalAdd+Signal;
end
SignalAll=SignalAdd;
figure(1);
plot(real(SignalAll));title('目標(biāo)信號(hào)');
%subplot(2,1,2);plot(imag(SignalAll));title('目標(biāo)信號(hào)的虛部');
grid on;zoom on;
%====================================================================================%
% 產(chǎn)生系統(tǒng)噪聲信號(hào) %
%====================================================================================%
SystemNoise=normrnd(0,10^(NoisePower/10),1,TotalNumber)+j*normrnd(0,10^(NoisePower/10),1,TotalNumber);
%====================================================================================%
% 總的回波信號(hào) %
%====================================================================================%
Echo=SignalAll+SystemNoise;% +SeaClutter+TerraClutter;
for i=1:PulseNumber %在接收機(jī)閉鎖期,接收的回波為0
Echo((i-1)*SampleNumber+1:(i-1)*SampleNumber+number)=0;
end
Echo=real(Echo);
figure(2);
plot(Echo);title('總回波信號(hào),閉鎖期為0');
%subplot(2,1,2);plot(imag(Echo));title('總回波信號(hào)的虛部,閉鎖期為0');
%
%================================時(shí)域脈壓=================================%
pc_time0=conv(Echo,coeff);
figure(3);plot(20*log10(abs(pc_time0)));title('時(shí)域脈壓結(jié)果的幅度,有暫態(tài)點(diǎn)');
pc_time1=pc_time0(number:TotalNumber+number-1);%去掉暫態(tài)點(diǎn) number-1個(gè)
%================================頻域脈壓=================================%
%Echo_fft=fft(Echo,TotalNumber+number-1);
% coeff_fft=fft(coeff,TotalNumber+number-1);
Echo_fft=fft(Echo,TotalNumber+number-1);%理應(yīng)進(jìn)行TotalNumber+number-1點(diǎn)FFT,但為了提高運(yùn)算速度,進(jìn)行了1024點(diǎn)的FFT
% figure(13);plot(real(Echo_fft));
% figure(14);plot(imag(Echo_fft));
coeff_fft=fft(coeff,TotalNumber+number-1);
pc_fft=Echo_fft.*coeff_fft;
% figure(11);plot(real(pc_fft));
% figure(12);plot(imag(pc_fft));
pc_freq0=ifft(pc_fft);
figure(4);plot(abs(real(pc_freq0)));title('實(shí)部脈壓結(jié)果');
%figure(5);plot(imag(pc_freq0));title('iamg pulse solution');
figure(6);plot(abs(pc_freq0));title('頻域脈壓結(jié)果的幅度,有暫態(tài)點(diǎn)和后填充點(diǎn),');
frequ0=abs(pc_freq0);
save module.dat frequ0 -ascii -double
plot(abs(pc_time0(1:TotalNumber+number-1)-pc_freq0(1:TotalNumber+number-1)),'r');hold on;
pc_freq1=pc_freq0(number:TotalNumber+number-1);%去掉暫態(tài)點(diǎn) number-1個(gè),后填充點(diǎn)若干(1024-number+1-TotalNumber=21個(gè))
% save pc_freq1.dat pc_freq1 -ascii -double
%================MTI,對(duì)消靜止目標(biāo)和低速目標(biāo)---相當(dāng)于雜波=================================%
mti=pc_time1(SampleNumber+1:2*SampleNumber)-pc_time1(1:SampleNumber);
remti=real(mti);
immti=imag(mti);
figure(8);plot(real(mti));title('MTI real 結(jié)果');
figure(9);plot(imag(mti));title('MTI imag 結(jié)果');
mti_module=abs(mti);
% save remti.dat remti -ascii -double
% save immti.dat immti -ascii -double
% save mtimodule.dat mti_module -ascii -double
figure(10);plot(abs(mti));title('MTI 結(jié)果');
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -