線性調頻信號 與 脈衝壓縮技術的多種實現方法(附MATLAB實現)

線性調頻與脈衝壓縮

1 線性調頻信號

1.1 線性調頻信號(時域)

1.1.1 線性調頻信號模型

線性調頻信號(Chirp, LFM) 是指瞬時頻率隨時間線性變化的信號。
(1)時域表達式
s(t)=rect(tT)exp(jπKt2) s\left( t \right) = rect\left( {\frac{t}{T}} \right)\exp \left( {j\pi K{t^2}} \right)
其中,T 爲時寬,K 爲調頻率,rect() 爲矩形窗函數。
(2)相位
φ(t)=πKt2 \varphi \left( t \right) = \pi K{t^2}
(3)瞬時頻率
f(t)=12πdφ(t)dt=12πd(πKt2)dt=Kt f\left( t \right) = \frac{1}{{2\pi }}\frac{{d\varphi \left( t \right)}}{{dt}} = \frac{1}{{2\pi }}\frac{{d\left( {\pi K{t^2}} \right)}}{{dt}} = Kt
(4)信號帶寬
BW=KT BW = \left| K \right|T
(5)時間帶寬積
TBP=KT2 TBP = \left| K \right|{T^2}

1.1.2 線性調頻信號時域仿真

(1)信號參數
① 時寬 Tr = 1 us
② 帶寬 Br = 100 MHz
③ 採樣率 Fs = 4 * Br

(2)仿真結果

信號實部 信號虛部 信號頻率 信號相位
在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述

1.2 線性調頻信號(頻域)

1.2.1 駐定相位原理(POSP)

(1)基本原理
  信號在相位駐留點鄰域附近是緩變的,而在其他時間點_上是迅變的,相位迅變處由於相位週期的正負部分相互抵消,故其對積分的貢獻幾乎爲零,對積分起主要作用的部分集中在相位駐留點附近
  因此,駐定相位原理適用於相位包含二次及高次項,且包絡緩變的信號頻譜求解;’

  對於包絡 w(t)w\left( t \right) 緩變,且相位 ϕ(t){\phi \left( t \right)} 包含高次項的信號
g(t)=w(t)exp{jϕ(t)} g\left( t \right) = w\left( t \right) \cdot \exp \left\{ {j \cdot \phi \left( t \right)} \right\}
根據POSP求解其頻譜爲:
G(f)=+w(t)exp{jϕ(t)}exp(j2πft)dt=+w(t)exp{j[ϕ(t)2πft]}dt=+w(t)exp{jθ(t)}dtPOSPw[t(f)]exp{jθ[t(f)]} \begin{aligned} G\left( f \right) &= \int_{ - \infty }^{ + \infty } {w\left( t \right) \cdot \exp \left\{ {j \cdot \phi \left( t \right)} \right\}} \cdot \exp \left( { - j2\pi ft} \right)dt \\ &= \int_{ - \infty }^{ + \infty } {w\left( t \right) \cdot \exp \left\{ {j \cdot \left[ {\phi \left( t \right) - 2\pi ft} \right]} \right\}} dt \\ &= \int_{ - \infty }^{ + \infty } {w\left( t \right) \cdot \exp \left\{ {j \cdot \theta \left( t \right)} \right\}} dt \\ &\mathop \approx \limits^{POSP} w\left[ {t\left( f \right)} \right] \cdot \exp \left\{ {j \cdot \theta \left[ {t\left( f \right)} \right]} \right\} \end{aligned}

