資源描述:
《賽靈思FPGA設(shè)計(jì)技巧與應(yīng)用創(chuàng)新.doc》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫。
1、賽靈思FPGA設(shè)計(jì)技巧與應(yīng)用創(chuàng)新 上一次我們提到可以利用本地存儲的訓(xùn)練序列與接收到的序列進(jìn)行匹配濾波(相關(guān))的方法來搜尋精確的OFDM符號起始位置。整個(gè)模塊的框圖如下: ?。?)框圖的第一部分是匹配濾波器(相關(guān)器),假如我們直接調(diào)用復(fù)數(shù)乘法器完成,則需要16個(gè)復(fù)數(shù)乘法器,這么大的資源要求,我們肯定要設(shè)法化簡。(注:這不像前面我們遇到的情況,前面是計(jì)算接受序列的自相關(guān),可以只用一個(gè)復(fù)數(shù)乘法器即可實(shí)現(xiàn),但在這里,要將接受的序列與本地存儲的值做相關(guān),必須要16個(gè)復(fù)數(shù)乘法器)實(shí)際當(dāng)中考慮到節(jié)約芯片的資源,可以將本地存儲的序列進(jìn)行量化(正的(包括0)量化為1,
2、負(fù)的量化為-1),當(dāng)然也可以將接收到的序列進(jìn)行量化,但是這樣會稍稍復(fù)雜一點(diǎn)。就是說我們?yōu)榱擞?jì)算簡單而將本地存儲的序列近似為1+j,1-j,-1-j,-1+j這四種情況(因?yàn)橛?xùn)練序列良好的自相關(guān)性所以這種處理是允許的)。因此這樣就可以利用加減法代替復(fù)數(shù)乘法,從而達(dá)到節(jié)約芯片面積的目的。為了在理論上比較一下近似處理之后的結(jié)果,我用量化后的本地序列與接收到的序列做互相關(guān)(就是匹配濾波)如下圖,接受信號中已疊加噪聲?! 睦碚摰慕Y(jié)果來看,我們做上述近似是可行的。這樣原先的復(fù)數(shù)乘法器就可以省掉了,簡單將各級的數(shù)據(jù)實(shí)部與虛部組合加減就可以了,非常方便,當(dāng)然,在連接
3、模塊的時(shí)候還是很煩的,必須非常小心?! 。?)數(shù)據(jù)經(jīng)過匹配濾波器后,我們需要計(jì)算出結(jié)果的幅值,我們當(dāng)然不會去求實(shí)部和虛部平方和再開方,一方面這樣的資源消耗是可觀的,另一方面,完全沒有必要。我們只需要求出實(shí)部和虛部的絕對值的和,適當(dāng)調(diào)整門限值就可以了。和我在第一篇實(shí)現(xiàn)分組檢測的處理方法類似,不再贅述。如下圖: ?。?)符號搜尋模塊:本單元負(fù)責(zé)檢測計(jì)算出的幅值是否大于設(shè)定的門限值,并計(jì)數(shù)峰值出現(xiàn)的次數(shù),當(dāng)次數(shù)為短訓(xùn)練序列的段數(shù)時(shí)(10),此刻即為長訓(xùn)練序列循環(huán)前綴精確地起始位置。關(guān)于門限值的設(shè)定需要先進(jìn)行理論仿真,并考慮實(shí)際信道的影響,靈活調(diào)整,一般要反復(fù)
4、多次調(diào)試。(其實(shí),我覺得這種設(shè)置絕對門限值的做法不好,因?yàn)閷?shí)際的信道環(huán)境是復(fù)雜的,不可能設(shè)置一個(gè)絕對的門限值適合所有的環(huán)境,可以考慮設(shè)置相對的門限值)。如下圖示意: ?。?)循環(huán)前綴去除單元考慮到符號的精確位置已經(jīng)找到,所以長訓(xùn)練序列符號和數(shù)據(jù)符號的循環(huán)前綴部分可以去除了,用信號Symbol_enable指示數(shù)據(jù)是否有效(為1時(shí)數(shù)據(jù)有效),有效時(shí)間為一個(gè)符號中數(shù)據(jù)的長度,Symbol_enable為低電平的時(shí)長為16。因?yàn)闃?biāo)準(zhǔn)中規(guī)定兩個(gè)長訓(xùn)練序列的循環(huán)前綴是連續(xù)在一起的,即首先的32個(gè)數(shù)據(jù)我們就舍棄,我們僅需將前一模塊的Symbol_finded延時(shí)3
5、2個(gè)單位即可。隨后的兩段長訓(xùn)練序列,64X2,為保證和后面數(shù)據(jù)的結(jié)構(gòu)相同,我們做如下處理:先輸出64個(gè)樣值(第一段長訓(xùn)練序列),此后的所有樣值延時(shí)16個(gè)單位時(shí)間輸出。同時(shí),利用一個(gè)模80的計(jì)數(shù)器輸出占空比為4/5的脈沖,用它來指示此時(shí)是否是有效符號的數(shù)據(jù)。 ?。?)最后附上本設(shè)計(jì)的頂層文件及仿真波形: 仿真波形中我們將信號疊加了15db的噪聲,基本功能我們已經(jīng)實(shí)現(xiàn),輸出的信號為數(shù)據(jù)(實(shí)部、虛部)和Symbol_Finded(指示符號準(zhǔn)確起始位置)以及Symbol_enable(指示有效數(shù)據(jù)),本設(shè)計(jì)的后續(xù)單元就是FFT單元了,因此本單元是系統(tǒng)同步
6、的關(guān)鍵部分。回歸到SysGen上來,我們看到,只要結(jié)構(gòu)十分清晰,從基本算法到硬件實(shí)現(xiàn),用Xilinx的這個(gè)DSP工具是很方便的,很形象化,相比代碼方法,集成速度大幅提高。