2. 2高頻信號處理單元
????? 主要實現對高頻信號的放大、高頻開關和線路濾波等功能,并最終經小型加工結合設備送往配電線路。信號的放大包括發送方向的可控增益放大(前向功率控制),接收方向AGC的低噪聲放大部分。其中高頻開關完成收發高頻信號的轉換,實現雙工通信。同時使收發共用一個線路濾波器,這樣可以節省系統成本。
????? 用戶數據接口采用RS一232標準串行口。串口的數據中斷采用邊沿觸發中斷,串口中斷程序完成用戶數據的發送與接收。將接收到的用戶數據暫存到CPU的發送緩沖區中,等到滿一個突發包時就發送到DSP進行處理。
3 參數設計
3.1保護時間的選擇
????? 根據OFDM信號設計準則,首先選擇適當的保護時間,△=20μs,這能夠充分滿足在電力系統環境下,OFDM信號消除多徑時延擴展的目的。
3.2符號周期的選擇
????? T>200 μs,相應子信道間隔,f<5kHz,這樣在25kHz帶寬內至少要劃分出5個子信道。另外子信道數不能太多,增加子信道數雖然可以提高頻譜傳輸效率,但是DSP器件的復雜度也將增加,成本上升,同時還將受到信道時間選擇性衰落的嚴重影響。因此,考慮在25kHz的帶寬內采用7個子信道。
3. 3子信道數的計算
????? 子信道間隔:

????? 各子信道的符號周期:T=250μs
????? 考慮保護時間:△=20μs,則有Ts=T+△=270μs
????? 各子信道實際的符號率:

????? 總的比特率:3.71kbps×25子信道×2b/symbol=185.5kb/s
????? 系統的頻譜效率:β=185.5kbps/100kHz=1.855bps/Hz<2bps/Hz
????? 可以看出,這時系統已經具有較高的頻譜效率。25路話音信號總的速率與經串并變換和4PSK映射后的各子信道上有用信息的符號率相比,每個子信道還可以插入冗余信息用于同步、載波參數、幀保護和用戶信息等。需要指出的是:
????? ①由于OFDM信號時頻正交性的限制條件,在此設計中盡管采用了25個子載波并行傳輸也只能傳25路語音。如果要傳8路語音,經串并轉換和16QAM映射后,各個子信道上有用信息的符號率為1.855bps/Hz,最多還可以插入的冗余信息為O.145bps/Hz,在實際傳輸中這是很難保證的傳輸質量的,因此該設計相對于M-16QAM采用4個子載波傳輸6路話音并不矛盾。
????? ②在此設計中,為冗余信息預留了較多的位,其冗余信息與有用信息的比值為0.59,大于iDEN系統的0.44。這是考慮到OFDM信號對于載波相位偏差和定時偏差都較為敏感,這樣就可以插入較多的參考信號以快速實現載波相位的鎖定、跟蹤及位同步;另一方面對引導符號間隔的選擇也較為靈活,在設計中選擇引導符號間隔L=10。?
????? ③OFDM信號調制解調的核心是DFT/IDFT算法。目前,普遍采用DSP芯片完成DFT/IDFT,因此有必要對設計所需的DSP性能進行估計。根據設計要求,至少要能在250μs內完成32個復數點的FFT運算。我們知道,N個復數點的FFT共需要2Nlog2 N次實數乘法和3Nl0g2 N次實數加法。假設實數乘法和實數加法都是單周期指令,以32個復數點為例,這樣共需要800個指令周期,即20μs,因此采用TMS320VC5402能夠滿足設計要求(TMS320VC5402的單指令周期為10ns)。
?????? 綜上所述,OFDM數傳設備參數如表l所列。

