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