頻與脈沖壓縮:MATLAB雷達(dá)信號(hào)處理全解析)
不廢話直接進(jìn)入正題。這段時(shí)間在整理雷達(dá)信號(hào)處理的資料又一次把線性調(diào)頻信號(hào)和脈沖壓縮在MATLAB里完整過(guò)了一遍。這個(gè)組合可以說(shuō)是現(xiàn)代脈沖多普勒雷達(dá)的基石也是很多初學(xué)者從理論走向仿真的第一道門檻。標(biāo)題說(shuō)“奇妙世界”一點(diǎn)不夸張當(dāng)你真正在代碼里看到寬脈沖發(fā)射出去、窄脈沖解算回來(lái)的那一瞬間對(duì)雷達(dá)體制的理解會(huì)上一個(gè)臺(tái)階。這篇博客我盡量把自己踩過(guò)的坑和覺(jué)得好用的套路都寫出來(lái)做一個(gè)從信號(hào)生成到匹配濾波實(shí)現(xiàn)脈沖壓縮的完整記錄。核心關(guān)鍵詞先放在這里線性調(diào)頻、匹配濾波、脈沖壓縮、時(shí)寬帶寬積、距離分辨率。整篇會(huì)圍繞這幾個(gè)概念展開用MATLAB代碼說(shuō)話輔以必要的公式推導(dǎo)和參數(shù)計(jì)算。1. 為什么是線性調(diào)頻為什么需要脈沖壓縮1.1 單脈沖雷達(dá)的兩個(gè)硬指標(biāo)雷達(dá)系統(tǒng)有兩個(gè)最基礎(chǔ)的指標(biāo)最大作用距離和距離分辨率。作用距離是由發(fā)射脈沖的能量決定的通俗講就是脈沖越寬積累的能量越多回波信號(hào)就越強(qiáng)。而距離分辨率是由信號(hào)帶寬決定的脈沖越窄帶寬越大距離分辨率越高。問(wèn)題來(lái)了常規(guī)的單載頻脈沖脈沖寬度和信號(hào)帶寬是綁定的。脈寬100微秒的方波脈沖帶寬就是約10kHz量級(jí)。想要遠(yuǎn)距離探測(cè)就要用寬脈沖想要分辨鄰近目標(biāo)就要用窄脈沖。這兩個(gè)需求直接在單脈沖體制下矛盾了。這就是線性調(diào)頻信號(hào)存在的意義。它通過(guò)在一個(gè)較寬的脈沖內(nèi)部對(duì)頻率進(jìn)行連續(xù)掃描讓寬脈沖同時(shí)擁有了大帶寬。這種信號(hào)被稱為大時(shí)寬帶寬積信號(hào)脈寬τ和帶寬B的乘積D τB遠(yuǎn)超1。100微秒的脈寬匹配2MHz的帶寬D的值是200這就給了后續(xù)處理“舒展筋骨”的空間。1.2 匹配濾波和脈沖壓縮的本質(zhì)脈沖壓縮的核心是匹配濾波。從匹配濾波理論的角度看對(duì)一個(gè)已知波形的信號(hào)疊加白噪聲信噪比最大的線性濾波器就是信號(hào)本身的共軛鏡像反轉(zhuǎn)。換句話說(shuō)匹配濾波器可以理解為一個(gè)“相關(guān)系數(shù)計(jì)算器”當(dāng)接收到的信號(hào)與發(fā)射信號(hào)波形吻合時(shí)輸出最大。但需要理清的關(guān)鍵點(diǎn)在于匹配濾波帶來(lái)的輸出峰值并不是直接把寬脈沖變窄而是通過(guò)頻域的相位處理把線性調(diào)頻信號(hào)內(nèi)的各頻率分量在輸出端“對(duì)齊疊加”。線性調(diào)頻信號(hào)本身是頻率隨時(shí)間線性變化的不同時(shí)刻發(fā)射的能量處于不同頻率匹配濾波的過(guò)程等于給各頻率分量加上了各自的相位補(bǔ)償讓它們?cè)谕粫r(shí)刻達(dá)到同相疊加形成一個(gè)尖銳的窄脈沖。這個(gè)過(guò)程可以用一個(gè)生活化類比來(lái)理解一排人按順序走路彼此間距拉得很長(zhǎng)寬脈沖走到終點(diǎn)時(shí)所有人都要同時(shí)到達(dá)前面的人放慢腳步等待、后面的人加速趕上相位補(bǔ)償最終擠成一團(tuán)同時(shí)抵達(dá)終點(diǎn)窄脈沖。信號(hào)能量沒(méi)變但時(shí)間上的分布被壓縮了。1.3 時(shí)寬帶寬積到底在描述什么時(shí)寬帶寬積D τB雖然只是一個(gè)乘積但它直接決定了脈沖壓縮可以獲得的信噪比增益上限。在匹配濾波的脈沖壓縮后信號(hào)的峰值功率與噪聲功率比相對(duì)于壓縮前會(huì)提升D倍。也就是說(shuō)發(fā)射功率不變的情況下脈沖壓縮相當(dāng)于給系統(tǒng)白送了D倍的信噪比增益。100微秒脈寬加上2MHz帶寬的D 200以dB為單位就是約23dB。這就是線性調(diào)頻信號(hào)在現(xiàn)代雷達(dá)中幾乎不可替代的根本原因。發(fā)射端用寬脈沖解決遠(yuǎn)距離探測(cè)的能量需求接收端用匹配濾波把能量在時(shí)間上壓扁重新獲得窄脈沖的距離分辨率。初始階段做MATLAB仿真時(shí)最容易忽略的就是對(duì)這個(gè)乘積的理解。很多人只是套用了chirp函數(shù)和conv函數(shù)把圖形跑出來(lái)卻沒(méi)有真正意識(shí)到這個(gè)D值決定了系統(tǒng)性能的天花板后續(xù)的很多參數(shù)選擇也會(huì)從這里開始。2. MATLAB仿真框架的搭建思路2.1 工具選型手寫代碼與工具箱的邊界MATLAB做雷達(dá)信號(hào)仿真有兩條路線一是直接用Phased Array System Toolbox這類專用工具箱內(nèi)置了波形生成、匹配濾波、波束形成等模塊二是手寫代碼實(shí)現(xiàn)。我的建議是初期一定要手寫一遍核心流程不要只依賴工具箱。工具箱的封裝程度太高它會(huì)幫你處理掉很多細(xì)節(jié)但也會(huì)遮住數(shù)學(xué)原理。脈沖壓縮的核心操作其實(shí)就是FFT、復(fù)乘、IFFT這個(gè)流程手寫一遍比自己調(diào)用函數(shù)更能夠掌握它在做什么。比如匹配濾波的頻域?qū)崿F(xiàn)需要將接收信號(hào)與發(fā)射信號(hào)的共軛頻譜相乘再逆變換回時(shí)域。工具箱一句話就完成了但自己寫一遍能夠真正理解為什么要用共軛為什么需要翻轉(zhuǎn)頻譜。當(dāng)然工具箱也不是一無(wú)是處。在復(fù)雜場(chǎng)景比如陣列處理、多目標(biāo)檢測(cè)、雜波抑制下工具箱的正確性和完整性遠(yuǎn)超手寫代碼。我的使用習(xí)慣是核心算法手寫驗(yàn)證系統(tǒng)級(jí)仿真用工具箱加速。2.2 仿真參數(shù)的預(yù)設(shè)計(jì)仿真的第一步不是寫代碼而是把參數(shù)表列出來(lái)。目標(biāo)距離、目標(biāo)速度、脈沖寬度、帶寬、載頻、采樣率、脈沖重復(fù)間隔這些參數(shù)互相耦合。列成一個(gè)表格比跑到一半再改要省事得多。具體來(lái)說(shuō)選擇載頻要考慮目標(biāo)RCS雷達(dá)散射截面特性和傳播損耗的頻段特性選擇帶寬要依照你所需要的距離分辨率公式是ΔR c / (2B)其中c是光速約3×10^8 m/s。如果想要10米的分辨率帶寬就需要約15MHz。選擇脈寬要綜合作用距離和多普勒模糊的考量脈寬越大單脈沖能量越高但多普勒容忍性會(huì)有所下降。以我常用的參數(shù)為例載頻10GHzX波段脈寬100微秒帶寬2MHz采樣率設(shè)為5MHz。據(jù)此計(jì)算距離分辨率大約是75米時(shí)寬帶寬積D200理論壓縮增益是23dB。采樣率的選擇考慮到線性調(diào)頻信號(hào)最高頻率偏移是±1MHz根據(jù)奈奎斯特定理采樣率至少要4MHz以上我取5MHz留出余量。這些參數(shù)都不是隨便定的。仿真過(guò)程中我建議把每個(gè)參數(shù)的選定理由寫進(jìn)注釋里。出問(wèn)題的時(shí)候這些注釋會(huì)大幅降低排查難度。2.3 仿真流程的主線與分支整個(gè)仿真流程的主線非常清晰生成發(fā)射信號(hào)線性調(diào)頻信號(hào)模擬目標(biāo)回波延時(shí)衰減噪聲設(shè)計(jì)匹配濾波器執(zhí)行脈沖壓縮分析壓縮前后的波形與信噪比這條主線就是本文接下來(lái)要逐步展開的內(nèi)容。每個(gè)步驟都可以擴(kuò)展出多個(gè)分支比如加入多目標(biāo)、加入多普勒頻移、加窗函數(shù)抑制旁瓣等。初學(xué)階段先把主線跑通再逐步添加復(fù)雜度。3. 線性調(diào)頻信號(hào)的MATLAB實(shí)現(xiàn)3.1 從零生成LFM信號(hào)MATLAB中生成線性調(diào)頻信號(hào)可以直接用chirp函數(shù)但為了保持對(duì)信號(hào)結(jié)構(gòu)的完全掌控我更推薦自己寫代碼。一個(gè)典型的LFM基帶信號(hào)表達(dá)式為s(t) exp(jπKt2)其中K B/τ是頻率變化斜率。這里的基帶信號(hào)是復(fù)信號(hào)這就是為什么仿真中的LFM信號(hào)常常以復(fù)數(shù)形式出現(xiàn)的原因——實(shí)信號(hào)會(huì)丟失負(fù)頻率信息而復(fù)信號(hào)可以更干凈地表達(dá)頻譜結(jié)構(gòu)。下面是完整的MATLAB代碼段%% 參數(shù)定義 fc 10e9; % 載頻 10GHz B 2e6; % 帶寬 2MHz T 100e-6; % 脈沖寬度 100us fs 5e6; % 采樣率 5MHz c 3e8; % 光速 K B / T; % 調(diào)頻斜率 %% 時(shí)間軸與基帶LFM信號(hào) N round(T * fs); % 總采樣點(diǎn)數(shù) t (0:N-1) / fs; % 時(shí)間序列 s_bb exp(1j * pi * K * t.^2); % 基帶LFM信號(hào)復(fù)信號(hào)每個(gè)參數(shù)的物理含義如下fc載頻做基帶仿真時(shí)只影響后續(xù)的多普勒和相參處理不直接影響LFM波形生成B帶寬決定距離分辨率和匹配濾波后的主瓣寬度T脈寬決定發(fā)射能量和時(shí)寬帶寬積fs采樣率必須在基帶包裹住B/2以上的頻率內(nèi)容c物理常數(shù)用于距離與時(shí)間的相互轉(zhuǎn)換3.2 上變頻與實(shí)信號(hào)的呈現(xiàn)基帶信號(hào)s_bb是復(fù)數(shù)但實(shí)際發(fā)射的射頻信號(hào)是實(shí)信號(hào)需要將基帶信號(hào)上變頻到載頻fcs_rf real(s_bb .* exp(1j * 2 * pi * fc * t));不過(guò)在基帶仿真中我們通常不會(huì)直接模擬載頻因?yàn)檫^(guò)高頻率會(huì)要求極高的采樣率導(dǎo)致數(shù)據(jù)量爆炸。10GHz的載頻如果直接仿真按奈奎斯特定理至少需要20GHz以上的采樣率一微秒的數(shù)據(jù)就有幾萬(wàn)點(diǎn)100微秒的數(shù)據(jù)量更是天文數(shù)字。所以工程上普遍采用等效基帶仿真。這里的技巧是基帶仿真是完全線性的載頻只起搬移作用不改變信號(hào)的相對(duì)結(jié)構(gòu)因此可以在基帶層面完成所有處理最終結(jié)果乘上載頻因子即可復(fù)原射頻效果。這也解釋了為什么雷達(dá)系統(tǒng)仿真幾乎都在基帶域完成。3.3 觀察信號(hào)的時(shí)頻結(jié)構(gòu)線性調(diào)頻信號(hào)最直觀的特征就是頻率隨時(shí)間線性變化。用spectrogram函數(shù)可以清晰看到這種“斜坡”結(jié)構(gòu)spectrogram(s_bb, 128, 120, 256, fs, centered, yaxis); title(LFM基帶信號(hào)時(shí)頻圖);時(shí)頻圖上是條從零掃到2MHz的斜線。如果加漢明窗再看邊緣能量會(huì)被削弱時(shí)頻圖兩端會(huì)出現(xiàn)漸隱效果。這個(gè)現(xiàn)象在頻譜分析中很常見但初次接觸時(shí)容易誤以為加了窗信號(hào)質(zhì)量變壞了。它只是能量泄露被抑制了主瓣寬度變寬了屬于權(quán)衡取舍。4. 目標(biāo)回波模擬與接收處理4.1 目標(biāo)距離和回波延時(shí)雷達(dá)目標(biāo)回波的本質(zhì)是發(fā)射信號(hào)經(jīng)過(guò)往返延時(shí)后的衰減副本。距離R的目標(biāo)回波延時(shí)為τ_delay 2R / c系數(shù)2代表雙程路徑。如果我設(shè)置一個(gè)距雷達(dá)30公里的目標(biāo)那么回波延時(shí)就是τ_delay 2 * 30000 / 3e8 200微秒此時(shí)在走完100微秒的發(fā)射脈寬后還需要再加上200微秒的接收等待時(shí)間總仿真時(shí)長(zhǎng)為300微秒。需要注意的是回波延時(shí)并不等于信號(hào)脈寬很多初學(xué)者會(huì)把這兩個(gè)概念搞混。要正確生成回波代碼可以這樣寫R_target 30e3; % 目標(biāo)距離 30km tau_delay 2 * R_target / c; % 回波延時(shí) 200us delay_samples round(tau_delay * fs); % 對(duì)應(yīng)的采樣點(diǎn)延遲 % 全仿真時(shí)長(zhǎng) 發(fā)射脈寬 回波延時(shí) total_T T tau_delay; N_total round(total_T * fs); t_total (0:N_total-1) / fs; rx_raw zeros(1, N_total); s_bb_full [s_bb, zeros(1, N_total - N)]; rx_raw(delay_samples1 : delay_samplesN) s_bb_full(1:N);第9行是關(guān)鍵回波信號(hào)是發(fā)射信號(hào)在時(shí)間上平移delay_samples個(gè)采樣點(diǎn)。這里延時(shí)后信號(hào)必須和發(fā)射信號(hào)保持內(nèi)存上的對(duì)齊才能保證后續(xù)匹配濾波的正確性。4.2 信噪比設(shè)定與噪聲注入在實(shí)際系統(tǒng)中回波到達(dá)雷達(dá)接收機(jī)時(shí)已經(jīng)極微弱。如果不添加噪聲回波信號(hào)會(huì)非常干凈信噪比無(wú)窮大這在實(shí)際雷達(dá)中不存在。因此模擬回波時(shí)需要人為加入高斯白噪聲。設(shè)定信噪比SNR_dB 10dB即回波信號(hào)功率比噪聲功率高10倍。噪聲疊加的代碼為SNR_dB 10; noise_power 10^(-SNR_dB/10); % 歸一化噪聲功率 noise sqrt(noise_power/2) * (randn(1, N_total) 1j*randn(1, N_total)); rx rx_raw noise;這里sqrt(noise_power/2)是把噪聲功率分配到實(shí)部和虛部各一半所以每部分功率為noise_power/2。這兩個(gè)隨機(jī)序列都服從均值為0、方差為0.5的實(shí)高斯分布。這個(gè)細(xì)節(jié)很容易被忽略但它直接決定了實(shí)際信噪比是否與設(shè)定相符。建議用實(shí)部和虛部分開查看的方式驗(yàn)證噪聲注入是否正確而不是直接看復(fù)數(shù)向量的模值否則判斷容易出錯(cuò)。4.3 多目標(biāo)與多普勒效應(yīng)單目標(biāo)場(chǎng)景跑通之后可以嘗試多目標(biāo)。多個(gè)目標(biāo)的回波是各自延時(shí)副本的線性疊加只需把不同延時(shí)和振幅的副本加到同一個(gè)接收信號(hào)向量里即可。代碼模式如下rx_multi zeros(1, N_total); R_targets [30e3, 30.5e3, 31.2e3]; % 多目標(biāo)距離 amp [1, 0.8, 0.5]; % 目標(biāo)回波幅度 for m 1:length(R_targets) td round(2 * R_targets(m) / c * fs); rx_multi(td1 : tdN) rx_multi(td1 : tdN) amp(m) * s_bb_full(1:N); end若目標(biāo)有徑向速度回波會(huì)產(chǎn)生多普勒頻移表現(xiàn)為基帶信號(hào)相位隨時(shí)間線性增加。多普勒頻率f_d 2 * v / λλ為載頻波長(zhǎng)。30公里處X波段以300m/s徑向速度接近的目標(biāo)多普勒頻移大約20kHz。這個(gè)偏移相對(duì)于2MHz的帶寬是小的匹配濾波依然能夠輸出主峰但主峰位置會(huì)發(fā)生少量偏移。從失配的角度看只要多普勒頻移滿足 f_d 1/T即1/100μs 10kHz匹配濾波失配較小超出這個(gè)范圍壓縮增益會(huì)明顯下降。5. 脈沖壓縮的實(shí)現(xiàn)從時(shí)域相關(guān)到頻域快速卷積5.1 匹配濾波的兩種實(shí)現(xiàn)形式脈沖壓縮在數(shù)字域的實(shí)現(xiàn)有兩種方式時(shí)域卷積和頻域快速卷積。時(shí)域卷積本質(zhì)上是計(jì)算接收信號(hào)與發(fā)射信號(hào)鏡像反轉(zhuǎn)共軛的卷積結(jié)果也就是相關(guān)運(yùn)算。對(duì)于長(zhǎng)度為L(zhǎng)的接收信號(hào)和長(zhǎng)度為M的參考信號(hào)時(shí)域卷積復(fù)雜度是O(LM)量級(jí)當(dāng)序列長(zhǎng)度為幾十萬(wàn)甚至上千萬(wàn)個(gè)采樣點(diǎn)的時(shí)候計(jì)算量是災(zāi)難性的。頻域快速卷積則利用FFT將時(shí)域卷積轉(zhuǎn)化為頻域復(fù)乘復(fù)雜度降到O(NlogN)。實(shí)現(xiàn)的核心步驟是三段式X fft(rx, N_fft); % 接收信號(hào)FFT H conj(fft(s_ref, N_fft)); % 參考信號(hào)FFT共軛 y ifft(X .* H); % 頻域相乘后IFFT回時(shí)域這里的s_ref是發(fā)射信號(hào)本地副本H的共軛操作正是匹配濾波的關(guān)鍵。由于FFT是循環(huán)卷積而線性卷積需要足夠的補(bǔ)零來(lái)避免柵欄效應(yīng)所以N_fft必須大于等于N_rx N_ref -1。在MATLAB中N_fft一般取2的冪次比如2^nextpow2(N_rx N_ref)。5.2 完整的脈沖壓縮代碼實(shí)測(cè)可用的完整代碼段如下N_fft 2^nextpow2(N_total N - 1); % FFT長(zhǎng)度保證線性卷積 S_ref conj(fft(s_bb_full, N_fft)); % 匹配濾波頻域參考 RX fft(rx, N_fft); % 接收信號(hào)FFT Y RX .* S_ref; % 頻域匹配 pc_out ifft(Y); % 時(shí)域脈沖壓縮結(jié)果 pc_out pc_out(1 : N_total); % 截取有效部分這行代碼里的S_ref conj(fft(s_bb_full, N_fft))是整個(gè)脈沖壓縮的靈魂。它實(shí)現(xiàn)了匹配濾波器在頻域的構(gòu)造。注意這里用到的是s_bb_full發(fā)射信號(hào)的完整復(fù)包絡(luò)而不是某一小段。如果參考信號(hào)截取不當(dāng)哪怕差一個(gè)采樣點(diǎn)輸出主瓣的峰值都會(huì)很低。5.3 壓縮前后的對(duì)比與驗(yàn)證脈沖壓縮完成后輸出的幅度譜峰值位置正是目標(biāo)所在的延時(shí)位置。30公里目標(biāo)的峰值應(yīng)當(dāng)在200微秒處對(duì)應(yīng)采樣點(diǎn)位置[~, peak_idx] max(abs(pc_out)); est_delay (peak_idx - 1) / fs; est_range est_delay * c / 2;壓縮前接收信號(hào)的信噪比很低目標(biāo)回波淹沒(méi)在噪聲里幾乎看不見壓縮后噪聲均勻分布在時(shí)間軸上而目標(biāo)能量集中到一個(gè)尖峰上峰值遠(yuǎn)高于噪聲基底。這個(gè)現(xiàn)象就是匹配濾波增益的直觀體現(xiàn)。用如下代碼繪制前50微秒局部波形可以清晰看到主瓣figure; plot((0:N_total-1)/fs*1e6, 20*log10(abs(pc_out)/max(abs(pc_out)))); xlabel(時(shí)間 (\mus)); ylabel(歸一化幅度 (dB)); title(脈沖壓縮輸出); axis([0 50 -60 0]);主瓣的3dB寬度約為1/B 0.5微秒對(duì)應(yīng)75米的距離分辨率。壓縮前的100微秒脈寬與壓縮后的0.5微秒主瓣寬度形成了整整200倍的比值這個(gè)比值就是時(shí)寬帶寬積D。5.4 加窗旁瓣抑制匹配濾波輸出并非只有主瓣主瓣兩側(cè)還會(huì)出現(xiàn)一系列旁瓣。未加窗情況下LFM信號(hào)的壓縮輸出旁瓣電平僅有約-13.2dB。這個(gè)數(shù)值在實(shí)際雷達(dá)系統(tǒng)中是致命的——強(qiáng)目標(biāo)的旁瓣可能掩蓋鄰近的弱目標(biāo)。壓低旁瓣最常用的方法是在匹配濾波器前或FFT前對(duì)參考信號(hào)加窗。常見選擇有漢明窗、海寧窗、布萊克曼窗等。以漢明窗為例w hamming(N, periodic).; s_w s_bb_full .* w; S_ref_w conj(fft(s_w, N_fft)); Y_w RX .* S_ref_w; pc_w ifft(Y_w);加窗后旁瓣電平可以壓低到-40dB左右但代價(jià)是主瓣會(huì)變寬約1.5倍距離分辨率有所犧牲。這個(gè)權(quán)衡在雷達(dá)系統(tǒng)設(shè)計(jì)中非常普遍需要高分辨率就少加窗需要低旁瓣就多犧牲一點(diǎn)分辨率。工程上可以這樣做先不加窗觀察目標(biāo)分布再針對(duì)性地加窗優(yōu)化檢測(cè)性能。6. 常見問(wèn)題與排查技巧實(shí)錄6.1 FFT點(diǎn)數(shù)不夠?qū)е碌臅r(shí)間混疊這個(gè)問(wèn)題排在第一位是因?yàn)樗浅k[蔽且直接影響結(jié)果正確性。FFT默認(rèn)是循環(huán)卷積如果不補(bǔ)零到足夠長(zhǎng)度時(shí)域卷積的尾部結(jié)果會(huì)折返到序列頭部產(chǎn)生時(shí)間混疊。目標(biāo)位置會(huì)出現(xiàn)峰偏移甚至出現(xiàn)虛假目標(biāo)。排查方法很簡(jiǎn)單檢查N_fft是否大于等于N_total N - 1。如果不是直接改。調(diào)試時(shí)先用一個(gè)已知目標(biāo)距離檢測(cè)峰值位置如果計(jì)算距離與設(shè)定距離不符第一懷疑對(duì)象就是FFT長(zhǎng)度。6.2 匹配濾波器參考信號(hào)選錯(cuò)參考信號(hào)應(yīng)該使用發(fā)射信號(hào)的完整樣本很多初學(xué)者會(huì)參考接收信號(hào)截取一段來(lái)構(gòu)造匹配濾波器這是混淆了參考信號(hào)是與發(fā)射信號(hào)相關(guān)的信號(hào)這一原則。如果參考信號(hào)也是從接收信號(hào)里截取的噪聲的影響會(huì)混入濾波器設(shè)計(jì)壓縮輸出會(huì)大劣化。正確做法是在本仿真中參考信號(hào)就用s_bb_full。如果將來(lái)做實(shí)驗(yàn)數(shù)據(jù)處理也應(yīng)當(dāng)用采樣的參考通道信號(hào)而不是直接從回波里提取。6.3 采樣率不足導(dǎo)致的頻譜混疊LFM信號(hào)帶寬B2MHz基帶頻譜的支撐區(qū)是[-1MHz, 1MHz]如果從零開始掃頻則是[0, 2MHz]。采樣率低于2B時(shí)會(huì)出現(xiàn)頻譜混疊匹配濾波的輸出主瓣會(huì)畸形旁瓣抬高。驗(yàn)證方法對(duì)LFM信號(hào)的FFT結(jié)果做頻譜圖如果頻譜在頻帶邊緣出現(xiàn)明顯混疊說(shuō)明采樣率過(guò)低了。工程經(jīng)驗(yàn)是采樣率至少取2.5B~4B給濾波和后續(xù)處理留夠裕量。6.4 信噪比計(jì)算偏差噪聲注入時(shí)如果沒(méi)有正確分配實(shí)虛部功率最終信噪比會(huì)和設(shè)定不符合。比如把噪聲總功率直接給實(shí)部那么實(shí)部噪聲功率為設(shè)定值虛部沒(méi)有噪聲實(shí)際總噪聲功率被高估了3dB導(dǎo)致最終信噪比偏低3dB。排查方法計(jì)算壓縮前接收信號(hào)中目標(biāo)所在位置附近的實(shí)測(cè)信噪比用該值與設(shè)定值比較。多數(shù)情況下偏差都在噪聲建模這一步。6.5 失配目標(biāo)速度引起的匹配損失當(dāng)目標(biāo)有徑向速度時(shí)回波帶有多普勒頻移。對(duì)于LFM信號(hào)多普勒頻移造成匹配濾波輸出主瓣位置偏移和增益下降嚴(yán)重時(shí)目標(biāo)從主瓣“掉”到旁瓣里。定量來(lái)看多普勒容限約為1/T。當(dāng)多普勒頻移f_d遠(yuǎn)小于1/T時(shí)可認(rèn)為匹配濾波器近似匹配當(dāng)f_d接近1/T時(shí)輸出峰值出現(xiàn)明顯降低。這個(gè)也是為什么許多系統(tǒng)會(huì)設(shè)計(jì)多組匹配濾波器來(lái)覆蓋不同多普勒通道的原因。在MATLAB仿真中如果要模擬高速目標(biāo)推薦構(gòu)造多普勒濾波器組而不是指望單個(gè)匹配濾波器通吃。7. 實(shí)操心得與擴(kuò)展方向把單目標(biāo)、單脈沖的線性調(diào)頻脈沖壓縮跑通之后后續(xù)能擴(kuò)展的方向非常多。我按難度遞增列幾個(gè)我覺(jué)得實(shí)際價(jià)值比較高的加入staggered PRF脈沖串仿真研究距離/速度模糊解算把匹配濾波改為頻域的失配濾波如加窗旁瓣約束優(yōu)化把單通道變成多通道引入相控陣的波束形成做空時(shí)二維處理引入雜波模型地面雜波/海雜波研究MTI與MTD的抑制策略在脈沖壓縮前加STAP空時(shí)自適應(yīng)處理的粗暴版本先體驗(yàn)效果每次做完一個(gè)擴(kuò)展回過(guò)來(lái)看基礎(chǔ)匹配濾波代碼都會(huì)對(duì)它的簡(jiǎn)潔和優(yōu)雅有更深的體會(huì)。很多人覺(jué)得雷達(dá)仿真難難在半路殺出的問(wèn)題多但其實(shí)始終不離這三大塊信號(hào)、噪聲、濾波器。把這三者之間的關(guān)系理清楚了框架自然就立起來(lái)了。最后分享一個(gè)習(xí)慣所有仿真代碼保存時(shí)都把參數(shù)表以注釋塊的形式放在文件頭部并在代碼改動(dòng)的關(guān)鍵行記錄日期和目的?;仡^讀半年乃至一年前的仿真代碼如果沒(méi)有這些注釋幾乎相當(dāng)于重新破解一遍。這個(gè)習(xí)慣幫我省過(guò)無(wú)數(shù)次返工的時(shí)間。這次從線性調(diào)頻到脈沖壓縮的MATLAB實(shí)現(xiàn)記錄就寫到這里。下一步我準(zhǔn)備在同樣的框架上加多普勒處理完成后如果有值得寫的東西再來(lái)分享。