Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

欢迎来到怀帅的世界!

Quick Start

Create a new post

$ 
clc
clear
close all
tic
set(0,'defaultfigurecolor','w')
%% ***************************²ÎÊýÉèÖÃ**************************** %%
% ÐźŲÎÊý
c = 3 * 1e+8; % ¹âËÙ
fc = 2 * 1e+9; % ÔØ²¨ÆµÂÊ
lambda = c / fc; % À״ﲨ³¤
Tr = 5 * 1e-6; % ÐźųÖÐøÊ±¼ä
Br = 30 * 1e+6; % Ðźŵ÷Ƶ´ø¿í
Kr = Br / Tr; % µ÷ƵбÂÊ

alpha_os = 4.0; % ¹ý²ÉÑùÂÊ
Fr = alpha_os * Br; % ¿ìʱ¼ä²ÉÑùƵÂÊ
Nr = round( Fr * Tr ); % ¿ìʱ¼ä²ÉÑùµãÊý

disp(['ÀíÂÛ¾àÀë·Ö±æÂÊΪ£º', num2str( c / ( 2 * Br ) ), 'm']);
disp(['ÀíÂÛ²â»æ´ø´ø¿íΪ£º', num2str( c / ( 2 * Br ) * Nr ), 'm']);
disp('--------------------------------');
% Ä¿±ê²ÎÊý
position_target = [ 2997, 3000, 3050 ]; % Ä¿±êÏà¶ÔÀ×´ïµÄб¾à
sigma_target = [ 1, 1, 1 ]; % Ä¿±êµÄºóÏòÉ¢ÉäϵÊý
num_target = length( position_target ); % Ä¿±êÊýÁ¿
disp(['Ä¿±êAµÄʵ¼Ê¾àÀëΪ£º', num2str( position_target(1) ), 'm']);
disp(['Ä¿±êBµÄʵ¼Ê¾àÀëΪ£º', num2str( position_target(2) ), 'm']);
disp(['Ä¿±êCµÄʵ¼Ê¾àÀëΪ£º', num2str( position_target(3) ), 'm']);
disp('--------------------------------');
% ²â¾à²ÎÊý
Rmin = 1000;
Rmax = 7000;
Rwid = Rmax - Rmin; % ×î´ó²â¾à³¤¶È
Twid = 2 * Rwid / c; % »Ø²¨´°µÄ³¤¶È
Nwid = round( Fr * Twid ); % »Ø²¨ÐźŵIJÉÑùµãÊý
%% ***************************²â¾à·ÖÎö**************************** %%
% ·¢ÉäÐźÅ
t_tau_1 = linspace( 0, Nr-1, Nr ) / Nr * Tr;
sot = ( t_tau_1 <= Tr ) .* exp( 1j * pi * Kr * ( t_tau_1 - Tr/2 ).^2 );
% »Ø²¨ÐźÅ
t_tau_2 = linspace( 2*Rmin/c, 2*Rmax/c, Nwid );

srt_r = zeros( 1, Nwid );
for i = 1 : num_target
t_tau_3 = t_tau_2 - 2 * position_target(i) / c;
wr = abs( t_tau_3 ) <= Tr/2;
srt_target_r = sigma_target(i) * wr .* exp( 1j * pi * Kr * t_tau_3.^2 ) *...
exp( -1j * 4*pi * fc * position_target(i) / c );
srt_r = srt_r + srt_target_r;
end

figure
subplot(311)
plot( t_tau_1*1e+6, real(sot), 'b' );hold on;xlabel('ʱ¼ä/\mus');ylabel('·ù¶È');
plot( t_tau_2*1e+6, real(srt_r), 'r' );hold on;xlabel('ʱ¼ä/\mus');ylabel('·ù¶È');title('·¢ÉäÐźÅ&»Ø²¨ÐźÅ');
grid on;axis([0, 50, -4, 4]);

% Æ¥ÅäÂ˲¨
Nfft = 2^nextpow2( 2 * Nwid - 1 );
Srf_r = fft( srt_r, Nfft );

Hrf_2 = conj( fft( sot, Nfft ) );

Yrf_r = Srf_r .* Hrf_2;
yrt_r = fftshift( ifft( Yrf_r ) );

% ²¹Æë³¤¶È
N0 = round( Nfft/2 - Nr/2 );
yrt_r_1 = yrt_r( N0 : N0 + Nwid - 1 );
% ¹éÒ»»¯
yrt_r_2 = 20 * log10( abs( yrt_r_1 ) ./ max( abs( yrt_r_1 ) ) + eps);

% SNR_n = 13;
% signal = awgn( yrt_r_1, SNR_n, 'measured' );

% ¾àÀë²âÁ¿
R_tau = t_tau_2*c/2;

R_peaks = findpeaks( yrt_r_2 );
R_peaks = sort( R_peaks, 'descend' );
R_dect_1 = R_tau( yrt_r_2 == R_peaks(1) );
R_dect_2 = R_tau( yrt_r_2 == R_peaks(2) );
R_dect_3 = R_tau( yrt_r_2 == R_peaks(3) );
R_dect = [ R_dect_1, R_dect_2, R_dect_3 ];
R_dect = sort( R_dect, 'ascend' );
disp(['Ä¿±êAµÄ²âÁ¿¾àÀëΪ£º', num2str( R_dect(1)), 'm']);
disp(['Ä¿±êBµÄ²âÁ¿¾àÀëΪ£º', num2str( R_dect(2)), 'm']);
disp(['Ä¿±êCµÄ²âÁ¿¾àÀëΪ£º', num2str( R_dect(3)), 'm']);
disp('--------------------------------');

subplot(312)
plot( R_tau, abs(yrt_r_1) );xlabel('¾àÀë/m');ylabel('·ù¶È');title('À×´ï»Ø²¨¾­¹ýÂö³åѹËõ');
grid on;axis([0, 7500, 0, 800]);
subplot(313)
plot( R_tau, yrt_r_2 );xlabel('¾àÀë/m');ylabel('·ù¶È/dB');title('À×´ï»Ø²¨¾­¹ýÂö³åѹËõ');
grid on;axis([0, 7500, -40, 1]);
% ¾Ö²¿·Å´ó
figure
subplot(211)
plot( R_tau, abs(yrt_r_1) );xlabel('¾àÀë/m');ylabel('·ù¶È');title('À×´ï»Ø²¨¾­¹ýÂö³åѹËõ');
grid on;axis([2900, 3100, 250, 800]);
subplot(212)
plot( R_tau, yrt_r_2 );xlabel('¾àÀë/m');ylabel('·ù¶È/dB');title('À×´ï»Ø²¨¾­¹ýÂö³åѹËõ');
grid on;axis([2900, 3100, -20, 1]);

%% -------------------------------------------------------------- %%
toc

More info: Writing

Run server

$ hexo server

More info: Server

Generate static files

$ hexo generate

More info: Generating

Deploy to remote sites

$ hexo deploy

More info: Deployment