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

📄 tm_uwb_receive_signal_monte_carlo.asv

📁 Back Projection imaging through wall
💻 ASV
字号:
                                                                                                                                                                                                                                                                                                                                                        %TM-UWB radar self-correlation receiver detection charateristic using
%Montel Carlo simulation 
%--------receiver signal= anntenna couping siganl + front wall reflecting signal+ target refraction signal----
clear
clc

%--------------------------build target model------------------
%-----------------two bodyes targets---one 1m second 3m range gate 6m(40ns)-----------------------
%------dispersive central 1.55m,1.66m,1.75m,3m,3.08m,3.13m----------------

%---------------------second-order gaussian pulse (fc,tm,tau)---------------
tau=0.5e-9;

tm=1e-9;%---------pulse_width = 1ns

fc=50e9;%-----------sampling rate = 50GHz         

dt=1/fc;%-----------sampling interval=20ps

%--------------------------------------------------------------------------
over=floor(tm/dt); e=mod(over,2); kbk=floor(over/2); tmp=linspace(dt,tm/2,kbk);

s = (1-4*pi* (tmp./tau).^2 ) .* exp(-2*pi* (tmp./tau).^2);
if e  %sample=odd number
    for k=1:length(s)
        y(kbk+1)=1;         y(kbk+1+k)=s(k);        y(kbk+1-k)=s(k);
    end
else %sample=even number
    for k=1:length(s)
        y(kbk+k)=s(k);        y(kbk+1-k)=s(k);
    end
end

w0=y; 
%figure(2); plot(w0),xlabel('ns');ylabel('second order Gaussian pulse')

%-----------------generate one dimensional high resolution range profile-----
%------dispersive central 1.55m,1.66m,1.75m,3m,3.08m,3.13m, and gains individually----------------

%-------------according to SNR, generating the additive white Gaussian noise over signal----
ebno=[-20];            %SNR=E/NO (dB)

% the target velocity of V=0.274m/s, Tupdate=0.296s
 target_v=0.274 ;
 
 Time_update_scans=0.296;
 
 scans=100;
  
 Range_initional=0.5; C=3*10^8;

Tw=60*10^(-9);   %gate duration=60ns, Observe range=9m

gate_samples=floor(Tw/dt);

receive_signal=zeros( scans ,gate_samples);

for iii = 1 : scans  
  
    Range_target = Range_initional +  target_v * Time_update_scans * (iii - 1);
    
    Range_delay = 2 * Range_target/C;

    Range_position_sample = floor(Range_delay/dt);
    
    gate_seq=zeros(1,gate_samples);
    
    for i=1:length(Range_delay)    
    
    k= Range_position_sample(i);
    
      if e   %sample=odd number
     
            gate_seq(k-kbk:k+kbk)=gate_seq(k-kbk+1:k+kbk+1) + w0;
   
          else %sample=even number
    
           gate_seq(k-kbk+1:k+kbk)=gate_seq(k-kbk+1:k+kbk) + w0;
    
         end  %end if
   end  %end for range_delay

HRRP= gate_seq;

E_Tw=sum(abs(HRRP).^2)/gate_samples; % average range gate energy

EbNo=10.^(ebno./10);

N0=E_Tw ./ EbNo;                     % averge noise power

nstdv=sqrt(N0);
    
cumlative_number_of_pulse=100;

%-------according to SNR, generating the noise-------------------

temp = zeros(1,gate_samples);

for j=1:cumlative_number_of_pulse

 temp    =  temp  +  HRRP +  nstdv .* randn(1,gate_samples) ;

  end  %end for j
  
 receive_signal(iii,:) = temp ;  
 
end %end for iii scans
 % figure(2),plot(receive_signal(3,:));

%figure(1),disp_time=[1: gate_samples]*dt * 1e+9;
%plot(disp_time,receive_signal ,'r-'),set(gca,'yscale','linear');  ylabel('Radar receiver signal ');  xlabel('Time (ns)'); title('Through-wall ')
 
  yaxis=[ 1 : gate_samples ] * dt * 1e+9;
  
  receive_signal_db=20.*log10(abs(receive_signal));
  
  drpmax=max(max(receive_signal_db));
  
  figure(1),  
 imagesc( (1:scans) * Time_update_scans ,yaxis,receive_signal_db'-drpmax,[-30 0]);  hold on
 colormap('gray');
  ylabel( 'sampling time (ns)/ each scan  ');
  xlabel('scan (s) , each scan Tupdate=0.296s , v=0.0274m/s');
 title(' range profile ')
  colorbar('vert');  
  
%---------------------Get move target receive signal--------------------
  
for iii =20 : scans  
    
     move_target_siganl(iii,:) = receive_signal(iii,:) - receive_signal (iii-19,:) + 0.0001;
     
 end
 
  yaxis=[ 1 : gate_samples ] * dt * 1e+9;
  
  move_target_siganl_db=20.*log10(abs(move_target_siganl));
  
  drpmax=max(max(move_target_siganl));
  
  figure(2),  
 imagesc( (1:scans-20) * Time_update_scans ,yaxis,move_target_siganl_db'-drpmax,[-30 0]); 
  colormap('gray');
  ylabel( 'sampling time (ns)/ each scan  ');
  xlabel('scan (s) , each scan Tupdate=0.296s , v=0.0274m/s');
 title(' range profile ')
  colorbar('vert');  
 
  
  

⌨️ 快捷键说明

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