4 軟件構成
?????? 上面確定了OFDM數傳設備的主要參數及算法,下面說明用TMS320VC5402實現的軟件設計及流程,如圖3所示。
?
4. 1 調制部分的軟件設計
????? 此程序作為子程序被調用之前,要發送的數據已經被裝入數據存儲器,并將數據區的首地址及長度作為入口參數傳遞給子程序。程序執行時,首先清發送存儲器,然后配置AD9708的采樣速率,之后允許串行口發送中斷產生,使中斷服務程序自動依次讀取發送存儲器中的內容,送入AD9708變換成模擬信號。之后程序從數據存儲器讀取一幀數據,經編碼,并行放入IFFT工作區的相應位置,插入導頻符號并將不用的點補零。隨后進行IFFT,IFFT算法采用常用的時域抽點算法DIT,蝶形運算所需的WN可查N=512字的定點三角函數表得到。由于TMS320VC5402的數值計算為16位字長定點運算方式,所以IFFT采用成組定點法,既提高了運算精度又保證了運算速度。然后對IFFT變換后的結果擴展加窗,并將本幀信號的前擴展部分同上幀信號的后擴展部分相加,加窗所需窗函數可查表得到。窗函數存放在窗函數表中,是事先利用C語言浮點運算并將結果轉換為定點數存放在表中的。
????? 經實測,從讀取串行數據到加窗工作完成最多占用75個抽樣周期(75×125μs)的時間,而發送一幀信號需512+32=544個抽樣周期(544×125μs)。這說明C5402的運算速度足夠滿足需要。
????? 當上一幀信號發送完畢,程序立即將以處理好的本幀信號送入發送存儲器繼續發送,并通過入口參數判斷數據是否發送完畢。
4. 2 解調部分的軟件設計
????? 用TMS320VC5402實現的流程分同步捕捉及解調兩個階段。同步捕捉階段執行時,首先清接收存儲器,配置AD9057的采樣速率,然后開串行口接收中斷,使接收中斷服務程序接收來自AD9057的采樣數據并依次自動存入接收存儲器。
????? 每得到一個新的樣點,程序先用DFT的遞推算法解調出25路導頻符號,并對導頻均衡。之后分別同參考導頻符號矢量600h+j600h進行點積,這里用導頻符號矢量的實部與虛部的和代替點積,即可反映相關函數的規律,以簡化運算。求得25路導頻與參考導頻的相關值后暫時保存,并分別與前一個樣點所保存的各導頻相關值比較(相減),用一個字節保存比較結果的正負號(每路導頻占1bit)。在處理前一個樣點的過程中,也用一個字節保存它同其前一樣點的導頻相關值比較的正負號。對這兩個字節進行簡單的邏輯運算,即可判斷出各導頻是否在前一個樣點處出現峰值。倘若25路導頻中有20個以上的導頻同時出現峰值,則認為該樣點以前的N=512個樣點即為捕捉到的一幀信號,程序進入解調階段;否則等待接收新的采樣點繼續進行同步捕捉。
????? 解調階段首先對捕捉到的幀信號進行實信號的FFT變換,仍然采用成組定點法,之后進行均衡。然后利用導頻算出本地抽樣時鐘的延遲τ,在計算中應盡量避免出現除法,可將常數分母取倒數后提前算出,作為乘法的系數。為了保證其后二維AGC的精度,計算中τ精確到O.1μs。接下來根據τ調整抽樣時鐘,程序將調整量通知串行口發送中斷服務程序后,繼續執行二維AGC,而由中斷服務程序在每次中斷響應時間發布命令,每次可以調整下一采樣時刻提前(或落后)1μs。
????? 二維AGC分兩步進行。首先根據τ對均衡后的調制矢量進行相位校正,這里需要利用FFT變換所使用的512字的三角函數表,用一個指針指向三角函數表的表頭,根據τ及三角函數表角度間隔算出多少路子信道才需要將指針下移一格,通過這種查表的方法可以簡潔地確定各子信道的校正量。經相位校正后,即可利用導頻進行幅度校正。
????? 接下來經判決,并/串變換及解碼即可解調出本幀數據。然后對均衡器的權值采用LMS算法進行調節。程序通過對這部分信號進行簡單的幅值門限分析,很容易判斷出是否收到了信號。若有則繼續接收;否則結束返回。
電子發燒友App




























評論