国产aaaa级全身裸体精油片_337p人体粉嫩久久久红粉影视_一区中文字幕在线观看_国产亚洲精品一区二区_欧美裸体男粗大1609_午夜亚洲激情电影av_黄色小说入口_日本精品久久久久中文字幕_少妇思春三a级_亚洲视频自拍偷拍

首頁 > 行業(yè)資訊 > 【雷達通信】雷達脈沖壓縮含Matlab源碼

【雷達通信】雷達脈沖壓縮含Matlab源碼

時間:2022-07-24 來源: 瀏覽:

【雷達通信】雷達脈沖壓縮含Matlab源碼

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領域的Matlab仿真,完整matlab代碼或者程序定制加qq1575304183。

收錄于合集

1 簡介

脈沖壓縮雷達(Pulse Compression Radar , PCR)的定義是,發(fā)射端發(fā)射經(jīng)編碼或調制的寬脈沖,接收端處理后輸出窄脈沖的雷達。目前,脈沖壓縮雷達發(fā)射信號的調制方式主要有線性調頻、非線性調頻和相位編碼等幾種。

2 部分代碼

function varargout = test1(varargin) %TEST1 M-file for test1.fig % TEST1, by itself, creates a new TEST1 or raises the existing % singleton*. % % H = TEST1 returns the handle to a new TEST1 or the handle to % the existing singleton*. % % TEST1( ’Property’ , ’Value’ ,...) creates a new TEST1 using the % given property value pairs. Unrecognized properties are passed via % varargin to test1_OpeningFcn. This calling syntax produces a % warning when there is an existing singleton*. % % TEST1( ’CALLBACK’ ) and TEST1( ’CALLBACK’ ,hObject,...) call the % local function named CALLBACK in TEST1.M with the given input % arguments. % % *See GUI Options on GUIDE ’s Tools menu. Choose "GUI allows only one % instance to run (singleton)". % % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help test1 % Last Modified by GUIDE v2.5 09-Mar-2009 14:24:57 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct(’ gui_Name ’, mfilename, ... gui_Singleton ’, gui_Singleton, ... gui_OpeningFcn ’, @test1_OpeningFcn, ... gui_OutputFcn ’, @test1_OutputFcn, ... gui_LayoutFcn ’, [], ... gui_Callback ’, []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before test1 is made visible. function test1_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin unrecognized PropertyName/PropertyValue pairs from the % command line (see VARARGIN) % Choose default command line output for test1 handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes test1 wait for user response (see UIRESUME) % uiwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = test1_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) creat=findobj(gcf,’ Tag ’,’ radiobutton1 ’); processing=findobj(gcf,’ Tag ’,’ radiobutton2 ’); global T T=str2double(get(handles.edit1,’ string ’)); global B B=str2double(get(handles.edit2,’ string ’)); if(get(creat,’ Value ’)==get(creat,’ Max ’)) K=B/T; %頻率調制斜率 Fs=5*B;Ts=1/Fs; %計算機仿真的采樣頻率和采樣周期 N=T/Ts; %采樣點數(shù) t=linspace(-T/2,T/2,N); St=exp(j*pi*K*t.^2); %產(chǎn)生線性調頻信號 axes(handles.axes1) handles.axes1_handle=gca; plot(t*1e6,real(St)); xlabel(’ fontsize{ 9 }時間(us) ’);title(’ fontsize{ 9 }LFM脈沖的時域波形 ’); grid on;axis tight; freq=linspace(-Fs/2,Fs/2,N); % freq=linspace(0,Fs,N); axes(handles.axes2) handles.axes2_handle=gca; % plot(freq*1e-6,abs(fft(St))); plot(freq*1e-6,fftshift(abs(fft(St)))); xlabel(’ fontsize{ 9 }頻率(MHz) ’);title(’ fontsize{ 9 }LFM脈沖的幅頻特性 ’); grid on;axis tight; elseif(get(processing,’ Value ’)==get(processing,’ Max ’)) global Rmin Rmin=str2double(get(handles.edit3,’ string ’)); global Rmax Rmax=str2double(get(handles.edit4,’ string ’)); global R R=str2num(get(handles.edit5,’ string ’)); global RCS RCS=str2num(get(handles.edit6,’ string ’)); global winid winid=str2double(get(handles.edit7,’ string ’)); % T=10e-6; %pulse duration 10us % B=30e6; %chirp frequency modulation bandwidth 30MHz % Rmin=10000;Rmax=15000; %range bin % R=[10500,11000,12000,12008,13000,13002]; %position of ideal point targets % RCS=[1 1 1 1 1 1]; %radar cross section % winid=2; %========================================================= %%Parameter C=3e8; %propagation speed K=B/T; %chirp slope Rwid=Rmax-Rmin; %receive window in meter Twid=2*Rwid/C; %receive window in second Fs=5*B;Ts=1/Fs; %sampling frequency and sampling spacing Nwid=ceil(Twid/Ts); %receive window in number %================================================================= %determine proper window if(winid==0.) win(1:Nwid)=1.; end if(winid==1.) win=hamming(Nwid)’ ; end if (winid== 2 .) win=chebwin(Nwid, 60 ) ’; end nosewite=findobj(gcf,’ Tag ’,’ checkbox1 ’); if(get(nosewite,’ Value ’)==get(nosewite,’ Max ’)) nose=randn(1,Nwid); else nose=zeros(1,Nwid); end %================================================================== %%Gnerate the echo t=linspace(2*Rmin/C,2*Rmax/C,Nwid); %receive window %open window when t=2*Rmin/C %close window when t=2*Rmax/C M=length(R); %number of targets td=ones(M,1)*t-2*R’ /C*ones( 1 ,Nwid); Srt=RCS*(exp(j*pi*K*td.^ 2 ).*(abs(td)<T/ 2 ))+nose;%radar echo from point targets Srt=Srt.*win; %========================================================= %%Digtal processing of pulse compression radar using FFT and IFFT Nchirp=ceil(T/Ts); % pulse duration in number Nfft= 2 ^nextpow2(Nwid+Nchirp- 1 ); %number needed to compute linear %convolution using FFT algorithm Srw=fft(Srt,Nfft); %fft of radar echo t 0 =linspace( 0 ,T,Nchirp); St=exp(j*pi*K*t 0 .^ 2 ); %chirp signal Sw=fft(St,Nfft); %fft of chirp signal Sot=ifft(Srw.*conj(Sw)); %signal after pulse compression %========================================================= N 0 = 1 ; Z=abs(Sot( N0: N 0 +Nwid- 1 )); Z=Z/max(Z); Z= 20 *log1 0 (Z+ 1 e- 6 ); %figure % subplot( 211 ) axes(handles.axes1) handles.axes1_handle=gca; plot(t* 1 e6,real(Srt));axis tight; xlabel( ’Time in u sec’ );ylabel( ’Amplitude’ ) title( ’Radar echo without compression’ ); % subplot( 212 ) axes(handles.axes2) handles.axes2_handle=gca; plot(t*C/ 2 ,Z) % axis([ 11900 , 12100 ,- 60 , 0 ]); axis([Rmin,Rmax,- 60 , 0 ]); xlabel( ’Range in meters’ );ylabel( ’Amplitude in dB’ ) title( ’Radar echo after compression’ ); end % --- Executes on button press in pushbutton2. function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close

3 仿真結果

4 參考文獻

[1]魏選平, 姚敏立, 張周生,等. 脈沖壓縮雷達原理及其MATLAB仿真[J]. 電子產(chǎn)品可靠性與環(huán)境試驗, 2008, 26(4):3.

博主簡介:擅長智能優(yōu)化算法、神經(jīng)網(wǎng)絡預測、信號處理、元胞自動機、圖像處理、路徑規(guī)劃、無人機等多種領域的Matlab仿真,相關matlab代碼問題可私信交流。

部分理論引用網(wǎng)絡文獻,若有侵權聯(lián)系博主刪除。

版權:如無特殊注明,文章轉載自網(wǎng)絡,侵權請聯(lián)系cnmhg168#163.com刪除!文件均為網(wǎng)友上傳,僅供研究和學習使用,務必24小時內刪除。
相關推薦