




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
DSP應(yīng)用系統(tǒng)設(shè)計大作業(yè)解答(線性
調(diào)頻+你要的)
DSP應(yīng)用系統(tǒng)設(shè)計大作業(yè)
專業(yè):電子與通信工程
姓名:趙多
學(xué)號:
題目一
一、線性調(diào)頻(LFM)信號
為了提高雷達(dá)的作用距離和距離分辨率,實際中通常采用寬脈沖發(fā)射以提
高發(fā)射的平均功率,保證足夠大的作用距離;而接收時采用相應(yīng)的脈沖壓縮算
法獲得窄脈沖,以提高距離分辨率,較好的解決了雷達(dá)作用距離與距離分辨率
之間的矛盾。而獲得大的頻帶信號,采取LFM信號調(diào)制,能夠?qū)⑿盘栴l域展寬,
同時也充分利用了雷達(dá)發(fā)射功率,擴(kuò)大作用距離,接收時采用匹配濾波器
(MatchedFilter)壓縮脈沖。
線性調(diào)頻(LinearFrequencyModulation)信號是指頻率隨時間而線性改變
(增加或減少)的信號。線性調(diào)頻信號s(t)可表示為:
("+2')
s。)=.T/2<t<T/2()
式中力為中心頻率,re嗚)為矩形信號,
t,1-1<-八
rect(-)=<\T\20
[0,others
K=B/T,是調(diào)頻斜率,可得信號的瞬時頻率為
-T/2<t<T/2()
T為線性調(diào)頻信號的時寬,B為帶寬??芍矔r頻率呈線性變化,當(dāng)K>0
時,頻率遞增,KV0則遞減。
5(Z)=SO)/*0
式中,
/■.2
SQ)=rect(-^)eJ7r10
是信號s(t)的復(fù)包絡(luò),也即為零中頻LFM信號。
根據(jù)題目要求,可知波形數(shù)據(jù)采樣頻率fs=20MHZ,取脈沖寬度T=120處,
則能夠得知采樣數(shù)據(jù)長度N=£T=2400,調(diào)制帶寬為B=。利用Matlab
生成所需調(diào)頻信號,++軟件仿真調(diào)用。信號為復(fù)數(shù)信號,復(fù)數(shù)數(shù)據(jù)實部虛部交
叉存儲,奇數(shù)序列為實數(shù)序列,偶數(shù)序列為虛數(shù)序列。以下Matlab程序產(chǎn)生式
()的零中頻線性調(diào)頻信號:
clearall;
T=120e-6;
B=6e6;
K=B/T;
Fs=20e6;
N=T^Fs;
t=linspace(-T/2,T/2,N);
S仁exp(j弟pi&K&t.h2);
subplot(221),plot(t^le6,real(St),'kf);
title-零中頻線性調(diào)頻信號的實部小
xlabel('Timeinus'),ylabel('real(St)
gridon;axis([-3030-11]);
subplot(222),plot(t^le6,imag(St),'kf);
出1孤零中頻線性調(diào)頻信號的虛部*
xlabel('Timeinus'),ylabel('imag(St)r);
gridon;axis([-3030-11]);
freq=linspace(-Fs/2,Fs/2fN);
subplot(223),plot(freq^le-6Jftshift(abs(fft(St
)))四);
出let零中頻線性調(diào)頻信號的頻譜X
xlabel('FrequencyinMHz'),ylabel(fS(f)f);
gridon;axistight;
subplot(224),plot(e-6,'k
出1孤零中頻線性調(diào)頻信號的瞬時頻率*
xlabel('Timeinus'),ylabel('fiinMHZ,);
gridon;axistight;
save-asciiSt
fd=fopen(n,,wt,);
a=real(St);
b=imag(St);
fori=l:l:2400
fprintf(fd,,o/og\n\a(i));
fprintf(fd,,o/og\n\b(i));
end
fclose(fd);
如圖i所示為零中頻線性調(diào)頻信號各曲線圖。
零中頻線性調(diào)頻信號的實部零中頻線性調(diào)頻信號的虛部
Timeinus
零中頻線性調(diào)頻信號的頻譜零中頻線性調(diào)頻信號的瞬時頻率
圖1零中頻線性調(diào)頻信號各曲線圖
二、脈沖壓縮原理
脈沖壓縮技術(shù)是指雷達(dá)發(fā)射出寬脈沖信號,在接收端回波寬脈沖信號通過
處理后得到窄脈沖的實現(xiàn)過程。
脈沖壓縮器的設(shè)計實際上就是匹配濾波器的設(shè)計。匹配濾波能夠在時域?qū)?/p>
現(xiàn),也能夠在頻域?qū)崿F(xiàn)。,根據(jù)匹配濾波理論,它的匹配濾波器時域脈沖響應(yīng)
為:
h(t)=S*(T)0
將式()代入式()得
丸⑺=rect&°0
S⑴A匹配濾波h(t)SO(p
圖2零中頻LFM信號的匹配濾波
LFM脈沖信號經(jīng)匹配濾波器后的輸出SO(t)信號,當(dāng)時,包絡(luò)近似為
辛克(sine)函數(shù)。而此時壓縮后的脈沖寬度:TO=1/B,LFM信號的壓縮前脈沖
寬度T和壓縮后的脈沖寬度TO之比通常稱為壓縮比D,即
式()表明,壓縮比也就是LFM信號的時寬頻寬積。
輸出SO(t),在多目標(biāo)環(huán)境下,旁瓣會淹沒附近較小的目標(biāo),從而引起目標(biāo)
丟失,所以通常引入加權(quán)函數(shù)(窗函數(shù))對信號進(jìn)行失配處理以抑制副瓣產(chǎn)生
的消極影響,其副作用是輸出信號的包絡(luò)主瓣降低、變寬,即旁瓣抑制是以信
噪比損失及距離分辨力變壞作為代價的。設(shè)時域加權(quán)函數(shù)為w(t),加權(quán)函數(shù)能夠
選擇海明窗、漢寧窗等。則加權(quán)后輸出為:
頻域?qū)崿F(xiàn)實際上就是將時域的匹配濾波的時域卷積運算轉(zhuǎn)到頻域來運算
(快速卷積算法)。因脈沖壓縮的點數(shù)比較大時,頻域FFT法的處理速度要比
時域?qū)崿F(xiàn)快很多,大大減少了運算量。
用頻域FFT法實現(xiàn)脈壓的具體過程如圖3如下:對信號S(n)進(jìn)行FFT變換
得到S(K),S(K)與發(fā)射信號S(n)的FFT的復(fù)共甄S*(K)相乘,然后再對乘積作
IFFT而獲得時域脈壓結(jié)果。由于S*(K)能夠預(yù)先算出存入DSP的RAM空間里,
每次運算時,只需讀出RAM中的數(shù)值即可進(jìn)行運算。因此S*(K)能夠利用Matlab
直接生成。軟件生成后在對脈壓作加窗處理時,僅需將窗函數(shù)W(K)與S*(K)的
乘積H(K)=S*(K)?W(K)存入RAM中即可,不會額外增加存儲量及運算量。用
頻域FFT法實現(xiàn)高速數(shù)字脈沖壓縮,文中的脈沖壓縮就是基于圖3的原理實現(xiàn)
的。
為節(jié)省運算時間,所以將頻域脈壓系數(shù)H(K)預(yù)先處理好。已知輸入信號序
列為零中頻線性調(diào)頻信號,根據(jù)題目要求在第二節(jié)已求出輸入信號序列,因此
根據(jù)公式易求出匹配濾波系數(shù)序列h(n),但為保證利用FFT計算線性卷積不出
現(xiàn)混疊失真,則循環(huán)卷積長度必須滿足L=N+M-L其中L為卷積長度,N和M
分別為兩卷積序列長度。根據(jù)MATLAB生成的輸入數(shù)據(jù)可知N和M均為2400
點,因此卷積長度,由于采用FFT進(jìn)行計算,因此L必須為2的整數(shù)次嘉,取
最小值為8192o因此此設(shè)計中所有FFT和IFFT運算點數(shù)均為8192點。通過改
變窗函數(shù)w(t),能夠得到三組H(k)序列文件,分別為矩形窗、漢寧窗和漢明
窗,,,,以便VISUALDSP++軟件仿真時進(jìn)行導(dǎo)入。
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.A2);
NJft=4096;%因采樣
數(shù)據(jù)長度N為2400則脈壓fft點數(shù)4096
ht=conj(fliplr(St));%匹配濾波h(t)
wt0=boxcar(N);
wtl=triang(N);
wt2=hanning(N);
wt3=hamming(N);
wt4=blackman(N);
beta=;
wt5=kaiser(N,beta);
ht0=ht.^wt3%這里默
認(rèn)加漢明窗函數(shù)
a=real(Ht);
b=imag(Ht);
save-asciia
fd=fopen(,,/wt,);
fork-l:l:N_Jft
a(k));
end;
save-asciib
fd=fopen(",,wt,);
fork-l:l:N_Jft
fprintf(fd,'%g歷
b(k));%文本文件實際點數(shù)
end;
fclose(fd);
三、VISUALDSP++脈壓仿真
由MATLAB軟件生成LFM信號序列,。文件中共2400個復(fù)數(shù)序列,其
中偶數(shù)列為實數(shù)序列,奇數(shù)列為虛數(shù)序列,因此共4800個數(shù)據(jù)。下圖為在
VISUALDSP++:
圖3零中頻信號為睛蕊修部波形,下半部
由第二節(jié)計算可知,匹配系數(shù)H(K)序列為h(n)進(jìn)行4096點FFT變換得到,
因此H(K)共有4096個復(fù)數(shù)序列,。在第二節(jié)中利用MATLAB軟件生成H(k)
序列已詳解。根據(jù)矩形窗、漢寧窗、,。利用VISUALDSP++軟件進(jìn)行導(dǎo)入并畫
出波形圖如下:
圖4矩形窗H(k)序列上半部為實
部波形,下半部為虛部波形
圖5漢寧窗H(k)序列上半部為實
部波形,下半部為虛部波形
部波形,理觴量融物序列上半部為實
根據(jù)原理結(jié)構(gòu)圖可知,脈沖壓縮共分為FFT、復(fù)數(shù)乘法、IFFT和模值衰減
變換四個模塊。其中FFT模塊采用VISUALDSP++軟件中自帶模塊。而IFFT
可采用如下方法求解,因
1N—1
》5)=后£X(K)W,
Nk=0
irN-ITii
=(區(qū)X*(K)叫=({FFT[rX\K)]}*()
,0<n<N-l
由式()可得,先將X(K)取復(fù)共飄,然后直接調(diào)用FFT子程序進(jìn)行FFT
運算,最后再取復(fù)共輾并乘以1/N得到序列x(n)。這種方法雖然用了兩次取共輾
運算,但能夠與FFT共用一子程序,提高了子程序利用率。
四、結(jié)果分析
利用VISUALDSP++軟件設(shè)置斷點功能畫出各部分輸出波形,波形圖分別如
下:
圖7零中頻線性調(diào)頻信號8192點FFT波形
圖8矩形窗加權(quán)系數(shù)脈沖壓縮壓縮后波形
圖9矩形窗系數(shù)脈沖壓縮后局部放大波形
圖10矩形窗脈沖壓縮后衰減波形
圖11漢寧窗壓縮后波形
圖12漢寧窗壓縮后波形局部放大
圖13漢寧窗脈壓后衰減波形
圖14漢明窗脈壓后時域波形
圖15漢明窗脈壓后局部放大波形
圖16漢明窗脈壓后衰減波形
線性調(diào)頻信號匹配濾波器輸出端的脈沖,是經(jīng)過壓縮后的窄脈沖,輸出波
形具有辛克函數(shù)的性質(zhì),除了主瓣外還有時間軸上延伸的一串副瓣??拷靼?/p>
的第一副瓣最大,,第二副瓣在降低4dB,以后依次下降。副瓣零點間的間隔為1/B。
匹配濾波器輸出的旁瓣太高是脈沖壓縮雷達(dá)的缺點,實際使用中采用加窗的準(zhǔn)
匹配濾波器來改善副瓣的性能。實際應(yīng)用中的匹配濾波器需要加窗,以實現(xiàn)旁
瓣的抑制,但窗函數(shù)點數(shù)N固定時,也會導(dǎo)致主瓣的展寬,旁瓣的抑制和主瓣的
展寬二者彼此矛盾,需要以實際需要折衷考慮,即在副瓣輸出達(dá)到要求的情況
下,應(yīng)使主瓣的展寬及強(qiáng)度變化值最小。以下分析不同的窗函數(shù)對脈壓結(jié)果(主
瓣寬度和幅度增益)曩響。直素浦六種望數(shù)
窗函主瓣旁瓣過度帶阻帶最
數(shù)類型寬度/rad電平/dB帶寬/rad小衰減/dB
矩形4兀IN-131.8?/N21
窗
三角8萬/N-256.\7T/N25
窗
漢寧肪/N-316.27T/N44
窗
漢明3兀N-416.6兀IN53
窗
布萊12?/N-57lk7N74
克曼窗
凱塞-57IOTV/N80
窗
/?=7,865
根據(jù)時寬帶寬積能夠的到脈沖壓縮比為40。原脈壓前脈沖寬度為20us,對于
20MHz的采樣頻率,對應(yīng)采樣點400,那么脈壓后主瓣寬度采樣點數(shù)為
2*(400/40)=20點(主瓣寬度等于2倍的零點帶寬)。下面考慮加窗對脈壓結(jié)果增
益(以主瓣最
[=1
窗函數(shù)類型脈沖主瓣寬度脈沖增益第一旁瓣增益(第一
(采樣點數(shù))(主瓣最大增益)旁瓣最大增益)
矩形窗2040083.5
三角窗44200.510.1
漢寧窗40200.55.4
漢明窗38216.53.1
布萊克曼581650.89
窗
凱塞窗54175.70.85
夕=7.865
從表2能夠得到結(jié)論:
脈壓能夠提升脈沖的增益,幅度增益與原寬脈沖時寬有關(guān)。加窗能夠有效
地抑制副瓣,但是要以主瓣展寬和增益下降為代價。相對而言,一般情況下,
選擇漢明窗能夠獲得較好帶寬和增益折衷。線性調(diào)頻信號經(jīng)過壓縮處理接收后
的信號幅度峰值是原來發(fā)射信號幅度峰值的(D為脈壓比)倍,即輸出脈沖峰值功
率比輸入脈沖峰值功率增大了D倍。在要求發(fā)射機(jī)輸出功率一定的情況下,接收
機(jī)輸出的目標(biāo)回波信號經(jīng)過匹配濾波壓縮處理,具有窄的脈沖寬度和更高的峰
值功率,前者提高距離分辨率而后者符合探測距離遠(yuǎn)的戰(zhàn)術(shù)要求,這充分體現(xiàn)
了脈壓體制獨特的優(yōu)越性。從反偵查的角度來說,脈壓雷達(dá)比普通雷達(dá)具有更
強(qiáng)的生存能力。由于線性調(diào)頻信號的幅度和信噪比更小,有偵查方程可知,同
等靈敏度的偵察機(jī)其偵查距離為原來的,所以在雷達(dá)應(yīng)用領(lǐng)域,脈壓雷達(dá)具有
功率優(yōu)勢,應(yīng)用前景十分廣闊。
五、附錄
部分主程序代碼如下:
//*J><!**t**t><t>*!**t>*t>
//rjwrjv*^?rjw<rj?*^?rjwrjwrjwIncludes
<t><1?<t><t>?kf*<1*<t><t>?kf><1?<t><t*<t><t>*S><t>//
rj?rj?*J?rj?rj?rj?//
^includeo
^includeo
^includeo
#includeo
^include'"'
//*J**f**t**1>*1A*1**t>*SA*t>*1*<t><1>*SAK1**1**t><f>
/1*J?rj?*J?rj?rjw*J?rj?rjwrj?rj?rjwrj?Externs
<!**t>*t**t>*!**t>*t>*t**t?*t**t**t**t>*t>*t><t>//
rj>rj>rj>rj>rj>rj>rjvrj?rjv*^?rjw,!
externfft32(float(*)[],float(*)[],float(*)[],
float(*)£/,int,int);
externinit();
^pragmaalign4
section("datalab")
floatoutput[2^N];//FFT函數(shù)輸出
floatreal[N];II變換中
實部序列N=4Q96
floatimag[N];II變換
中虛部序列
floatmax;II脈壓后
floatinput[4800]={
includenLFM/ff
MA信號文件其中偶序列為
實部
floatinputl[2^N];"變換信號數(shù)據(jù)
緩沖
floatreal_coff[N]={
#includeHLFM/n
};
〃濾波器4096點推實部realkeall/real2分
別為矩形窗、漢寧窗、漢明窗濾波系數(shù)〃
floatimag_coff[N]={
#includeHLFM/n
};
H濾波器4096點fft虛部imag/imagl/imag2
分別為矩形窗、漢寧窗、漢明窗濾波系數(shù)”
^pragmaalign4
section("data2abn)
floatpingj^ongJbufferl[2^N];
^pragmaalign4
section("data3abn)
floatpingj^ongJbuffer2[2^N];
volatileinti,
tmpjlO,
tmpjl;"用于計數(shù)(程序各段計時)
/*
//個不不不不不不不不不不不不不不不不不不不不不干不干
voidmain(void)
{
inti;
^ifdefinitialization_error
printf(''ERROR:ThisFFTfunctionworks
onlyinthefollowingconditions:\nn);
printf(〃-Nmustbeapowerof2\nn);
mfdef_ADSPTS201_
printf("-forrealinputs,
64<=N<=32768\nu);
printf("-forcomplexinputs,
32<=N<=16384\nn);
#else
printf("-forrealinputs,
64<=N<=8192\n);
printf("-forcomplexinputs,
32<=N<=4096\nu);
#endif
printf("Pleasechangethesettingsinthefile
#else
PinthecaseofTS201,atthebeginningof
theprogramthe
cachemustbeenabled.Theprocedureis
containedincache_enablemacrothatusesthe
refreshrateasinputparameter
-ifCCLK=500MHz,refresh_rate=750
-ifCCLK=400MHz,refresh_rate=600
-ifCCLK=300MHz,refresh_rate=
-ifCCLK=250MHz,refresh_rate=375y
mfdefUDSPTS201_
asm("^includeo");
asm("^includeo");
asm("cache_enable(750);
asm("^includeo");
asm("^includeo");
asm('fpreload_cache;n);
#endif
tmp_iO=_builtin_sysreg_read(_CCNTO);
〃readinitialcycle
for(i=0;i<4800;i++)
{
inputl[i]=input[i];”信號傳輸至inputl
變換緩沖區(qū)
}
lllllllllllllllllllllllllll//FFT運算
lllllllllllllllllllllllllll
&(ping_pongj)ufferl),
&(ping_pong_buffer2),&(output),N,COMPLEX);
//8192點FFT變換
for(i=0;i<N;i++)
real[i]=output[2%;II線性調(diào)頻信號FFT
變換后實部
imag[i]=output[2^i+l];H線性調(diào)頻信號
FFT變換后虛部
}
IIIIIIIIIIIIIIIIIIIIIIIIII復(fù)數(shù)乘法運算
IIIIIIIIIIIIIIIIIIIIIIIIIIIII
for(i=0;i<N;i++)
{
inputl[2^i]=real[iPreal_coff[i]-imag[iPima
inputl[2^i+l]=-real[ipimag_coff[i]-real_cof
于國弟〃取共趣
}
llllllllllllllllllll//IFFT運算
lllllllllllllllllllllllllllllll
fft32(&(inputl),&(ping^ongjbufferl),
&(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+l]/N;"取共朝
}
/*到此完成了脈沖壓縮,也就是完成了匹配
濾喇
IIIIIIIIIIIIIIIIIIIIIII窄脈沖幅度
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
for(i=0;i<N;i++)
{
real[i]=sqrt(real[i]*real[i]+imag[i]);
“求復(fù)數(shù)模
}
max=real[O];
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^logl0(real[i]);
}
tmp_il-__builtin_sysreg_read(_CCNTO);
〃
printf(ncyclecount-°/od",tmp_il-tmpjlO);
〃printthecyclecount
#endif
題目三:基于ADSP-TS101的雷達(dá)信號處理機(jī)實現(xiàn)
一、緒論
背景
經(jīng)過幾十年的發(fā)展,今天的雷達(dá)提供的有關(guān)目標(biāo)的信息已經(jīng)遠(yuǎn)遠(yuǎn)超出了它
最初的定義,不論在地面、艦船、飛機(jī)、導(dǎo)彈、太空都活躍著雷達(dá)的身影,雷
達(dá)的原理已經(jīng)在幾兆赫茲到紫外線的頻率范圍內(nèi)得到了應(yīng)用,雷達(dá)的性能和用
途也發(fā)生了巨大的變化,雷達(dá)的發(fā)明使人類在軍事、通訊、航空、航體、跟蹤
測量等領(lǐng)域的技術(shù)發(fā)生了本質(zhì)的重大飛躍。
雷達(dá)信號處理是雷達(dá)系統(tǒng)的一個極其重要的組成部分,用于雷達(dá)在復(fù)雜
背景(包括雜波和干擾)下對目標(biāo)的檢測和目標(biāo)信息的提取,現(xiàn)代雷達(dá)技術(shù)的
發(fā)展越來越倚重于信號處理。雷達(dá)信號處理不僅大大的提高了在復(fù)雜背景下對
目標(biāo)的檢測能力,而且也提供了更加豐富的信息,如對目標(biāo)進(jìn)行成像及目標(biāo)識
別等。因此,雷達(dá)信號處理是當(dāng)前雷達(dá)技術(shù)研究中最活躍、發(fā)展最為迅速的部
分之一。
j近幾十年,雷達(dá)信號處理的研究取得了長足的進(jìn)步和發(fā)展,五十年代實
現(xiàn)了抑制雜波的時域濾波以及對復(fù)雜信號的匹配濾波,六十年代實現(xiàn)了對有源
干擾的空域濾波,并且提出了對變化環(huán)境的自適應(yīng)濾波。六十是年代以來隨著
數(shù)字技術(shù)的實際應(yīng)用和不斷發(fā)展,使得雷達(dá)整體性能大幅度提高。進(jìn)入到八十
年代之后,微處理技術(shù),特別是數(shù)字信號處理器的發(fā)展,是雷達(dá)信號處理完成
了從模擬到數(shù)字的轉(zhuǎn)化,除了極大的提高了雷達(dá)信號處理機(jī)的性能之外,還大
大提高了整個處理機(jī)的系統(tǒng)可靠性,減小了體積和功耗,使得其應(yīng)用范圍變得
日益廣泛。
不同的信號處理領(lǐng)域?qū)?shù)據(jù)處理的速度要求不盡相同。在一般情況下,
通信和語音信號處理中需要每秒幾千萬次到幾億次運算,在視頻信號和圖像處
理中,需要每秒幾億次到幾十億次運算,而在雷達(dá)和聲納信號處理中,常需要
每秒幾十億到幾百億次運算。此外,通信、語音、圖像處理中信號動態(tài)范圍有
限,一般用定點運算就能夠滿足工作要求,而雷達(dá)和聲納信號處理需要較大的
數(shù)據(jù)動態(tài)范圍和數(shù)據(jù)精度,按定點處理可能發(fā)生溢出,往往必需用浮點運算完
成,同時,雷達(dá)信號處理不同于其它類型的信號處理,不僅運算量大,數(shù)據(jù)吞
吐量也很大,這樣對處理單元的輸入輸出速度和處理機(jī)互聯(lián)網(wǎng)絡(luò)的通信能力都
有很高的要求。因此,雷達(dá)信號處理采用高速度,高精度,大動態(tài)范圍,高數(shù)
據(jù)吞吐量的處理系統(tǒng)勢在必行。
正是由于雷達(dá)信號處理的這些要求,使得在進(jìn)行系統(tǒng)設(shè)計前必須進(jìn)行
DSP選擇。DSP分為專用DSP和通用DSP兩種,前者的運算是用硬件直接實現(xiàn)的,
速度快,但是靈活性差,而且?guī)缀醵际嵌c的,精度和動態(tài)范圍有限,通用DSP
的運算和處理是基于軟件實現(xiàn)的,兼容性好,可根據(jù)實際需要選擇采用定點或
浮點運算,具有較強(qiáng)的擴(kuò)展能力,而且在速度方面也已超過某些專用DSP。
概述
本文研究的目的是實現(xiàn)基于通用DSP-TS101的雷達(dá)信號處理機(jī)。該信號處
理機(jī)主要由脈沖壓縮(PC),動目標(biāo)檢測(MTD),自動角測量,恒虛警處理(CFAR)
等幾個模塊組成。
二、系統(tǒng)硬件設(shè)計
處理器簡介
AD公司的ADSP—TS101STigerSHARCDSP(簡稱TS101)是一款
高性能的數(shù)字信號處理器,是SHARCDSP的下一代產(chǎn)品。與SHARCDSP相
比,TigerSHARC在速度、內(nèi)部存儲器容量、處理器的體系結(jié)構(gòu),以及處理器
提供的外部資源方面都做了改進(jìn),更加適用于構(gòu)成各種不同的并行多處理器系
統(tǒng)。概括的講,TS1O1具有如下主要特點:
(1)核時鐘頻率。TS1O1有兩種型號,一種內(nèi)部核時鐘頻率能夠達(dá)到
300MHz,o另一種內(nèi)部核時鐘頻率可達(dá)250MHz,即指令周期4ns。
(2)片內(nèi)兩個計算塊——X和Y。每個運算塊有一個64bitALU,一個乘法
器,一個64bit移位器和一個由32個寄存器構(gòu)成的寄存器組,能夠執(zhí)行定點和
浮點的算術(shù)邏輯等通用運算。而SHARCDSP只有一個計算塊,相比之下TS101
具有更強(qiáng)的運算能力。
(3)三條內(nèi)部地址/數(shù)據(jù)總線。每條總線都連接到三個內(nèi)部存儲器塊中的一
個。三條總線都是128bit寬,能夠在任何一個周期使用任意一條總線傳送多達(dá)
四條指令或四個對其的數(shù)據(jù)。這樣TS101內(nèi)核能夠在任何一個周期并行訪問三
個存儲塊,一個取指令,兩個訪問數(shù)據(jù)。
(4)有兩個整數(shù)算術(shù)運算邏輯單元J-IALU和K-IALUo每個IALU都包
含一個寄存器堆和8個專用的循環(huán)緩沖寄存器。兩個IALU能提供更強(qiáng)大的地
址產(chǎn)生能力和通用的整數(shù)操作。
(5)有6M位的大容量片內(nèi)SRAMo分為三個2M位的存儲塊MO、Ml
和M2,每一個存儲塊都能夠單獨存儲程序、數(shù)據(jù)或同時存儲程序和數(shù)據(jù)。
(6)DMA控制器。其擁有14個DMA通道,提供了在處理器核不干預(yù)條
件下的零開銷數(shù)據(jù)傳送。
(7)SDRAM控制器。SDRAM的地址、數(shù)據(jù)引腳能夠與TigerSHARC的
直接相連。另外,TigerSHARC提供專用的尋址空間來支持SDRAM。
(8)4個鏈路口。其支持點對點的高貸款數(shù)據(jù)傳送,通過單個鏈路口能夠
以250Mbytes/s的速率進(jìn)行數(shù)據(jù)傳輸。四個鏈路口為處理器與處理器之間的通訊
提供了一個良好的途徑,總吞吐量多達(dá)每秒IGbytes。
(9)多處理器特性。當(dāng)單個DSP芯片組成的系統(tǒng)不能滿足處理要求時,
TS101通過外部口或者鏈路口與其它TS101相連構(gòu)成多處理器系統(tǒng)。TS101的
外部總線支持多達(dá)8個DSP外加Host處理器的并行總線連接。在構(gòu)成多處理器
系統(tǒng)時,處理器之間無論是采用共享總線方式,還是采用鏈路口相連方式,都
不需要任何外加控制,實現(xiàn)無縫連接,在并行總線上能夠以800Mbytes/s的速率
進(jìn)行數(shù)據(jù)傳輸。
雷達(dá)信號處理機(jī)系統(tǒng)構(gòu)成
雷達(dá)信號處理系統(tǒng)由中頻信號相干檢波模塊、脈沖壓縮模塊、相參積累、
參數(shù)檢測(包含速度、距離、方位角等參數(shù)的MTD)和恒虛警處理及大部分組
成。
中頻信號相干檢波模塊主要工作為:對A/D變換后送來的25M中頻信號進(jìn)
行相干檢波,使數(shù)字回波信號變成分離為I、Q兩路的零中頻信號,然后對其進(jìn)
行抽樣處理,最后把抽樣后的數(shù)據(jù)打包成32bit送往脈沖壓縮模塊。其中低16bit
為I路信號,高16位為Q路信號。
其系統(tǒng)原理如圖1所示:
如圖1所示,中頻信號相干檢波模塊將和/差兩路信號分別送入和路/差
路脈沖壓縮模塊,兩路脈沖壓縮各自獨立運行,把脈壓結(jié)果送入相參積累,經(jīng)過
相參積累后系統(tǒng)的信噪比有所提高,利于檢測模塊對距離、速度、方位角等參
數(shù)的檢測,當(dāng)完成這些工作后。結(jié)合檢測后的數(shù)據(jù)與初始判定門限進(jìn)行恒虛警
處理。
該雷達(dá)信號處理機(jī)一共用三片TS101完成相干檢波后信號處理,其硬件結(jié)
構(gòu)如圖2所示。圖2給出了主要的芯片以及各芯片之間的信號連接關(guān)系。其中,
TS101一A和TSKH—B分別完成和路和差路數(shù)據(jù)的脈沖壓縮,TS101-C完成相
參積累、MTD檢測、角度測量、CFAR處理等工作。
TS101一A和TS101-C采用EPROM引導(dǎo)方式,TS10L3采用鏈路口引導(dǎo)
方式。在對引導(dǎo)芯片EPROM-A作配置時,除了在EPROM-A中裝載和路脈壓
片(A)所需的程序及相關(guān)參數(shù)以外,還要將差路脈壓片(B)所需的程序及相關(guān)參數(shù)
一并裝載。當(dāng)TSKH—A經(jīng)EPROM—A成功引導(dǎo)后,它不僅從EPROM中獲
得了自身正常運行所需的程序和相關(guān)參數(shù),而且也獲得了差路(B)所需的相關(guān)程
序信息;通過硬件連接的鏈路口1(A)和鏈路口0(B),TS10LB經(jīng)鏈路口引導(dǎo),從
TS101一A中加載自身程序運行所需的相關(guān)信息。
從圖中能夠看出,脈沖壓縮和檢測片之間采用鏈路口傳輸數(shù)據(jù)信息,其中
和路脈沖壓縮后的數(shù)據(jù)利用TS101—A和TSKH—C各自的鏈路口0傳輸,差
路脈沖壓縮后的數(shù)據(jù)利用TS101-B和TSIOI-C各自的鏈路口1傳輸。這樣的設(shè)
計主要考慮到TS10L-C在作數(shù)據(jù)檢測時需要頻繁的和外部SDRAM交換信息,
利用TS101的鏈路口一方面充分利用了器件本身的硬件資源,另一方面也避開
了多個設(shè)備同時請求總線時造成的總線沖突,提高了系統(tǒng)的運行速度。
圖2雷達(dá)信號處理機(jī)硬件結(jié)構(gòu)簡圖
不論和路還是差路脈沖壓縮,除了引導(dǎo)方式不同以外,其工作原理與實際
工作流程是完全一致的,因此,TSKH-A和TS101—B有部分管腳接收同樣
的控制信息,如圖所示:差轉(zhuǎn)控制提示當(dāng)前差路信號接收的是航向差還是俯仰差
信號;狀態(tài)標(biāo)志0/1共同標(biāo)志當(dāng)前脈沖重復(fù)周期、脈寬是處于何種狀態(tài):同步脈
沖中斷到來時,提示前端開始往TS101輸送數(shù)據(jù)(經(jīng)過相干檢波后的數(shù)據(jù)),TS101
根據(jù)此中斷信號決定何時裝載DMA;前端每傳輸一個數(shù)據(jù),發(fā)送一次DMA請
求,DMA傳輸根據(jù)請求相應(yīng)的從外部總線傳輸一個數(shù)據(jù)到內(nèi)部存儲器。TS101
一C的狀態(tài)改變輸出則是由檢測后的結(jié)果決定。
三、系統(tǒng)軟件設(shè)計
脈沖壓縮的實現(xiàn)
隨著飛行技術(shù)的飛速發(fā)展,對雷達(dá)的作用距離、分辨能力、測量精度和單
值性等性能指標(biāo)提出了越來越高的要求。測距精度和距離分辨力對信號形式的
要求是一致的,主要取決于信號的頻率結(jié)構(gòu),為了提高測距精度和距離分辨力,
要求信號具有大的帶寬,而測速精度和速度分辨力則取決于信號的時域結(jié)構(gòu),
為了提高測速精度和速度分辨力,要求信號具有大的時寬。除此之外,為了提
高雷達(dá)系統(tǒng)的發(fā)現(xiàn)能力,要求雷達(dá)信號具有大的能量。由此可見,為了提高雷
達(dá)系統(tǒng)的發(fā)現(xiàn)能力、測量精度和分辨力要求雷達(dá)信號具有大的時寬、帶寬能量
乘積。但是在系統(tǒng)的發(fā)射和饋電設(shè)備峰值功率受限的情況下,大的信號能量只
能靠加大信號的時寬來得到。測距精度和距離分辨力同測速精度和速度分辨力
以及作用距離之間存在著不可調(diào)和的矛盾。為了解決這個矛盾,人們提出了脈
沖壓縮理論,脈沖壓縮技術(shù)的實現(xiàn)是指雷達(dá)通過發(fā)射機(jī)發(fā)射款脈沖信號而接收
信號經(jīng)過壓縮處理后獲得窄脈沖的過程,脈沖壓縮能夠使雷達(dá)在峰值發(fā)射功率
大大降低的情況下同時獲得長脈沖的高能量和短脈沖的分辨率兩方面的優(yōu)點,
它較好的解決了雷達(dá)脈沖峰值功率受限和距離分辨率之間的矛盾。同時,寬脈
沖的使用能夠使多普勒系統(tǒng)的分辨率提高,相應(yīng)提高速度分辨率。由于脈沖壓
縮技術(shù)是對回波信號做相關(guān)處理,故系統(tǒng)還具有較高的抗干擾性。
本系統(tǒng)脈沖壓縮分為和/差兩路,兩路脈壓分別對前端的和路回波和差路
回波進(jìn)行脈沖壓縮處理。和路脈沖壓縮的結(jié)果用于目標(biāo)距離、速度的檢測以及
在測角時作為基準(zhǔn)信號;差路脈壓信號用于航向/俯仰誤差角測量。和路脈沖
壓縮片在系統(tǒng)啟動時,采用EPROM引導(dǎo)方式,從EPROM中載入程序及相關(guān)
參數(shù)(包含差路脈壓所需的程序和參數(shù)),在對自身(DSP)做初始化的同時,通過
與差路脈壓片硬件相連的鏈路口對差路脈壓片進(jìn)行引導(dǎo),完成差路脈壓片的程
序及參數(shù)裝載。除了引導(dǎo)方式不同以外,和路、差路脈壓工作原理與程序流程
完全一致。圖3給出了脈沖壓縮程序的流程圖以及時序圖。以和路脈沖壓縮為
例,說明脈沖壓縮的實現(xiàn)過程。
程序及系數(shù)調(diào)入
如圖2所示,我們對TS101-A采用EPROM啟動方式,在硬件設(shè)計時將BMS
引腳設(shè)置為低。這樣當(dāng)系統(tǒng)加電時,TS101檢測到BMS為低電平則會自動將程
序及相關(guān)參數(shù)由EPROM載入。在整個脈沖壓縮過程中,系統(tǒng)運算所設(shè)計的參
數(shù)主要為三種狀態(tài)的旋轉(zhuǎn)因子以及對應(yīng)各個狀態(tài)的匹配濾波器系數(shù)。旋轉(zhuǎn)因子
及匹配濾波器系數(shù)均由MATLAB軟件產(chǎn)生,其中,我們將原始線性調(diào)頻信號匹
配濾波器系數(shù)與海明窗函數(shù)在MATLAB中預(yù)先進(jìn)行頻域相乘,把其結(jié)果作為最
后載入DSP的匹配濾波器系數(shù),這樣,在DSP處理時就可省略脈壓過程中的窗
函數(shù)濾波過程,一定程度上節(jié)省了硬件資源,節(jié)省了整個程序運行指令周期,
提高了效率。
圖3脈沖壓縮程序流程圖及時序圖
為了在程序處理時最大可能的利用TS101的總線資源,提高脈壓處理的速
度,針對TS1016Mbit片上存儲區(qū)分為MO,Ml,M2三個區(qū)域及其各區(qū)域可具有
獨立總線的優(yōu)點,我們將程序代碼放在片上存儲區(qū)M0,旋轉(zhuǎn)因子及匹配濾波器
系數(shù)放在M2,而輸入及輸出乒乓存儲區(qū)設(shè)置到ML這樣在進(jìn)行脈壓處理中最耗
時間的FFT和IFFT運算時,便可充分利用TSIOI的指令并行優(yōu)勢,試驗證明,
這樣設(shè)置比將所有參與運算的數(shù)據(jù)采用其它任何方式存放至少節(jié)省10%的指令
周期。
相干檢波后的數(shù)據(jù)輸入
DSP的直接內(nèi)存訪問(DMA)方式能夠在不干擾內(nèi)核操作的情況下獨立運行,
對于外部脈壓數(shù)據(jù)的輸入,我們采取了中斷處理與外部DMA傳輸相結(jié)合的方式。
當(dāng)系統(tǒng)初始化完成后,TS101等待IRQO中斷,中斷到來時,TS101進(jìn)入IRQO中
斷程序,完成外部DMA參數(shù)預(yù)裝處理后,關(guān)閉IRQO中斷,開啟外部DMA中斷。
此時,DMA的源地值可為TS1O1外部存儲器映射中任意地址,目的地址為內(nèi)部存
儲區(qū)Ml中輸入乒乓存儲區(qū)其中一個。每一次外部相干檢波模塊送數(shù)據(jù)至數(shù)據(jù)總
線低32Bit時,同時通過DMAR0引腳向TS1O1發(fā)送DMA請求,每接受一次請求,
DMA進(jìn)行一個數(shù)據(jù)的傳遞,同時DMA的傳輸數(shù)據(jù)值總量減一。當(dāng)DMA的傳輸數(shù)據(jù)
值總量減為零時,本次DMA結(jié)束,DMA中斷產(chǎn)生,TS1O1進(jìn)入DMA中斷程序,在
DMA中斷程序中,重新打開IRQO中斷,關(guān)閉外部DMA中斷,同時在程序中,將
DMA結(jié)束標(biāo)志變量景1,把下一次DMA參數(shù)中的目的地址指針指向輸入乒乓存儲
區(qū)的另外一個。
因為采用了上述方式,在整個脈壓過程中,主程序完全不用考慮外部數(shù)據(jù)
的傳輸過程,只需在每次脈壓處理之前檢測DMA結(jié)束標(biāo)志變量是否為1,然后直
接調(diào)用乒乓存儲區(qū)的數(shù)據(jù)即可進(jìn)行后續(xù)處理。
脈沖壓縮處理及數(shù)據(jù)輸出
外部送入的數(shù)據(jù)采用32Bit數(shù)據(jù)寬度,其中高16位為I路信號,低16位
為Q路信號,因此,在進(jìn)行FFT之前,必須將乒乓存儲區(qū)中的數(shù)據(jù)解包,同時
為避免定點數(shù)據(jù)運算溢出時舍位所造成的誤差,必須將解包后的數(shù)據(jù)轉(zhuǎn)換為浮
點數(shù)據(jù)。
定點轉(zhuǎn)浮點程序運行前首先對DMA結(jié)束標(biāo)志進(jìn)行循環(huán)判斷,如果其值為1,
表示DMA傳遞結(jié)束,能夠進(jìn)入數(shù)據(jù)轉(zhuǎn)換,否則將繼續(xù)等待。一旦進(jìn)入定/浮轉(zhuǎn)
換程序,首先要將DMA結(jié)束標(biāo)志置0以避免下次循環(huán)出現(xiàn)錯誤操作。
脈壓程序根據(jù)FLAGO,FLAG1的值確定當(dāng)前脈沖壓縮處于何種狀態(tài),載入對
應(yīng)的旋轉(zhuǎn)因子以及匹配濾波器系數(shù)。而在實際工作中雷達(dá)只需檢測目標(biāo)距離,
速度,方位角等信息。故脈壓結(jié)果的幅度值絕對大小對目標(biāo)檢測沒有大的影響,
為了減少運算周期,所以IFFT程序中沒有把脈壓結(jié)果值與傅立葉變換點數(shù)N相
除。由于FFT程序與IFFT程序原理基本一致,故只需對FFT程序中涉及旋轉(zhuǎn)因
子的相應(yīng)計算的加減號加以修改,修改后的FFT程序即可成為IFFT程序,而且
兩個程序可調(diào)用相同旋轉(zhuǎn)因子,極大的節(jié)省了固定數(shù)據(jù)所占的內(nèi)存空間。
當(dāng)脈壓過程結(jié)束后,需將結(jié)果送入?yún)?shù)檢測模塊。TS101具有14個獨立的
DMA通道,其鏈路口操作也是采用DMA傳輸模式,所以我們在實際設(shè)計時只
需裝載對應(yīng)的鏈路口DMA參數(shù)即可。如圖2所示,參數(shù)檢測模塊與脈沖壓縮模
塊有一組鏈路口設(shè)計為硬件連接,一旦接收方與發(fā)送方在彼此對應(yīng)的鏈路口都
裝載完各自的DMA參數(shù)后,數(shù)據(jù)傳輸就開始在不干擾內(nèi)核運行的情況下自動進(jìn)
行。
脈沖壓縮處理工作時序
我們以狀態(tài)1說明工作時序(圖3),1狀態(tài)脈沖重復(fù)周期為200us,外部輸入
數(shù)據(jù)600點(5MHZ數(shù)據(jù)流),所需時間120us,而DMA的傳輸速度遠(yuǎn)高于數(shù)據(jù)
輸出率,能夠認(rèn)為當(dāng)數(shù)據(jù)輸入結(jié)束后,外部DMA傳輸同時結(jié)束,DSP在200MHZ
主頻下,完成整個脈沖壓縮過程所需時間為118.5us,鏈路口傳輸時鐘設(shè)置為
1/4核心時鐘①IV4),即50M,其傳輸完1024點復(fù)數(shù)所需時間約為80uso在
圖中prt為脈沖重復(fù)周期,e_dma表示外部DMA傳送周期,。pe_t為脈沖壓縮
處理周期,Ldma為脈壓結(jié)果經(jīng)鏈路口輸出數(shù)據(jù)至檢測模塊周期。對于prt其高
電平為雷達(dá)發(fā)射脈沖時間,低電平表示接收回波時間。其它的高電平表示工作
時間,低電平為等待時間。其它兩種狀態(tài)時序與1狀態(tài)基本一致,只是周期相
應(yīng)縮短而己。顯然,脈沖壓縮模塊的實時性得到了很好的滿足。
參數(shù)檢測模塊的實現(xiàn)
參數(shù)檢測模塊主要通過相參積累,模平方最大值求取等一系列運算完成距
離、速度、角度等參數(shù)的檢測,同時,根據(jù)參數(shù)決定雷達(dá)的工作狀態(tài)及完成恒
虛警處理。
主程序
如圖4所示,系統(tǒng)啟動時,DSP首先對程序運行所需的各個狀態(tài)參數(shù)進(jìn)行
初始化。這些參數(shù)包括:三種狀態(tài)下的DMA傳送參數(shù)(鏈路口DMA和外部
DMA)、每一種狀態(tài)的積累周期數(shù)、初始門限、狀態(tài)切換點、以及部分標(biāo)志變量
等;另外,由于該DSP外接一個外部存儲器,必須在程序運行前對此外部存儲
器做初始化。
圖4參數(shù)檢測主程序
初始化完成后,從外部端口讀取程序所需的狀態(tài)信息,這個狀態(tài)信息主要
標(biāo)識當(dāng)前雷達(dá)的脈沖重復(fù)頻率、脈沖寬度。根據(jù)這個狀態(tài)信息確定到底在DMA
裝載時應(yīng)該載入哪一個狀態(tài)的值。同時,一旦狀態(tài)確定,其對應(yīng)的積累周期內(nèi)
的脈沖數(shù)、狀態(tài)切換點,恒虛警處理時的參考單元數(shù)等也相應(yīng)確定。DSP在初始
化時,已對各狀態(tài)的參數(shù)加以定義,這時,程序只需根據(jù)外部端口讀入的狀態(tài)
信息對后續(xù)程序所需的變量做相應(yīng)配置即可。
主程序核心部分為一個循環(huán),循環(huán)涉及兩個變量判斷,一個是跟蹤啟動標(biāo)
志變量,另一個為狀態(tài)改變標(biāo)志變量,初始化時這兩個變量均為Oo循環(huán)開始時,
首先對狀態(tài)改變標(biāo)志作判斷,如果其值為0,則對跟蹤啟動標(biāo)志判斷,該標(biāo)志為
0,表示雷達(dá)當(dāng)前沒有發(fā)現(xiàn)目標(biāo),程序進(jìn)入搜索子程序,雷達(dá)進(jìn)行大范圍搜索,
直到發(fā)現(xiàn)目標(biāo)為止。如果該標(biāo)志為1,證明雷達(dá)在搜索狀態(tài)發(fā)現(xiàn)有目標(biāo)存在,這
時候,信號處理機(jī)應(yīng)該對目標(biāo)信息作進(jìn)一步的測量,并將信息送至雷達(dá)天線飼
服機(jī)構(gòu),以控制天線始終對準(zhǔn)目標(biāo),這一切工作均由跟蹤子程序完成。
如果進(jìn)入循環(huán)前,檢測到狀態(tài)改變標(biāo)志為1,則說明目標(biāo)運動到狀態(tài)切換點
上,為了更好的跟蹤目標(biāo),需要對雷達(dá)的工作狀態(tài)作切換,主程序跳出循環(huán)。
需要注意的是,信號處理部分并非馬上開始下一個狀態(tài)的工作,而是必須等待
鏈路口DMA將當(dāng)前傳輸數(shù)據(jù)操作完成。因為TS101的DMA操作不允許往當(dāng)前
正在傳遞數(shù)據(jù)的DMA重新寫入新的傳輸參數(shù),如果強(qiáng)行執(zhí)行,只會導(dǎo)致該DMA
鎖死。而且,鏈路口的DMA是和前端脈壓鏈路口DMA成對使用的,如果中止
自己的鏈路口傳輸,必然會導(dǎo)致脈壓部分的鏈路口傳輸同時中止,引起時序上
出現(xiàn)混亂。為此必須循環(huán)判斷鏈路口DMA傳輸是否結(jié)束。一旦鏈路口DMA傳
輸結(jié)束,TS101發(fā)出狀態(tài)改變以及新狀態(tài)信息,同時將狀態(tài)改變標(biāo)志清零。然后
讀取外部端口信息并加以判斷(外部端口信息來自于一片F(xiàn)PGA,該FPGA主要
用于控制信號處理各部分協(xié)同工作)。當(dāng)檢測到新狀態(tài)開始指令后,程序返回配
置變量處,用對應(yīng)于新狀態(tài)的各參數(shù)替換狀態(tài)改變前的變量值,然后開始新的
循環(huán)。
搜索子程序
進(jìn)入搜索子程序后,首先需要對鏈路口DMA做初始化,因為搜索狀態(tài)只需
對和路數(shù)據(jù)做檢測。因此在搜索子程序中對于差路數(shù)據(jù)在傳輸時只將其固定的
送至片內(nèi)一個地址區(qū)??紤]到其不參與運算,一個脈沖周期傳送結(jié)束后,下一
個脈沖周期依然將數(shù)據(jù)放至同一地址。對于和路數(shù)據(jù),需要對整個距離域作相
參積累,因此必須對積累周期的每一組數(shù)據(jù)都保存??紤]到相參積累的主要操
作為FFT運算(FFT運算對其輸入數(shù)據(jù)采用位反序?qū)ぶ罚贒MA將數(shù)據(jù)傳輸?shù)酵?/p>
部SDRAM的同時,應(yīng)該完成數(shù)據(jù)重排。假設(shè)每一個脈沖周期傳送數(shù)據(jù)點數(shù)為N,
參與積累的脈沖周期數(shù)為K,則數(shù)據(jù)重排后,每一個周期的第i點數(shù)據(jù)和第i+1
點數(shù)據(jù)之間地址間隔為2K(每一點數(shù)據(jù)都為復(fù)數(shù),需要占兩個地址單元),即跳
址存儲,經(jīng)過DMA傳輸后,在外部SDRAM的數(shù)據(jù)排列直接表現(xiàn)為同一個距離門
的數(shù)據(jù)連續(xù)存放,這樣為后面的FFT運算帶來了方便。
設(shè)置完DMA參數(shù)后,程序循環(huán)檢測積累周期的數(shù)據(jù)傳送是否結(jié)束,一旦傳
送結(jié)束,啟動外部DMA,將外部SDRAM中的數(shù)據(jù)逐段載入內(nèi)部存儲器,實際
操作時,一段數(shù)據(jù)量為32X128點數(shù)據(jù)(第一種狀態(tài)32個距離門的數(shù)據(jù)、第二種
狀態(tài)16個距離門的數(shù)據(jù)、第三種狀態(tài)8個距離門的數(shù)據(jù)),每一次外部DMA傳
送結(jié)束,以中斷方式開始下一次DMA傳送,直到將積累周期內(nèi)的數(shù)據(jù)全部傳送
至內(nèi)部SRAMo為此,DMA的目的地址對應(yīng)一個乒乓存儲區(qū)。FFT取數(shù)與DMA
輸入數(shù)據(jù)交替使用乒乓存儲區(qū)的不同區(qū)間。
拽索模塊:
主程用調(diào)用入n
回主程中
圖5搜索子程序流
圖
程序?qū)ν獠緿MA送來的數(shù)據(jù)進(jìn)行FFT以及模平方最大值求取運算,將最
大值對應(yīng)的距離點i和最大值j記錄下來。這個過程循環(huán)進(jìn)行,直到積累周期內(nèi)
的數(shù)據(jù)全部完成運算。接下來將最大值j,與初始門限作比較,如果j小于初始
門限,返回搜索程序入口。反之,認(rèn)定雷達(dá)發(fā)現(xiàn)目標(biāo),記錄j對應(yīng)的值3向外
部設(shè)備發(fā)出目標(biāo)截獲信息,等待外部其它設(shè)備發(fā)出準(zhǔn)備好的反饋信息。收到反
饋信息后,將跟蹤啟動標(biāo)志置1后返回主程序。
跟蹤子程序
在跟蹤狀態(tài),需要檢測目標(biāo)的角度信息,因此需要在積累周期內(nèi)將和路差
路數(shù)據(jù)都傳送至外部SDRAM,由于最后參與角度運算的只需要差路一個距離門
的數(shù)據(jù),因此對于差路數(shù)據(jù)的鏈路口DMA傳送時,沒有進(jìn)行數(shù)據(jù)重排而采用順
序存儲方式。這樣能夠減少DMA傳送時的總線沖突,提高傳輸速度。和路傳送
方式與搜索狀態(tài)一致。
當(dāng)積累周期數(shù)據(jù)傳送完畢后需要對相關(guān)數(shù)據(jù)進(jìn)行相參積累,與搜索狀態(tài)不
同的是此時不需要對整個距離域進(jìn)行運算。前面已經(jīng)提到搜索狀態(tài)對最大值對
應(yīng)的距離點i作了記錄,因此已經(jīng)獲取了目標(biāo)初步的距離信息,我們只對i點
本身以及其前后各L(三種狀態(tài)工分別為:Ll=20、L2=10、L3=5)個點對應(yīng)的距離
門數(shù)據(jù)作相參積累即可。對于積累完的數(shù)據(jù),需要從其中找出模最大值x并記
錄其對應(yīng)的多普勒通道N1和距離門N2,如果x大于門限,記錄對應(yīng)該點的求模
運算前的數(shù)據(jù)G(復(fù)數(shù))。并以.Nl、N2作為下次跟蹤的參考點。將對應(yīng)距離門
N2的差路數(shù)據(jù)通過外部DMA載入內(nèi)部存儲器,需注意的是,因為數(shù)據(jù)在存儲至
SDRAM時沒有進(jìn)行數(shù)據(jù)重排,所以在DMA取數(shù)時必須按跳址方式取數(shù),數(shù)據(jù)點與
點之間的地址差為2N(N為脈壓后的數(shù)據(jù)點數(shù))。對這一組差路數(shù)據(jù)作FFT后求
出最大值并記錄對應(yīng)的數(shù)據(jù)YAO
有了上述信息,求出角度誤差占(具體為航向還是俯仰角由脈壓模塊所發(fā)的
識別信息決定),求出多普勒頻移發(fā)依據(jù)公式fd=2v/A(v為目標(biāo)速度、X為
雷達(dá)發(fā)射信號波長)求出目標(biāo)速度。根據(jù)當(dāng)前狀態(tài)以及N2,判斷是否需要切換雷
達(dá)工作狀態(tài)。如果需要切換狀態(tài),需要在發(fā)送信息之前,將狀態(tài)改變標(biāo)志置1。
在輸出了角度、速度、距離、狀態(tài)等信息后,需要根據(jù)回波信號作恒虛警
處理。我們以N2:距離門FFT后的數(shù)據(jù)作為測量標(biāo)準(zhǔn),以N1點作為檢測單元,
兩邊各空出兩個單元作為保護(hù)單元,選用GO--CFAR(選大統(tǒng)計恒虛警),其參考
單元數(shù)設(shè)為16,對兩邊參考單元數(shù)據(jù)求和取平均,然后選取其中的大者與一固
定值相乘后作為動態(tài)門限實現(xiàn)恒虛警。
如圖5所示,雷達(dá)如果在前一個積累周期處于跟蹤狀態(tài),當(dāng)前周期經(jīng)過相
參積累后發(fā)現(xiàn)記錄區(qū)內(nèi)沒有新的數(shù)據(jù),此時雷達(dá)并不馬上轉(zhuǎn)入搜索狀態(tài),而是
進(jìn)入記憶跟蹤,在記憶跟蹤狀態(tài),輸出目標(biāo)丟失前的相關(guān)數(shù)據(jù),如果在5秒后
依然沒有檢測到新的信息,雷達(dá)認(rèn)定目標(biāo)丟失,將跟蹤啟動標(biāo)志置0后返回主
程序。
跟蹤模塊:
圖6跟蹤子程序流程圖
四附錄
部分主程序為:
^include<>
^includeo
^includeo
^includeo
^includeo//使用floatmeanf(const
float*_a,int_n);
#includeo〃使用系統(tǒng)計數(shù)器
^includeo
include""雷達(dá)各參數(shù)設(shè)定
include〃〃H外部至義變量
externfft_flp32(floatAfloat^Jloat^Jloat
*,int,int);I18192^FFT
〃16置erW'」6⑺"xfloatAfloat*);
externComplexVectprDotProduct(float*,
float*,int,float");“復(fù)數(shù)點乘
volatileint
tmpjlO,
tmpjl;H用于計數(shù)(程序各段計時)
voidmain()
{
intij,k,n,temp_index;
floatref_left9ref_right,ref9ref_Alpha;
tmp_iO=
__builtin_sysreg_read(_CCNTO);〃
readinitialcyclecount
for(i=0;i<N;i++)
fft_input_amp[i]=sqrt(fft_input[2^iPfft_input[2^i
]+fftjlnput[2^i+l]^fftjinput[2^i+l]);
i=0;〃斷點,繪圖觀察脈沖回波信號幅
度
/?A**1**1*?A?*1**1*-/L-r*
/不不不不不不不不不不不不不不不不不不不不不不不不不不
脈壓過程(匹配濾波頻域?qū)崿F(xiàn))
<1??X??kt>?kt>?X??kt>?kt><t>?X??kt>/
rj*rjwrj?rjwrjwrjwrjw*J*rj?rjwrj**J?rj?rjwrj?rj?rj**J?rj?rjw1
tmp_iO=
__builtin_sysreg_read(_CCNTO);//
readinitialcyclecount
fft_Jlp32Cfft_input,
吸瑪骷概轆鬟斑皆嚼性琲代魁
ComplexVectorDotProduct(fft_output,
力馥裴務(wù)羲杷Nx(k)*H(k);
〃做復(fù)數(shù)IFFT:好處浜^*好)尸32*
conj[DFT[co可[((k)]];分二步來元成:(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 多方投資擔(dān)保合同
- 建筑工程分包合同5篇
- 賠償協(xié)議書的格式年
- 公路交通工程與道路養(yǎng)護(hù)作業(yè)指導(dǎo)書
- 煤炭進(jìn)口合同6篇
- 針織橫機(jī)電控產(chǎn)業(yè)分析報告
- 南瓜收購合同范本
- 養(yǎng)殖用電合同范本
- 賣窯洞合同范本
- 一般經(jīng)濟(jì)購買合同范本
- GB/T 25890.7-2010軌道交通地面裝置直流開關(guān)設(shè)備第7-1部分:直流牽引供電系統(tǒng)專用測量、控制和保護(hù)裝置應(yīng)用指南
- FZ/T 81013-2016寵物狗服裝
- 市政級安全管理
- 《社保知識培訓(xùn)》教學(xué)課件
- 肌力與肌張力課件
- 學(xué)生檔案登記表
- is620p系列伺服用戶手冊-v0.2綜合版
- 電信渠道管理人員考核管理辦法
- 勘察工作內(nèi)容及方案
- 八年級數(shù)學(xué)(上冊)整式計算題練習(xí)100道無答案_新人教版
- 橋梁施工危險源辨識與防控措施
評論
0/150
提交評論