91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 7KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-06-04
  • 語言: Matlab
  • 標簽: matlab??mti??mtd??

資源簡介

雷達信號處理程序,包括線性調頻,匹配濾波,產生目標回波加噪聲,回波積累,時域脈壓,頻域脈壓,加窗脈壓,相干積累,mti對消,mtd檢測,cfar檢測,歡迎下載

資源截圖

代碼片段和文件信息

function?y=maiya(PulseNumberrangeFsTargetVelocitySNR)

C=3e8;
Tr=800e-6;%單脈沖最大可測距離0.5*Tr*C=120000m
Tp=160e-6;
fr=1/Tr;
lamda=0.03;
B=1e6;
%%?產生線性調頻信號?
number=fix(Fs*Tp);%單脈沖發射信號內采樣點數
SampleNumber=fix(Fs*Tr);%一個脈沖采樣點數800;則每個采樣間距代表120000/799m
TotalNumber=SampleNumber*PulseNumber;
for?i=-fix(number/2):fix(number/2)-1
????Chirp(i+fix(number/2)+1)=exp(j*(pi*(B/Tp)*(i/(Fs))^2));?
end??
figure
plot(real(Chirp));
title(‘線性調頻信號‘)
coeff=conj(fliplr(Chirp));%匹配濾波函數h
figure
plot(real(coeff))
title(‘匹配濾波函數h‘)


W?=?linspace(-pipi4096);????
[h1w0]?=?freqz(coeff1W);??
figure
plot(w0/pi20*log10(abs(h1/max(h1))));?
title(‘匹配濾波函數H頻率響應‘)
%-------
%%?產生目標回波
TargetDistance(1:2)=range;
DelayNumber(1:2)=fix(Fs*2*TargetDistance(1:2)/C);

TargetFd(1:2)=2*TargetVelocity(1:2)/lamda;?%計算目標多卜勒

SignalAll=zeros(1TotalNumber);%所有脈沖的信號先填0
for?k=1:2%?依次產生各個目標1?2?
????SignalTemp=zeros(1SampleNumber);%?一個脈沖
???
????SignalTemp(DelayNumber(k)+1:DelayNumber(k)+number)=(10^(SNR(k)/10))*Chirp;??%一個脈沖的1個目標(未加多普勒速度)
????Signal=zeros(1TotalNumber);
????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;
????SignalAll=SignalAll+Signal;
end
figure
subplot(211);plot(real(SignalAll)‘r-‘);title(‘目標信號的實部‘);grid?on;zoom?on;
subplot(212);plot(imag(SignalAll));title(‘目標信號的虛部‘);
grid?on;zoom?on;
%%?產生噪聲
SystemNoise=normrnd(010^(-12/10)1TotalNumber)+j*normrnd(010^(-12/10)1TotalNumber);
%%?回波+噪聲
Echo=SignalAll+SystemNoise;???%?+SeaClutter+TerraClutter;
for?i=1:PulseNumber???%在接收機閉鎖期接收的回波為0
????Echo((i-1)*SampleNumber+1:(i-1)*SampleNumber+number)=0;
end
figure
plot(real(Echo));title(‘總回波信號的實部閉鎖期為0‘);
%subplot(212);plot(imag(Echo));title(‘總回波信號的虛部閉鎖期為0‘);

%%?回波積累
Echoplus=zeros(1SampleNumber);
for?i=1:PulseNumber
???Echoplus1(1:SampleNumber)=Echo((i-1)*SampleNumber+1:i*SampleNumber);
???Echoplus=Echoplus+Echoplus1(1:SampleNumber);
end
Echoplus=Echoplus/PulseNumber;
figure
plot(real(Echoplus));title(‘回波脈沖積累信號的實部閉鎖期為0‘);


%%?時域脈壓
pc_time0=conv(Echocoeff);
%figure
%plot(abs(pc_time0));title(‘時域脈壓結果的幅度有暫態點‘);
%%?頻域脈壓
Echo_fft=fft(EchoTotalNumber+number-1);%進行TotalNumber+number-1點FFT
coeff_fft=fft(coeffTotalNumber+number-1);
pc_fft=Echo_fft.*coeff_fft;
pc_freq0=ifft(pc_fft);
pc_freq_abs=abs(pc_freq0);
figure
plot(pc_freq_abs);title(‘(不加窗)頻域脈壓結果的幅度(有暫態點)‘);

%%??數據重排到距離門
pc_freq1=pc_freq0(number:TotalNumber+number-1);
for?i=1:PulseNumber
???pc(i1:SampleNumber)=pc_freq1((i-1)*SampleNumber+1:i*SampleNumber);
end


figure

%subplot(211)
%plot((0:SampleNumber-1)*(120000/(SampleNumber-1))?abs(pc(5:))?);
%?title(‘不加窗脈壓結果‘);xlabel(‘距離‘)ylabel(‘脈壓輸出‘);
?
plot((0:SampleNumber-1)*(120000/(SampleNumber-1))?20*log10(abs(pc(1:)))?);
xlabel(‘距離‘)ylabel(‘脈壓輸出/db‘);
axis([-infinf?-1050]);
title(‘不加窗脈壓結果‘)
%%?加窗處理?
win=chebw

評論

共有 條評論