(2)POSP求解步驟
① 待求解信號
g(t)=w(t)exp{jϕ(t)} g\left( t \right) = w\left( t \right) \cdot \exp \left\{ {j \cdot \phi \left( t \right)} \right\}
其中,包絡 w(t)w\left( t \right) 緩變,且相位 ϕ(t){\phi \left( t \right)} 包含高次項。
② 相位函數
θ(t)=ϕ(t)2πft \theta \left( t \right) = \phi \left( t \right) - 2\pi ft
其中,t 爲自變量,f 爲參數。
③ 求解駐留點
令:
ddtθ(t)=ddt[ϕ(t)2πft]=0 \frac{d}{{dt}}\theta \left( t \right) = \frac{d}{{dt}}\left[ {\phi \left( t \right) - 2\pi ft} \right] = 0
求解方程得到駐留點 t(f)t\left( f \right)
④ 將駐留點代入頻譜得解
G(f)POSP2πϕ[t(f)]w[t(f)]exp{j[θ(t(f))+π4]}w[t(f)]exp{jθ[t(f)]} G\left( f \right)\mathop \approx \limits^{POSP} \sqrt {\frac{{2\pi }}{{\left| {\phi ''\left[ {t\left( f \right)} \right]} \right|}}} \cdot w\left[ {t\left( f \right)} \right] \cdot \exp \left\{ {j\left[ {\theta \left( {t\left( f \right)} \right) + \frac{\pi }{4}} \right]} \right\} \approx w\left[ {t\left( f \right)} \right]\cdot\exp \left\{ {j\cdot\theta \left[ {t\left( f \right)} \right]} \right\}

1.2.2 線性調頻信號頻譜

直接對線性調頻信號求傅里葉變換:
S(f)=+rect(tT)exp(jπKt2)exp(j2πft)dt S\left( f \right) = \int_{ - \infty }^{ + \infty } {rect\left( {\frac{t}{T}} \right)\exp \left( {j\pi K{t^2}} \right)\exp \left( { - j2\pi ft} \right)dt}
積分內存在指數上方的二次項積分,無法直接求解。故採用駐點相位定理求解如下:
令相位函數:
θ(t)=πKt22πft \theta \left( t \right) = \pi K{t^2} - 2\pi ft
求導等於0:
ddtθ(t)=ddt(πKt22πft)=2πKt2πf=0 \frac{d}{{dt}}\theta \left( t \right) = \frac{d}{{dt}}\left( {\pi K{t^2} - 2\pi ft} \right) = 2\pi Kt - 2\pi f = 0
得駐定相位點爲:
t(f)=fK t\left( f \right) = \frac{f}{K}
因此:
w[t(f)]=rect(t(f)T)=rect(fKT) w\left[ {t\left( f \right)} \right] = rect\left( {\frac{{t\left( f \right)}}{T}} \right) = rect\left( {\frac{f}{{KT}}} \right)
θ[t(f)]=πKt2(f)2πft(f)=πK(fK)22πf(fK)=πf2K \theta \left[ {t\left( f \right)} \right] = \pi K{t^2}\left( f \right) - 2\pi ft\left( f \right) = \pi K{\left( {\frac{f}{K}} \right)^2} - 2\pi f\left( {\frac{f}{K}} \right) = - \pi \frac{{{f^2}}}{K}
從而得到線性調頻信號頻譜爲:
S(f)=w[t(f)]exp{jθ[t(f)]}=rect(fKT)exp{jπf2K} S\left( f \right) = w\left[ {t\left( f \right)} \right] \cdot \exp \left\{ {j \cdot \theta \left[ {t\left( f \right)} \right]} \right\} = rect\left( {\frac{f}{{KT}}} \right) \cdot \exp \left\{ { - j\pi \frac{{{f^2}}}{K}} \right\}

且TBP越大,POSP越準確(因爲TBP越大,實際頻譜越接近矩形窗)。

1.2.3 線性調頻信號頻譜仿真

幅度譜 相位譜
在這裏插入圖片描述 在這裏插入圖片描述

2 脈衝壓縮

2.1 匹配濾波器

  匹配濾波器是線性系統最大信噪比濾波器。信號和噪聲疊加在一起,匹配濾波使信號成分在某一瞬時出現峯值,而噪聲成分受到抑制,即使輸出的信噪比最大。

2.1.1 匹配濾波器推導

