中圖分類(lèi)號(hào):TN929.5 文獻(xiàn)標(biāo)志碼:A
文章編碼:1672-7274(2025)07-0056-03
FPGA Optimization and Implementation of WHT-OFDM Modulation and Demodulation Algorithm
ZHANG Jingjing (Fuzhou Software Vocational and Technical College,F(xiàn)uzhou 35o213, China)
Abstract: Orthogonal Frequency Division Multiplexing (OFDM) is widely used in broadband mobile communicationdue to its high spectrum utilizationand resistance to multipath fading.However,in high-speed mobile environments, OFDM systems willface time-domain selective fading between subcarriers,which prevents some subcarriers from being correctly recovered,resulting indata lossand increasing thesystem's errorrate.Bycombining Walsh Hadamard Transform (WHT) with OFDM, WHT-OFDM technology can utilize the orthogonality property of WHTto reduce interference between subcariers, thereby improving the robustness of the system in high-speed mobile environments.This technology integrates the orthogonal signal procesing capabilityofWHTand thehigh frequency efficiency of OFDM,providing a more reliable solution for broadband wireless communication.
Keywords:WHT-OFDM;wirelesscommunication;signal modulation
在無(wú)線(xiàn)通信系統(tǒng)中,一般都是在基帶處理環(huán)節(jié)進(jìn)行資料的調(diào)制與解調(diào)。FPGA具有良好的并行性和可重配置性,是實(shí)現(xiàn)基帶信號(hào)處理的理想平臺(tái)[1]。本項(xiàng)目的研究成果并為其在無(wú)線(xiàn)通信領(lǐng)域的廣泛應(yīng)用奠定理論和技術(shù)基礎(chǔ)。
R(k,t)=sgn(sin(2kπt))k=0,1,2,...,n
sgn函數(shù)的表達(dá)式可以根據(jù)輸入值的正負(fù)來(lái)返回相應(yīng)的符號(hào)。具體來(lái)說(shuō),sgn函數(shù)的定義為

