前言:本科學(xué)了四年機(jī)械,后面轉(zhuǎn)頭去了電子信息讀研,以FPGA的脈壓入手,在從零開始的路上CSDN對(duì)我的幫助很大,現(xiàn)整理所學(xué),與諸君共勉。本文不少代碼均是參考CSDN上的前輩們一步一步理解做出來的,如有冒犯之處,煩請(qǐng)諒解。
目錄
一:脈沖壓縮原理介紹
1.我們簡(jiǎn)單了解一下脈沖壓縮到底是什么?
2.我們?cè)賮砹私庖幌挛覀兯褂玫木€性調(diào)頻信號(hào)
二.基于matlab的脈沖壓縮仿真
1.脈沖壓縮信號(hào)生成
2.DDC數(shù)字下變頻?
3.匹配濾波
?4.加窗處理
?5.雜波抑制和多目標(biāo)測(cè)距
三.Vivado實(shí)現(xiàn)
一:脈沖壓縮原理介紹
1.我們簡(jiǎn)單了解一下脈沖壓縮到底是什么?
首先,一個(gè)好的雷達(dá)是能夠準(zhǔn)確探測(cè)足夠遠(yuǎn)的兩個(gè)足夠近的目標(biāo)。
在最早的時(shí)候,雷達(dá)脈沖寬度與帶寬是呈反比的,在這個(gè)基礎(chǔ)上,脈沖寬度決定了信號(hào)的最大探測(cè)距離,而脈沖帶寬決定了距離的分別率,這就導(dǎo)致距離分辨力和最大探測(cè)距離出現(xiàn)了不可調(diào)和的矛盾。
我們通過這樣兩個(gè)對(duì)比圖來看,早期雷達(dá)時(shí)寬帶寬積為1之間帶來的矛盾:
寬脈沖信號(hào),信號(hào)能量足夠,但是回波重疊
?窄脈沖信號(hào),回波不重疊,探測(cè)距離不夠
?(看到這里,其實(shí)能夠看見探測(cè)距離和探測(cè)精度其實(shí)都是受到了時(shí)寬的影響,由于早期雷達(dá)帶寬和時(shí)寬呈反比,才將二者聯(lián)系起來,但是早期人們不知道雷達(dá)探測(cè)精度只與帶寬有關(guān),所以一直所說的探測(cè)精度同探測(cè)距離矛盾的問題一定要建立在早期雷達(dá)時(shí)寬和帶寬呈反比的基礎(chǔ)上。)
針對(duì)探測(cè)距離同精度的問題,隨之就有學(xué)者提出了脈沖壓縮技術(shù)的核心,即匹配濾波。我們?cè)诎l(fā)射時(shí)仍然采取大時(shí)寬信號(hào),而在接收時(shí)將信號(hào)壓縮為窄信號(hào),這樣就解決了雷達(dá)這兩個(gè)指標(biāo)之間的矛盾。
?我們通過如圖來理解脈沖壓縮,很形象和直觀,在時(shí)域上:
?這樣一來多目標(biāo)帶來的回波就不至于互相重疊掩埋。
隨著雷達(dá)的發(fā)展,人們漸漸發(fā)現(xiàn)了雷達(dá)探測(cè)精度只與帶寬有關(guān)!
?
?式子左邊為距離分辨力,右邊C為光速,可以看到帶寬越大,距離分辨力越高。
并且隨著發(fā)展,我們發(fā)現(xiàn)了許多大時(shí)寬帶寬積信號(hào),這種信號(hào)一出來,其實(shí)時(shí)寬和帶寬一定程度沒有那么大的矛盾了,而這個(gè)時(shí)候,脈沖壓縮技術(shù)更多的使得信號(hào)達(dá)到它的最大理論分辨力,即上圖公式。
當(dāng)我發(fā)射一個(gè)大時(shí)寬信號(hào)時(shí)候,回波信號(hào)能被壓縮為一個(gè)窄尖,理論上不超過上圖公式所計(jì)算出的距離分辨力,都會(huì)在時(shí)域上分隔開,我們將在第二章通過matlab進(jìn)行驗(yàn)證和更直觀的說明。
在合成孔徑雷達(dá)里也需要用到脈沖壓縮,這里放一個(gè)我室友幫我跑的學(xué)??s寫,用來做文章封面。
?文章來源地址http://www.zghlxwxcb.cn/news/detail-804170.html
2.我們?cè)賮砹私庖幌挛覀兯褂玫木€性調(diào)頻信號(hào)
我們直接上表達(dá)式:(這個(gè)式子比較簡(jiǎn)單,我們不做過多的贅述)
值得一提的是根據(jù)歐拉公式,該式子存在余弦和復(fù)數(shù)表達(dá)式,但是復(fù)數(shù)表達(dá)式經(jīng)常存在實(shí)部和虛部的問題,我沒學(xué)過復(fù)變,所以不是很懂,不過matlab上還是可以跑出來的
?
我們對(duì)相位求導(dǎo),可以得到瞬時(shí)頻率:
?因此線性調(diào)頻信號(hào)即瞬時(shí)頻率隨時(shí)間線性u(píng)增大的信號(hào)。
同時(shí)LFM也是大時(shí)寬帶寬積信號(hào),其時(shí)寬帶寬積也等于脈沖壓縮的壓縮比
大概就先說這么多吧,之后的推導(dǎo)我們?cè)趍atlab上接著推導(dǎo)。
二.基于matlab的脈沖壓縮仿真
1.脈沖壓縮信號(hào)生成
根據(jù)第一章的公式,我們簡(jiǎn)單模擬一個(gè)幅值為1的線性調(diào)頻信號(hào),其調(diào)頻斜率與帶寬B,時(shí)寬T有關(guān)
我們直接貼代碼:
%% 線性調(diào)頻信號(hào)生成
clc;
close all;
%LFM參數(shù)設(shè)置
B = 30e6; %帶寬
T = 10e-6; %時(shí)寬
K = B/T; %調(diào)頻斜率
Fs = 4*B; %采樣頻率
F0 = 150e6; %初始頻率和中心頻率
Ts = 1/Fs; %采樣周期
N = ceil(T/Ts); %ceil函數(shù)是向上取整數(shù),也常使用四舍五入的round函數(shù)
t = linspace(-T/2,T/2,N); %linspace函數(shù)可以在-T/2到T/2之間產(chǎn)生N個(gè)點(diǎn)(均分)
%產(chǎn)生調(diào)頻信號(hào)
LFM1 = exp( 1j* pi * K * t.^2); %線性調(diào)頻信號(hào)復(fù)數(shù)表達(dá)式(F0=0) .*是點(diǎn)乘運(yùn)算
LFM2 = exp( 1j*(2 * pi * F0 * t + pi * K * t.^2)); %線性調(diào)頻信號(hào)復(fù)數(shù)表達(dá)式
LFM3 = cos(pi * K * t.^2); %線性調(diào)頻信號(hào)的余弦表達(dá)式(F0=0)
LFM4 = cos(2 * pi * F0 * t + pi * K * t.^2); %線性調(diào)頻信號(hào)余弦表達(dá)式
通過fft函數(shù)可以看到LFM的頻域圖像
%% 作圖
figure(1)
%subplot(1,2,1) %生成三行兩列個(gè)子圖,現(xiàn)在激活第一個(gè)
plot(t*1e06,LFM1);
title('線性調(diào)頻信號(hào)(復(fù)數(shù)表達(dá)式(F0=0))');
xlabel('時(shí)間(us)');
ylabel('幅度');
%xlim([-T/2,T/2]); %限制X軸上下限值
grid on;%添加網(wǎng)格
axis tight;
figure(2)
%subplot(1,2,2) %生成三行兩列個(gè)子圖,現(xiàn)在激活第二個(gè)
f = linspace(-Fs/2,Fs/2,N);
LFM1_FFT = fftshift(abs(fft(LFM1,N)));
%abs返回絕對(duì)值,直接對(duì)函數(shù)傅里葉變換,fftshift調(diào)整0頻位置
plot(f*1e-6,LFM1_FFT);
title('線性調(diào)頻信號(hào)(復(fù)數(shù)表達(dá)式(F0=0))頻域圖');
xlabel('頻率(MHz)');
ylabel('幅值');
grid on;%添加網(wǎng)格
axis tight;
%F0=5e6
figure(3)
%subplot(1,2,1) %生成三行兩列個(gè)子圖,現(xiàn)在激活第一個(gè)
plot(t*1e6,LFM2);
title('線性調(diào)頻信號(hào)(F0=150HMz)')
xlabel('時(shí)間(us)');
ylabel('幅度');
%xlim([-T/2,T/2]); %限制X軸上下限值
grid on;%添加網(wǎng)格
axis tight;
figure(4)
%subplot(1,2,2) %生成三行兩列個(gè)子圖,現(xiàn)在激活第二個(gè)
LFM2_FFT = fftshift(abs(fft(LFM2,N)));
plot(f*1e-6,LFM2_FFT);
title('線性調(diào)頻信號(hào)(F0=150HMz)頻域圖')
xlabel('頻率(MHz)');
ylabel('幅值');
grid on;%添加網(wǎng)格
axis tight;
150MHz的中頻圖像過于密集不太好看,我放兩張0頻的以供參考。
?
線性調(diào)頻信號(hào)的生成就到這里
2.DDC數(shù)字下變頻?
一般來說,我們發(fā)射的信號(hào)為了具有更大的能量和抗干擾,穿透力等,都會(huì)搭載高頻信號(hào),但是回來的高頻信號(hào)需要倍頻采樣,這就會(huì)導(dǎo)致采樣頻率過高,所以我們通過DDC數(shù)字下變頻的方式將信號(hào)降到低頻。
主要有三個(gè)步驟:正交調(diào)制、低通濾波、抽取。
可以簡(jiǎn)單講一下正交調(diào)制的原理,首先輸入的信號(hào)經(jīng)過采樣到了處理中心,這時(shí)候NCO(我也不知道是啥)會(huì)產(chǎn)生所需的兩組正交本振信號(hào)(根據(jù)發(fā)射信號(hào)公式可以推出):
?
?大概可以看清楚吧?將采樣數(shù)據(jù)與正交本振信號(hào)相乘(混頻)之后通過三角函數(shù)積化和差公式分解后,我們可以得到高頻和低頻兩部分:
這里就輸出了I、Q兩路信號(hào),根據(jù)公式可以看到高頻f0被分出到了式子的右邊。
?
?再通過低通濾波處理,設(shè)置截止頻率,輸出后的信號(hào):
?
?至于抽取倍頻,其實(shí)就是通過“跨步讀取”的方式進(jìn)一步降低頻率,這個(gè)比較簡(jiǎn)單,就不說了。
接下來,我們通過Matlab進(jìn)行實(shí)操:
我們的正交處理要比上訴簡(jiǎn)單很多,走了一個(gè)捷徑
交處理部分中最關(guān)鍵的是如何產(chǎn)生本振信號(hào),在FPGA實(shí)際處理的過程中,我們可以調(diào)用Vivado中DDC IP核來產(chǎn)生;此外也可以根據(jù)f0和TS來計(jì)算出對(duì)應(yīng)的兩組正交值。我們這里采用第三種最簡(jiǎn)單的方法:(因?yàn)榇蜃謺r(shí)候公式不太好弄,我直接放圖片了)
?我們?cè)趨?shù)設(shè)計(jì)中預(yù)先將中心頻率設(shè)為150Mhz;采樣頻率
?設(shè)置為四倍帶寬(即:120MHz)滿足第三章正交處理要求。我這里把DDC這一步另存為一個(gè)函數(shù)方便調(diào)用,代碼一起放上來:
function [ddc_i,ddc_q] = DDC(x)
%% DDC下變頻輸出
n = 1:length(x);
cos_unit = [1,0,-1,0];
cos_osc =cos_unit(mod(n,4)+1); % mod(b,a) 求余運(yùn)算 ,b/a的余數(shù).
sin_unit = [0,1,0,-1];
sin_osc =sin_unit(mod(n,4)+1);
DDC_out_i1 = x.*cos_osc;
DDC_out_q1 = x.*sin_osc;
DDC_out_i = filter(filter,DDC_out_i1);
DDC_out_q = filter(filter,DDC_out_q1);
%% 抽取,會(huì)降低分辨率
deciN = 2;
ddc_i = DDC_out_i(1:deciN:length(DDC_out_i));
ddc_q = DDC_out_q(1:deciN:length(DDC_out_q));
end
前面就是正常的信號(hào)進(jìn)入,到filter是我們的濾波器,在Matlab低通濾波這部分處理中,我們可以通過軟件所自帶的fdatool工具直接生成低頻濾波器:首先在命令行窗口中輸入fdatool,軟件會(huì)生成出低通濾波器編輯器Filter Designer,我們調(diào)整濾波器參數(shù)采樣頻率為120MHz,低通截止頻率為22MHz,通過頻率為20MHz,完成參數(shù)設(shè)計(jì)后點(diǎn)擊Designe,系統(tǒng)會(huì)生成出一個(gè)filter.m的工程文件
?最后就是抽取倍頻。直接放三個(gè)過程圖
生成正交后圖像:
?
簡(jiǎn)單說明一下,這個(gè)信號(hào)前面是因?yàn)槲已a(bǔ)了120個(gè)零點(diǎn)(1s),才會(huì)產(chǎn)生前面的直線。
3.匹配濾波
?匹配濾波就是脈沖壓縮的核心步驟了,前面我們只是講了這一步是用來干什么,現(xiàn)在具體講一下為什么,我就不做公式的推導(dǎo)了。
首先通俗一點(diǎn),就是講信號(hào)與其自相關(guān)函數(shù)進(jìn)行時(shí)域卷積,其實(shí)就相對(duì)于1*1=1,100*100=10000(我是這樣理解的),這樣一下就把其加權(quán)放大了,達(dá)到了尖峰的效果,推薦再理解一下卷積
分享一篇文章:https://blog.csdn.net/bitcarmanlee/article/details/54729807
反正就是一個(gè)卷積處理,那么我們知道時(shí)域卷積等效于頻域相乘,所以依據(jù)濾波器的不同進(jìn)入時(shí)期我們會(huì)得到三個(gè)頻域的處理方式。
首先看,時(shí)域卷積:
脈沖壓縮在時(shí)域的處理方式主要是對(duì)線性調(diào)頻信號(hào)與其自相關(guān)函數(shù)做卷積處理。所以第一步是構(gòu)造自相關(guān)函數(shù),我們已知原線性調(diào)頻信號(hào)的參數(shù)與函數(shù),對(duì)其在時(shí)域表達(dá)式進(jìn)行反褶再取共軛后即可得到自相關(guān)函數(shù),之后兩者卷積,即可生成脈壓后的信號(hào)。
自相關(guān)函數(shù)的構(gòu)造,我們主要通過filplr函數(shù)和conj函數(shù)來實(shí)現(xiàn)。前者是進(jìn)行反褶操作,簡(jiǎn)單來說也就是將1、2、3的序列或矩陣輸出為3、2、1。而后者conj則是直接取共軛函數(shù),兩個(gè)函數(shù)依次套用即可生成自相關(guān)函數(shù)。
卷積運(yùn)算是通過Matlab自帶的快速卷積處理函數(shù)conv函數(shù)完成,需要注意的是卷積運(yùn)算后信號(hào)的長(zhǎng)度會(huì)發(fā)生改變,若第一個(gè)函數(shù)的長(zhǎng)度為N1,第二個(gè)長(zhǎng)度為N2,卷積后長(zhǎng)度則為N1+N2-1。而我們這里兩個(gè)函數(shù)長(zhǎng)度一樣,則輸出長(zhǎng)度為2N-1。我們可以得到仿真圖,我們?cè)賹D像做歸一化處理,同時(shí)導(dǎo)入sinc函數(shù)紅點(diǎn),可以發(fā)現(xiàn)在基帶附近具有較高的擬合度,而sinc函數(shù)的傅里葉變換正好是幅值為1的矩形脈沖信號(hào)。
%% 時(shí)域匹配濾波
H_LFM1 = conj(fliplr(LFM1)); %conj是取共軛,fliplr是進(jìn)行矩陣左右翻轉(zhuǎn)
s1 = conv(LFM1,H_LFM1); %conv是將輸入信號(hào)與匹配濾波信號(hào)卷積輸出,
N1 = N+N-1 ;%線性卷積后信號(hào)長(zhǎng)度變?yōu)?N1+N2-1
t1 = linspace( -T , T , N1); %信號(hào)長(zhǎng)度變化
%信號(hào)輸出
figure(1);
subplot(2,1,1);
plot( t1*1e6 , abs(s1) );
xlabel('t /us'),ylabel('幅度譜');
title('時(shí)間反褶取共軛,時(shí)域卷積');
grid on;%添加網(wǎng)格
axis tight;
%歸一化;辛克函數(shù)
Z=abs(s1);Z=Z/max(Z); Z=20*log10(Z+1e-6);
Z1=abs(sinc(B.*t1)); Z1=20*log10(Z1+1e-6);%辛克函數(shù)
subplot(2,1,2);
t1=t1*B;
plot(t1,Z,t1,Z1,'r.' );
xlabel('時(shí)間/s ');
ylabel('幅值/dB');
title('線性調(diào)頻信號(hào)經(jīng)過匹配濾波(歸一化)');
axis([-15,15,-50,inf]);
grid on;%添加網(wǎng)格
?
?頻域處理:
頻域的處理和時(shí)域類似,根據(jù)第二章推導(dǎo)的公式,可以大致分為三種處理順序:
- 先構(gòu)造出反褶,共軛的濾波函數(shù),和信號(hào)一起補(bǔ)零之后進(jìn)行FFT到頻域,然后頻域相乘。最后進(jìn)行IFFT(FFT逆運(yùn)算)進(jìn)行頻域到時(shí)域的逆運(yùn)算。
- 信號(hào)補(bǔ)零進(jìn)行FFT到頻域之后,進(jìn)行共軛得到濾波頻域函數(shù),相乘之后進(jìn)行IFFT逆運(yùn)算。
- 信號(hào)補(bǔ)零進(jìn)行FFT到頻域之后,直接在頻域構(gòu)造出匹配濾波器,相乘之后進(jìn)行IFFT逆運(yùn)算。
這三種操作順序主要都是受自相關(guān)函數(shù)生成的影響,理想情況下第一種和第二種沒有太大區(qū)別,但是比較麻煩也需要注意的是,前兩種方法都中需要進(jìn)行補(bǔ)零至選定長(zhǎng)度的前置處理,由于不同濾波器棄置區(qū)不一樣,且等于響應(yīng)信號(hào)長(zhǎng)度減一,所以為了進(jìn)行有效的處理,F(xiàn)FT的點(diǎn)數(shù)最好是2的次方數(shù)且大于信號(hào)長(zhǎng)度。具體原因是因?yàn)镸atlab中FFT是做循環(huán)卷積運(yùn)算,而匹配濾波需要的是線性卷積,所以需要在函數(shù)前補(bǔ)N-1個(gè)0,同時(shí)補(bǔ)零也可以提高分辨率。
(md,這個(gè)地方CSND鬼畜了,寫的好好的突然沒了退回到這一段,從這到這章完,寫了三遍)
基于第一種順序,我們首先對(duì)線性調(diào)頻信號(hào)及其自相關(guān)函數(shù)做FFT離散快速傅里葉變換到頻域,然后頻域直接相乘得到脈沖壓縮函數(shù)后進(jìn)行IFFT逆變換回到時(shí)域后,同時(shí)也可以做歸一化處理后和Sinc函數(shù)進(jìn)行擬合。
%% 頻域匹配濾波1 (復(fù)制發(fā)射脈沖進(jìn)行時(shí)間反褶并取共軛,計(jì)算補(bǔ)零DFT)
N2 = 2*N-1; %循環(huán)卷積長(zhǎng)度
t2 = linspace( -T , T , N2);
Hf2 = fft(H_LFM1,N2); %頻域匹配濾波器
Sf2 = fft(LFM1,N2);%頻域信號(hào)
S2 = Sf2 .* Hf2;%頻域乘積
s2 = ifft(S2);
figure(2);
subplot(2,1,1);
plot( t2*1e6 , abs(s2) )
xlabel('t /us');
ylabel('幅度譜');
title('時(shí)間反褶取共軛,補(bǔ)零FFT,頻域乘積,IFFT');
grid on;%添加網(wǎng)格
subplot(2,1,2);
Z2=abs(s2);Z2=Z2/max(Z2); Z2=20*log10(Z2+1e-6);%歸一化
t3 = t2*B;
plot(t3,Z2,t1,Z1,'r.');
axis([-15,15,-50,inf]);
xlabel('時(shí)間/s ');
ylabel('幅值/dB');
title('線性調(diào)頻信號(hào)經(jīng)過匹配濾波(歸一化)');
輸出圖像:基本上和時(shí)域處理沒什么區(qū)別
?4.加窗處理
由于脈沖壓縮會(huì)不可避免的產(chǎn)生旁瓣,旁瓣按照1/X的幅值遞減,但較大的旁瓣仍會(huì)淹沒其他微弱的信號(hào),導(dǎo)致目標(biāo)無(wú)法分辨,所以為了提高性能指標(biāo),我們還會(huì)對(duì)脈壓信號(hào)增加窗函數(shù)以改變波形。加窗主要是在時(shí)域上,對(duì)匹配濾波器進(jìn)行點(diǎn)成乘運(yùn)算,其目的是抑制旁瓣,常用的有:Hanning窗、Blackman窗、kaiser窗等,不同的窗效果不一樣,如圖是常用窗函數(shù)的性能表
窗函數(shù) |
最高旁瓣(dB) |
歸一化主瓣寬度(dB) |
最大信噪比損失(dB) |
矩形 |
-13 |
0.89 |
3.92 |
Hanning |
-32 |
1.44 |
3.18 |
Hamming |
-43 |
1.30 |
3.10 |
Blackman |
-58 |
1.68 |
3.47 |
我們?cè)诜抡娴倪^程中,選擇漢明(Hamming)窗來抑制旁瓣;首先直接調(diào)用Matlab自帶的漢明窗函數(shù),再與信號(hào)的自相關(guān)函數(shù)相乘得到加權(quán)后的匹配濾波器系數(shù)。之后按照頻域處理的方法得到加窗后的圖像:
%% 加窗
w = hamming(N)';
H_w = H_LFM1.*w ; % 加窗
Hf3 = fft(H_w,N2); %頻域匹配濾波器
S3 = Sf2 .* Hf3;%頻域乘積
s3 = ifft(S3);
figure(1)
subplot(2,1,2)
plot( t2*1e6 , abs(s3) )
xlabel('t /us');
ylabel('幅度譜');
title('時(shí)間反褶取共軛,補(bǔ)零FFT,頻域乘積,IFFT(加窗)');
grid on;%添加網(wǎng)格
figure(2)
subplot(2,1,2)
Z3=abs(s3);Z3=Z3/max(Z3); Z3=20*log10(Z3+1e-6);%歸一化
t3 = t2*B;
plot(t3,Z3);
axis([-100,100,-50,inf]);
xlabel('時(shí)間/s ');
ylabel('幅值/dB');
title('線性調(diào)頻信號(hào)經(jīng)過匹配濾波(歸一化)(加窗)');
?放到一個(gè)圖可以明顯對(duì)比出加窗的效果:
但需要注意的是,窗函數(shù)的引入實(shí)際上是對(duì)回波做了加權(quán)系數(shù)處理,雖然抑制了旁瓣,但同時(shí)也會(huì)導(dǎo)致主瓣展寬,降低了脈壓后的幅值,造成了信噪比損失。簡(jiǎn)單來說就是以損失一定信號(hào)特性為代價(jià),來提高主副比。
?5.雜波抑制和多目標(biāo)測(cè)距
通過現(xiàn)有的脈沖壓縮模型,我們可以驗(yàn)證其作為最佳線性濾波器的雜波抑制效果
在現(xiàn)實(shí)情況中,雷達(dá)系統(tǒng)發(fā)射機(jī)發(fā)射出線性調(diào)頻信號(hào)后,返還回來的目標(biāo)信號(hào)除目標(biāo)回波外還會(huì)夾帶雜波噪聲和干擾信號(hào)兩部分。本節(jié)不考慮干擾信號(hào)帶來的影響,通過添加高斯白噪聲來模擬雜波信號(hào)的對(duì)回波的干擾,再通過匹配濾波器輸出后,可以觀察對(duì)雜波的抑制效果。
在matlab中僅需要使用awgn函數(shù)即可,通過Y = awgn(采樣信號(hào),信噪比);一行代碼即可:
我們這里添加信噪比為1dB的雜波:
我們可以對(duì)比添加雜波前后的信號(hào)輸出,可以明顯看見線性調(diào)頻信號(hào)已經(jīng)掩埋在了雜波里。
將合成的回波Y直接導(dǎo)入到我們的模型里:通過建立好的模型,我們可以清晰的看見原本雜亂無(wú)章的波形如圖,所示經(jīng)過脈沖壓縮后可以明顯的看見信號(hào)回波所產(chǎn)被壓縮成的尖峰,這就是自相關(guān)函數(shù)對(duì)于雜波來說是無(wú)序的,而對(duì)于發(fā)射的回波確是最匹配的。
?為了更好的看到效果,我們?cè)僖胄盘?hào)參數(shù)一致但未添加噪聲的脈沖壓縮信號(hào)輸出,效果如圖所示:可以看到大量雜波的引入使得回波信號(hào)雜亂無(wú)章,雖然輸出的圖像效果不如沒有噪聲的明顯,但是尖峰仍然清晰可見,到達(dá)了在高噪聲環(huán)境中輸出的效果。
多目標(biāo)測(cè)距:
多目標(biāo)測(cè)距這部分重點(diǎn)參考代碼,我就不放出來了,大家有興趣可以找到很多,我僅做一個(gè)效果展示:首先根據(jù)參數(shù)確定距離分辨力,然后做一個(gè)對(duì)照組
雷達(dá)發(fā)射信號(hào)參數(shù) |
參數(shù)值 |
目標(biāo)距離 |
10km~15km |
幅值 |
1.0 |
目標(biāo)一 |
10.5km |
信號(hào)波形 |
線性調(diào)頻信號(hào) |
目標(biāo)二 |
11km |
頻帶寬度 |
30 (MHz) |
目標(biāo)三 |
12km |
脈沖寬度 |
10(us) |
目標(biāo)四 |
12km+10m |
中心頻率 |
150(MHz) |
目標(biāo)五 |
14km |
雷達(dá)接收方式 |
正交解調(diào) |
目標(biāo)六 |
14km+3m |
該測(cè)距任務(wù)中,我們分別圍繞5 m的分辨率設(shè)置了10 m和3 m兩個(gè)距離看線性調(diào)頻信號(hào)的分辨效果。此外我們假定雷達(dá)截面積都為1,目標(biāo)靜止,取光速為30×108 m/s,根據(jù)最小10 km,最大15 km后光速的兩段時(shí)間差來設(shè)置返回信號(hào)窗,建立好參數(shù)模型后帶入我們的雷達(dá)仿真系統(tǒng)。
輸出的結(jié)果如圖所示,沒有經(jīng)過脈沖壓縮的回波,目標(biāo)之間波形相互干擾,無(wú)法得到目標(biāo)的準(zhǔn)確位置,而經(jīng)過脈沖壓縮后的信號(hào)在輸出的圖像上大概分為了四個(gè)尖峰,主要是由于第三與第四個(gè)目標(biāo),第五與第六個(gè)目標(biāo)相距太近造成。
?經(jīng)過脈沖壓縮處理后,我們放大目標(biāo)三四,五六:
?通過輸出圖像,可以發(fā)現(xiàn)目標(biāo)回波的誤差非常小。從理論上完成脈沖壓縮在雷達(dá)測(cè)距任務(wù)上的功能,同時(shí)也驗(yàn)證了線性調(diào)頻信號(hào)的分辨率的雷達(dá)方程。
三.Vivado實(shí)現(xiàn)
目前CSDN上主要都是姜文博學(xué)長(zhǎng)的時(shí)域法,大家可以自行搜索學(xué)長(zhǎng)的文章。很少看到用頻域做的,頻域我有師兄做了,我大概看明白了思路,不過還沒自己做出來。我把思路流程發(fā)給大家以供參考:
時(shí)域:
?頻域:
寫的有點(diǎn)累了,就不想過多敘述了,最后就放一下多目標(biāo)測(cè)距的結(jié)果吧:
信號(hào)參數(shù) |
測(cè)距范圍 |
目標(biāo)一 |
目標(biāo)二 |
目標(biāo)三 |
目標(biāo)四 |
RCS |
第一組 |
12-16km |
12.5km |
13.5km |
14.9km |
15km |
1 |
?
?目標(biāo)壓縮后的峰值時(shí)間分別為:7.613109us、14.284313us、23.615411us、24.265453us。減去補(bǔ)償后除去一半再乘以光速,再加上最初的距離分別得到:12499.97m、13500.64m、14900.31m、14997.82m。最大誤差2.18m,最小誤差0.03m。
后面有機(jī)會(huì)再補(bǔ)充...文章來源:http://www.zghlxwxcb.cn/news/detail-804170.html
?
到了這里,關(guān)于基于FPGA的脈沖壓縮設(shè)計(jì)(Matlab+vivado)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!