(從零開始)基於檢測前跟蹤雷達目標跟蹤技術的研究:第(1)周所學知識

若由本篇博文增加關注,就解封本篇博文的VIP權限哈,記得在下方留言哈
本項目目前使用的回波數據集是2019年的一份公開數據集,鏈接如下
雷達回波序列中弱小飛機目標檢測跟蹤數據集
再閱讀本文之前,一定要好好讀讀上述的數據集裏的相關描述,裏面介紹的很詳細,對於你理解回波數據的存儲方式也是很有幫助的。對於下面的SHT-TBD,如果不瞭解標準霍夫變換,可以參考這篇博文

  1. 對於這個數據集我有以下說明:
  • 波門一般是與距離單元一致的。但是這裏不一樣。波門指的是我從這個波門開始進行採樣,例如在這個雷達數據中,根據兩者的GPS參數進行計算,及時1ms調整一次波門,然後在這個波門後面採樣,得到319個距離單元,所以數據集裏的距離單元,每隔1ms也即32個脈衝回波,並不是相對於雷達本身的距離單元,而是相對於當時刷新的波門。這個你要看看相對應的波門矩陣了。
  • 關於下載回波數據:一定要把第幾段的所有壓縮包都下載,只下載一個會解壓錯誤,這個問題也是困擾了我好久才發現的。
  1. 本週我做的是SHT-TBD,我參考了這篇西電的碩士論文,論文中算法思路比較詳細,文中有二維霍夫變換以及三維霍夫變換,我採取的是二維霍夫變換。
  2. 我在這一週完成了SHT-TBD的大部分工作。 由於不知道目標相對於雷達的運動狀態,所以我選擇做短時局部的的SHT-TBD。在此雷達數據集中,所有數據均是雷達凝視(可根據目標與雷達的GPS數據計算使得雷達一直跟着目標轉動,目標一直在雷達掃描的區域內)所得。因此每一個回波中均包含目標信息。因爲這個回波數據是已經經過脈衝壓縮等預處理後的信號,所以也不用進行脈壓了。
  3. 在matlab程序開頭一定要加上
clear all;
close all;
clc;

如果不加,在你修改代碼後工作區的有些值可能會保留從而影響程序運行的結果。
5. 首先,在前三天我一直專注於在頻域上進行SHT,即在距離-多普勒平面。那這個平面是怎麼來的呢?就是直接對於幾個回波數據,在同一距離單元做fft即可得到距離-多普勒平面。

  • 這裏的幾個回波數據:一個掃描幀的時間CPI中包含的脈衝,這個CPI在你進行雷達數據處理時會告訴你的。
  • 距離單元:對於發射和接收信號都是同一個天線的雷達,都有最小的檢測範圍與最大檢測範圍。在這兩個範圍內進行平均分割就形成了很多的距離單元。
  • fft:快速離散傅里葉變換,記住假設輸入的是八個數據進行fft,則得到的結果也是八個數據。進行fft會有一個提升信噪比增益的效果,也即是參數相干處理的效果。
  • 這裏的在同一距離單元做fft的意思:假設我們得到的回波數據的矩陣大小是319×6400。這裏的319指的是319個距離單元,6400則是指一共有6400個脈衝回波。我們取前32個脈衝,即取出的數據大小是319×32。那麼我們對於每一行即在一個距離單元的32個時刻的值,進行fft,則最終還是會得到319×32的矩陣。這個矩陣平面就是我們所說的距離多-普勒平面。同時由於多普勒頻移與目標的徑向速度呈現正比的關係,所以距離-多普勒圖像也可以看成是距離-徑向速度圖像。爲了使用論文中的算法,需要在取出距離×時間的回波數據矩陣後做一下轉置變成時間×距離的回波數據矩陣。
  1. 剛開始我是想先做一個簡單的,即在雷達的徑向做勻速直線運動。那麼將每一張距離-多普勒圖像按照時間軸放起來,目標在每一張距離-多普勒圖像上的點連起來就是一條平行於時間軸和距離軸的直線。但是後來一直編程無法實現,然後我就轉戰直接在距離-時間平面上做SHT-TBD了。
  2. 根據論文中的算法,首先要先捨去一些噪聲點,即讓其值置零。可以理解爲初級濾波。論文中採用的是恆虛警的方法,也許作者是想將恆虛警處理達成初級濾波的效果。但是在與長期從事雷達研究的學長交流後,覺得恆虛警處理就是檢測的方法。如果要做檢測前跟蹤,那麼所有的處理應該在檢測前完成,也即在恆虛警前完成。所以這裏我採用找出所有單元中功率最大值,然後遍歷所有單元,將功率最大值與每個單元的功率做比值再取對數看看能否小於一個給定的值,我給的是1。
  • 單元,功率:這裏的單元就是取的距離-時間矩陣的一個一個的元素。功率是用每個單元幅值的平方。
  1. 生成各個矩陣
  • 生成TH矩陣:根據第6步生成的初級濾波後的矩陣進行遍歷,得到非零元素的座標,此處可以使用find()函數,其返回相應元素的行與列。
  • 生成CD矩陣:角度的範圍是0到180°,量化單元是1°,即角度軸是1°,2°,3°…180°。
  • 生成R矩陣:將TH矩陣與CD矩陣相乘,此時行表示的是角度,而列表示的是ρ,對於同一個角度,即一行的數據,可以看成是ρ的離散化。由於ρ需要是整數,所以需要取整,我採用的是round()函數,作用是四捨五入取整。
  • 生成H矩陣:相同ρ與相同角度的單元個數,可以按行遍歷,即按每一個角度去遍歷,此時角度已經一樣,此時只要統計相同的ρ即可。此時使用tabulate()函數,這個函數的作用就是返回相同元素以及相同元素的個數。由於在matlab中行數列數都是正整數,所以我們得到ρ後,還要全部變成正整數,即所有的ρ加ρ最大負值絕對值再加1。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章