WHT-OFDM原理
WHT-OFDM(WHT-OFDM)是將沃爾什-哈達(dá)瑪(Walsh-Hadamard)和正交頻分復(fù)用(OrthogonalFrequencyDivisionMultiplexing,OFDM)相融合而成的一種多載波調(diào)制方式[2]。沃爾什-哈達(dá)瑪變換(WHT)是國(guó)際著名數(shù)學(xué)家J.L.Walsh提出來(lái)的,在功率譜分析、語(yǔ)音、圖像等方面具有重要的理論意義和實(shí)際應(yīng)用價(jià)值。小波變換是一種類(lèi)似于傅里葉變換的非正弦波的正交變換。
哈達(dá)瑪變換實(shí)質(zhì)上是建立在沃爾什函數(shù)之上的沃爾什變換的特殊形式,Rademacher函數(shù)是構(gòu)造沃爾什函數(shù)最基本的單位,也就是所謂的R函數(shù)[3]。可以將Rademacher函數(shù)的數(shù)學(xué)公式表達(dá)為
2 WHT-OFDM調(diào)制器設(shè)計(jì)
2.1擾碼模塊
在數(shù)字通信領(lǐng)域,如果發(fā)送的數(shù)據(jù)中存在連續(xù)的“0”或“1”,這種現(xiàn)象可能會(huì)干擾接收端的數(shù)據(jù)解調(diào)過(guò)程,導(dǎo)致無(wú)法準(zhǔn)確判決數(shù)據(jù)符號(hào),進(jìn)而影響系統(tǒng)的誤碼率[4。為了解決這一問(wèn)題,可以在數(shù)據(jù)傳輸前對(duì)其進(jìn)行加擾處理。擾碼技術(shù)的核心在于,在不增加數(shù)據(jù)冗余的情況下,通過(guò)改變數(shù)據(jù)的統(tǒng)計(jì)特性來(lái)“打亂”數(shù)據(jù)。實(shí)現(xiàn)數(shù)據(jù)擾碼的擾碼器是基于具有線(xiàn)性反饋功能的移位寄存器。這種寄存器能夠根據(jù)特定的反饋規(guī)則,生成偽隨機(jī)序列。
根據(jù)圖1所示,擾碼過(guò)程涉及將擾碼器內(nèi)部的第4位和第7位數(shù)據(jù)進(jìn)行XOR(異或)運(yùn)算,然后將這個(gè)結(jié)果與輸入數(shù)據(jù)進(jìn)行XOR操作,以此生成擾碼數(shù)據(jù)。每當(dāng)有新數(shù)據(jù)輸入時(shí),擾碼器的狀態(tài)會(huì)隨之更新。更新的規(guī)則是:將第4位和第7位數(shù)據(jù)的XOR結(jié)果作為新的最低位數(shù)據(jù)反饋到擾碼器中,以此更新擾碼器的內(nèi)部狀態(tài)。
圖1擾碼器原理圖

這種設(shè)計(jì)使得每次數(shù)據(jù)輸入都會(huì)觸發(fā)擾碼器狀態(tài)的變化,確保了數(shù)據(jù)的隨機(jī)性和不可預(yù)測(cè)性。
2.2卷積編碼模塊
信道編碼可以提高數(shù)據(jù)傳輸?shù)目煽啃?,減少信道噪聲和干擾對(duì)通信質(zhì)量的負(fù)面影響。這一過(guò)程通過(guò)在原始信息中加入額外的監(jiān)督碼元來(lái)實(shí)現(xiàn),接收端則利用這些監(jiān)督碼元與信息碼元之間的關(guān)聯(lián)規(guī)則來(lái)檢測(cè)并糾正錯(cuò)誤,從而增強(qiáng)傳輸?shù)姆€(wěn)定性。
常用的信道編碼技術(shù)包括線(xiàn)性分組碼、卷積碼、低密度奇偶校驗(yàn)(LDPC)碼和里德-所羅門(mén)(RS)碼等。其中,卷積碼因其出色的糾錯(cuò)能力而被廣泛采用。它能夠應(yīng)對(duì)隨機(jī)錯(cuò)誤以及短時(shí)間內(nèi)的連續(xù)錯(cuò)誤,這是因?yàn)榫矸e碼是一種具有記憶功能的編碼方式,其監(jiān)督碼元不僅依賴(lài)于當(dāng)前組的信息碼元,還與之前的信息碼元相關(guān)聯(lián)。
卷積碼的靈活性體現(xiàn)在可以根據(jù)特定的糾錯(cuò)需求調(diào)整其結(jié)構(gòu),以適應(yīng)不同的數(shù)據(jù)傳輸速率。卷積碼能夠有效處理傳輸過(guò)程中可能出現(xiàn)的隨機(jī)錯(cuò)誤和突發(fā)錯(cuò)誤,同時(shí),其編碼結(jié)構(gòu)的可調(diào)性允許根據(jù)具體的傳輸需求來(lái)優(yōu)化性能。
2.316-QAM調(diào)制模塊
在OFDM系統(tǒng)中,為獲得較高的頻譜利用率,必須先對(duì)輸入比特流進(jìn)行編碼,然后再對(duì)其進(jìn)行反向快速傅里葉變換(IFFT)調(diào)制,再將已編碼的數(shù)據(jù)調(diào)制轉(zhuǎn)換成復(fù)碼元。針對(duì)不同的數(shù)據(jù)傳輸率要求,OFDM系統(tǒng)可采用正交調(diào)幅(QAM)、BPSK(PhasePhaseShiftKeying,BPSK)等多種調(diào)制模式,只對(duì)載波的相位、幅值進(jìn)行調(diào)整,而不影響子載波間的正交性5]。QAM調(diào)制策略不僅提高了頻譜的利用效率,而且通過(guò)利用載波的幅度和相位信息,增加了傳輸?shù)臄?shù)據(jù)量。
2.4訓(xùn)練序列生成模塊
2.4.1短訓(xùn)練序列生成模塊
短訓(xùn)練序列以10個(gè)相同碼元構(gòu)成的每個(gè)符號(hào)后由16個(gè)數(shù)據(jù)點(diǎn)組成,進(jìn)行時(shí)域分析。在頻域分析中,采用12個(gè)子載波來(lái)傳送被稱(chēng)為QPSK調(diào)制的偽隨機(jī)碼[6]。
在Verilog環(huán)境下,利用Vavado軟件對(duì)其進(jìn)行了綜合與模擬試驗(yàn),得到了一系列的仿真結(jié)果。在圖2中,short_re為短訓(xùn)練序列符號(hào)的實(shí)數(shù)部分,short_im為虛數(shù)部分,并且shortdv為用于輸出的數(shù)據(jù)的同步信號(hào)(short_dv)。本文通過(guò)將ROM中的短訓(xùn)練序列進(jìn)行10次連續(xù)輸出,得到一個(gè)長(zhǎng)達(dá)8μs、160個(gè)數(shù)據(jù)點(diǎn)的短訓(xùn)練序列。圖2所示的是一個(gè)短訓(xùn)練序列碼元連續(xù)輸出10次,對(duì)應(yīng)的輸出時(shí)間為8微秒,證明了該模塊的設(shè)計(jì)是正確的。
圖2仿真結(jié)果

