DSP應用系統(tǒng)設計大作業(yè)解答線性調頻+你要的_第1頁
DSP應用系統(tǒng)設計大作業(yè)解答線性調頻+你要的_第2頁
DSP應用系統(tǒng)設計大作業(yè)解答線性調頻+你要的_第3頁
DSP應用系統(tǒng)設計大作業(yè)解答線性調頻+你要的_第4頁
DSP應用系統(tǒng)設計大作業(yè)解答線性調頻+你要的_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

/DSP應用系統(tǒng)設計大作業(yè)專業(yè):電子與通信工程姓名:趙多學號:1302121285題目一一、線性調頻<LFM>信號為了提高雷達的作用距離和距離分辨率.實際中通常采用寬脈沖發(fā)射以提高發(fā)射的平均功率.保證足夠大的作用距離;而接收時采用相應的脈沖壓縮算法獲得窄脈沖.以提高距離分辨率.較好的解決了雷達作用距離與距離分辨率之間的矛盾。而獲得大的頻帶信號.采取LFM信號調制.可以將信號頻域展寬.同時也充分利用了雷達發(fā)射功率.擴大作用距離.接收時采用匹配濾波器〔MatchedFilter壓縮脈沖。線性調頻〔LinearFrequencyModulation信號是指頻率隨時間而線性改變<增加或減少>的信號。線性調頻信號s<t>可表示為:-T/2<t<T/2

<1.1>式中為中心頻率.為矩形信號.<1.2>K=B/T.是調頻斜率.可得信號的瞬時頻率為-T/2<t<T/2

