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