設 t=tm 時刻輸出信噪比最大,信噪比表示爲:
ρ=so2(tm)no2(tm)\rho = \frac{{s_o^2\left( {{t_m}} \right)}}{{n_o^2\left( {{t_m}} \right)}}
利用頻域表達式可得輸出信號爲:
so(t)=F1{S(jω)H(jω)}=12π+S(jω)H(jω)exp(jωt)dω{s_o}\left( t \right) = {\mathscr{F}^{ - 1}}\left\{ {S\left( {j\omega } \right)H\left( {j\omega } \right)} \right\} = \frac{1}{{2\pi }}\int_{ - \infty }^{ + \infty } {S\left( {j\omega } \right)H\left( {j\omega } \right)\exp \left( {j\omega t} \right)d\omega }
白噪聲平均功率爲:
no2(t)=12π+NH(jω)2dω\overline {n_o^2\left( t \right)} = \frac{1}{{2\pi }}\int_{ - \infty }^{ + \infty } {N \cdot {{\left| {H\left( {j\omega } \right)} \right|}^2}d\omega }
則信噪比可表示爲:
ρ=so2(tm)no2(tm)=+S(jω)H(jω)exp(jωtm)dω22πN+H(jω)2dω\rho = \frac{{s_o^2\left( {{t_m}} \right)}}{{\overline {n_o^2\left( {{t_m}} \right)} }} = \frac{{{{\left| {\int_{ - \infty }^{ + \infty } {S\left( {j\omega } \right)H\left( {j\omega } \right)\exp \left( {j\omega {t_m}} \right)d\omega } } \right|}^2}}}{{2\pi N \cdot \int_{ - \infty }^{ + \infty } {{{\left| {H\left( {j\omega } \right)} \right|}^2}d\omega } }}
根據柯西不等式:
+H(jω)S(jω)exp(jωtm)dω2+H(jω)2dω+S(jω)exp(jωtm)2dω{\left| {\int_{ - \infty }^{ + \infty } {H\left( {j\omega } \right)S\left( {j\omega } \right)\exp \left( {j\omega {t_m}} \right)d\omega } } \right|^2} \leqslant \int_{ - \infty }^{ + \infty } {{{\left| {H\left( {j\omega } \right)} \right|}^2}d\omega } \cdot \int_{ - \infty }^{ + \infty } {{{\left| {S\left( {j\omega } \right)\exp \left( {j\omega {t_m}} \right)} \right|}^2}d\omega }
當且僅當
H(jω)=k[S(jω)exp(jωtm)]H\left( {j\omega } \right) = k{\left[ {S\left( {j\omega } \right)\exp \left( {j\omega {t_m}} \right)} \right]^ * }
時,等號成立,即信噪比取得最大值。

最終,得到匹配濾波器爲
H(jω)=kS(jω)exp(jωtm)H\left( {j\omega } \right) = k \cdot S\left( { - j\omega } \right) \cdot \exp \left( { - j\omega {t_m}} \right)
兩端同取傅里葉逆變換,並根據傅里葉變換的頻移性質可得:
h(t)=ks(tmt)h\left( t \right) = k \cdot \overline {s\left( {{t_m} - t} \right)}
一般地,取k=1,tm=0k=1,t_m=0
h(t)=s(t)h\left( t \right) = \overline {s\left( { - t} \right)}

2.1.2 匹配濾波器理解

匹配濾波器系統輸出爲:
so(t)=s(t)h(t)=+s(τ)h(tτ)dτ{s_o}\left( t \right) = s\left( t \right) * h\left( t \right) = \int_{ - \infty }^{ + \infty } {s\left( \tau \right)h\left( {t - \tau } \right)d\tau }
由於 h(t)=s(t)h\left( t \right) = \overline {s\left( { - t} \right)},因此輸出也可寫作
so(t)=+s(τ)s(τt)dτ{s_o}\left( t \right) = \int_{ - \infty }^{ + \infty } {s\left( \tau \right)\overline {s\left( {\tau - t} \right)} d\tau }

可見,匹配濾波的過程可看作接收信號sr系統衝激響應ht卷積

so = conv( sr , ht) = conv( sr , conj(fliplr( si )) );

也可看作發射信號si接收信號sr相關

so = xcorr( sr , si );

