本發(fā)明涉及一種基于同步隨機(jī)存儲(chǔ)器的動(dòng)態(tài)多徑時(shí)延模擬裝置及方法。
背景技術(shù):
隨著科學(xué)技術(shù)的高速發(fā)展,人們對(duì)無(wú)線通信的可靠性和實(shí)時(shí)性要求越來(lái)越高。信道模擬器可以在實(shí)驗(yàn)室中模擬實(shí)際通信場(chǎng)景對(duì)無(wú)線信號(hào)傳播的影響,廣泛應(yīng)用于通信設(shè)備的研發(fā)與測(cè)試。無(wú)線信號(hào)傳輸過(guò)程中受周?chē)⑸潴w的影響,到達(dá)接收端的信號(hào)是由眾多反射徑疊加而成,眾多反射徑信號(hào)之間存在相對(duì)時(shí)延,尤其對(duì)于衛(wèi)星信道和航空信道,時(shí)延較大,達(dá)10ms以上;同時(shí),為保證仿真精確性,時(shí)延精度要求小于0.1ns。基于DDR3的動(dòng)態(tài)多徑時(shí)延模擬裝置采用錯(cuò)位地址控制技術(shù),基于DDR3實(shí)現(xiàn)大范圍的多徑時(shí)延模擬,可以模擬最多4條反射簇的群時(shí)延;基于多相濾波技術(shù),在不提高采樣率的前提下,實(shí)現(xiàn)精度為0.1ns的高精度時(shí)延模擬;同時(shí),采用線性函數(shù)控制技術(shù)和非線性高精度擬合技術(shù),在FPGA內(nèi)部實(shí)現(xiàn)最大24徑的線性和非線性多徑動(dòng)態(tài)時(shí)延模擬。
在現(xiàn)有信道模擬技術(shù)中,通常采用FPGA的內(nèi)部存儲(chǔ)單元實(shí)現(xiàn)多徑時(shí)延模擬,該方法受FPGA內(nèi)部存儲(chǔ)資源限制,不能實(shí)現(xiàn)大范圍的多徑時(shí)延模擬,而且,該方法受自身系統(tǒng)時(shí)鐘限制,以100MHz系統(tǒng)時(shí)鐘為例,時(shí)延精度僅有10ns,不能進(jìn)行高精度的時(shí)延模擬。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明為了解決上述問(wèn)題,提出了一種基于同步隨機(jī)存儲(chǔ)器的動(dòng)態(tài)多徑時(shí)延模擬裝置及方法,該發(fā)明采用錯(cuò)位地址控制技術(shù),基于DDR3實(shí)現(xiàn)大范圍的多徑時(shí)延模擬,可以模擬最多4條反射簇的群時(shí)延;基于多相濾波技術(shù),在不提高采樣率的前提下,實(shí)現(xiàn)精度為0.1ns的高精度時(shí)延模擬;同時(shí),采用線性函數(shù)控制技術(shù)和非線性高精度擬合技術(shù),在FPGA內(nèi)部實(shí)現(xiàn)最大24徑的線性和非線性多徑動(dòng)態(tài)時(shí)延模擬。該裝置具有配置靈活、結(jié)構(gòu)簡(jiǎn)單等優(yōu)點(diǎn)。
為了實(shí)現(xiàn)上述目的,本發(fā)明采用如下技術(shù)方案:
一種基于同步隨機(jī)存儲(chǔ)器的動(dòng)態(tài)多徑時(shí)延模擬裝置,包括PC端和處理器,其中:
所述PC端,被配置為根據(jù)設(shè)置的信號(hào)源參數(shù),生成信號(hào)源數(shù)據(jù),同時(shí)根據(jù)通信場(chǎng)景添加信道路徑數(shù)目,針對(duì)各路徑分別設(shè)置相應(yīng)的時(shí)延參數(shù)、路徑損耗以及衰落類(lèi)型,并將所設(shè)置的參數(shù)轉(zhuǎn)換為定點(diǎn)參數(shù)傳遞給處理器;
所述處理器,被配置為接收信號(hào)源數(shù)據(jù),并將其存儲(chǔ)到隨機(jī)存儲(chǔ)器中,根據(jù)用戶設(shè)置群時(shí)延參數(shù),利用錯(cuò)位地址控制技術(shù),通過(guò)乒乓操作控制隨機(jī)存儲(chǔ)器讀取滿足群時(shí)延要求的多個(gè)群時(shí)延信號(hào)進(jìn)行各路徑信號(hào)的的粗時(shí)延模擬,再通過(guò)多相濾波技術(shù)對(duì)各路徑信號(hào)進(jìn)行精時(shí)延模擬,并疊加信道衰落以及路徑損耗,將多路徑信號(hào)進(jìn)行疊加與輸出。
所述處理器中,利用雙端口RAM實(shí)現(xiàn)各徑信號(hào)的的粗時(shí)延模擬。
所述隨機(jī)存儲(chǔ)器為第三代雙倍數(shù)據(jù)傳輸速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器。
所述處理器采用錯(cuò)位地址控制技術(shù),通過(guò)乒乓操作控制隨機(jī)存儲(chǔ)器的多端口數(shù)據(jù)讀取地址,讀取滿足群時(shí)延要求的多個(gè)群時(shí)延信號(hào),讀取隨機(jī)存儲(chǔ)器狀態(tài)轉(zhuǎn)移圖。
所述信道路徑數(shù)目包括群數(shù)目以及每個(gè)群內(nèi)的路徑數(shù)目。
所述衰落類(lèi)型包含恒定相位和純多普勒。
所述信號(hào)源參數(shù)中包括調(diào)制類(lèi)型和碼元速率。
一種基于同步隨機(jī)存儲(chǔ)器的動(dòng)態(tài)多徑時(shí)延模擬方法,包括以下步驟:
(1)設(shè)置信號(hào)源參數(shù),生成數(shù)據(jù)源數(shù)據(jù)并進(jìn)行寫(xiě)入操作,根據(jù)通信場(chǎng)景添加信道路徑數(shù)目,并針對(duì)各路徑分別設(shè)置相應(yīng)的時(shí)延參數(shù)、動(dòng)態(tài)變化量、路徑損耗以及衰落類(lèi)型;
(2)計(jì)算各徑群時(shí)延、粗時(shí)延以及精時(shí)延以及動(dòng)態(tài)時(shí)延變化、路徑損耗和衰落參數(shù),并將計(jì)算參數(shù)結(jié)果轉(zhuǎn)換為定點(diǎn)參數(shù);
(3)根據(jù)設(shè)置的群時(shí)延參數(shù),利用錯(cuò)位地址控制技術(shù),通過(guò)乒乓操作控制寫(xiě)入存儲(chǔ)器,讀取滿足群時(shí)延要求的多個(gè)群時(shí)延信號(hào);
(4)根據(jù)設(shè)置的動(dòng)態(tài)時(shí)延變化參數(shù)以及粗時(shí)延參數(shù),產(chǎn)生實(shí)時(shí)動(dòng)態(tài)變化粗時(shí)延模擬,基于多相濾波技術(shù)對(duì)各徑信號(hào)進(jìn)行精時(shí)延模擬;
(5)對(duì)時(shí)延信號(hào)疊加路徑損耗、信道衰落,并疊加成一路信號(hào)并輸出。
所述步驟(3)中,具體步驟包括:
(3-1)接收讀取命令,對(duì)同步隨機(jī)存儲(chǔ)器執(zhí)行讀取操作;
(3-2)判斷當(dāng)前寫(xiě)FIFO狀態(tài),判斷寫(xiě)FIFO狀態(tài)所屬對(duì)應(yīng)的FIFO端口,判斷該端口是否達(dá)到半滿狀態(tài),結(jié)果為是,順序判斷下一FIFO端口是否達(dá)到半滿狀態(tài),直到某一FIFO端口非半滿,向同步隨機(jī)存儲(chǔ)器發(fā)送讀命令以及相應(yīng)的數(shù)據(jù)讀取地址,并接收其讀取數(shù)據(jù)。
所述步驟(4)中,對(duì)于非線性動(dòng)態(tài)時(shí)延模擬,動(dòng)態(tài)時(shí)延為
其中,B為路徑基本時(shí)延,A為動(dòng)態(tài)時(shí)延變化量,ω為動(dòng)態(tài)時(shí)延變化頻率。
本發(fā)明的有益效果為:
(1)本發(fā)明利用錯(cuò)位地址控制技術(shù),基于數(shù)據(jù)傳輸速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器實(shí)現(xiàn)大范圍的多徑時(shí)延模擬;
(2)本發(fā)明基于多相濾波技術(shù),在不提高采樣率的前提下,實(shí)現(xiàn)精度為0.1ns的高精度時(shí)延模擬;
(3)本發(fā)明采用線性函數(shù)控制技術(shù)和非線性高精度擬合技術(shù),在處理器內(nèi)部實(shí)現(xiàn)最大24徑的線性和非線性多徑動(dòng)態(tài)時(shí)延模擬。
附圖說(shuō)明
圖1是本發(fā)明的動(dòng)態(tài)多徑時(shí)延模擬裝置整體框圖;
圖2是本發(fā)明的DDR3狀態(tài)控制圖;
圖3是傳統(tǒng)高精度時(shí)延實(shí)現(xiàn)框圖;
圖4是本發(fā)明的基于多相濾波技術(shù)的高精度時(shí)延實(shí)現(xiàn)框圖。
具體實(shí)施方式:
下面結(jié)合附圖與實(shí)施例對(duì)本發(fā)明作進(jìn)一步說(shuō)明。
本發(fā)明采用錯(cuò)位地址控制技術(shù),基于同步隨機(jī)存儲(chǔ)器實(shí)現(xiàn)大范圍的多徑時(shí)延模擬,基于多相濾波技術(shù),在不提高采樣率的前提下,實(shí)現(xiàn)精度為0.1ns的高精度時(shí)延模擬。具有節(jié)約硬件資源、擴(kuò)展性好等優(yōu)點(diǎn)。
該動(dòng)態(tài)多徑時(shí)延模擬裝置工作時(shí),首先,用戶設(shè)置信號(hào)源參數(shù),包括調(diào)制類(lèi)型、碼元速率等,在PC端生成信號(hào)源數(shù)據(jù),并傳遞到FPGA中,再通過(guò)FPGA將信號(hào)源數(shù)據(jù)存儲(chǔ)到DDR3中;然后,在PC端根據(jù)通信場(chǎng)景添加信道路徑數(shù)目,其中包括群數(shù)目以及每個(gè)群內(nèi)的路徑數(shù)目;然后,針對(duì)各徑設(shè)置時(shí)延參數(shù)、路徑損耗以及衰落類(lèi)型,衰落類(lèi)型包含恒定相位和純多普勒;PC端根據(jù)用戶設(shè)置時(shí)延參數(shù)計(jì)算各徑群時(shí)延、粗時(shí)延以及精時(shí)延并轉(zhuǎn)換為定點(diǎn)參數(shù)傳遞到FPGA中。在FPGA中,首先根據(jù)用戶設(shè)置群時(shí)延參數(shù),利用錯(cuò)位地址控制技術(shù),通過(guò)乒乓操作控制DDR3讀取滿足群時(shí)延要求的多個(gè)群時(shí)延信號(hào);然后在FPGA中利用雙端口RAM實(shí)現(xiàn)各徑信號(hào)的的粗時(shí)延模擬,再通過(guò)多相濾波技術(shù)對(duì)各徑信號(hào)進(jìn)行精時(shí)延模擬;最后疊加信道衰落以及路徑損耗,將多徑信號(hào)進(jìn)行疊加并通過(guò)DAC輸出。整體框圖如圖1所示。具體步驟如下:
1)用戶設(shè)置信號(hào)源參數(shù),生成數(shù)據(jù)源數(shù)據(jù)并傳遞給FPGA,F(xiàn)PGA將接收到的數(shù)據(jù)源數(shù)據(jù)寫(xiě)入DDR3中;
2)用戶根據(jù)通信場(chǎng)景添加信道路徑數(shù)目,并針對(duì)各徑分別設(shè)置時(shí)延參數(shù)、動(dòng)態(tài)變化量、路徑損耗以及衰落類(lèi)型等;
3)計(jì)算各徑群時(shí)延、粗時(shí)延以及精時(shí)延以及動(dòng)態(tài)時(shí)延變化、路徑損耗和衰落參數(shù),并將計(jì)算參數(shù)結(jié)果轉(zhuǎn)換為定點(diǎn)傳遞到FPGA中;
4)根據(jù)用戶設(shè)置群時(shí)延參數(shù),利用錯(cuò)位地址控制技術(shù),通過(guò)乒乓操作控制DDR3,讀取滿足群時(shí)延要求的多個(gè)群時(shí)延信號(hào);
5)根據(jù)用戶設(shè)置動(dòng)態(tài)時(shí)延變化參數(shù)以及粗時(shí)延參數(shù),產(chǎn)生實(shí)時(shí)動(dòng)態(tài)變化粗時(shí)延模擬;
6)根據(jù)用戶設(shè)置精時(shí)延參數(shù),基于多相濾波技術(shù)對(duì)各徑信號(hào)進(jìn)行精時(shí)延模擬;
7)對(duì)時(shí)延信號(hào)疊加路徑損耗、信道衰落,并疊加成一路信號(hào),通過(guò)DAC進(jìn)行輸出;
DDR3SDRAM是第三代雙倍數(shù)據(jù)傳輸速率同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器,以其大容量、高速率和良好的兼容性得到了廣泛應(yīng)用。本發(fā)明基于DDR3,采用錯(cuò)位地址控制技術(shù),通過(guò)乒乓操作控制DDR3多端口數(shù)據(jù)讀取地址,讀取滿足群時(shí)延要求的4個(gè)群時(shí)延信號(hào),讀取DDR3狀態(tài)轉(zhuǎn)移圖如圖2所示。具體步驟為:
(1)FPGA等待用戶發(fā)送DDR3讀開(kāi)始命令,如果讀開(kāi)始,執(zhí)行步驟(2);否則,執(zhí)行步驟(1);
(2)判斷FIFO1是否達(dá)到半滿狀態(tài),結(jié)果為是,執(zhí)行步驟(6);否則,執(zhí)行步驟(3);
(3)FPGA向DDR3發(fā)送讀命令以及相應(yīng)的數(shù)據(jù)讀取地址,發(fā)送完畢執(zhí)行步驟(4);否則,等待發(fā)送完畢;
(4)FPGA接收DDR3讀取數(shù)據(jù),接收完畢執(zhí)行步驟(5);否則,等待數(shù)據(jù)接收完畢;
(5)判斷當(dāng)前寫(xiě)FIFO狀態(tài),如果為寫(xiě)FIFO1,則執(zhí)行步驟(6);如果為寫(xiě)FIFO2,則執(zhí)行步驟(9);如果為寫(xiě)FIFO3,則執(zhí)行步驟(12);如果為寫(xiě)FIFO4,則執(zhí)行步驟(2);
(6)判斷FIFO2是否達(dá)到半滿狀態(tài),結(jié)果為是,執(zhí)行步驟(9);否則,執(zhí)行步驟(7);
(7)FPGA向DDR3發(fā)送讀命令以及相應(yīng)的數(shù)據(jù)讀取地址,發(fā)送完畢執(zhí)行步驟(8);否則,等待發(fā)送完畢;
(8)FPGA接收DDR3讀取數(shù)據(jù),接收完畢執(zhí)行步驟(5);否則,等待數(shù)據(jù)接收完畢;
(9)判斷FIFO3是否達(dá)到半滿狀態(tài),結(jié)果為是,執(zhí)行步驟(12);否則,執(zhí)行步驟(10);
(10)FPGA向DDR3發(fā)送讀命令以及相應(yīng)的數(shù)據(jù)讀取地址,發(fā)送完畢執(zhí)行步驟(11);否則,等待發(fā)送完畢;
(11)FPGA接收DDR3讀取數(shù)據(jù),接收完畢執(zhí)行步驟(5);否則,等待數(shù)據(jù)接收完畢;
(12)判斷FIFO4是否達(dá)到半滿狀態(tài),結(jié)果為是,執(zhí)行步驟(2);否則,執(zhí)行步驟(13);
(13)FPGA向DDR3發(fā)送讀命令以及相應(yīng)的數(shù)據(jù)讀取地址,發(fā)送完畢執(zhí)行步驟(14);否則,等待發(fā)送完畢;
(14)FPGA接收DDR3讀取數(shù)據(jù),接收完畢執(zhí)行步驟(5);否則,等待數(shù)據(jù)接收完畢;
傳統(tǒng)的高精度延時(shí)模擬方法是先對(duì)信號(hào)進(jìn)行內(nèi)插,然后經(jīng)過(guò)FIFO延時(shí),最后再通過(guò)抽取得到滿足高精度延時(shí)要求的模擬信號(hào),如圖3所示。本專(zhuān)利基于多相濾波技術(shù),結(jié)合傳統(tǒng)的延時(shí)模擬方法,可以簡(jiǎn)化為圖4所示,根據(jù)用戶設(shè)置時(shí)延量,選擇時(shí)延子濾波器,該方法在不提高采樣率的前提下,可以實(shí)現(xiàn)時(shí)延精度為0.1ns的高精度時(shí)延模擬。
對(duì)于非線性動(dòng)態(tài)時(shí)延模擬,動(dòng)態(tài)時(shí)延為
其中,B為路徑基本時(shí)延,A為動(dòng)態(tài)時(shí)延變化量,ω為動(dòng)態(tài)時(shí)延變化頻率。
上述雖然結(jié)合附圖對(duì)本發(fā)明的具體實(shí)施方式進(jìn)行了描述,但并非對(duì)本發(fā)明保護(hù)范圍的限制,所屬領(lǐng)域技術(shù)人員應(yīng)該明白,在本發(fā)明的技術(shù)方案的基礎(chǔ)上,本領(lǐng)域技術(shù)人員不需要付出創(chuàng)造性勞動(dòng)即可做出的各種修改或變形仍在本發(fā)明的保護(hù)范圍以內(nèi)。