2. 2高頻信號處理單元
????? 主要實現(xiàn)對高頻信號的放大、高頻開關(guān)和線路濾波等功能,并最終經(jīng)小型加工結(jié)合設(shè)備送往配電線路。信號的放大包括發(fā)送方向的可控增益放大(前向功率控制),接收方向AGC的低噪聲放大部分。其中高頻開關(guān)完成收發(fā)高頻信號的轉(zhuǎn)換,實現(xiàn)雙工通信。同時使收發(fā)共用一個線路濾波器,這樣可以節(jié)省系統(tǒng)成本。
????? 用戶數(shù)據(jù)接口采用RS一232標(biāo)準(zhǔn)串行口。串口的數(shù)據(jù)中斷采用邊沿觸發(fā)中斷,串口中斷程序完成用戶數(shù)據(jù)的發(fā)送與接收。將接收到的用戶數(shù)據(jù)暫存到CPU的發(fā)送緩沖區(qū)中,等到滿一個突發(fā)包時就發(fā)送到DSP進行處理。
3 參數(shù)設(shè)計
3.1保護時間的選擇
????? 根據(jù)OFDM信號設(shè)計準(zhǔn)則,首先選擇適當(dāng)?shù)谋Wo時間,△=20μs,這能夠充分滿足在電力系統(tǒng)環(huán)境下,OFDM信號消除多徑時延擴展的目的。
3.2符號周期的選擇
????? T>200 μs,相應(yīng)子信道間隔,f<5kHz,這樣在25kHz帶寬內(nèi)至少要劃分出5個子信道。另外子信道數(shù)不能太多,增加子信道數(shù)雖然可以提高頻譜傳輸效率,但是DSP器件的復(fù)雜度也將增加,成本上升,同時還將受到信道時間選擇性衰落的嚴(yán)重影響。因此,考慮在25kHz的帶寬內(nèi)采用7個子信道。
3. 3子信道數(shù)的計算
????? 子信道間隔:
????? 各子信道的符號周期:T=250μs
????? 考慮保護時間:△=20μs,則有Ts=T+△=270μs
????? 各子信道實際的符號率:
????? 總的比特率:3.71kbps×25子信道×2b/symbol=185.5kb/s
????? 系統(tǒng)的頻譜效率:β=185.5kbps/100kHz=1.855bps/Hz<2bps/Hz
????? 可以看出,這時系統(tǒng)已經(jīng)具有較高的頻譜效率。25路話音信號總的速率與經(jīng)串并變換和4PSK映射后的各子信道上有用信息的符號率相比,每個子信道還可以插入冗余信息用于同步、載波參數(shù)、幀保護和用戶信息等。需要指出的是:
????? ①由于OFDM信號時頻正交性的限制條件,在此設(shè)計中盡管采用了25個子載波并行傳輸也只能傳25路語音。如果要傳8路語音,經(jīng)串并轉(zhuǎn)換和16QAM映射后,各個子信道上有用信息的符號率為1.855bps/Hz,最多還可以插入的冗余信息為O.145bps/Hz,在實際傳輸中這是很難保證的傳輸質(zhì)量的,因此該設(shè)計相對于M-16QAM采用4個子載波傳輸6路話音并不矛盾。
????? ②在此設(shè)計中,為冗余信息預(yù)留了較多的位,其冗余信息與有用信息的比值為0.59,大于iDEN系統(tǒng)的0.44。這是考慮到OFDM信號對于載波相位偏差和定時偏差都較為敏感,這樣就可以插入較多的參考信號以快速實現(xiàn)載波相位的鎖定、跟蹤及位同步;另一方面對引導(dǎo)符號間隔的選擇也較為靈活,在設(shè)計中選擇引導(dǎo)符號間隔L=10。?
????? ③OFDM信號調(diào)制解調(diào)的核心是DFT/IDFT算法。目前,普遍采用DSP芯片完成DFT/IDFT,因此有必要對設(shè)計所需的DSP性能進行估計。根據(jù)設(shè)計要求,至少要能在250μs內(nèi)完成32個復(fù)數(shù)點的FFT運算。我們知道,N個復(fù)數(shù)點的FFT共需要2Nlog2 N次實數(shù)乘法和3Nl0g2 N次實數(shù)加法。假設(shè)實數(shù)乘法和實數(shù)加法都是單周期指令,以32個復(fù)數(shù)點為例,這樣共需要800個指令周期,即20μs,因此采用TMS320VC5402能夠滿足設(shè)計要求(TMS320VC5402的單指令周期為10ns)。
?????? 綜上所述,OFDM數(shù)傳設(shè)備參數(shù)如表l所列。
4 軟件構(gòu)成
?????? 上面確定了OFDM數(shù)傳設(shè)備的主要參數(shù)及算法,下面說明用TMS320VC5402實現(xiàn)的軟件設(shè)計及流程,如圖3所示。
?
4. 1 調(diào)制部分的軟件設(shè)計
????? 此程序作為子程序被調(diào)用之前,要發(fā)送的數(shù)據(jù)已經(jīng)被裝入數(shù)據(jù)存儲器,并將數(shù)據(jù)區(qū)的首地址及長度作為入口參數(shù)傳遞給子程序。程序執(zhí)行時,首先清發(fā)送存儲器,然后配置AD9708的采樣速率,之后允許串行口發(fā)送中斷產(chǎn)生,使中斷服務(wù)程序自動依次讀取發(fā)送存儲器中的內(nèi)容,送入AD9708變換成模擬信號。之后程序從數(shù)據(jù)存儲器讀取一幀數(shù)據(jù),經(jīng)編碼,并行放入IFFT工作區(qū)的相應(yīng)位置,插入導(dǎo)頻符號并將不用的點補零。隨后進行IFFT,IFFT算法采用常用的時域抽點算法DIT,蝶形運算所需的WN可查N=512字的定點三角函數(shù)表得到。由于TMS320VC5402的數(shù)值計算為16位字長定點運算方式,所以IFFT采用成組定點法,既提高了運算精度又保證了運算速度。然后對IFFT變換后的結(jié)果擴展加窗,并將本幀信號的前擴展部分同上幀信號的后擴展部分相加,加窗所需窗函數(shù)可查表得到。窗函數(shù)存放在窗函數(shù)表中,是事先利用C語言浮點運算并將結(jié)果轉(zhuǎn)換為定點數(shù)存放在表中的。
????? 經(jīng)實測,從讀取串行數(shù)據(jù)到加窗工作完成最多占用75個抽樣周期(75×125μs)的時間,而發(fā)送一幀信號需512+32=544個抽樣周期(544×125μs)。這說明C5402的運算速度足夠滿足需要。
????? 當(dāng)上一幀信號發(fā)送完畢,程序立即將以處理好的本幀信號送入發(fā)送存儲器繼續(xù)發(fā)送,并通過入口參數(shù)判斷數(shù)據(jù)是否發(fā)送完畢。
4. 2 解調(diào)部分的軟件設(shè)計
????? 用TMS320VC5402實現(xiàn)的流程分同步捕捉及解調(diào)兩個階段。同步捕捉階段執(zhí)行時,首先清接收存儲器,配置AD9057的采樣速率,然后開串行口接收中斷,使接收中斷服務(wù)程序接收來自AD9057的采樣數(shù)據(jù)并依次自動存入接收存儲器。
????? 每得到一個新的樣點,程序先用DFT的遞推算法解調(diào)出25路導(dǎo)頻符號,并對導(dǎo)頻均衡。之后分別同參考導(dǎo)頻符號矢量600h+j600h進行點積,這里用導(dǎo)頻符號矢量的實部與虛部的和代替點積,即可反映相關(guān)函數(shù)的規(guī)律,以簡化運算。求得25路導(dǎo)頻與參考導(dǎo)頻的相關(guān)值后暫時保存,并分別與前一個樣點所保存的各導(dǎo)頻相關(guān)值比較(相減),用一個字節(jié)保存比較結(jié)果的正負(fù)號(每路導(dǎo)頻占1bit)。在處理前一個樣點的過程中,也用一個字節(jié)保存它同其前一樣點的導(dǎo)頻相關(guān)值比較的正負(fù)號。對這兩個字節(jié)進行簡單的邏輯運算,即可判斷出各導(dǎo)頻是否在前一個樣點處出現(xiàn)峰值。倘若25路導(dǎo)頻中有20個以上的導(dǎo)頻同時出現(xiàn)峰值,則認(rèn)為該樣點以前的N=512個樣點即為捕捉到的一幀信號,程序進入解調(diào)階段;否則等待接收新的采樣點繼續(xù)進行同步捕捉。
????? 解調(diào)階段首先對捕捉到的幀信號進行實信號的FFT變換,仍然采用成組定點法,之后進行均衡。然后利用導(dǎo)頻算出本地抽樣時鐘的延遲τ,在計算中應(yīng)盡量避免出現(xiàn)除法,可將常數(shù)分母取倒數(shù)后提前算出,作為乘法的系數(shù)。為了保證其后二維AGC的精度,計算中τ精確到O.1μs。接下來根據(jù)τ調(diào)整抽樣時鐘,程序?qū)⒄{(diào)整量通知串行口發(fā)送中斷服務(wù)程序后,繼續(xù)執(zhí)行二維AGC,而由中斷服務(wù)程序在每次中斷響應(yīng)時間發(fā)布命令,每次可以調(diào)整下一采樣時刻提前(或落后)1μs。
????? 二維AGC分兩步進行。首先根據(jù)τ對均衡后的調(diào)制矢量進行相位校正,這里需要利用FFT變換所使用的512字的三角函數(shù)表,用一個指針指向三角函數(shù)表的表頭,根據(jù)τ及三角函數(shù)表角度間隔算出多少路子信道才需要將指針下移一格,通過這種查表的方法可以簡潔地確定各子信道的校正量。經(jīng)相位校正后,即可利用導(dǎo)頻進行幅度校正。
????? 接下來經(jīng)判決,并/串變換及解碼即可解調(diào)出本幀數(shù)據(jù)。然后對均衡器的權(quán)值采用LMS算法進行調(diào)節(jié)。程序通過對這部分信號進行簡單的幅值門限分析,很容易判斷出是否收到了信號。若有則繼續(xù)接收;否則結(jié)束返回。
評論