數字相關器是擴頻通信體制下數字中頻接收機核心部件之一,在數字擴頻通信系統中應用廣泛,但由于受數字信號處理器件速度限制,無法應用于高速寬帶通信系統。其中一個重要原因是高位數的加法器進位延遲過大,使得在一個采樣時鐘節拍內無法完成一次累加運算,而導致相關運算錯誤。隨著FPGA技術的快速發展,器件速度的不斷提升,這一問題一定程度得到改善,但仍然無法滿足高位數擴頻碼、高采樣速率和大動態范圍的數字相關器的工程實現,因此必須采用優化算法最大限度地減少加法器進位操作,從而降低電路延遲對數字相關處理的影響,較為可行的方法是通過流水線加法器構建數字相關器。 1 數字相關器基本模型分析 數字相關器類似于匹配濾波器,可以看作乘累加運算器,即輸入數據流同本地碼在采樣同步時鐘的驅動下(在一個時鐘節拍內)逐級相乘并累加。以32階數字相關器為例,假定中頻信號采樣速率是擴頻碼速率的4倍,輸入采樣數據流為補碼(如果輸入碼流是2進制碼應通過邏輯電路轉換成補碼),可建立如圖1所示電路模型(全加器型)。 圖1所構建的數字相關器其特點是模型較為簡單,在進行FPGA邏輯電路設計時也較容易實現,同時在輸入信號動態范圍較小(采樣數據流數據帶寬較小)的情況下器對硬件資源的消耗也較少(不考慮乘法器消耗的資源)。但是當輸入信號動態范圍較大時,如采樣數據流數據帶寬超過8 b,中頻信號采樣速率超過40 MHz時此模型的缺陷就會暴露出來,其核心問題是∑求和加法電路要在一個時鐘節拍內必須完成32個8 b補碼數據的加法運算,而FPGA內部門到門的延遲會使每一位加法電路在進行運算時產生一定時間的暫態。當這種暫態逐級累加時就會造成一個時鈍單位內無法產生穩定、有效的輸出結果,同時如果輸入的數據流產生較多的進位,則會使相關結果出錯。 由上述可知,圖1所描述的相關器電路模型應用在實際的通信系統中會存在隱患,尤其是作為時隙信號同步頭字符相關處理時,有可能造成時隙同步的誤觸發。若作為位同步字符時會造成整時隙的接收數據較高誤碼。 除此之外,此模型還存在消耗FPGA內部大量乘法器資源的缺點,實際上,數字相關器的每一階所進行的采樣數據流同本地碼相乘操作其產生的數據結果并無實際物理意義,而有意義的僅是相乘之后符號,它直接決定了輸入碼流同本地碼匹配的結果。 由表1可見乘法器符號輸出的結果實際上是同或運算,即:相同為正,不同為負。因此以乘法器作為相關器符號判決器效率并不高,而且浪費了大量的乘法器資源,完全可以通過組合邏輯判決得到相同的結果。 2 流水線型數字相關器模型 針對全加器型數字相關器的不足,建立基于流水線和符號判決的全新相關器模型,如圖2所示。 3 信號處理流程 基于流水線加法器的數字相關器,其信號處理過程可分5個組成部分,即:數據擴位、補碼變換、抽取判決、流水延遲和累加傳遞。 3.1 數據擴位 相關器的設計必須要考慮到數據累加所產生的最大結果,它決定了相關器數據移位寄存器的位寬,無論是全加器型的還是流水型的數字相關器必須對輸入數據采取擴位處理。例如:一個32階8 b輸入位寬數字相關器,當輸入補碼數據流連續的32個碼元與本地碼符號一一對應,同時每個輸入碼元的數據絕對值均達到最大值127則累加的結果是25×127,即:數據由8 b擴大到13 b,如果相關器所采用的擴頻碼位數不是2n也以2n計算。通過上述分析可以得到一個相關器數據寄存器位寬公式: 式中:corro為相關寄存器位寬;indat為采樣數據流位寬;n為相關器階數以2為底數的冪次。確定了數據寄存器的位寬后就必須在數據流輸入相關器之前對其進行數據預處理,將數據擴位到最大動態范圍,由于輸入數據流是補碼,因此對正負數的擴位計算不同。下面的Veri-log HDL語言代碼描述了一個32階8 b輸入位寬數字相關器擴位電路的算法。 其中:indat為輸入采樣數據;indat_exp為輸入采樣數據擴位后的結果。 3.2 補碼變換 對于流水線型相關器,需要將每一個采用時鐘節拍輸入數據流分解成符合相反的數據對,以便于同本地碼進行符號判決。處理的方法是在采樣時鐘的驅動下將輸入數據流取反加1,產生其對應的補碼數據。下述Verilog HDL代碼描述了數字相關器數據變換電路的算法。 3.3 抽取判決 抽取判決的目的有兩個,一是使采樣數據流降速至碼流速率,這樣才能與本地碼進行符號判決。如采用速率為40 MHz,碼流速率為10 MCPS,碼長32 b其流水延遲線寄存器的級數為128級,則應采用1/4抽取,即:每4級延遲線寄存器輸出1級數據進行符號判決。根據表1構建的組合邏輯算法可知:如果本地碼符號為正,則當前時鐘采樣數據原碼輸出并同流水線延遲線上寄存的上一階累加數據相加;如果本地碼符號為負,則當前時鐘采樣數據補碼輸出并同流水線上寄存的上一階累加數據相加。 3.4 流水延遲 流水延遲線是流水線數字相關器的核心電路,其作用是將采樣數據流同每一階本地碼進行符號判決并且將累加的結果寄存起來。由于采樣數據流的速率是擴頻碼碼速率的整數倍,則流水延遲線寄存器的級數也應是本地碼階數的整數倍。如:采用速率為40 MHz,碼流速率為10 MCPS,碼長32 b,流水延遲線寄存器的級數為128級。 3.5 累加傳遞 累加傳遞是流水線型相關器同全加器型相關器最大的不同之處,也是其克服加法器進位延遲的關鍵所在。從圖1和圖2可以清楚地看出全加器型相關器的加法器進位延遲是每個時鐘32級加法器的總和而流水線型相關器的加法器進位延遲僅為每時鐘1級。因此在同樣輸入數據的前提下,前者的進位延遲時間(理論上)是后者的32倍,這樣兩者相關運算結果必然是后者由于暫態數據而造成錯誤的可能性比前者小得多。但是同全加器型相關器相比,流水線相關器由于采用了累加運算的逐級傳遞,增加了硬件資源的消耗。因此流水線型相關器是以增加硬件資源為代價換取可靠性和動態范圍,而相對當前FPGA技術所能提供的硬件資源而言,多出的資源消耗基本可以忽略不計。 4 結語 目前基于流水線型相關器模型設計的數字相關器已經應用于某高速、寬帶擴頻通信系統信號處算法設計中,經外場試驗檢驗已達到或超過工程設計要求。隨著FPGA處理速度的不斷提高,直接通過全加器型相關器實現高速、寬帶、線性接收通道擴頻通信也會逐漸成為可能,但就目前技術而言,流水線型相關器是實現數字相關技術較為可靠的技術。 |