2.4.2長(zhǎng)訓(xùn)練序列生成模塊
在硬件實(shí)現(xiàn)方面,與短訓(xùn)練序列的產(chǎn)生一樣,對(duì)大的訓(xùn)練序列進(jìn)行了預(yù)定義。這樣,已經(jīng)經(jīng)歷了64點(diǎn)IFFT過(guò)程的長(zhǎng)訓(xùn)練順序碼元可以被存入ROM中,以8位寬的數(shù)據(jù)格式進(jìn)行讀取。由于在長(zhǎng)的訓(xùn)練序列之前還有1.6微秒的保護(hù)區(qū)間,也就是隨后的32個(gè)數(shù)據(jù),因此,32~63地址的數(shù)據(jù)先輸出為保護(hù)區(qū)間[7]。接著,將ROM中保存的長(zhǎng)訓(xùn)練序列碼元依次連續(xù)2次地輸出,從而得到一個(gè)完整的長(zhǎng)訓(xùn)練序列。
利用Verilog技術(shù)對(duì)長(zhǎng)訓(xùn)練序列生成模塊進(jìn)行了詳細(xì)的設(shè)計(jì),并利用Vivado軟件對(duì)其進(jìn)行了全面的模擬,long_re為長(zhǎng)訓(xùn)練序列碼元的實(shí)部,long_im為虛部,long_dv為同步信號(hào),用于數(shù)據(jù)輸出。在長(zhǎng)訓(xùn)練序列設(shè)計(jì)中,先把長(zhǎng)訓(xùn)練序列碼元存入ROM,再用計(jì)數(shù)器來(lái)控制輸出次序,先把ROM中的32位數(shù)據(jù)輸出為保護(hù)區(qū)間,再把ROM中的全部數(shù)據(jù)全部依次連續(xù)輸出兩遍,從而生成一個(gè)生長(zhǎng)訓(xùn)練序列。這樣,長(zhǎng)訓(xùn)練序列,其長(zhǎng)度為8μs,其中包括兩個(gè)有效OFDM符號(hào)的長(zhǎng)度(每個(gè)3.2μs)和一個(gè)長(zhǎng)型保護(hù)間隔的長(zhǎng)度(1.6μs)。
3 WHT-OFDM解調(diào)器設(shè)計(jì)
3.1幀同步模塊的設(shè)計(jì)
幀同步模塊包括:控制模塊,數(shù)據(jù)緩沖模塊,延時(shí)相關(guān)計(jì)算模塊,自相關(guān)計(jì)算模塊,幀檢測(cè)模塊。時(shí)延相關(guān)運(yùn)算模塊需對(duì)16個(gè)鐘之前的數(shù)據(jù)做交叉相關(guān)操作,所以在進(jìn)行輸出與緩存的過(guò)程中,數(shù)據(jù)緩沖模塊需對(duì)輸入數(shù)據(jù)進(jìn)行16個(gè)循環(huán)的延時(shí)處理。在控制模塊發(fā)送一個(gè)輸出標(biāo)記信號(hào)之后,將緩存中的數(shù)據(jù)進(jìn)行輸出。其中,所述時(shí)間延遲相關(guān)運(yùn)算模塊進(jìn)行所述nC值的運(yùn)算,所述自相關(guān)運(yùn)算模塊進(jìn)行所述nP值的運(yùn)算,所述幀探測(cè)模塊利用所述納米與所述M進(jìn)行比較,從而決定所述數(shù)據(jù)幀的所述開(kāi)始及所述結(jié)束位置,并且所述啟動(dòng)與終止標(biāo)記信號(hào)傳送至所述控制模塊,從而對(duì)所述數(shù)據(jù)緩沖器模塊的所述輸出進(jìn)行控制。
在數(shù)據(jù)緩沖部分,本文使用了兩個(gè)移位寄存器,分別處理延時(shí)和數(shù)據(jù)緩沖。在此基礎(chǔ)上,將各層的輸入資料經(jīng)各層級(jí)的延時(shí)后,再分別傳送至?xí)r延相關(guān)運(yùn)算及自相關(guān)運(yùn)算模組,且緩存資料,待收到輸出標(biāo)記信號(hào)時(shí),方可開(kāi)始將所快取的資料輸出[8]。自相關(guān)運(yùn)算模塊對(duì)目前的輸入數(shù)據(jù)進(jìn)行自相關(guān)操作,而延時(shí)相關(guān)計(jì)算模塊則需對(duì)前16個(gè)循環(huán)的數(shù)據(jù)進(jìn)行互相關(guān)運(yùn)算,所以要用16比特的移位寄存器才能完成該功能。因?yàn)檠訒r(shí)相關(guān)運(yùn)算要用到2個(gè)短的訓(xùn)練序列碼元,這時(shí)數(shù)據(jù)緩沖模塊已輸出32個(gè)數(shù)據(jù),所以要用另外的移位寄存器來(lái)完成第2個(gè)數(shù)據(jù)緩沖,以保證在收到輸出標(biāo)記信號(hào)之前,數(shù)據(jù)不會(huì)過(guò)早地從寄存器輸出。另外,為了防止誤差發(fā)生,第2個(gè)移位寄存器的緩沖序列被設(shè)為48。
3.2卷積譯碼模塊
在WHT-OFDM系統(tǒng)中,為了保證信息的可靠傳送,必須先進(jìn)行譯碼,才能恢復(fù)原信息。在該方案中,利用卷積碼和2個(gè)移位寄存器的深度,使得該編碼器存在4個(gè)可能的工作狀態(tài)。每次輸入新的數(shù)據(jù),就會(huì)更新編碼器的狀態(tài),生成相應(yīng)于當(dāng)前狀態(tài)的編碼輸出。(2、1、2)卷積碼和譯碼算法是一種比較簡(jiǎn)單的硬件實(shí)現(xiàn)方式。
卷積編碼器的每一個(gè)態(tài)可由兩個(gè)不同的通道切換,而每一個(gè)態(tài)則分別由兩個(gè)不同的碼輸出所對(duì)應(yīng)。舉例來(lái)說(shuō),若該編碼器的目前狀態(tài)為S0,則該編碼器在輸入信息1時(shí)為11,且該狀態(tài)將被變換成S2;如果輸入的信息是0,那么編碼器就會(huì)輸出00,而這個(gè)狀態(tài)就不會(huì)改變。
該編碼器可以通過(guò)增加信號(hào)的冗余來(lái)輔助接收方發(fā)現(xiàn)和修正可能出現(xiàn)的差錯(cuò),進(jìn)而提升整個(gè)通信系統(tǒng)的可靠性[9]。
3.3解擾碼模塊
解擾碼模塊的正確實(shí)現(xiàn)對(duì)于保證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性和通信系統(tǒng)的正常工作至關(guān)重要,為避免發(fā)射信號(hào)中出現(xiàn)“0”“1”等連續(xù)信號(hào),對(duì)信號(hào)解調(diào)產(chǎn)生干擾,所以在解調(diào)時(shí)需要進(jìn)行解擾碼運(yùn)算,才能恢復(fù)原來(lái)的數(shù)據(jù)。
為保證數(shù)據(jù)能夠得到適當(dāng)?shù)慕鈹_碼,解碼器的初始狀態(tài)必須與擾碼器的初始狀態(tài)一致。所以,在設(shè)計(jì)去擾代碼模塊時(shí),需要將加擾代碼模塊中的模擬文件進(jìn)行復(fù)用,從而達(dá)到去擾代碼的目的。在Vivado軟件中對(duì)加擾代碼模塊進(jìn)行了整合,并以加擾模塊的輸出為輸入,對(duì)其進(jìn)行了模擬試驗(yàn)。
通過(guò)這種方式,可以確保在解調(diào)器端能夠準(zhǔn)確地還原出發(fā)送端的數(shù)據(jù),從而提高通信系統(tǒng)的整體性能和可靠性。
4結(jié)束語(yǔ)
本研究提出了一種WHT-OFDM基帶解調(diào)器的設(shè)計(jì),并依據(jù)解調(diào)器的功能需求將其分解為幀同步、卷積解碼和解擾碼等模塊。對(duì)這些模塊的工作原理和設(shè)計(jì)方案進(jìn)行了詳盡的分析與討論,并使用Verilog編程語(yǔ)言實(shí)現(xiàn)了各個(gè)模塊的電路設(shè)計(jì)。在Vivado軟件平臺(tái)上,對(duì)設(shè)計(jì)好的模塊進(jìn)行了綜合,隨后通過(guò)輸入測(cè)試數(shù)據(jù)來(lái)對(duì)每個(gè)模塊進(jìn)行仿真測(cè)試。最終,通過(guò)仿真結(jié)果來(lái)確認(rèn)各模塊的功能是否按預(yù)期工作。通過(guò)這一流程,確保了WHT-OFDM基帶解調(diào)器設(shè)計(jì)的準(zhǔn)確性和有效性,為后續(xù)的實(shí)際應(yīng)用和進(jìn)一步的研究提供了堅(jiān)實(shí)的基礎(chǔ)。這種模塊化的設(shè)計(jì)方法不僅提高了設(shè)計(jì)的系統(tǒng)性,也便于后期的維護(hù)和升級(jí)。
參考文獻(xiàn)
[1]汪奧,鄢秋榮,李子雄,等.基于軟件無(wú)線(xiàn)電的音視頻通信一體化方案[J].實(shí)驗(yàn)室研究與探索,2024,43(08):99-103,151.
[2]趙恒,袁正道,劉飛,等.OFDM疊加導(dǎo)頻聯(lián)合信道估計(jì)和檢測(cè)方法[J].電訊技術(shù),2024,64(03):451-457.
[3]楊立偉,梁雪,趙禮豪,等.一種改進(jìn)的基于OFDM的PLC-VLC混合網(wǎng)絡(luò)系統(tǒng)[J].光通信技術(shù),2023,47(06):1-5.
[4]李燕,李偉,吳濤.基于OFDM的雷達(dá)通信一體化技術(shù)[J].中國(guó)集成電路,2023,32(11):70-74,87.
[5]萬(wàn)正兵,鄧奕.電力線(xiàn)通信寬帶OFDM調(diào)制自適應(yīng)分配仿真[J].計(jì)算機(jī)仿真,2023,40(05):244-247,261.
[6]王彥革,武加純,張瀚青,等.高速星間收發(fā)通信機(jī)OFDM調(diào)制解調(diào)研究[J].空間電子技術(shù),2023,20(01):70-75.
[7]梁繼然,楊智群,毛陸虹,等.改進(jìn)型ACO-OFDM調(diào)制系統(tǒng)及其FPGA實(shí)現(xiàn)[J].南開(kāi)大學(xué)學(xué)報(bào)(自然科學(xué)版),2022,55(05):56-60.
[8]魏云龍,劉智成,楊春景.一種適用于高速動(dòng)平臺(tái)的突發(fā)OFDM通信同步技術(shù)[J].南京航空航天大學(xué)學(xué)報(bào),2022,54(S1):48-52
[9]薛鳳鳳,曹帥,葉立庭,等.OFDM調(diào)制解調(diào)系統(tǒng)設(shè)計(jì)與仿真[J].電子制作,2021 (19):42-44.