MATLAB Simulation Code | Performance Simulation of Coherent and Non-Coherent Accumulation

MATLAB Simulation Code | Performance Simulation of Coherent and Non-Coherent Accumulation

Related theoretical knowledge and MATLAB simulation results can be found in “Radar Principles” (Issue 10) “Analysis of Coherent and Non-Coherent Accumulation Performance”.Radar Equation MATLAB Simulation ApplicationMATLAB Simulation Code | Performance Simulation of Coherent and Non-Coherent Accumulation

close all
clear all
clc
fs=600e6;% Sampling rate
t=5e-6;% Pulse width
f0=2e6;% Carrier frequency
Tr=50e-6;% Repetition period
t1=30e-6;% Pulse position
Nt1=round(fs*t1);
Nt=round(fs*t);
NTr=round(fs*Tr);
tt=0:1/fs:t-1/fs;
y0=cos(2*pi*f0.*tt);
y=[zeros(1,Nt1),y0,zeros(1,(NTr-Nt1-Nt))];
for k=1:32  
  y1_n_ind=awgn(y,10,'measured');  
  y1_n(k,:)=y1_n_ind./max(y1_n_ind); % Non-envelope detection, includes phase information  
  y2_n_ind=abs(y1_n_ind)/max(abs(y1_n_ind));   
  y2_n(k,:)=y2_n_ind./max(y2_n_ind); % Envelope detection, does not include phase information
end

ttr=0:1/fs:Tr-1/fs;
figure
plot(ttr.*1e6,y1_n(1,:),'k')
xlabel('Time (us)')
ylabel('Normalized Amplitude')
ylim([-1.2 1.2])
title('Echo Signal with Additive White Noise')

y1_n_s=sum(y1_n,1);
figure
plot(ttr.*1e6,y1_n_s./max(y1_n_s),'k')
xlabel('Time (us)')
ylabel('Normalized Amplitude')
ylim([-1.2 1.2])
title('Echo Signal after 32 Pulse Coherent Accumulation')

figure
plot(ttr.*1e6,10*log10(y1_n_s./max(y1_n_s)),'k')
xlabel('Time (us)')
ylabel('Normalized Amplitude (dB)')
ylim([-100 0])
title('Echo Signal after 32 Pulse Coherent Accumulation')

figure
plot(ttr.*1e6,y2_n(1,:),'k')
xlabel('Time (us)')
ylabel('Normalized Amplitude')
ylim([-1.2 1.2])
title('Echo Signal after Envelope Detector')

y2_n_s=sum(y2_n,1);
figure
plot(ttr.*1e6,y2_n_s./max(y2_n_s),'k')
xlabel('Time (us)')
ylabel('Normalized Amplitude')
ylim([-1.2 1.2])
title('Echo Signal after 32 Pulse Non-Coherent Accumulation')

figure
plot(ttr.*1e6,10*log10(y2_n_s./max(y2_n_s)),'k')
xlabel('Time (us)')
ylabel('Normalized Amplitude (dB)')
ylim([-100 0])
title('Echo Signal after 32 Pulse Non-Coherent Accumulation')

Follow us

Get more technical details and challenges

Helping you

Technical understanding made easy

Technical practice with details

Leave a Comment