2.2 線性調頻信號脈衝壓縮的匹配濾波實現

對於線性調頻信號,時域爲:
s(t)=rect(tT)exp(jπKt2)s\left( t \right) = rect\left( {\frac{t}{T}} \right)\exp \left( {j\pi K{t^2}} \right)
頻譜爲:
S(f)=rect(fKT)exp{jπf2K}S\left( f \right) = rect\left( {\frac{f}{{KT}}} \right)\cdot\exp \left\{ { - j\pi \frac{{{f^2}}}{K}} \right\}

2.2.1 時域匹配濾波

根據 h(t)=s(t)h\left( t \right) = \overline {s\left( { - t} \right)} 可構造時域匹配濾波器爲發射信號時間反褶再取共軛。再與發射信號進行線性卷積即可實現脈衝壓縮:
so(t)=s(t)s(t){s_o}\left( t \right) = s\left( t \right) * \overline {s\left( { - t} \right)}

2.2.2 頻域匹配濾波

2.2.2.1 方法一

(1)原理

發射信號時間反褶後取共軛補零後計算FFT;再與信號補零後的FFT在頻域相乘,最後IFFT。
so(t)=IFFT{FFT[s(t),N]FFT[s(t),N]}{s_o}\left( t \right) = \mathscr{ IFFT}\left\{ {\mathscr{FFT}\left[ {\overline {s\left( { - t} \right)} ,N} \right] \cdot \mathscr{FFT}\left[ {s\left( t \right),N} \right]} \right\}