<1.3>T為線性調頻信號的時寬.B為帶寬??芍矔r頻率呈線性變化.當K>0時.頻率遞增.K<0則遞減。將1.1式中的信號重寫為:<1.4>式中.<1.5>是信號s<t>的復包絡.也即為零中頻LFM信號。根據(jù)題目要求.可知波形數(shù)據(jù)采樣頻率.取脈沖寬度.則可以得知采樣數(shù)據(jù)長度.調制帶寬為。利用Matlab生成所需調頻信號.并生.dat數(shù)據(jù)文件以便VisualDSP++軟件仿真調用。信號為復數(shù)信號.復數(shù)數(shù)據(jù)實部虛部交叉存儲.奇數(shù)序列為實數(shù)序列.偶數(shù)序列為虛數(shù)序列。以下Matlab程序產(chǎn)生式<1.5>的零中頻線性調頻信號:clearall;T=120e-6;B=6e6;K=B/T;Fs=20e6;N=T*Fs;t=linspace<-T/2,T/2,N>;St=exp<j*pi*K*t.^2>;subplot<221>,plot<t*1e6,real<St>,'k'>;title<'零中頻線性調頻信號的實部'>;xlabel<'Timeinus'>,ylabel<'real<St>'>;gridon;axis<[-3030-11]>;subplot<222>,plot<t*1e6,imag<St>,'k'>;title<'零中頻線性調頻信號的虛部'>;xlabel<'Timeinus'>,ylabel<'imag<St>'>;gridon;axis<[-3030-11]>;freq=linspace<-Fs/2,Fs/2,N>;subplot<223>,plot<freq*1e-6,fftshift<abs<fft<St>>>,'k'>;title<'零中頻線性調頻信號的頻譜'>;xlabel<'FrequencyinMHz'>,ylabel<'S<f>'>;gridon;axistight;fi=K*t;subplot<224>,plot<t*1e6,fi*1e-6,'k'>;title<'零中頻線性調頻信號的瞬時頻率'>;xlabel<'Timeinus'>,ylabel<'fiinMHZ'>;gridon;axistight;saveinput.dat-asciiStfd=fopen<'input.dat','wt'>;a=real<St>;b=imag<St>;fori=1:1:2400fprintf<fd,'%g\n',a<i>>;fprintf<fd,'%g\n',b<i>>;endfclose<fd>;如圖1所示為零中頻線性調頻信號各曲線圖。圖1零中頻線性調頻信號各曲線圖二、脈沖壓縮原理脈沖壓縮技術是指雷達發(fā)射出寬脈沖信號.在接收端回波寬脈沖信號通過處理后得到窄脈沖的實現(xiàn)過程。脈沖壓縮器的設計實際上就是匹配濾波器的設計。匹配濾波可以在時域實現(xiàn).也可以在頻域實現(xiàn)。式1.5的零中頻線性調頻信號即為發(fā)射信號.根據(jù)匹配濾波理論.它的匹配濾波器時域脈沖響應為:<2.1>將式<1.5>代入式<2.1>得<2.2>匹配濾波h<t>S<t>S0<t>匹配濾波h<t>圖2零中頻LFM信號的匹配濾波LFM脈沖信號經(jīng)匹配濾波器后的輸出S0<t>信號.當時.包絡近似為辛克〔sinc函數(shù)。而此時壓縮后的脈沖寬度:T0=1/B.LFM信號的壓縮前脈沖寬度T和壓縮后的脈沖寬度T0之比通常稱為壓縮比D.即<2.3>式<2.3>表明.壓縮比也就是LFM信號的時寬頻寬積。輸出S0<t>的最大副瓣電平為主瓣電平的13.2dB.在多目標環(huán)境下.旁瓣會淹沒附近較小的目標.從而引起目標丟失.所以通常引入加權函數(shù)〔窗函數(shù)對信號進行失配處理以抑制副瓣產(chǎn)生的消極影響.其副作用是輸出信號的包絡主瓣降低、變寬.即旁瓣抑制是以信噪比損失及距離分辨力變壞作為代價的。設時域加權函數(shù)為w<t>.加權函數(shù)可以選擇海明窗、漢寧窗等。則加權后輸出為:<2.4>頻域實現(xiàn)實際上就是將時域的匹配濾波的時域卷積運算轉到頻域來運算〔快速卷積算法。因脈沖壓縮的點數(shù)比較大時.頻域FFT法的處理速度要比時域實現(xiàn)快很多.大大減少了運算量。用頻域FFT法實現(xiàn)脈壓的具體過程如圖3如下:對信號S<n>進行FFT變換得到S<K>.S<K>與發(fā)射信號S<n>的FFT的復共軛S*<K>相乘.然后再對乘積作IFFT而獲得時域脈壓結果。由于S*<K>可以預先算出存入DSP的RAM空間里.每次運算時.只需讀出RAM中的數(shù)值即可進行運算。因此S*<K>可以利用Matlab直接生成。軟件生成后在對脈壓作加窗處理時.僅需將窗函數(shù)W<K>與S*<K>的乘積H<K>=S*<K>·W<K>存入RAM中即可.不會額外增加存儲量及運算量。用頻域FFT法實現(xiàn)高速數(shù)字脈沖壓縮.文中的脈沖壓縮就是基于圖3的原理實現(xiàn)的。FFTW<K>FFTW<K>S*<K>IFFTH<K>圖3頻域脈沖壓縮原理結構圖為節(jié)省運算時間.所以將頻域脈壓系數(shù)H<K>預先處理好。已知輸入信號序列為零中頻線性調頻信號.根據(jù)題目要求在第二節(jié)已求出輸入信號序列.因此根據(jù)公式易求出匹配濾波系數(shù)序列h<n>.但為保證利用FFT計算線性卷積不出現(xiàn)混疊失真.則循環(huán)卷積長度必須滿足L=N+M-1.其中L為卷積長度.N和M分別為兩卷積序列長度。根據(jù)MATLAB生成的輸入數(shù)據(jù)可知N和M均為2400點.因此卷積長度.由于采用FFT進行計算.因此L必須為2的整數(shù)次冪.取最小值為8192。因此此設計中所有FFT和IFFT運算點數(shù)均為8192點。通過改變窗函數(shù)w<t>.可以得到三組H<k>序列文件.分別為矩形窗、漢寧窗和漢明窗.對應于文件real.dat/imag.dat,real1.dat/imag1.dat,real2.dat/imag2.dat三組文件.以便VISUALDSP++軟件仿真時進行導入。Matlab生成H<K>序列源代碼如下:clearall;T=120e-6;B=6e6;K=B/T;Fs=20e6;N=T*Fs;t=linspace<-T/2,T/2,N>;St=exp<j*pi*K*t.^2>;N_fft=4096;%因采樣數(shù)據(jù)長度N為2400則脈壓fft點數(shù)4096ht=conj<fliplr<St>>;%匹配濾波h<t>wt0=boxcar<N>;wt1=triang<N>;wt2=hanning<N>;wt3=hamming<N>;wt4=blackman<N>;beta=7.865;wt5=kaiser<N,beta>;ht0=ht.*wt3';%這里默認加漢明窗函數(shù)Ht=fft<ht0,N_fft>;a=real<Ht>;b=imag<Ht>;savereal.dat-asciiafd=fopen<'real.dat','wt'>;fork=1:1:N_fftfprintf<fd,'%g\n',a<k>>;end;saveimag.dat-asciibfd=fopen<'imag.dat','wt'>;fork=1:1:N_fftfprintf<fd,'%g\n',b<k>>;%文本文件實際點數(shù)N_fft*2end;fclose<fd>;三、VISUALDSP++脈壓仿真3.1線性調頻信號序列輸入由MATLAB軟件生成LFM信號序列.文件為input.dat。文件中共2400個復數(shù)序列.其中偶數(shù)列為實數(shù)序列.奇數(shù)列為虛數(shù)序列.因此共4800個數(shù)據(jù)。下圖為在VISUALDSP++軟件中導入input.dat文件并利用其畫圖功能畫其波形:圖3零中頻信號上半部為實部波形.下半部為虛部波形3.2匹配濾波系數(shù)頻域序列輸入由第二節(jié)計算可知.匹配系數(shù)H<K>序列為h<n>進行4096點FFT變換得到.因此H<K>共有4096個復數(shù)序列.并且將實數(shù)序列與虛數(shù)序列分別存儲成real.dat和imag.dat兩個文件。在第二節(jié)中利用MATLAB軟件生成H<k>序列已詳解。根據(jù)矩形窗、漢寧窗、漢明窗生成三組序列文件分別real.dat/imag.dat,real1.dat/imag1.dat和real2.dat/imag2.dat。利用VISUALDSP++軟件進行導入并畫出波形圖如下:圖4矩形窗H<k>序列上半部為實部波形.下半部為虛部波形圖5漢寧窗H<k>序列上半部為實部波形.下半部為虛部波形圖6漢明窗H<k>序列上半部為實部波形.下半部為虛部波形根據(jù)原理結構圖可知.脈沖壓縮共分為FFT、復數(shù)乘法、IFFT和模值衰減變換四個模塊。其中FFT模塊采用VISUALDSP++軟件中自帶模塊。而IFFT可采用如下方法求解.因<3.1>由式〔3.1可得.先將X<K>取復共軛.然后直接調用FFT子程序進行FFT運算.最后再取復共軛并乘以1/N得到序列x<n>。這種方法雖然用了兩次取共軛運算.但可以與FFT共用一子程序.提高了子程序利用率。四、結果分析4.1輸出結果利用VISUALDSP++軟件設置斷點功能畫出各部分輸出波形.波形圖分別如下:圖7零中頻線性調頻信號8192點FFT波形圖8矩形窗加權系數(shù)脈沖壓縮壓縮后波形圖9矩形窗系數(shù)脈沖壓縮后局部放大波形圖10矩形窗脈沖壓縮后衰減波形圖11漢寧窗壓縮后波形圖12漢寧窗壓縮后波形局部放大圖13漢寧窗脈壓后衰減波形圖14漢明窗脈壓后時域波形圖15漢明窗脈壓后局部放大波形圖16漢明窗脈壓后衰減波形4.2加窗對脈壓性能的影響線性調頻信號匹配濾波器輸出端的脈沖.是經(jīng)過壓縮后的窄脈沖.輸出波形具有辛克函數(shù)的性質.除了主瓣外還有時間軸上延伸的一串副瓣??拷靼甑牡谝桓卑曜畲?其值較主瓣峰值只得13.46dB,第二副瓣在降低4dB.以后依次下降。副瓣零點間的間隔為1/B。匹配濾波器輸出的旁瓣太高是脈沖壓縮雷達的缺點.實際使用中采用加窗的準匹配濾波器來改善副瓣的性能。實際應用中的匹配濾波器需要加窗.以實現(xiàn)旁瓣的抑制.但窗函數(shù)點數(shù)N固定時.也會導致主瓣的展寬.旁瓣的抑制和主瓣的展寬二者彼此矛盾.需要以實際需要折衷考慮.即在副瓣輸出達到要求的情況下.應使主瓣的展寬及強度變化值最小。以下分析不同的窗函數(shù)對脈壓結果〔主瓣寬度和幅度增益的影響。首先給出六種窗函數(shù)自身的性能:表1六種窗函數(shù)的主要參數(shù)窗函數(shù)類型主瓣寬度/rad旁瓣電平/dB過度帶帶寬/rad阻帶最小衰減/dB矩形窗-1321三角窗-2525漢寧窗-3144漢明窗-4153布萊克曼窗-5774凱塞窗-5780根據(jù)時寬帶寬積可以的到脈沖壓縮比為40。原脈壓前脈沖寬度為20us,對于20MHz的采樣頻率.對應采樣點400.那么脈壓后主瓣寬度采樣點數(shù)為2*<400/40>=20點〔主瓣寬度等于2倍的零點帶寬。下面考慮加窗對脈壓結果增益〔以主瓣最大增益為準的影響和脈壓后脈沖寬度<第一零點帶寬為準>的影響。表2加載六種窗函數(shù)后DSP脈壓對脈沖寬度、增益的影響窗函數(shù)類型脈沖主瓣寬度〔采樣點數(shù)脈沖增益〔主瓣最大增益第一旁瓣增益〔第一旁瓣最大增益矩形窗2040083.5三角窗44200.510.1漢寧窗40200.55.4漢明窗38216.53.1布萊克曼窗581650.89凱塞窗54175.70.85從表2可以得到結論:脈壓可以提升脈沖的增益.幅度增益與原寬脈沖時寬有關。加窗可以有效地抑制副瓣.但是要以主瓣展寬和增益下降為代價。相對而言.一般情況下.選擇漢明窗可以獲得較好帶寬和增益折衷。線性調頻信號經(jīng)過壓縮處理接收后的信號幅度峰值是原來發(fā)射信號幅度峰值的<D為脈壓比>倍.即輸出脈沖峰值功率比輸入脈沖峰值功率增大了D倍。在要求發(fā)射機輸出功率一定的情況下.接收機輸出的目標回波信號經(jīng)過匹配濾波壓縮處理.具有窄的脈沖寬度和更高的峰值功率.前者提高距離分辨率而后者符合探測距離遠的戰(zhàn)術要求.這充分體現(xiàn)了脈壓體制獨特的優(yōu)越性。從反偵查的角度來說.脈壓雷達比普通雷達具有更強的生存能力。由于線性調頻信號的幅度和信噪比更小.有偵查方程可知.同等靈敏度的偵察機其偵查距離為原來的.所以在雷達應用領域.脈壓雷達具有功率優(yōu)勢.應用前景十分廣闊。五、附錄部分主程序代碼如下://*******************Includes********************//#include<stdio.h>#include<sysreg.h>#include<builtins.h>#include<math.h>#include"FFTDef.h"http://*********************Externs******************//externfft32<float<*>[],float<*>[],float<*>[],float<*>[],int,int>;externinit<>;#pragmaalign4section<"data1ab">floatoutput[2*N];//FFT函數(shù)輸出變量floatreal[N];//變換中實部序列N=4096floatimag[N];//變換中虛部序列floatmax;//脈壓后floatinput[4800]={#include"LFM/input.dat"};//輸入信號文件其中偶序列為實部floatinput1[2*N];//變換信號數(shù)據(jù)緩沖floatreal_coff[N]={#include"LFM/real.dat"};//濾波器4096點fft實部real/real1/real2分別為矩形窗、漢寧窗、漢明窗濾波系數(shù)//floatimag_coff[N]={#include"LFM/imag.dat"};//濾波器4096點fft虛部imag/imag1/imag2分別為矩形窗、漢寧窗、漢明窗濾波系數(shù)//#pragmaalign4section<"data2ab">floatping_pong_buffer1[2*N];#pragmaalign4section<"data3ab">floatping_pong_buffer2[2*N];volatileinti,tmp_i0,tmp_i1;//用于計數(shù)〔程序各段計時//*************************mainvoidmain<void>{inti;#ifdefinitialization_errorprintf<"ERROR:ThisFFTfunctionworksonlyinthefollowingconditions:\n">;printf<"-Nmustbeapowerof2\n">;#ifdef__ADSPTS201__printf<"-forrealinputs,64<=N<=32768\n">;printf<"-forcomplexinputs,32<=N<=16384\n">;#elseprintf<"-forrealinputs,64<=N<=8192\n>;printf<"-forcomplexinputs,32<=N<=4096\n">;#endifprintf<"PleasechangethesettingsinthefileFFTDef.h\n">;#else/*inthecaseofTS201,atthebeginningoftheprogramthecachemustbeenabled.Theprocedureiscontainedincache_enablemacrothatusestherefreshrateasinputparameter-ifCCLK=500MHz,refresh_rate=750-ifCCLK=400MHz,refresh_rate=600-ifCCLK=300MHz,refresh_rate=-ifCCLK=250MHz,refresh_rate=375*/#ifdef__ADSPTS201__asm<"#include<defts201.h>">;asm<"#include<cache_macros.h>">;asm<"cache_enable<750>;">;asm<"#include<ini_cache.h>">;asm<"#include<fftdef.h>">;asm<"preload_cache;">;#endiftmp_i0=__builtin_sysreg_read<__CCNT0>;//readinitialcyclefor<i=0;i<4800;i++>{input1[i]=input[i];//信號傳輸至input1變換緩沖區(qū)}/////////////////////////////FFT運算///////////////////////////fft32<&<input1>,&<ping_pong_buffer1>,&<ping_pong_buffer2>,&<output>,N,COMPLEX>;//8192點FFT變換for<i=0;i<N;i++>{real[i]=output[2*i];//線性調頻信號FFT變換后實部imag[i]=output[2*i+1];//線性調頻信號FFT變換后虛部}//////////////////////////復數(shù)乘法運算/////////////////////////////for<i=0;i<N;i++>{input1[2*i]=real[i]*real_coff[i]-imag[i]*imag_coff[i];input1[2*i+1]=-real[i]*imag_coff[i]-real_coff[i]*imag[i];//取共軛}//////////////////////IFFT運算///////////////////////////////fft32<&<input1>,&<ping_pong_buffer1>,&<ping_pong_buffer2>,&<output>,N,COMPLEX>;//8192點FFT變換for<i=0;i<N;i++>{real[i]=output[2*i]/N;//imag[i]=-output[2*i+1]/N;//取共軛}/*到此完成了脈沖壓縮.也就是完成了匹配濾波*////////////////////////窄脈沖幅度/////////////////////////////////////////////////////for<i=0;i<N;i++>{real[i]=sqrt<real[i]*real[i]+imag[i]*imag[i]>;//求復數(shù)模}max=real[0];for<i=0;i<2*N;i++>//求脈壓后模最大值{if<real[i]>max>{max=real[i];}}for<i=0;i<2*N;i++>//衰減變換{real[i]=real[i]/max;real[i]=20*log10<real[i]>;}tmp_i1=__builtin_sysreg_read<__CCNT0>;//printf<"cyclecount=%d",tmp_i1-tmp_i0>;//printthecyclecount#endif}題目三:基于ADSP-TS101的雷達信號處理機實現(xiàn)一、緒論1.1背景經(jīng)過幾十年的發(fā)展.今天的雷達提供的有關目標的信息已經(jīng)遠遠超出了它最初的定義.不論在地面、艦船、飛機、導彈、太空都活躍著雷達的身影.雷達的原理已經(jīng)在幾兆赫茲到紫外線的頻率范圍內得到了應用.雷達的性能和用途也發(fā)生了巨大的變化.雷達的發(fā)明使人類在軍事、通訊、航空、航體、跟蹤測量等領域的技術發(fā)生了本質的重大飛躍。雷達信號處理是雷達系統(tǒng)的一個極其重要的組成部分.用于雷達在復雜背景〔包括雜波和干擾下對目標的檢測和目標信息的提取.現(xiàn)代雷達技術的發(fā)展越來越倚重于信號處理。雷達信號處理不僅大大的提高了在復雜背景下對目標的檢測能力.而且也提供了更加豐富的信息.如對目標進行成像及目標識別等。因此.雷達信號處理是當前雷達技術研究中最活躍、發(fā)展最為迅速的部分之一。近幾十年.雷達信號處理的研究取得了長足的進步和發(fā)展.五十年代實現(xiàn)了抑制雜波的時域濾波以及對復雜信號的匹配濾波.六十年代實現(xiàn)了對有源干擾的空域濾波.并且提出了對變化環(huán)境的自適應濾波。六十是年代以來隨著數(shù)字技術的實際應用和不斷發(fā)展.使得雷達整體性能大幅度提高。進入到八十年代之后.微處理技術.特別是數(shù)字信號處理器的發(fā)展.是雷達信號處理完成了從模擬到數(shù)字的轉化.除了極大的提高了雷達信號處理機的性能之外.還大大提高了整個處理機的系統(tǒng)可靠性.減小了體積和功耗.使得其應用范圍變得日益廣泛。不同的信號處理領域對數(shù)據(jù)處理的速度要求不盡相同。在一般情況下.通信和語音信號處理中需要每秒幾千萬次到幾億次運算.在視頻信號和圖像處理中.需要每秒幾億次到幾十億次運算.而在雷達和聲納信號處理中.常需要每秒幾十億到幾百億次運算。此外.通信、語音、圖像處理中信號動態(tài)范圍有限.一般用定點運算就可以滿足工作要求.而雷達和聲納信號處理需要較大的數(shù)據(jù)動態(tài)范圍和數(shù)據(jù)精度.按定點處理可能發(fā)生溢出.往往必需用浮點運算完成.同時.雷達信號處理不同于其他類型的信號處理.不僅運算量大.數(shù)據(jù)吞吐量也很大.這樣對處理單元的輸入輸出速度和處理機互聯(lián)網(wǎng)絡的通信能力都有很高的要求。因此.雷達信號處理采用高速度.高精度.大動態(tài)范圍.高數(shù)據(jù)吞吐量的處理系統(tǒng)勢在必行。正是由于雷達信號處理的這些要求.使得在進行系統(tǒng)設計前必須進行DSP選擇。DSP分為專用DSP和通用DSP兩種.前者的運算是用硬件直接實現(xiàn)的.速度快.但是靈活性差.而且?guī)缀醵际嵌c的.精度和動態(tài)范圍有限.通用DSP的運算和處理是基于軟件實現(xiàn)的.兼容性好.可根據(jù)實際需要選擇采用定點或浮點運算.具有較強的擴展能力.而且在速度方面也已超過某些專用DSP。1.2概述本文研究的目的是實現(xiàn)基于通用DSP—TSl01的雷達信號處理機。該信號處理機主要由脈沖壓縮<PC>.動目標檢測<MTD>.自動角測量.恒虛警處理<CFAR>等幾個模塊組成。二、系統(tǒng)硬件設計2.1處理器簡介AD公司的ADSP-TS101STigerSHARCDSP〔簡稱TS101是一款高性能的數(shù)字信號處理器.是SHARCDSP的下一代產(chǎn)品。與SHARCDSP相比.TigerSHARC在速度、內部存儲器容量、處理器的體系結構.以及處理器提供的外部資源方面都做了改進.更加適用于構成各種不同的并行多處理器系統(tǒng)。概括的講.TS101具有如下主要特點:〔1核時鐘頻率。TS101有兩種型號.一種內部核時鐘頻率可以達到300MHz.即指令周期3.3ns。另一種內部核時鐘頻率可達250MHz.即指令周期4ns?!?片內兩個計算塊——X和Y。每個運算塊有一個64bitALU.一個乘法器.一個64bit移位器和一個由32個寄存器構成的寄存器組.可以執(zhí)行定點和浮點的算術邏輯等通用運算。而SHARCDSP只有一個計算塊.相比之下TS101具有更強的運算能力?!?三條內部地址/數(shù)據(jù)總線。每條總線都連接到三個內部存儲器塊中的一個。三條總線都是128bit寬.可以在任何一個周期使用任意一條總線傳送多達四條指令或四個對其的數(shù)據(jù)。這樣TS101內核可以在任何一個周期并行訪問三個存儲塊.一個取指令.兩個訪問數(shù)據(jù)?!?有兩個整數(shù)算術運算邏輯單元J-IALU和K-IALU。每個IALU都包含一個寄存器堆和8個專用的循環(huán)緩沖寄存器。兩個IALU能提供更強大的地址產(chǎn)生能力和通用的整數(shù)操作?!?有6M位的大容量片內SRAM。分為三個2M位的存儲塊M0、M1和M2.每一個存儲塊都能夠單獨存儲程序、數(shù)據(jù)或同時存儲程序和數(shù)據(jù)?!?DMA控制器。其擁有14個DMA通道.提供了在處理器核不干預條件下的零開銷數(shù)據(jù)傳送?!?SDRAM控制器。SDRAM的地址、數(shù)據(jù)引腳可以與TigerSHARC的直接相連。另外.TigerSHARC提供專用的尋址空間來支持SDRAM。〔84個鏈路口。其支持點對點的高貸款數(shù)據(jù)傳送.通過單個鏈路口可以以250Mbytes/s的速率進行數(shù)據(jù)傳輸。四個鏈路口為處理器與處理器之間的通訊提供了一個良好的途徑.總吞吐量多達每秒1Gbytes。〔9多處理器特性。當單個DSP芯片組成的系統(tǒng)不能滿足處理要求時.TS101通過外部口或者鏈路口與其它TS101相連構成多處理器系統(tǒng)。TS101的外部總線支持多達8個DSP外加Host處理器的并行總線連接。在構成多處理器系統(tǒng)時.處理器之間無論是采用共享總線方式.還是采用鏈路口相連方式.都不需要任何外加控制.實現(xiàn)無縫連接.在并行總線上可以以800Mbytes/s的速率進行數(shù)據(jù)傳輸。2.2雷達信號處理機系統(tǒng)構成雷達信號處理系統(tǒng)由中頻信號相干檢波模塊、脈沖壓縮模塊、相參積累、參數(shù)檢測〔包含速度、距離、方位角等參數(shù)的MTD和恒虛警處理及大部分組成。中頻信號相干檢波模塊主要工作為:對A/D變換后送來的25M中頻信號進行相干檢波.使數(shù)字回波信號變成分離為I、Q兩路的零中頻信號.然后對其進行抽樣處理.最后把抽樣后的數(shù)據(jù)打包成32bit送往脈沖壓縮模塊。其中低16bit為I路信號,高16位為Q路信號。其系統(tǒng)原理如圖1所示:目標距離速度航向俯仰角檢測相參積累恒虛警處理和路脈沖壓縮模塊目標距離速度航向俯仰角檢測相參積累恒虛警處理和路脈沖壓縮模塊中頻信號相干檢波模塊中頻信號相干檢波模塊A/D和路中頻A/D差路脈沖壓縮模塊A/D差路中頻差路脈沖壓縮模塊A/D圖1雷達信號處理機系統(tǒng)原理如圖1所示.中頻信號相干檢波模塊將和/差兩路信號分別送入和路/差路脈沖壓縮模塊,兩路脈沖壓縮各自獨立運行.把脈壓結果送入相參積累.經(jīng)過相參積累后系統(tǒng)的信噪比有所提高.利于檢測模塊對距離、速度、方位角等參數(shù)的檢測.當完成這些工作后。結合檢測后的數(shù)據(jù)與初始判定門限進行恒虛警處理。該雷達信號處理機一共用三片TSl01完成相干檢波后信號處理.其硬件結構如圖2所示。圖2給出了主要的芯片以及各芯片之間的信號連接關系。其中.TSl01一A和TSl01一B分別完成和路和差路數(shù)據(jù)的脈沖壓縮.TSl01-C完成相參積累、MTD檢測、角度測量、CFAR處理等工作。TSl01一A和TSl01一C采用EPROM引導方式.TSl01-3采用鏈路口引導方式。在對引導芯片EPROM-A作配置時.除了在EPROM-A中裝載和路脈壓片<A>所需的程序及相關參數(shù)以外.還要將差路脈壓片<B>所需的程序及相關參數(shù)一并裝載。當TSl01一A經(jīng)EPROM—A成功引導后.它不僅從EPROM中獲得了自身正常運行所需的程序和相關參數(shù).而且也獲得了差路<B>所需的相關程序信息;通過硬件連接的鏈路口1<A>和鏈路口0<B>.TSl01-B經(jīng)鏈路口引導.從TSl01一A中加載自身程序運行所需的相關信息。從圖中可以看出.脈沖壓縮和檢測片之間采用鏈路口傳輸數(shù)據(jù)信息.其中和路脈沖壓縮后的數(shù)據(jù)利用TSl01一A和TSl01一C各自的鏈路口0傳輸.差路脈沖壓縮后的數(shù)據(jù)利用TSl01-B和TSIOI-C各自的鏈路口l傳輸。這樣的設計主要考慮到TSl01--C在作數(shù)據(jù)檢測時需要頻繁的和外部SDRAM交換信息.利用TSl01的鏈路口一方面充分利用了器件本身的硬件資源.另一方面也避開了多個設備同時請求總線時造成的總線沖突.提高了系統(tǒng)的運行速度。圖2雷達信號處理機硬件結構簡圖不論和路還是差路脈沖壓縮.除了引導方式不同以外.其工作原理與實際工作流程是完全一致的.因此.TSl01一A和TSl01一B有部分管腳接收同樣的控制信息.如圖所示:差轉控制提示當前差路信號接收的是航向差還是俯仰差信號;狀態(tài)標志0/1共同標志當前脈沖重復周期、脈寬是處于何種狀態(tài):同步脈沖中斷到來時.提示前端開始往TSl01輸送數(shù)據(jù)<經(jīng)過相干檢波后的數(shù)據(jù)>.TSl01根據(jù)此中斷信號決定何時裝載DMA;前端每傳輸一個數(shù)據(jù).發(fā)送一次DMA請求.DMA傳輸根據(jù)請求相應的從外部總線傳輸一個數(shù)據(jù)到內部存儲器。TSl01一C的狀態(tài)改變輸出則是由檢測后的結果決定。三、系統(tǒng)軟件設計3.1脈沖壓縮的實現(xiàn)隨著飛行技術的飛速發(fā)展.對雷達的作用距離、分辨能力、測量精度和單值性等性能指標提出了越來越高的要求。測距精度和距離分辨力對信號形式的要求是一致的.主要取決于信號的頻率結構.為了提高測距精度和距離分辨力.要求信號具有大的帶寬.而測速精度和速度分辨力則取決于信號的時域結構.為了提高測速精度和速度分辨力.要求信號具有大的時寬。除此之外.為了提高雷達系統(tǒng)的發(fā)現(xiàn)能力.要求雷達信號具有大的能量。由此可見.為了提高雷達系統(tǒng)的發(fā)現(xiàn)能力、測量精度和分辨力要求雷達信號具有大的時寬、帶寬能量乘積。但是在系統(tǒng)的發(fā)射和饋電設備峰值功率受限的情況下.大的信號能量只能靠加大信號的時寬來得到。測距精度和距離分辨力同測速精度和速度分辨力以及作用距離之間存在著不可調和的矛盾。為了解決這個矛盾.人們提出了脈沖壓縮理論.脈沖壓縮技術的實現(xiàn)是指雷達通過發(fā)射機發(fā)射款脈沖信號而接收信號經(jīng)過壓縮處理后獲得窄脈沖的過程.脈沖壓縮可以使雷達在峰值發(fā)射功率大大降低的情況下同時獲得長脈沖的高能量和短脈沖的分辨率兩方面的優(yōu)點.它較好的解決了雷達脈沖峰值功率受限和距離分辨率之間的矛盾。同時.寬脈沖的使用可以使多普勒系統(tǒng)的分辨率提高.相應提高速度分辨率。由于脈沖壓縮技術是對回波信號做相關處理.故系統(tǒng)還具有較高的抗干擾性。本系統(tǒng)脈沖壓縮分為和/差兩路.兩路脈壓分別對前端的和路回波和差路回波進行脈沖壓縮處理。和路脈沖壓縮的結果用于目標距離、速度的檢測以及在測角時作為基準信號;差路脈壓信號用于航向/俯仰誤差角測量。和路脈沖壓縮片在系統(tǒng)啟動時.采用EPROM引導方式.從EPROM中載入程序及相關參數(shù)<包含差路脈壓所需的程序和參數(shù)>.在對自身<DSP>做初始化的同時.通過與差路脈壓片硬件相連的鏈路口對差路脈壓片進行引導.完成差路脈壓片的程序及參數(shù)裝載。除了引導方式不同以外.和路、差路脈壓工作原理與程序流程完全一致。圖3給出了脈沖壓縮程序的流程圖以及時序圖。以和路脈沖壓縮為例.說明脈沖壓縮的實現(xiàn)過程。3.1.1程序及系數(shù)調入如圖2所示.我們對TSl01-A采用EPROM啟動方式.在硬件設計時將BMS引腳設置為低。這樣當系統(tǒng)加電時.TSl01檢測到BMS為低電平則會自動將程序及相關參數(shù)由EPROM載入。在整個脈沖壓縮過程中.系統(tǒng)運算所設計的參數(shù)主要為三種狀態(tài)的旋轉因子以及對應各個狀態(tài)的匹配濾波器系數(shù)。旋轉因子及匹配濾波器系數(shù)均由MATLAB軟件產(chǎn)生.其中.我們將原始線性調頻信號匹配濾波器系數(shù)與海明窗函數(shù)在MATLAB中預先進行頻域相乘.把其結果作為最后載入DSP的匹配濾波器系數(shù).這樣.在DSP處理時就可省略脈壓過程中的窗函數(shù)濾波過程.一定程度上節(jié)省了硬件資源.節(jié)省了整個程序運行指令周期.提高了效率。圖3脈沖壓縮程序流程圖及時序圖為了在程序處理時最大可能的利用TSl01的總線資源.提高脈壓處理的速度.針對TSl016Mbit片上存儲區(qū)分為MO.M1.M2三個區(qū)域及其各區(qū)域可具有獨立總線的優(yōu)點.我們將程序代碼放在片上存儲區(qū)MO.旋轉因子及匹配濾波器系數(shù)放在M2.而輸入及輸出乒乓存儲區(qū)設置到M1.這樣在進行脈壓處理中最耗時間的FFT和IFFT運算時.便可充分利用TSIOI的指令并行優(yōu)勢.試驗證明.這樣設置比將所有參與運算的數(shù)據(jù)采用其他任何方式存放至少節(jié)省10%的指令周期。3.1.2相干檢波后的數(shù)據(jù)輸入DSP的直接內存訪問<DMA>方式可以在不干擾內核操作的情況下獨立運行.對于外部脈壓數(shù)據(jù)的輸入.我們采取了中斷處理與外部DMA傳輸相結合的方式。當系統(tǒng)初始化完成后.TS101等待IRQ0中斷.中斷到來時.TS101進入IRQ0中斷程序.完成外部DMA參數(shù)預裝處理后.關閉IRQ0中斷.開啟外部DMA中斷。此時.DMA的源地值可為TS101外部存儲器映射中任意地址.目的地址為內部存儲區(qū)M1中輸入乒乓存儲區(qū)其中一個。每一次外部相干檢波模塊送數(shù)據(jù)至數(shù)據(jù)總線低32Bit時.同時通過DMAR0引腳向TS101發(fā)送DMA請求.每接受一次請求.DMA進行一個數(shù)據(jù)的傳遞.同時DMA的傳輸數(shù)據(jù)值總量減一。當DMA的傳輸數(shù)據(jù)值總量減為零時.本次DMA結束.DMA中斷產(chǎn)生.TS101進入DMA中斷程序.在DMA中斷程序中.重新打開IRQ0中斷.關閉外部DMA中斷.同時在程序中.將DMA結束標志變量景1.把下一次DMA參數(shù)中的目的地址指針指向輸入乒乓存儲區(qū)的另外一個。因為采用了上述方式.在整個脈壓過程中.主程序完全不用考慮外部數(shù)據(jù)的傳輸過程.只需在每次脈壓處理之前檢測DMA結束標志變量是否為1.然后直接調用乒乓存儲區(qū)的數(shù)據(jù)即可進行后續(xù)處理。3.1.3脈沖壓縮處理及數(shù)據(jù)輸出外部送入的數(shù)據(jù)采用32Bit數(shù)據(jù)寬度.其中高16位為I路信號.低16位為Q路信號.因此.在進行FFT之前.必須將乒乓存儲區(qū)中的數(shù)據(jù)解包.同時為避免定點數(shù)據(jù)運算溢出時舍位所造成的誤差.必須將解包后的數(shù)據(jù)轉換為浮點數(shù)據(jù)。定點轉浮點程序運行前首先對DMA結束標志進行循環(huán)判斷.如果其值為1.表示DMA傳遞結束.可以進入數(shù)據(jù)轉換.否則將繼續(xù)等待。一旦進入定/浮轉換程序.首先要將DMA結束標志置0以避免下次循環(huán)出現(xiàn)錯誤操作。脈壓程序根據(jù)FLAG0.FLAG1的值確定當前脈沖壓縮處于何種狀態(tài).載入對應的旋轉因子以及匹配濾波器系數(shù)。而在實際工作中雷達只需檢測目標距離.速度.方位角等信息。故脈壓結果的幅度值絕對大小對目標檢測沒有大的影響.為了減少運算周期.所以IFFT程序中沒有把脈壓結果值與傅立葉變換點數(shù)N相除。由于FFT程序與IFFT程序原理基本一致.故只需對FFT程序中涉及旋轉因子的相應計算的加減號加以修改.修改后的FFT程序即可成為IFFT程序.而且兩個程序可調用相同旋轉因子.極大的節(jié)省了固定數(shù)據(jù)所占的內存空間。當脈壓過程結束后.需將結果送入?yún)?shù)檢測模塊。TSl01具有14個獨立的DMA通道.其鏈路口操作也是采用DMA傳輸模式.所以我們在實際設計時只需裝載對應的鏈路口DMA參數(shù)即可。如圖2所示.參數(shù)檢測模塊與脈沖壓縮模塊有一組鏈路口設計為硬件連接.一旦接收方與發(fā)送方在彼此對應的鏈路口都裝載完各自的DMA參數(shù)后.數(shù)據(jù)傳輸就開始在不干擾內核運行的情況下自動進行。3.1.4脈沖壓縮處理工作時序我們以狀態(tài)1說明工作時序<圖3>.1狀態(tài)脈沖重復周期為200us.外部輸入數(shù)據(jù)600點<5MHZ數(shù)據(jù)流>.所需時間120us.而DMA的傳輸速度遠高于數(shù)據(jù)輸出率.可以認為當數(shù)據(jù)輸入結束后.外部DMA傳輸同時結束.DSP在200MHZ主頻下.完成整個脈沖壓縮過程所需時間為118.5us.鏈路口傳輸時鐘設置為1/4核心時鐘<DIV4>.即50M.其傳輸完1024點復數(shù)所需時間約為80us。在圖中prt為脈沖重復周期.e_dma表示外部DMA傳送周期.ope_t為脈沖壓縮處理周期.l_dma為脈壓結果經(jīng)鏈路口輸出數(shù)據(jù)至檢測模塊周期。對于prt其高電平為雷達發(fā)射脈沖時間.低電平表示接收回波時間。其它的高電平表示工作時間.低電平為等待時間。其他兩種狀態(tài)時序與1狀態(tài)基本一致.只是周期相應縮短而己。顯然.脈沖壓縮模塊的實時性得到了很好的滿足。3.2參數(shù)檢測模塊的實現(xiàn)參數(shù)檢測模塊主要通過相參積累.模平方最大值求取等一系列運算完成距離、速度、角度等參數(shù)的檢測.同時.根據(jù)參數(shù)決定雷達的工作狀態(tài)及完成恒虛警處理。3.2.1主程序如圖4所示.系統(tǒng)啟動時.DSP首先對程序運行所需的各個狀態(tài)參數(shù)進行初始化。這些參數(shù)包括:三種狀態(tài)下的DMA傳送參數(shù)<鏈路口DMA和外部DMA>、每一種狀態(tài)的積累周期數(shù)、初始門限、狀態(tài)切換點、以及部分標志變量等;另外.由于該DSP外接一個外部存儲器.必須在程序運行前對此外部存儲器做初始化。圖4參數(shù)檢測主程序初始化完成后.從外部端口讀取程序所需的狀態(tài)信息.這個狀態(tài)信息主要標識當前雷達的脈沖重復頻率、脈沖寬度。根據(jù)這個狀態(tài)信息確定到底在DMA裝載時應該載入哪一個狀態(tài)的值。同時.一旦狀態(tài)確定.其對應的積累周期內的脈沖數(shù)、狀態(tài)切換點.恒虛警處理時的參考單元數(shù)等也相應確定。DSP在初始化時.已對各狀態(tài)的參數(shù)加以定義.這時.程序只需根據(jù)外部端口讀入的狀態(tài)信息對后續(xù)程序所需的變量做相應配置即可。主程序核心部分為一個循環(huán).循環(huán)涉及兩個變量判斷.一個是跟蹤啟動標志變量.另一個為狀態(tài)改變標志變量.初始化時這兩個變量均為0。循環(huán)開始時.首先對狀態(tài)改變標志作判斷.如果其值為0.則對跟蹤啟動標志判斷.該標志為0.表示雷達目前沒有發(fā)現(xiàn)目標.程序進入搜索子程序.雷達進行大范圍搜索.直到發(fā)現(xiàn)目標為止。如果該標志為1.證明雷達在搜索狀態(tài)發(fā)現(xiàn)有目標存在.這時候.信號處理機應該對目標信息作進一步的測量.并將信息送至雷達天線飼服機構.以控制天線始終對準目標.這一切工作均由跟蹤子程序完成。如果進入循環(huán)前.檢測到狀態(tài)改變標志為1.則說明目標運動到狀態(tài)切換點上.為了更好的跟蹤目標.需要對雷達的工作狀態(tài)作切換.主程序跳出循環(huán)。需要注意的是.信號處理部分并非馬上開始下一個狀態(tài)的工作.而是必須等待鏈路口DMA將當前傳輸數(shù)據(jù)操作完成。因為TSl01的DMA操作不允許往當前正在傳遞數(shù)據(jù)的DMA重新寫入新的傳輸參數(shù).如果強行執(zhí)行.只會導致該DMA鎖死。而且.鏈路口的DMA是和前端脈壓鏈路口DMA成對使用的.如果中止自己的鏈路口傳輸.必然會導致脈壓部分的鏈路口傳輸同時中止.引起時序上出現(xiàn)混亂。為此必須循環(huán)判斷鏈路口DMA傳輸是否結束。一旦鏈路口DMA傳輸結束.TSl01發(fā)出狀態(tài)改變以及新狀態(tài)信息.同時將狀態(tài)改變標志清零。然后讀取外部端口信息并加以判斷<外部端口信息來自于一片F(xiàn)PGA.該FPGA主要用于控制信號處理各部分協(xié)同工作>。當檢測到新狀態(tài)開始指令后.程序返回配置變量處.用對應于新狀態(tài)的各參數(shù)替換狀態(tài)改變前的變量值.然后開始新的循環(huán)。3.2.2搜索子程序進入搜索子程序后.首先需要對鏈路口DMA做初始化.因為搜索狀態(tài)只需對和路數(shù)據(jù)做檢測。因此在搜索子程序中對于差路數(shù)據(jù)在傳輸時只將其固定的送至片內一個地址區(qū)??紤]到其不參與運算.一個脈沖周期傳送結束后.下一個脈沖周期仍然將數(shù)據(jù)放至同一地址。對于和路數(shù)據(jù).需要對整個距離域作相參積累.因此必須對積累周期的每一組數(shù)據(jù)都保存??紤]到相參積累的主要操作為FFT運算<FFT運算對其輸入數(shù)據(jù)采用位反序尋址>.在DMA將數(shù)據(jù)傳輸?shù)酵獠縎DRAM的同時.應該完成數(shù)據(jù)重排。假設每一個脈沖周期傳送數(shù)據(jù)點數(shù)為N.參與積累的脈沖周期數(shù)為K.則數(shù)據(jù)重排后.每一個周期的第i點數(shù)據(jù)和第i+1點數(shù)據(jù)之間地址間隔為2K<每一點數(shù)據(jù)都為復數(shù).需要占兩個地址單元>.即跳址存儲.經(jīng)過DMA傳輸后.在外部SDRAM的數(shù)據(jù)排列直接表現(xiàn)為同一個距離門的數(shù)據(jù)連續(xù)存放.這樣為后面的FFT運算帶來了方便。設置完DMA參數(shù)后.程序循環(huán)檢測積累周期的數(shù)據(jù)傳送是否結束.一旦傳送結束.啟動外部DMA.將外部SDRAM中的數(shù)據(jù)逐段載入內部存儲器.實際操作時.一段數(shù)據(jù)量為32×128點數(shù)據(jù)<第一種狀態(tài)32個距離門的數(shù)據(jù)、第二種狀態(tài)16個距離門的數(shù)據(jù)、第三種狀態(tài)8個距離門的數(shù)據(jù)>.每一次外部DMA傳送結束.以中斷方式開始下一次DMA傳送.直到將積累周期內的數(shù)據(jù)全部傳送至內部SRAM。為此.DMA的目的地址對應一個乒乓存儲區(qū)。FFT取數(shù)與DMA輸入數(shù)據(jù)交替使用乒乓存儲區(qū)的不同區(qū)間。圖5搜索子程序流圖程序對外部DMA送來的數(shù)據(jù)進行FFT以及模平方最大值求取運算.將最大值對應的距離點i和最大值j記錄下來。這個過程循環(huán)進行.直到積累周期內的數(shù)據(jù)全部完成運算。接下來將最大值j.與初始門限作比較.如果j小于初始門限.返回搜索程序入口。反之.認定雷達發(fā)現(xiàn)目標.記錄j對應的值i.向外部設備發(fā)出目標截獲信息.等待外部其他設備發(fā)出準備好的反饋信息。收到反饋信息后.將跟蹤啟動標志置1后返回主程序。3.2.3跟蹤子程序在跟蹤狀態(tài).需要檢測目標的角度信息.因此需要在積累周期內將和路差路數(shù)據(jù)都傳送至外部SDRAM.由于最后參與角度運算的只需要差路一個距離門的數(shù)據(jù).因此對于差路數(shù)據(jù)的鏈路口DMA傳送時.沒有進行數(shù)據(jù)重排而采用順序存儲方式。這樣可以減少DMA傳送時的總線沖突.提高傳輸速度。和路傳送方式與搜索狀態(tài)一致。當積累周期數(shù)據(jù)傳送完畢后需要對相關數(shù)據(jù)進行相參積累.與搜索狀態(tài)不同的是此時不需要對整個距離域進行運算。前面已經(jīng)提到搜索狀態(tài)對最大值對應的距離點i作了記錄.因此已經(jīng)獲取了目標初步的距離信息.我們只對i點本身以及其前后各L<三種狀態(tài)工分別為:Ll=20、L2=10、L3=5>個點對應的距離門數(shù)據(jù)作相參積累即可。對于積累完的數(shù)據(jù).需要從其中找出模最大值x并記錄其對應的多普勒通道N1和距離門N2.如果x大于門限.記錄對應該點的求模運算前的數(shù)據(jù)Y∑<復數(shù)>。并以.N1、N2作為下次跟蹤的參考點。將對應距離門N2的差路數(shù)據(jù)通過外部DMA載入內部存儲器.需注意的是.因為數(shù)據(jù)在存儲至SDRAM時沒有進行數(shù)據(jù)重排.所以在DMA取數(shù)時必須按跳址方式取數(shù).數(shù)據(jù)點與點之間的地址差為2N<N為脈壓后的數(shù)據(jù)點數(shù)>。對這一組差路數(shù)據(jù)作FFT后求出最大值并記錄對應的數(shù)據(jù)Y△。有了上述信息.求出角度誤差占<具體為航向還是俯仰角由脈壓模塊所發(fā)的識別信息決定>.求出多普勒頻移發(fā)fd.依據(jù)公式fd=2v/λ<v為目標速度、λ為雷達發(fā)射信號波長>求出目標速度。根據(jù)當前狀態(tài)以及N2.判斷是否需要切換雷達工作狀態(tài)。如果需要切換狀態(tài).需要在發(fā)送信息之前.將狀態(tài)改變標志置l。在輸出了角度、速度、距離、狀態(tài)等信息后.需要根據(jù)回波信號作恒虛警處理。我們以N2:距離門FFT后的數(shù)據(jù)作為測量標準.以Nl點作為檢測單元.兩邊各空出兩個單元作為保護單元.選用GO--CFAR<選大統(tǒng)計恒虛警>.其參考單元數(shù)設為16.對兩邊參考單元數(shù)據(jù)求和取平均.然后選取其中的大者與一固定值相乘后作為動態(tài)門限實現(xiàn)恒虛警。如圖5所示.雷達如果在前一個積累周期處于跟蹤狀態(tài).當前周期經(jīng)過相參積累后發(fā)現(xiàn)記錄區(qū)內沒有新的數(shù)據(jù).此時雷達并不馬上轉入搜索狀態(tài).而是進入記憶跟蹤.在記憶跟蹤狀態(tài).輸出目標丟失前的相關數(shù)據(jù).如果在5秒后仍然沒有檢測到新的信息.雷達認定目標丟失.將跟蹤啟動標志置0后返回主程序。圖6跟蹤子程序流程圖四附錄部分主程序為:#include<defts101.h>#include<stdlib.h>#include<math.h>#include<stdio.h>#include<stats.h>//使用floatmeanf<constfloat*_a,int_n>;#include<sysreg.h>//使用系統(tǒng)計數(shù)器#include<FFTDef.h>#include"parameter.h"http://雷達各參數(shù)設定#include"var.h"http://外部定義變量externfft_flp32<float*,float*,float*,float*,int,int>;//8192點FFTexternfft_16<float*,float*,float*>;//16點FFTexternComplexVectorDotProduct<float*,float*,int,float*>;//復數(shù)點乘volatileinttmp_i0,tmp_i1;//用于計數(shù)〔程序各段計時voidmain<>{inti,j,k,n,temp_index;floatref_left,ref_right,ref,ref_Alpha;tmp_i0=__builtin_sysreg_read<__CCNT0>;//readinitialcyclecountfor<i=0;i<N;i++>{fft_input_amp[i]=sqrt<fft_input[2*i]*fft_input[2*i]+fft_input[2*i+1]*fft_input[2*i+1]>;}i=0;//斷點,繪圖觀察脈沖回波信號幅度/**************************頻域脈壓過程〔匹配濾波頻域實現(xiàn)************************************/tmp_i0=__builtin_sysreg_read<__CCNT0>;//readinitialcyclecountfft_flp32<fft_input,ping_pong_buffer1,ping_pong_buffer2,fft_output,N,COMPLEX>;//做復數(shù)FFT:X<k>=DFT[x<k>];ComplexVectorDotProduct<fft_output,coeff_fft,N,pc_fft>;//做復數(shù)點乘:Y<k>=X<k>*H<k>;//做復數(shù)IFFT:y<k>=IFFT[Y<k>]=<1/N>*conj[DFT[conj[Y<k>]];分三步來完成:〔1conj[Y<k>];〔2DFT[conj[Y<k>];〔3<1/N>*conj[DFT[conj[Y<k>]]//第一步:fft_input=conj[Y<k>];for<i=0;i<N;i++>{fft_input[2*i]=pc_fft[2*i];fft_input[2*i+1]=-pc_fft[2*i+1];}//第二步:fft_out=DFT[fft_input]=DFT[conj[Y<k>];fft_flp32<fft_input,ping_pong_buffer1,ping_pong_buffer2,fft_output,N,COMPLEX>;//第三步:y<k>=pc_freq0=<1/N>*conj[fft_out]=<1/N>*conj[DFT[conj[Y<k>]];for<i=0;i<N;i++>{pc_freq0[2*i]=fft_output[2*i]/N;pc_freq0[2*i+1]=-fft_output[2*i+1]/N;}/*到此完成了脈沖壓縮.也就是完成了匹配濾波*/tmp_i1=__builtin_sysreg_read<__CCNT0>;//readfinalcyclecountprintf<"thecyclecountforcompressinfrequencyspace=%d\n",tmp_i1-tmp_i0>;/*printthecyclecount*////**************************去掉暫態(tài)點************************************/for<i=0;i<M;i++>//#defineTempPointNumber41//前暫態(tài)點的個數(shù)可以認為是濾波系數(shù)個數(shù)減一后的一半。{pc_freq1[2*i]=pc_freq0[2*<i+TempPointNumber-1>];pc_freq1[2*i+1]=pc_freq0[2*<i+TempPointNumber-1>+1];}//計算脈壓后的幅度〔去除暫態(tài)點后for<i=0;i<M;i++>{PC[i]=sqrt<pc_freq1[2*i]*pc_freq1[2*i]+pc_freq1[2*i+1]*pc_freq1[2*i+1]>;}i=0;//斷點.觀察脈壓后結果〔窄脈沖幅度。/**************************MTI************************************************************************/tmp_i0=__builtin_sysreg_read<__CCNT0>;//一次對消<鄰近雙脈沖對消.SampleNumber是脈沖重復周期Tr內采樣點數(shù)for<i=0;i<M;i++>{pc_freq1_re[i]=pc_freq1[2*i];pc_freq1_im[i]=pc_freq1[2*i+1];}for<i=0;i<MTIPoint;i++>{MTI_re[i]=pc_freq1_re[i+SampleNumber]-pc_freq1_re[i];MTI_im[i]=pc_freq1_im[i+SampleNumber]-pc_freq1_im[i];}//計算MTI后的幅度〔時域for<i=0;i<MTIPoint;i++>//獲得MTI實譜{MTI[i]=sqrt<MTI_re[i]*MTI_re[i]+MTI_im[i]*MTI_im[i]>;}tmp_i1=__builtin_sysreg_read<__CCNT0>;//readfinalcyclecountprintf<"thecyclecountforMTIprocess=%d\n",tmp_i1-tmp_i0>;//printthecyclecounti=0;//斷點.繪圖觀察MTI結果.雙擊窗口.彈出大圖/**************************MTD*************************************************************************/tmp_i0=__builtin_sysreg_read<__CCNT0>;//重排數(shù)據(jù).進行相參積累,即MTDfor<i=0;i<SampleNumber;i++>{for<j=0;j<PulseNumber;j++>//數(shù)據(jù)抽取。抽取16個回波脈沖中.各個回波脈沖重復周期內同位置的數(shù)據(jù)。有多少個回波脈沖就有多少個數(shù)據(jù)。{input[j*2]=pc_freq1_re[i+j*SampleNumber];input[j*2+1]=pc_freq1_im[i+j*SampleNumber];}fft_16<input,output,twiddles16>;//使用FFT實現(xiàn)多普勒濾波器組。for<j=0;j<PulseNumber;j++>{MTD_re[i+j*SampleNumber]=output[j*2];MTD_im[i+j*SampleNumber]=-output[j*2+1];}}tmp_i1=__builtin_sysreg_read<__CCNT0>;//readfinalcyclecountprintf<"thecyclecountfo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論