基于流水線加法器的數(shù)字相關(guān)器設(shè)計
式中:corro為相關(guān)寄存器位寬;indat為采樣數(shù)據(jù)流位寬;n為相關(guān)器階數(shù)以2為底數(shù)的冪次。確定了數(shù)據(jù)寄存器的位寬后就必須在數(shù)據(jù)流輸入相關(guān)器之前對其進(jìn)行數(shù)據(jù)預(yù)處理,將數(shù)據(jù)擴(kuò)位到最大動態(tài)范圍,由于輸入數(shù)據(jù)流是補(bǔ)碼,因此對正負(fù)數(shù)的擴(kuò)位計算不同。下面的Veri-log HDL語言代碼描述了一個32階8 b輸入位寬數(shù)字相關(guān)器擴(kuò)位電路的算法。
其中:indat為輸入采樣數(shù)據(jù);indat_exp為輸入采樣數(shù)據(jù)擴(kuò)位后的結(jié)果。
3.2 補(bǔ)碼變換
對于流水線型相關(guān)器,需要將每一個采用時鐘節(jié)拍輸入數(shù)據(jù)流分解成符合相反的數(shù)據(jù)對,以便于同本地碼進(jìn)行符號判決。處理的方法是在采樣時鐘的驅(qū)動下將輸入數(shù)據(jù)流取反加1,產(chǎn)生其對應(yīng)的補(bǔ)碼數(shù)據(jù)。下述Verilog HDL代碼描述了數(shù)字相關(guān)器數(shù)據(jù)變換電路的算法。
3.3 抽取判決
抽取判決的目的有兩個,一是使采樣數(shù)據(jù)流降速至碼流速率,這樣才能與本地碼進(jìn)行符號判決。如采用速率為40 MHz,碼流速率為10 MCPS,碼長32 b其流水延遲線寄存器的級數(shù)為128級,則應(yīng)采用1/4抽取,即:每4級延遲線寄存器輸出1級數(shù)據(jù)進(jìn)行符號判決。根據(jù)表1構(gòu)建的組合邏輯算法可知:如果本地碼符號為正,則當(dāng)前時鐘采樣數(shù)據(jù)原碼輸出并同流水線延遲線上寄存的上一階累加數(shù)據(jù)相加;如果本地碼符號為負(fù),則當(dāng)前時鐘采樣數(shù)據(jù)補(bǔ)碼輸出并同流水線上寄存的上一階累加數(shù)據(jù)相加。
3.4 流水延遲
流水延遲線是流水線數(shù)字相關(guān)器的核心電路,其作用是將采樣數(shù)據(jù)流同每一階本地碼進(jìn)行符號判決并且將累加的結(jié)果寄存起來。由于采樣數(shù)據(jù)流的速率是擴(kuò)頻碼碼速率的整數(shù)倍,則流水延遲線寄存器的級數(shù)也應(yīng)是本地碼階數(shù)的整數(shù)倍。如:采用速率為40 MHz,碼流速率為10 MCPS,碼長32 b,流水延遲線寄存器的級數(shù)為128級。
3.5 累加傳遞
累加傳遞是流水線型相關(guān)器同全加器型相關(guān)器最大的不同之處,也是其克服加法器進(jìn)位延遲的關(guān)鍵所在。從圖1和圖2可以清楚地看出全加器型相關(guān)器的加法器進(jìn)位延遲是每個時鐘32級加法器的總和而流水線型相關(guān)器的加法器進(jìn)位延遲僅為每時鐘1級。因此在同樣輸入數(shù)據(jù)的前提下,前者的進(jìn)位延遲時間(理論上)是后者的32倍,這樣兩者相關(guān)運(yùn)算結(jié)果必然是后者由于暫態(tài)數(shù)據(jù)而造成錯誤的可能性比前者小得多。但是同全加器型相關(guān)器相比,流水線相關(guān)器由于采用了累加運(yùn)算的逐級傳遞,增加了硬件資源的消耗。因此流水線型相關(guān)器是以增加硬件資源為代價換取可靠性和動態(tài)范圍,而相對當(dāng)前FPGA技術(shù)所能提供的硬件資源而言,多出的資源消耗基本可以忽略不計。
4 結(jié)語
目前基于流水線型相關(guān)器模型設(shè)計的數(shù)字相關(guān)器已經(jīng)應(yīng)用于某高速、寬帶擴(kuò)頻通信系統(tǒng)信號處算法設(shè)計中,經(jīng)外場試驗檢驗已達(dá)到或超過工程設(shè)計要求。隨著FPGA處理速度的不斷提高,直接通過全加器型相關(guān)器實現(xiàn)高速、寬帶、線性接收通道擴(kuò)頻通信也會逐漸成為可能,但就目前技術(shù)而言,流水線型相關(guān)器是實現(xiàn)數(shù)字相關(guān)技術(shù)較為可靠的技術(shù)。本文引用地址:http://butianyuan.cn/article/187762.htm
評論