點(diǎn)擊上方藍(lán)字關(guān)注我們

隨著軟件定義無線電平臺在軍事航空航天領(lǐng)域以及近在一些消費(fèi)無線電和電子領(lǐng)域的出現(xiàn),現(xiàn)場可編程邏輯 (FPGA) 作為可重新編程數(shù)字信號處理 (DSP) SDR 引擎的用途變得越來越重要。
現(xiàn)場可編程邏輯一直是連接寬帶 A/D 和 D/A 轉(zhuǎn)換器、數(shù)字接收器和通信鏈路等高速外設(shè)到嵌入式實(shí)時(shí)系統(tǒng)中可編程處理器的電路。
FPGA(現(xiàn)場可編程門陣列)特別適合處理時(shí)鐘、同步以及馴服這些專用設(shè)備所需的其他各種定時(shí)電路。此外,F(xiàn)PGA 非常適合數(shù)據(jù)格式化任務(wù),例如串并轉(zhuǎn)換、數(shù)據(jù)打包、時(shí)間戳、多路復(fù)用和數(shù)據(jù)包形成。
但它們的 DSP 功能已成為 FPGA 固有的重要功能之一,過去幾年 FPGA 供應(yīng)商對該技術(shù)的工程和營銷投資急劇增加就證明了這一點(diǎn)。
數(shù)字信號處理任務(wù)
在傳統(tǒng)的軟件無線電接收器系統(tǒng)中,經(jīng)過轉(zhuǎn)換和濾波的基帶信號作為時(shí)域波形的復(fù)雜樣本流發(fā)送到 DSP。DSP 必須處理所有解調(diào)任務(wù)以及基于接收信號分析的更別決策。
信號智能接收器通常通過首先對信號進(jìn)行頻譜分析來估計(jì)使用的調(diào)制類型來對信號進(jìn)行分類,然后應(yīng)用解調(diào)算法來確定是否提取了有用的信息,例如可理解的語音或有意義的數(shù)據(jù)。
DSP 的其他重要任務(wù)包括解密、數(shù)據(jù)存儲、通道切換、到其他系統(tǒng)的信號路由、記錄??活動以及向操作員發(fā)送音頻或數(shù)字?jǐn)?shù)據(jù)以供收聽或顯示。
在手機(jī)基站中,數(shù)字信號處理任務(wù)的數(shù)量隨著每個(gè)新通信標(biāo)準(zhǔn)的增加而增加。復(fù)雜的數(shù)字語音和數(shù)據(jù)協(xié)議的激增需要解碼、卷積、成幀、糾錯(cuò)和聲碼。
采樣率要求的穩(wěn)步增加加劇了這些額外任務(wù)的處理負(fù)載。為了支持寬帶 CDMA 等新應(yīng)用,DSP 距離天線越來越近。
為了滿足這些需求,DSP 時(shí)鐘速率已增加到 200 MHz 以上,并且許多新器件具有兩個(gè)或更多硬件乘法器。然而,作為系統(tǒng)中昂貴、耗電的資源之一,限度地減少 DSP 的大量工作負(fù)載顯然非常重要。
FPGA 在 SDR 中的作用
在過去五年中,為了適應(yīng) DSP 功能,F(xiàn)PGA 在幾個(gè)關(guān)鍵領(lǐng)域取得了巨大的進(jìn)步。這些器件的柵極密度很好地遵循摩爾定律,大約每年半增加一倍。近發(fā)布的一些設(shè)備號稱擁有 1000 萬個(gè)門!門陣列通常被構(gòu)造為配備存儲器并能夠執(zhí)行數(shù)學(xué)函數(shù)的邏輯單元。這些高密度邏輯單元現(xiàn)在可用于各種基本“”,以支持快速乘法器、用于處理 FFT 處理的塊存儲器以及用于 FIR 濾波器的分布式存儲器。
FPGA 綜合工具現(xiàn)在支持“可參數(shù)化”內(nèi)核,這些內(nèi)核接受位寬定義并自動生成內(nèi)核結(jié)構(gòu)以滿足信號處理精度要求,而不會浪費(fèi)門。
現(xiàn)在可以使用多種前端設(shè)計(jì)工具來滿足硬件和軟件系統(tǒng)工程師的各種輸入偏好。其中包括框圖系統(tǒng)生成器、原理圖處理器以及用于 Verilog 和 VHDL 的輸入語言編譯器。新模擬器的速度、準(zhǔn)確性和易用性簡化了新設(shè)計(jì)的測試,并限度地減少了調(diào)試應(yīng)用程序所花費(fèi)的時(shí)間。
第三方供應(yīng)商現(xiàn)在提供 IP 內(nèi)核,以補(bǔ)充 FPGA 供應(yīng)商提供的標(biāo)準(zhǔn)內(nèi)核。這些范圍從完整的 DSP 處理器到高速互聯(lián)網(wǎng)調(diào)制解調(diào)器等特定應(yīng)用模塊。憑借這些新的商業(yè)“現(xiàn)成”功能,F(xiàn)PGA 現(xiàn)在能夠打入通用 ASIC 市場以及 DSP 市場。
更重要的是,F(xiàn)PGA 的數(shù)字信號處理能力通??梢詣龠^通用 DSP。例如,如果寬帶 FIR 數(shù)字濾波器在單個(gè)時(shí)鐘周期內(nèi)需要 32 個(gè) MAC(乘法/累加運(yùn)算),則僅具有兩個(gè)乘法器的通用 DSP 將遠(yuǎn)遠(yuǎn)達(dá)不到要求。另一方面,F(xiàn)PGA 可以輕松整合 32 個(gè) MAC 內(nèi)核來處理任務(wù)。
靈活且可重復(fù)使用
這種基于 COTS 的軟件無線電系統(tǒng)是實(shí)現(xiàn)各種應(yīng)用的理想平臺。通過將新的 FPGA 設(shè)計(jì)工具和 IP 庫用于這些高度可配置的基于 FPGA 的 COTS 板級產(chǎn)品,系統(tǒng)設(shè)計(jì)人員可以消除對定制板的需求。由于 FPGA“硬件”可以從根本上重新配置,無需新的電路板設(shè)計(jì),因此當(dāng)前項(xiàng)目中使用的相同產(chǎn)品可以輕松地重新配置以適應(yīng)未來的應(yīng)用。
隨著新的軟件無線電算法的開發(fā),它們可以首先在 DSP 上進(jìn)行測試,利用更廣泛的代碼生成、仿真和優(yōu)化工具。完成后,該算法可以移植到 FPGA,以實(shí)現(xiàn)更好的實(shí)時(shí)操作或支持許多并行通道的處理負(fù)擔(dān)。,為了過渡到大批量生產(chǎn),大多數(shù) FPGA 設(shè)計(jì)都可以輕松轉(zhuǎn)換為定制 ASIC 的掩模工具。
雖然重新編程 FPGA 來處理新功能可能比為 DSP 編寫新算法復(fù)雜一些,但這種努力程度的差距似乎正在縮小。FPGA 設(shè)計(jì)工具不再是硬件設(shè)計(jì)人員的專屬領(lǐng)域,現(xiàn)在越來越廣泛地被軟件工程師使用,確保這一重大技術(shù)轉(zhuǎn)變將代表未來嵌入式系統(tǒng)設(shè)計(jì)的主流范例。
軟件無線電模塊應(yīng)用
DSP 驅(qū)動的 FPGA SDR 平臺的強(qiáng)大功能和靈活性的一個(gè)說明性示例(如下圖 1 所示)是連接到四路 DSP 處理器 VME 板的雙通道數(shù)字接收器子卡模塊。它包含兩個(gè)能夠以高達(dá) 100 MHz 采樣率運(yùn)行的 12 位 A/D 轉(zhuǎn)換器,以及兩個(gè)可轉(zhuǎn)換和過濾寬帶數(shù)字化輸入的選定部分的數(shù)字下轉(zhuǎn)換器。
板載 FPGA 接受兩個(gè) A/D 轉(zhuǎn)換器的實(shí)際輸出以及兩個(gè)數(shù)字下變頻器的復(fù)雜基帶輸出。FPGA 實(shí)現(xiàn) VIM(速度接口夾層)接口,將數(shù)據(jù)直接傳送到處理器板上的每個(gè) DSP 或 PowerPC,其中 FIFO 緩沖區(qū)支持 DMA 塊數(shù)據(jù)傳輸,速率高達(dá) 400 MB/秒。
著眼于添加 DSP 功能,此類平臺中 FPGA 的自然選擇是 Xilinx Virtex-II 系列。XC2V3000 具有 96 個(gè)專用 18×18 乘法器模塊和超過 200 KB 的塊 RAM,可提供豐富的信號處理資源組合,甚至適用于一些更重要的應(yīng)用。
在模塊的基本工廠配置中,F(xiàn)PGA 仍然為板上的各種器件執(zhí)行傳統(tǒng)的定時(shí)、格式化和粘合邏輯任務(wù)。由于這些功能相對簡單,因此僅消耗 6% 的可編程邏輯。這使得 94% 的邏輯塊、所有 96 個(gè)乘法器以及幾乎整個(gè)塊 RAM 可用于添加 DSP 算法。
為了幫助展示這些未開發(fā)資源的力量,啟動了一個(gè)工程項(xiàng)目來實(shí)施高性能 FFT 引擎。由于通信、雷達(dá)和信號智能系統(tǒng)都利用 FFT 進(jìn)行跟蹤、調(diào)諧和圖像處理操作,因此 FFT 仍然是的處理器性能基準(zhǔn)測試算法之一。
簡而言之,F(xiàn)FT 接受輸入時(shí)域樣本塊,并將其轉(zhuǎn)換為輸出頻域樣本塊。由于計(jì)算相當(dāng)復(fù)雜,它消耗了大量DSP處理資源,成為FPGA實(shí)現(xiàn)的主要候選者。
構(gòu)建 FFT
執(zhí)行 FFT 計(jì)算有效的方法之一是 radix-4“蝴蝶”算法的迭代。在每個(gè)蝶形內(nèi)部,四個(gè)輸入數(shù)據(jù)點(diǎn)乘以正弦表中的系數(shù),然后組合起來產(chǎn)生四個(gè)輸出點(diǎn)。重復(fù)這種蝶形運(yùn)算,直到處理完所有輸入點(diǎn),四個(gè),代表一個(gè)“階段”。要實(shí)現(xiàn) 4,096 點(diǎn) FFT,需要六級蝶形運(yùn)算。
與傳統(tǒng)可編程處理器相比,使用 FPGA 計(jì)算 FFT 的好處之一是可以同時(shí)計(jì)算大量乘法器。
在上面的 4,096 示例中,總共需要 60 個(gè)乘法器來并行實(shí)現(xiàn)所有六個(gè) FFT 蝶形級。由于 XC2V3000 具有 96 個(gè)可用乘法器,因此很明顯為什么 FPGA 通常可以顯著優(yōu)于僅具有兩個(gè)或四個(gè)硬件乘法器的標(biāo)準(zhǔn) DSP 處理器,特別是對于 FFT 等算法。
由于 FFT 本質(zhì)上是一種面向塊的算法,因此當(dāng)可自由尋址的 RAM 支持快速訪問所有輸入和輸出樣本時(shí),F(xiàn)FT 的運(yùn)行效率。然而,這種隨機(jī)數(shù)據(jù)可用性的理想模型與來自 A/D 轉(zhuǎn)換器的順序輸入數(shù)據(jù)樣本流相反。
幸運(yùn)的是,F(xiàn)PGA 的可配置塊 RAM 資源可以重組,形成一個(gè)存儲器結(jié)構(gòu),將適當(dāng)?shù)臉颖静⑿休斎氲揭娴乃膫€(gè)輸入數(shù)據(jù)存儲器端口,從而解決數(shù)據(jù)可用性問題。這種專有的內(nèi)存架構(gòu)允許以連續(xù)的脈動方式處理后續(xù)輸入塊,以便所有六個(gè)階段中的所有乘法器都可以始終高效地使用。
對于每個(gè) FPGA 時(shí)鐘周期,每個(gè) radix-4 蝶形運(yùn)算處理四個(gè)輸入樣本。因此,當(dāng)FPGA處理時(shí)鐘等于A/D時(shí)鐘時(shí),上述架構(gòu)的運(yùn)行速度比實(shí)時(shí)快四倍。通過合適的硬件復(fù)用方案,同一 FFT 引擎可用于處理四個(gè)輸入數(shù)據(jù)流,而不是僅一個(gè)。
在此示例中,由于兩個(gè) A/D 轉(zhuǎn)換器和 FPGA 的時(shí)鐘頻率均為 100 MHz,因此 FPGA 僅以一半容量工作。但只要付出一點(diǎn)額外的努力,引擎就可以設(shè)置為處理兩個(gè)通道的 50% 輸入重疊處理,以充分利用硬件。在這種情況下,每個(gè) FFT 的流水線執(zhí)行時(shí)間是驚人的 10.24 微秒!這比以 100 MHz 采樣率收集 4,096 個(gè)輸入點(diǎn)所需的時(shí)間快四倍,與實(shí)時(shí)執(zhí)行四次 FFT 一致。
FFT 增強(qiáng)
由于 96 個(gè)乘法器中僅使用了 60 個(gè)用于 FFT 算法,因此結(jié)合了其他功能。在四個(gè)復(fù)數(shù)輸入流中的每一個(gè)上,都可以應(yīng)用一個(gè)可選的漢寧窗,需要八個(gè)額外的乘法器。由于 FFT 和 Hanning 窗的系數(shù)使用單獨(dú)的 FPGA 表存儲器,因此可以用替代輸入窗函數(shù)代替 Hanning 窗。
另外八個(gè)乘法器用于在 FFT 輸出處執(zhí)行可選的功率計(jì)算,其中四個(gè)輸出中每一個(gè)輸出的實(shí)部和虛部進(jìn)行平方,然后相加。,平均器級將 50% 輸入重疊 FFT 的兩個(gè)輸出相加,以改善信噪比特性。
在 FPGA 的輸出端,多路復(fù)用器允許將每個(gè)信號處理階段的結(jié)果定向到處理器接口。下圖2 顯示了圖1所示子卡模塊的FPGA內(nèi)部的所有基本功能塊。
結(jié)論
對于 4,096 點(diǎn)復(fù)雜 FFT,該 FPGA 引擎的執(zhí)行速度為 10.24 微秒,其性能比在 400 MHz G4 PowerPC 上運(yùn)行的優(yōu)化 FFT 算法的基準(zhǔn)高出十倍!
為了實(shí)現(xiàn)優(yōu)于 90 dB 的計(jì)算動態(tài)范圍,采用了多種技術(shù)來減少 FPGA 整數(shù)運(yùn)算中固有的舍入和截?cái)嗾`差。通過部署可用的 FPGA 資源優(yōu)化執(zhí)行速度后,整個(gè)設(shè)計(jì)利用了 XC2V3000 器件 96 個(gè)乘法器中的 76 個(gè)、99% 的邏輯片和 97% 的塊 RAM。
盡管這種特殊的 FPGA 組件由于近推出而仍然價(jià)格昂貴,但球柵陣列封裝圖案的兩個(gè)同心子集可容納同一系列中的兩個(gè)較小的器件,從而為要求不高的應(yīng)用節(jié)省成本。

有你想看的精彩 至芯科技FPGA就業(yè)培訓(xùn)班——助你步入成功之路、8月12號西安中心開課、歡迎咨詢! 基于FPGA的多通道頻率檢測技術(shù)方案 利用FPGA實(shí)現(xiàn)的一種機(jī)載高清視頻處理模塊
掃碼加微信邀請您加入FPGA學(xué)習(xí)交流群


歡迎加入至芯科技FPGA微信學(xué)習(xí)交流群,這里有一群優(yōu)秀的FPGA工程師、學(xué)生、老師、這里FPGA技術(shù)交流學(xué)習(xí)氛圍濃厚、相互分享、相互幫助、叫上小伙伴一起加入吧!
點(diǎn)個(gè)在看你最好看
原文標(biāo)題:將 FPGA 嵌入 DSP 驅(qū)動的軟件無線電應(yīng)用中
文章出處:【微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
FPGA
+關(guān)注
關(guān)注
1645文章
22049瀏覽量
618404
原文標(biāo)題:將 FPGA 嵌入 DSP 驅(qū)動的軟件無線電應(yīng)用中
文章出處:【微信號:gh_9d70b445f494,微信公眾號:FPGA設(shè)計(jì)論壇】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
連載|業(yè)余無線電史話(五):首批無線電呼號前綴

基于SCA的軟件無線電系統(tǒng)的概念與架構(gòu)

Made with KiCad(114):HackRF One 軟件定義無線電(SDR)外設(shè)

滿足歐盟無線電設(shè)備指令(RED)信息安全標(biāo)準(zhǔn)
常見阻抗類型及其應(yīng)用 無線電頻率中的阻抗調(diào)整
電位器在無線電設(shè)備中的應(yīng)用
高頻晶體管在無線電中的應(yīng)用
軟件無線電接收SLE串口透傳信號問題
陸地移動無線電調(diào)制分析儀的技術(shù)原理和應(yīng)用場景
智能選擇ADC/DAC可實(shí)現(xiàn)更好的軟件定義無線電設(shè)計(jì)

無線電接收設(shè)備中常用的高頻電路有哪些
高頻與射頻技術(shù)只能應(yīng)用于無線電系統(tǒng)嗎
無線電時(shí)鐘的dcf信號是什么意思
如何利用藍(lán)牙產(chǎn)品執(zhí)行射頻無線電測試

評論