(2)說明

  • 爲什麼需要補零?
    因爲匹配濾波需要計算線性卷積,但 (DFT) FFT 計算的是循環卷積,所以需要對信號進行補零直到長度超過線性卷積的長度。對於點數分別爲N1與N2的兩信號,它們線性卷積的長度爲 N1+N2-1;若循環卷積長度爲N,則有如下關係:
    ① N < N1 + N2 - 1 時,循環卷積是線性卷積長度爲 N 的混疊
    ② N = N1 + N2 - 1 時,循環卷積 = 線性卷積
    ③ N > N1 + N2 - 1 時,循環卷積 = 線性卷積末尾補 N-(N1+N2-1) 個 0 (棄置區

  • 棄置區位置
    由於發射是反褶後再補零,故最終得到IFFT結果後,棄置區位於信號前端

(3)仿真

2.2.2.2 方法二

(1)原理

發射脈衝補零後進行FFT再取共軛(無需反褶),與信號補零FFT在頻域相乘,最後IFFT。
so(t)=IFFT{FFT[s(t),N]FFT[s(t),N]}{s_o}\left( t \right) = \mathscr{IFFT}\left\{ {\overline {\mathscr{FFT}\left[ {s\left( t \right),N} \right]} \cdot \mathscr{FFT}\left[ {s\left( t \right),N} \right]} \right\}

(2)說明

  • 方法二與方法一的關係:
    根據傅里葉變換的性質,時域共軛+反褶 ↔ 頻域共軛(方法一);因此,也可先變換到頻域再取共軛(方法二)。但由於它們補零時存在是否反褶的差別,故最終結果的棄置區也存在反褶。

  • 棄置區位置
    由於發射是直接在末尾補零,故最終得到IFFT結果後,棄置區位於信號末端

(3)仿真

2.2.2.3 方法三

(1)原理

直接在頻域生成匹配濾波器
H(f)=rect{fKT}exp{jπf2K}H\left( f \right) = rect\left\{ {\frac{f}{{\left| K \right|T}}} \right\}\exp \left\{ {j\pi \frac{{{f^2}}}{K}} \right\}
與信號FFT在頻域相乘,最後IFFT。
so(t)=IFFT{FFT[s(t)]H(f)}{s_o}\left( t \right) = \mathscr{IFFT}\left\{ {\mathscr{FFT}\left[ {s\left( t \right)} \right] \cdot H\left( f \right)} \right\}

(2)仿真

2.3 加窗處理

2.3.1 性能指標

(1)衝激響應寬度(IRW),衝激響應的 3dB 寬度。
(2)峯值旁瓣比(PSLR),最大旁瓣與峯值的高度比。
(3)積分旁瓣比(ISLR),旁瓣能量與主瓣能量的比值。

2.3.2 各類窗效果對比

2.3.3 脈衝壓縮加窗

窗名 頻譜加窗 脈壓結果
矩形窗 在這裏插入圖片描述 在這裏插入圖片描述
三角窗 在這裏插入圖片描述 在這裏插入圖片描述
漢寧窗 在這裏插入圖片描述 在這裏插入圖片描述
漢明窗 在這裏插入圖片描述 在這裏插入圖片描述
布萊克曼窗 在這裏插入圖片描述 在這裏插入圖片描述

3 脈衝壓縮測距仿真

3.1 實現流程

  • 參數設置
    信號時寬 T = 6 us 信號帶寬 B = 400 MHz 目標距離 R = [ 995, 1000, 1001, 1005 ] m 後向散射 σ = [ 1, 1.5 , 2.25, 3.375]
  • 系統參數導出
    採樣率 Fs = 5 * B 調頻率 K = B / T 採樣點數 N = round( T * Fs )
  • 目標參數導出
    目標個數 M = length( R ) 中心距離 R0 = mean( R ) 最大探測距離範圍 Rwid = T * c / 2 最遠探測距離 Rmax = floor( R0 + Rwid / 2 ) 最近探測距離 Rmax = floor( R0 - Rwid / 2 )
  • 回波參數
    發射時間序列 t = linspace( 2 * Rmin / c , 2 * Rmax / c , N ) 回波時間序列 td = t - 2 * R / c
  • 回波信號
    sr(t)=σrect(tdT)exp(jπKtd2){s_r}\left( t \right) = \sigma \cdot rect\left( {\frac{{{t_d}}}{T}} \right) \cdot \exp \left( {j\pi K \cdot t_d^2} \right)
  • 脈衝壓縮
    方式2
    so(t)=IFFT{FFT[st(t),Nfft]FFT[sr(t),Nfft]}{s_o}\left( t \right) = \mathscr{IFFT}\left\{ {\overline {\mathscr{FFT}\left[ {s_t\left( t \right),N_{fft}} \right]} \cdot \mathscr{FFT}\left[ {s_r\left( t \right),N_{fft}} \right]} \right\}
  • 棄置區處理
    脈壓信號起始點 N0 = ( Nfft - N ) / 2 脈壓信號截取 so = so( N0 , N0 + N -1 )
  • 繪圖

3.2 仿真結果

回波信號 脈壓測距結果 脈壓測距結果(局部放大)/dB
在這裏插入圖片描述 在這裏插入圖片描述 在這裏插入圖片描述

附錄:MATLAB程序

全部完整程序

部分測試程序

  • 線性調頻與脈衝壓縮
%% 線性調頻與脈衝壓縮
clear,clc,close all
set(0,'defaultfigurecolor','w')
%% Chirp信號參數設置
Tr = 1e-6;%時寬
Br = 200e6;%帶寬
Fs = 4*Br;%採樣率
%% Chirp信號參數導出
Kr = Br/Tr;%調頻率
N =  round( Tr / (1/Fs) );%採樣點數
t = linspace( -Tr/2 , Tr/2 , N);%在[-Tp/2,Tp/2]選取採樣點
%% Chirp信號生成
st = ( abs(t) < Tr/2 ) .* exp( 1j * pi * Kr * t.^2 ); 
f_chirp= Kr * t; %信號頻率
phase_chirp = pi * Kr * t.^2;%信號相位
%% 頻譜
freq = linspace(-Fs/2,Fs/2,N);%頻域採樣
Sf = fftshift( fft(st) );
%% 時域匹配濾波
ht = conj( fliplr(st) ); %時域匹配濾波爲發射信號時間反褶再取共軛
s1 = conv(st,ht); %線性調頻信號經過匹配濾波器後的輸出(時域卷積)
N1 = N+N-1 ;%線性卷積後信號長度變爲 N1+N2-1
t1 = linspace( -Tr/2 , Tr/2 , N1);
%% 頻域匹配濾波1 (複製發射脈衝進行時間反褶並取共軛,計算補零DFT)
N2 = 2*N; %循環卷積長度 (N2應當>=N+N-1,其中棄置區位於長度大於N+N-1的部分)
t2 = linspace( -Tr/2 , Tr/2 , N2);
Hf2 = fft(ht,N2); %頻域匹配濾波器
Sf2 = fft(st,N2);%頻域信號
S2 = Sf2 .* Hf2;%頻域乘積
s2 = ifft(S2);
%% 繪圖
% 時域
figure,plot( t*1e6, real(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信號實部');
figure,plot( t*1e6, imag(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信號虛部');
figure,plot( t*1e6, f_chirp/1e6 ),xlabel('t /us'),ylabel('頻率 /MHz'),title('Chirp信號頻率');
figure,plot( t*1e6, phase_chirp ),xlabel('t /us'),ylabel('相位 /rad'),title('Chirp信號相位');
% 頻域
figure,plot( freq/1e6,abs(Sf) ),xlabel('f /MHz'),ylabel('幅度譜'),title('Chirp信號 幅度譜');
figure,plot( freq/1e6,-pi*freq.^2/Kr ),xlabel('f /MHz'),ylabel('相位譜'),title('Chirp信號 相位譜');
% 時域匹配濾波
figure,plot( t1*1e6 , abs(s1) ),xlabel('t /us'),ylabel('幅度譜'),title('時間反褶取共軛,時域卷積');
% 頻域匹配濾波1
  • 脈衝壓縮測距
%線性調頻脈衝壓縮測距
clear,clc,close all
%% 參數設置
T = 6e-6;%信號持續時間(脈衝寬度6us)
B = 400e6;%信號調頻帶寬(40MHz)
Fs = 5*B;%採樣率
R = [995,1000,1001,1005];%目標距離
RCS = [1 1.5 2.25 3.375];%目標有效面積
%% 導出參數
%系統參數
C = 3e8; 
K = B/T;%調頻率
Ts = 1/Fs; %時域採樣間隔
N = round(T/Ts);%時域採樣點數
%目標參數
M = length(R);%目標的個數
R0 = mean(R);%參考中心距離(用於保證目標在一個回波探測距離內)
Rwid = T * C/2;%能觀察到的最大距離範圍(最遠距離-最近距離) 
Rmax = floor( R0 + Rwid/2 );%觀測目標距雷達的最遠位置  
Rmin = floor( R0 - Rwid/2 );%觀測目標距雷達的最近位置
%回波參數
t = linspace(2*Rmin/C,2*Rmax/C,N);
td = ones(M,1)*t - 2 * R'/C * ones(1,N);
%% 回波信號
Srt = RCS * ( exp(1j*pi*K*td.^2) .* (abs(td)<T/2) );
%% 脈衝壓縮 
%複製發射信號
t0 = linspace(-T/2,T/2,N); 
St = exp(1j*pi*K*t0.^2);%發射的LFM信號
%匹配濾波
Nfft = 2^nextpow2(N+N-1); 
Srw = fft(Srt,Nfft);%對回波信號求FFT
Sw = conj( fft(St,Nfft) ); %方法二
Sot = fftshift(ifft(Srw.* Sw));
N0 = (Nfft-N)/2;
Z = abs( Sot( N0 : (N0+N-1)) );
% 歸一化並取dB
Z = Z/max(Z);
ZdB = 10*log10(Z);
%% 繪圖
figure,plot(t*1e6,real(Srt))
axis tight,xlabel('時間 / us');ylabel('幅度'),title('原始雷達回波');
figure,plot(t*C/2,Z)
xlabel('距離 / m'),ylabel('幅度'),title('脈衝壓縮測距')
figure,plot(t*C/2,ZdB)
xlabel('距離 / m'),ylabel('幅度 / dB'),title('脈衝壓縮測距(局部放大)')
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章