MATLAB數字訊號處理(2)LFM脈衝雷達回波處理模擬

FPGADesigner發表於2019-03-13

將上學期的“氣象雷達原理與系統”課程報告放到blog上。


摘要

線性調頻(LFM)訊號是應用廣泛的一種波形,主要優點是脈衝壓縮的形狀和訊雜比對多普勒頻移不敏感,即在目標速度未知的情況下,用匹配濾波器仍可以實現回波訊號的脈衝壓縮,這將大大有利於雷達對目標的探測和訊號處理效率的提高。本設計實現了對線性調頻(LFM)脈衝壓縮雷達的工作原理模擬,在MATLAB 平臺中模擬一個疊加的線性調頻回波訊號,對該訊號分別進行取樣解調、濾波抽取、脈衝壓縮,提取出其中包含的測量物體的距離資訊,實驗效果良好。


Abstract

The linear frequency modulation (LFM) signal is a widely used waveform. The main advantage is that the shape and signal-to-noise ratio of pulse compression are not sensitive to Doppler shift. That is, if the target speed is unknown, the matched filter is still used. Pulse compression of the echo signal can be achieved, which will greatly benefit the radar’s detection of the target and the improvement of signal processing efficiency. This design realizes the simulation of the working principle of linear frequency modulation (LFM) pulse compression radar. In the MATLAB platform, a superimposed chirp echo signal is simulated, and the signal is sampled, demodulated, filtered and compressed, and the distance information of the measured object is extracted. The experimental results are good.


1、引言

1.1 作用距離和距離分辨力

作用距離和距離分辨力是雷達最重要的兩個技術指標。作用距離取決於發射訊號的能量,發射訊號的能量又與發射脈衝的功率和發射時間(即脈衝寬度)成正比。前者受發射管峰值功率和傳輸線功率損耗等的限制,成本高且調節範圍有限。因此,在發射機峰值功率受限的情況下,只能通過增加脈衝寬度的方法來增加訊號能量以增大雷達的作用距離。

雷達的距離分辨力取決於發射訊號頻寬,頻寬越大,距離分辨力越好。傳統脈衝雷達發射的是單頻訊號,脈衝寬度越窄,訊號頻寬就越寬,距離解析度就越好。然而發射窄脈衝必然導致平均功率下降,進而減小雷達的作用距離。因此,傳統的脈衝雷達中,增大作用距離和提高雷達的分辨力之間存在矛盾。

為了兼顧雷達的作用距離和距離分辨力,發射訊號應同時具備大時寬和大頻寬的特點,為此,研究人員利用複雜波形來替代傳統的單頻脈衝訊號。在發射端調製訊號的頻率或相位以增大訊號的頻寬,併發射大時寬的訊號以保證作用距離。在接收端通過匹配濾波器,將接收到的寬脈衝訊號進行脈衝壓縮得到窄脈衝訊號,提高距離解析度,從而兼顧了作用距離和距離分辨力。這是雷達隱蔽、抗干擾、區分多目標的重要手段。研究最早且應用最廣泛的複雜波形便是線性調頻訊號。

1.2 線性調頻訊號

雷達波形設計中,採用線性調頻訊號的優勢在於訊號產生方便,同時當目標回波存在多普勒頻移時脈壓結果變化較小,缺點是經過脈壓處理後副瓣較高,固定為13.6dB,雖然可以通過加窗的方法對其進行抑制,但同時對訊號的其他特性也會帶來損失,另外在時寬頻寬積小於20時,主瓣副瓣比會變小,導致效能惡化。

線性調頻訊號的產生方法在早期雷達中使用的是通過全通移相網路、壓控振盪器或色散延遲線的方法,後來採用聲表面波器件通過模擬手段形成。而新一代雷達一般則使用DDS技術直接合成。脈衝壓縮處理方法在現代雷達中一般採用數字方式進行。有兩類方式,一類是在頻域上進行處理,將零中頻回波訊號進行快速傅立葉變換然後與發射訊號的頻譜相乘,然後再進行逆傅立葉變換得出結果;另一類是時域處理法,將零中頻訊號與回波訊號進行卷積直接得出結果。

早期,由於FPGA硬體水平較低,無法進行大量的乘法並行運算,所以主要使用DSP以第一類方法為主。目前隨著FPGA的設計製造工藝水平逐步提高,使用FPGA來實現各種雷達訊號處理演算法乃至整個雷達訊號處理系統成為了一種數字訊號處理的發展趨勢。
本文設計實現了對線性調頻(LFM)脈衝壓縮雷達的工作原理模擬,在MATLAB 平臺中模擬一個疊加的線性調頻回波訊號,對該訊號分別進行取樣解調、濾波抽取、脈衝壓縮,提取出其中包含的測量物體的距離資訊。


