空時編碼(Space—Time Block Coding,STBC)是達到或接近MIMO無線信道容量的一種有效的編碼方式。空時編碼方式的盲識別是通信對抗領域需迫切研究的領域,其能夠為MIMO系統對抗技術提供基礎和技術支撐,具有重要的研究價值。
時滯相關算法是根據不同空時編碼的相關矩陣在不同時延統計下的差異性,采用逐級對比,實現對空時編碼方式的盲識別。擁有計算精度高,抗頻偏效果好等優點。文中提出一種基于ADI公司DSP芯片TigerSHARCTS201S的空時編碼盲識別方案設計和實現。
1、系統硬件設計
1.1系統硬件框圖
系統硬件框圖如圖1所示。由信號處理、信號采集、電源、時鐘4部分構成,信號采集由CPLD和ADC組成,負責完成A/D轉換,信號處理由TS201S芯片及其外設組成,用于存儲A/D采樣的數據,并進行空時碼盲識別運算處理。電源模塊為其他所有模塊提供正常工作所需的電壓,時鐘模塊中由晶振和倍頻芯片組成,提供系統所需時鐘。
圖1 系統硬件框圖
系統工作時,設備首先通電初始化,從Flash中載入用戶應用程序,繼而通過CPLD控制ADC進行數據采集,并利用DMA中斷方式讀取數據并進行編碼識別運算。
1.2 TigerSHARC TS201S簡介
TigerSHARC TS201S兼有ASIC和FPGA的信號處理性能和指令集處理器的高度可編程性與靈活性,適用于高性能、大存儲量的信號處理與圖像應用。
TS201S內部分為DSP核和I/O接口兩部分,通過4條總線傳輸數據、地址和控制信息。并提供完全可中斷的編程模式,支持匯編和C/C++語言編程,32/40位的浮點運算及最高64位的定點運算。在600 MHz時鐘速率下,可達到每秒48億次乘加運算。
1.3電源、時鐘和總線方案設計
TS201S和AD7864對電源的要求較高,以TS201S內核時鐘500 MHz為例,4個電源VDD、VDD_A、VDD_IO、VDD_DRAM的精度要求控制在5%以內。因此系統中的電源芯片采用了,其精度可達1%.
時鐘模塊中,晶振產生27 MHz時鐘通過倍頻芯片得到54 MHz時鐘后進入CPLD,一方面作為TS201S的系統時鐘SCLK,另一方面在CPLD內12分頻后作為AD7864的工作時鐘信號AD_CLK.為防止其對系統電源產生耦合干擾,晶振和倍頻芯片的電源與本板電源之間要用電感或磁珠進行隔離。
在系統總線負載較重的情況下,設計不當會限制總線只能在低頻下工作甚至無法讀取數據。由于環形結構上任一負載的變化均會影響到其他負載的工作,設計中采用了星形總線結構,如圖2所示。
圖2 星形總線結構
1.4信號采集方案設計
信號采集模塊由CPLD和兩片ADC組成,A/D轉換芯片采用AD公司生產的AD7864,其轉換精度12位,最高吞吐量520 ksample.s-1,轉換時間最快為1.65μs,采樣保持0.35μs,此外其單電源和低功耗特性最低可達20 Uw,其能夠滿足系統的要求,簡化硬件設計。
信號采集前,需對AD7864的一些輸入引腳進行配置,南Alterta公司的CPLD產品MAX3256完成。如圖3所示,CONVST為使能輸入引腳,置位高可控制AD7864啟動。CS為片選信號,低電平有效。RD為讀使能,低電平有效,當CS有效且RD為低,才允許AD7864輸出轉換結果,此時WR必須為高。引腳SL1~SL4是AD7864的通道選擇輸入引腳,高電平有效。H/S SEL為高時表示將通過軟件方式來選擇A/D轉換通道,反之表示硬件選擇。當轉換結束后,EOC引腳輸入低電平。
圖3 信號采集
AD7864采用分時輸出方式,采樣信號來自TS201S的定時/計數器,每次計數器滿時TMROE引腳會產生4個總線時鐘的高電平,CPLD中對此信號做反向后作為AD7864的CONVST信號,在數據傳輸中,片1占低位數據線,片2占高位數據線,分時可防止總線沖突。
1.5顯示方案設計
系統采用FLAG PIN外接LED做為進度顯示,DSP在執行到不同的處理進度時通過改變FLAG PIN口的電平控制對應的LED導通,以指示當前數據分析的步驟。圖4為外接LED的連接圖,每個FLAG PIN上的LED均不影響其他FLAG PIN接口,在LED后使用了一個上拉電阻接VCC.
圖4 為外接LED的連接圖
系統復位時,所有FLAG PIN置高電平,ADC采集完畢觸發DMA中斷,從SDRAM中讀取數據,并進入到預白化處理,此時FLAG PIN1至低電平,依據算法,對白化后的數據進行時滯相關分析,并利用碼字表判決響應碼型時,并分別拉低FLAG PIN2和FLAG PIN3.
該種方法配置靈活、軟件簡單,系統采用4個FLAGPIN來布置顯示,DSP擁有足夠的IO接口使用,在設計時充分利用了硬件資源,同時利用DMA中斷,有效提高了CPU的效率,也實現了資源的共享和并行處理,同時還在芯片運算過程中及時發現故障并定位處理。
2、系統軟件設計
2.1空時編碼盲識別原理
STBC通過在時間與空間進行聯合編碼達到提高系統傳輸性能的目的,因此在不同時刻從不同天線發送的數據具有一定的相關性,而不同空時編碼之間的相關度并不同,因此可利用該相關度來區分不同的碼型,從而將空時編碼的模式識別出來。
2.2空時編碼盲識別方法
(1)預白化。預白化的目的是去除信道對接收信號相關性的影響。白化矩陣W通過對分時相關矩陣P做特征值分解得到
,其中A-1為特征值矩陣Λ的廣義逆。W與原數據相乘便可得到解相關矩陣Y.(2)計算時滯相關度。利用接收信號預白化后得到的解相關矩陣Y,依據統計學公式計算時滯相關范數
空時編碼矩陣的理論時滯相關特性僅與編碼矩陣本身有關。因此,應用與式(1)相同的形式,可將編碼矩陣不同的列進行矩陣乘加運算,并取F范數來表征。
由此得出計算空時編碼的時滯相關矩陣R(τ)
其中,空時編碼矩陣的每一列代表不同的發射時刻,A(u)是碼型A編碼矩陣的第u列,l為碼型分組長度。已預白化后的接收信號矩陣與發送端編碼矩陣,在時滯相關函數F范數上有如下關系
(3)判決碼型。遍歷候選碼集,計算出接收信號與候選碼集中每一種空時碼的相關度,取其中最相關的碼型便為判決碼型。
2.3軟件設計
軟件系統采用模塊化結構軟件系統采用模塊化結構設計,程序流程如圖5所示。包括系統啟動、配置系統寄存器、設置全局變量和開啟中斷控制等。當ADC模塊將采樣數據全部寫入SDRAM后,CPLD通知DSP觸發DMA中斷1,將SDRAM中的數據讀入DSP,讀取結束后DMA觸發中斷2,并對ADC采樣數據進行處理:(1)預白化,去除新到對采樣數據相關性的影響。(2)計算采樣數據與候選集中每種碼字的時滯相關度。(3)根據上述計算結果,選取使時滯相關度最小的碼型為判決碼型。
圖5 軟件系統采用模塊化結構
通過對DMAC寄存器的設置,可控制DMA的流向、通道和方式,典型的數據讀取關鍵代碼如下:
數據處理部分的關鍵函數包括白化和時滯相關量計算,數據傳遞采用了單維讀入與多維傳遞的方式,即將多天線的數據按照天線順序依次讀入,但在DSP內部數據傳遞時,多根天線的數據按照時間順序傳遞,在函數內部手動尋址,即符合算法要求,又加快了數據處理的速度。數據處理時包括大量的矩陣轉置和乘加操作,在計算時優化為內積計算模式,使用ALU運算塊X和Y,每個周期并行計算時滯矩陣兩列之間的相關范數,這便節省了內存資源,減少了尋址次數,且加快了計算速度。
本算法在不同參數下的Matlab性能仿真如圖6所示,采樣數據越長,接收天線數越多,識別性能也越好。實際測試證明與期望相一致,驗證了設計的合理性和正確性。
圖6 算法在不同參數下的Matlab性能仿真
3、結束語
DSP芯片具有的特殊軟硬件結構和指令系統,使其能高速處理各種數字信號處理算法。基于此設計的空時編碼盲識別方法具有速度快、精度高的特點。同時該系統依靠簡潔的外部硬件電路設計和合理的軟件程序設計,能夠實現對常用空時編碼模式的正確識別。且該系統的可擴展性良好,當需要識別最新的空時編碼時,只需將其放入編碼方式候選集中,為其分配顯示接口即可,而無需過多更改硬件設置及軟件程序。
責任編輯:gt
評論
查看更多