2、原理分析

2.1 LFM 脈衝雷達原理分析

雷達是利用無線電波來檢測目標並測定目標的有無、目標斜距、目標角位置、目標相對速度等的裝置。雷達發射機的任務是產生符合要求的雷達波形,然後經饋線和收發開關由發射天線輻射出去,遇到目標後,電磁波一部分反射,經接收天線和收發開關由接收機接收,對雷達回波訊號做適當的處理就可以獲知目標的相關資訊。

假設目標與雷達的相對距離為 R,雷達發射訊號s(t) ,傳播速度為光速C ,則經過時間R/C後電磁波到達目標,照射到目標上的電磁波可寫成:s(t-R/C)。電磁波與目標相互作用,一部分電磁波被目標散射,被反射的電磁波為σ·s(t-R/C),其中σ為目標的雷達散射截面(RCS)。再經過時間R/C後,被雷達接收天線接收的訊號為σ·s(t-2 R/C)。
在這裡插入圖片描述

圖 2.1 雷達等效於 LTI 系統

如果將雷達天線和目標看作一個系統,便得到如圖 2.1 的等效,而且這是一個 LTI(線性時不變)系統。

等效 LTI 系統的衝激響應可寫成:

█(h(t)=∑_(i=1)^M▒σ_i  δ(t-τ_i )#(2.1) )
M 表示目標的個數,σ_i是目標散射特性,τ_i是光速在雷達與目標之間往返一次的時間:
在這裡插入圖片描述
式中, Ri 為第 i 個目標與雷達的相對距離。雷達發射訊號 s(t) 經過該 LTI 系統,得輸出訊號(即雷達的回波訊號)sr (t) :
在這裡插入圖片描述
從雷達回波訊號sr (t)提取出表徵目標特性的τ_i(表徵相對距離)的常用方法如圖2.2所示。
在這裡插入圖片描述

圖 2.2 雷達回波訊號處理

以上便是線性調頻(LFM)脈衝壓縮雷達的工作原理。

2.2數字下變頻原理分析

本設計中可以選用降低取樣率來實現數字下變頻的目的,原理如圖2.3所示。
在這裡插入圖片描述

圖 2.3 降低取樣率實現數字下變頻

如果原訊號取樣率為f,則經過n點重取樣處理後,取樣頻率變為f/n。

2.3脈衝壓縮原理分析

脈衝壓縮相當於讓 sr(t) 通過雷達發射訊號s(t)的匹配濾波器。s(t)的匹配濾波器hr (t)為:
在這裡插入圖片描述
於是進行濾波處理有:
在這裡插入圖片描述
對上式進行傅立葉變換:
在這裡插入圖片描述
如果選取合適的s(t),使它的幅頻特性|S(jω)|為常數,那麼2.6式可寫為:
在這裡插入圖片描述
其傅立葉反變換為:
在這裡插入圖片描述
so (t)中包含目標的特徵資訊τi和σi。從so(t)中可以得到目標的個數M和每個目標相對雷達的距離:
在這裡插入圖片描述
實現脈衝壓縮的方式有兩種,一種是直接在時域卷積(濾波)法,另一種是在頻域中進行處理,如圖 2.4 所示。
在這裡插入圖片描述

圖 2.4 頻域脈衝壓縮處理

3、詳細設計

3.1 線性調頻訊號回波產生模組

表3.1 關鍵系統引數
引數 含義
f 調頻訊號基礎頻率 10MHz
fs 取樣頻率 100MHz
ts 取樣週期 1/fs
B 調頻範圍 10MHz
T 脈衝寬度 10μs
c 訊號傳播速度 3×108m/s
PRT 脈衝週期 500μs

本系統中使用到的關鍵系統引數如表3.1所示。基於上述引數,本系統中使用的線性調頻訊號為:
在這裡插入圖片描述
本系統假設該線性調頻訊號檢測到三個目標,距離分別為 10km,30km和31km。本模組使用到的主要訊號如表3.2所示。

表 3.2 回波訊號生成模組訊號
訊號 含義
y 基礎線性調頻訊號
y1 10km 處的回波訊號
y2 30km 處的回波訊號
y3 31km 處的回波訊號
xt 疊加後的回波訊號

線性調頻訊號回波產生模組的程式設計流程圖如圖3.1所示。
在這裡插入圖片描述

圖3.1 LFM訊號回波產生模組程式流程圖

程式設計時先計算出三個距離所對應的傳播時間,然後根據時間計算出其對應的序列長度,建立三個子訊號分別作為三個距離上的回波訊號。之後再設計一個 10μs 的 LFM 訊號。每一個回波訊號由傳播時間、10μs的LFM訊號、補零三部分組成,總時長為 PRT。最後將三個回波訊號疊加起來。

3.2 回波訊號取樣解調模組

該模組使用一個基礎頻率的訊號進行解調:
在這裡插入圖片描述
本模組使用到的主要訊號如表3.3所示。

表3.3 回波訊號取樣解調模組訊號
訊號 含義
xt LFM 疊加的回波訊號
yf 相干載波訊號
xrt 解調後的訊號

相干解調的過程只需要讓 xt 和 yf 相乘即可,相乘結果即為解調出來的雷達訊號。

3.3 濾波抽取模組

解調後的訊號xrt中包含有兩訊號相乘的和頻訊號和差頻訊號,本模組濾除掉和頻訊號分量,之後對濾波後的訊號重取樣,以降低取樣率達到數字下變頻的目的。本模組使用到的主要訊號如表 3.4 所示。

表3.4 濾波抽取模組訊號
訊號 含義
xrt 解調後的訊號
firxrt 濾波後的訊號
xrtdown 數字下變頻處理後的訊號

濾波抽取模組的程式設計流程圖如圖3.2所示。
在這裡插入圖片描述

圖 3.2 濾波抽取模組程式流程圖

由於回波訊號為10-20MHz,與10MHz的相干訊號相乘,結果頻譜應該包含 0-10MHz和20-30MHz兩個頻段,因此使用fdatool設計一個低通濾波器濾除掉20~30MHz的訊號。濾波器通帶頻率15MHz,阻帶頻率18MHz,通帶衰減1dB,阻帶衰減1dB,將係數匯出到工作空間供濾波處理呼叫。

對濾波後的訊號使用downsample函式進行4位的抽取,則抽取後的訊號取樣頻率變為100Mhz/4=25MHz。

3.4 脈衝壓縮模組

表3.5 脈衝壓縮模組訊號
訊號 含義
xrtdown 數字下變頻處理後的訊號
hdt 匹配濾波訊號
out 脈衝壓縮處理後的訊號

脈衝壓縮模組讓下變頻後的回波訊號通過發射訊號的匹配濾波器,提取出每個目標回波的距離資訊。脈衝壓縮有時域法和頻域法兩種。本模組使用到的主要訊號如表3.5所示。匹配濾波訊號hdt如公式3.3所示。
在這裡插入圖片描述
匹配濾波訊號中的f0為0Hz。時域法進行脈衝壓縮使用hdt與xrtdown直接進行卷積即可。頻域法進行脈衝壓縮按照圖2.4中的原理框圖處理。


4、模擬分析

4.1 回波產生模組模擬分析

繪製出雷達回波訊號的時域圖與頻域圖,結果如圖4.1所示。
在這裡插入圖片描述

圖 4.1 雷達回波訊號時域與頻域

時域中可以看到在10km、30km、31km處看到三個脈衝波形,其中在30km和 31km的交界處發生了訊號疊加。頻域中訊號的頻率範圍在10MHz至20MHz間線性分佈,符合預期設定。

4.2 取樣解調模組模擬分析

在這裡插入圖片描述

圖 4.2 解調後訊號時域圖和頻域圖

繪製出解調,即相乘後的訊號時域和頻域圖,如圖4.2所示。時域中可以仍然保留了10km、30km、31km處的三個脈衝波形資訊。由於回波訊號為10~20MHz,與10MHz的相干訊號相乘,結果頻譜應該包含0-10MHz和20-30MHz兩個頻段,因此該模組設計符合預期設定。

4.3 濾波抽取模組模擬分析

繪製對解調訊號濾波後的訊號頻域如圖4.3所示。
在這裡插入圖片描述

圖 4.3 解調訊號濾波後頻域圖

經過低通濾波後,解調訊號中的 20~30MHz 頻段被濾除,只留下 0~10MHz頻段訊號。對該訊號抽取後繪製頻域如圖4.4所示。
在這裡插入圖片描述

圖4.4 抽取後訊號頻域圖

抽取後訊號仍保留了0~10MHz的訊號資訊,但取樣頻率由100MHz降至25MHz,圖4.3中最大頻率為100MHz/2=50MHz,圖4.4中最大頻率為25MHz/2=12.5MHz,表明該模組設計符合預期設定。

4.4 脈衝壓縮模組模擬分析

脈衝壓縮處理後繪製訊號的時域圖如圖4.5所示。
在這裡插入圖片描述

圖 4.5 脈衝壓縮後訊號時域圖

原來每個距離的回波訊號脈寬為10μs,經過脈衝壓縮後,每個脈衝變為10μs/100=0.1μs。從圖4.5中可以清楚的看到在10km、30km、31km處各有一個很窄的脈衝。脈衝壓縮處理的能力也決定了雷達訊號處理系統的距離分辨力大小, 壓縮後脈衝越窄,距離分辨力越大。


5、結束語

本設計實現了對線性調頻( LFM)脈衝壓縮雷達的工作原理模擬,在MATLAB 平臺中模擬一個疊加的線性調頻回波訊號,對該訊號分別進行取樣解調、濾波抽取、脈衝壓縮,提取出其中包含的測量物體的距離資訊,實驗效果良好。

脈衝壓縮的原理就是使用一個發射訊號與接收回波進行相關,可以將較寬的回波訊號“壓縮”成很窄的訊號。壓縮後的脈衝寬度決定了可以分辨的最小距離。例如兩個目標的回波訊號重疊在一起,在回波訊號中無法直接分辨出兩個目標的位置,未進行脈衝壓縮的雷達距離分辨力 ΔR=(cτ)/2=c/(2B)。這種體制的雷達要提高距離解析度必須減小脈衝寬度,脈寬減少會降低平均發射功率,使用線性調頻訊號進行脈衝壓縮可以實現提高距離解析度而保持平均發射功率。脈衝壓縮後的距離分辨力 ΔR=(cτ’)/2<<(cτ)/2。


MATLAB程式碼如下(fir.mat放不上來,按照文中引數使用FDATOOL工具設計匯出即可):

% written by 劉奇

clc;
clear;
close all;

f = 10000000;         %10MHz
fs = 100e6;
ts = 1 / fs;
B = 10^7;
T = 10^(-5);
u = B / T;
c = 3e8;
PRT = 500e-6;


r1 = 10000;   tao1 = 2*r1/c;  n1 = round(tao1 / ts);
r2 = 30000;  tao2 = 2*r2/c;  n2 = round(tao2 / ts);
r3 = 31000;  tao3 = 2*r3/c;  n3 = round(tao3 / ts);
NN = PRT / ts;

t1 = 0 : ts : T-ts;
y = sin(2*pi*(f*t1+0.5*u*t1.^2));
N = length(y);


y1 = [zeros(1, n1), y, zeros(1, NN-n1-N)];
y2 = [zeros(1, n2), y, zeros(1, NN-n2-N)];
y3 = [zeros(1, n3), y, zeros(1, NN-n3-N)];
xt = y1+y2+y3;
figure;
subplot(2, 1, 1);
plot((0:length(xt)-1)*ts*c/2/1000, xt);
xlabel('距離/km');
xtfft = abs(fft(xt, 50000));
subplot(2, 1, 2);
fx=(0:length(xt)/2-1)*fs/length(xt);
plot(fx/1e6, xtfft(1:length(xt)/2));
xlabel('頻率/MHz');

% 對回波訊號取樣
fs1 = 100e6;
ts1 = 1/fs1;
t2 = 0 : ts1 : (length(xt)-1)*ts1;
xrt = xt .* sin(2*pi*f*t2);

fx1=(0:length(xt)/2-1)*fs1/length(xt);
figure;
subplot(2, 1, 1);
plot((0:length(xt)-1)*ts*c/2/1000, xrt);
xlabel('距離/km');
xrtfft = abs(fft(xrt, 50000));
subplot(2, 1, 2);
fx1=(0:length(xrt)/2-1)*fs1/length(xrt);
plot(fx1/1e6, xrtfft(1:length(xrt)/2));
xlabel('頻率/MHz');

load fir.mat
firxrt = filter(Num, 1,  xrt);
firfft = abs(fft(firxrt, 50000));
figure;
plot(fx1/1e6, firfft(1:length(firxrt)/2));
xlabel('頻率/MHz');
xrtdown = downsample(firxrt, 4);
 value0=abs(fft(xrtdown));%FFT分析
figure;
fx1=(0:length(xrtdown)/2-1)*(fs1/4)/length(xrtdown);
%plot((fx1(1:length(value0)))/1e6, value0);
plot( fx1/1e6, value0(1:length(fx1)));
xlabel('頻率/MHz');

T = 10^(-5);
u = B / T;
c = 3e8;
fs = 25e6;
ts = 1 / fs;
t1 = 0 : ts : T-ts;
hdt = sin(2*pi*(0*t1+0.5*u*t1.^2));
figure;
plot(hdt);

replica = xrtdown;
y = fliplr(hdt);
% out = conv(replica, y);
replica1= [replica,zeros(1,16384-length(replica))];
y1 = [hdt,zeros(1,16384-length(hdt))];

rfft = fft(replica1);
yfft = fft(y1);
out = abs(ifft((rfft.*conj(yfft))));
figure;
t = (0:length(xrtdown)-1)*ts*c/2/1000;
plot(t, out(1:length(t)));
xlabel('距離/km');

相關文章