收稿日期:2023-07-20
DOI:10.19850/j.cnki.2096-4706.2024.07.003
摘? 要:偽隨機序列在偽碼測距、導航、數(shù)字數(shù)據(jù)擾亂器、噪聲產(chǎn)生器、通信加密中有著廣泛的應用。在這些實際應用中,常常利用現(xiàn)場可編程門陣列(FPGA)來產(chǎn)生偽隨機序列,這便于系統(tǒng)設(shè)計和測試的實現(xiàn)。針對數(shù)字地面電視廣播(DVB-T)標準,以線性反饋移位寄存器電路為基礎(chǔ),設(shè)計了一種并行偽隨機序列產(chǎn)生方法,該方法簡單而高效地實現(xiàn)DVB-T系統(tǒng)碼流數(shù)據(jù)的擾碼。實驗結(jié)果表明,MATLAB擾碼算法結(jié)果與FPGA擾碼模塊仿真結(jié)果和硬件實現(xiàn)結(jié)果一致,該設(shè)計方法切實可行。
關(guān)鍵詞:偽隨機序列;DVB-T;MATLAB;FPGA;Verilog
中圖分類號:TN914.3? 文獻標識碼:A? 文章編號:2096-4706(2024)07-0011-05
FPGA Implementation of Pseudo-random Sequence Scrambler in DVB-T
CHEN Zhenlin
(Electronic Information School, Foshan Polytechnic, Foshan? 528137, China)
Abstract: Pseudo-random sequence is widely used in pseudo-code ranging, navigation, digital data scramblers, noise generators and communication encryption. In the practical application, the FPGA is usually used to generate pseudo-random sequences, which can bring great convenience to system design or testing. Aiming at the DVB-T standard, based on the linear feedback shift register circuit, a simple and efficient parallel pseudo-random sequence generation method is designed to realize the scrambling of DVB-T system code flow data. The experimental results show that the MATLAB scrambling algorithm results are consistent with the FPGA scrambling module simulation results and hardware implementation results, so the design method is feasible.
Keywords: pseudo-random sequence; DVB-T; MATLAB; FPGA; Verilog
0? 引? 言
目前,數(shù)字通信已經(jīng)成為當代通信技術(shù)的主流,數(shù)字通信的應用越來越廣泛,人們開始追求更高的通信質(zhì)量。一方面,在數(shù)字通信系統(tǒng)中,隨機噪聲會使數(shù)字信號產(chǎn)生誤碼,限制信道容量。因此,人們希望消除或減少數(shù)字通信系統(tǒng)中的隨機噪聲。另一方面,人們希望利用隨機噪聲,如保密通信需要隨機噪聲來加密數(shù)據(jù),通信設(shè)備需要添加一些隨機噪聲來測試通信性能等。但隨機噪聲不能反復產(chǎn)生,具有隨機性,難以使用。隨著技術(shù)的發(fā)展,偽隨機噪聲的發(fā)明解決了這一難題。偽隨機噪聲又稱偽噪聲(Pseudo-Noise, PN),它具有隨機噪聲的性質(zhì),故稱為“偽”隨機噪聲。但是,偽隨機噪聲可以按照一定的規(guī)律周期產(chǎn)生,因此在實際中得到了廣泛的應用。
偽隨機噪聲是由線性移位寄存器產(chǎn)生的周期性序列,我們把這種周期性序列稱為偽隨機序列。偽隨機序列在偽碼測距、導航、數(shù)字數(shù)據(jù)擾亂器、噪聲產(chǎn)生器、通信加密中有著廣泛的應用。在這些實際應用中,常常利用FPGA產(chǎn)生偽隨機序列,這為系統(tǒng)設(shè)計和測試帶來便利。
李宏年[1]指出偽隨機序列是一類具有一定隨機性質(zhì)的序列,可以重復產(chǎn)生。偽隨機序列由于具有類似白噪聲的相關(guān)函數(shù)和良好的隨機性,在現(xiàn)代移動通信和密碼學中得到了廣泛的應用,介紹了偽隨機序列的產(chǎn)生過程、性能及其在現(xiàn)代移動通信中的應用。劉洋等[2]指出m序列偽隨機信號具有與白噪聲相似的自相關(guān)特性,具有良好的抗噪能力。利用偽隨機信號作為激勵信號提取地面脈沖響應已成為電磁勘探研究的新方向,介紹了m序列的產(chǎn)生原理,利用m序列良好的自相關(guān)特性,對激勵信號與接收響應進行相關(guān)運算,來識別地面脈沖響應。楊俊坡等[3]針對壓縮感知理論中確定性測量矩陣的構(gòu)造問題,基于二進制偽隨機序列,提出了一種具有采樣和重構(gòu)性能的確定性測量矩陣,利用有限域、編碼理論和偽隨機序列理論,研究了奇偶情況下的低相關(guān)二進制偽隨機序列,提出了一種適用于壓縮感知算法的確定性測量矩陣。理論分析和軟件仿真實驗表明,在相同的信號輸入條件下,與高斯隨機矩陣和伯努利隨機矩陣相比,基于偽隨機序列的測量矩陣具有更好的信號重構(gòu)性能和更低的實現(xiàn)難度。郭璇等[4]為了解決深海探測中探測效率低的問題,國際上普遍采用多平探測,但在回波識別和波時定位方面存在問題,提出了一種采用偽隨機編碼信號的解決方案。對不同編碼信號的回波識別和定位進行了仿真比較,不同編碼信號的回波識別性能隨噪聲的變化而變化。Walsh碼具有較好的回波識別性能,但在波時定位上容易出現(xiàn)誤差,并且隨著噪聲的增加,回波識別性能明顯下降。m序列具有較好的到達時間定位性能,但回波識別性能不如Walsh碼。楊國斌等[5]主要介紹了利用二相偽隨機序列進行脈沖壓縮的原理,梳理了在實際中廣泛應用的偽隨機序列的特點,并采用分步模擬實踐教學模式,加深學生對偽隨機序列的理解。
本文介紹的是數(shù)字地面電視廣播DVB-T [6]系統(tǒng)偽隨機序列擾碼器的FPGA實現(xiàn),設(shè)計了一種并行的偽隨機序列發(fā)生器方法,通過對視頻原始數(shù)據(jù)與偽隨機序列進行模2運算,使得數(shù)字基帶信號頻譜平滑,適應基帶系統(tǒng)的傳輸,提高數(shù)字通信系統(tǒng)的性能。
1? 應用背景
DVB-T是Digital Video Broadcasting-Terrestrial的簡寫,它被稱為地面數(shù)字電視廣播,是歐洲共同的地面數(shù)字電視標準。地面廣播具有地形復雜、時變衰落、多徑干擾和低信噪比等特點。因此,在數(shù)字電視和數(shù)字通信中,使用偽隨機序列實現(xiàn)數(shù)據(jù)擾碼,擾碼又稱為數(shù)據(jù)隨機化和能量擴散處理。圖1是數(shù)字地面電視廣播DVB-T信道編碼和OFDM調(diào)制框圖,從圖中看出,MPEG-2格式的視頻碼流首先進行了擾碼處理。
在數(shù)字通信系統(tǒng)中,基帶信號在傳輸?shù)倪^程中,碼元信號會出現(xiàn)連“1”和連“0”的情況,從而導致頻譜產(chǎn)生大量的低頻成分,不適合信道的傳輸特性,也影響位同步的建立和保持。通過采用擾碼技術(shù),碼元數(shù)據(jù)與偽隨機序列模2運算,可以解決碼元信號連“1”和連“0”的問題,從而可以使基帶信號頻譜更能適應基帶傳輸,也利于位同步的建立與保持,改善數(shù)字通信系統(tǒng)的性能。
2? 偽隨機序列
2.1? 線性反饋移位寄存器
偽隨機序列是具有一定隨機性質(zhì)的確定序列。雖然它們是由移位寄存器生成的,但它們是具有某些隨機屬性的隨機序列。偽隨機序列具有良好的隨機性和接近白噪聲的相關(guān)函數(shù),具有預先的可確定性和可重復性。這些特點使得偽隨機序列得到了廣泛的應用,特別是在無線通信擾碼的生成方面。
圖2為n級線性反饋移位寄存器(LFSR)的原理方框圖[7]。圖中反饋線的連接狀態(tài)用Ci表示,反饋系數(shù)Ci = 1表示有連接(參加反饋),Ci = 0表示無連接(不參加反饋),表示模2運算,n級線性反饋寄存器的狀態(tài)用Di表示,Di取值為1或0。
圖2? n級線性反饋移位寄存器(LFSR)
按照圖2線路反饋關(guān)系,可以定義LFSR的特征多項式:
式中xi僅表示其系數(shù)1或0代表反饋線Ci連通或斷開,x本身的取值與反饋線Ci無關(guān)。對于一個n級移位寄存器來說,最多有2n個狀態(tài)。由于全“0”狀態(tài)不會轉(zhuǎn)入其他狀態(tài),所以n級線性移位寄存器的輸出序列的周期P≤2n-1。如果反饋系數(shù)Ci選取適當,n級線性移位寄存器輸出序列的周期可以達到最大值2n-1,這時產(chǎn)生的偽隨機序列稱為最長線性反饋移位寄存器序列,簡稱m序列。
2.2? m序列的主要性質(zhì)
m序列是一種最長線性反饋移位序列,它是由具有線性反饋的移位寄存器生成的一種周期最長的序列。生成m序列電路的輸出序列被移位寄存器逐位移出,盡管移位寄存器的狀態(tài)每一次移位節(jié)拍改變一次,但它無疑是循環(huán)的。如果反饋線的分布是合適的,那么移位寄存器狀態(tài)必須在循環(huán)之前通過,這樣所有的狀態(tài)都出現(xiàn)了。這種序列是周期性的,當n足夠大的時候周期可以很長,在一個周期中,0和1中很多不同的排列方式,對于每一個比特是0還是1似乎是隨機的,所以它又被稱為偽隨機碼,并且由于它的一些性質(zhì)與隨機噪聲非常相似,所以又被稱為偽噪聲碼。
m序列是一種偽隨機序列,廣泛應用于通信領(lǐng)域,如擴頻通信、衛(wèi)星通信的碼分多址、數(shù)字數(shù)據(jù)加密、加擾、同步、誤碼率測量等。m序列具有一些與隨機噪聲相似的統(tǒng)計性質(zhì),并且可以通過計算重復生成。其中m序列是通信中常見的一種隨機序列,m序列的生成多項式必須是n次本原多項式,m序列是一個周期為p = 2n-1的循環(huán)序列[8]。m序列具有類似隨機序列的特性:
1)均衡性。在m序列的一個循環(huán)中,“1”和“0”的個數(shù)基本相等,“1”碼只比“0”碼多1個。
2)移位相加特性。將一個m序列Mp模2加到另一個由m序列任意延時移位產(chǎn)生的序列Mr上,仍然得到Mp的某個延時移位序列Ms,即:
3)相關(guān)特性。根據(jù)循環(huán)自相關(guān)特性很容易證明m序列的自相關(guān)函數(shù)是:
如果p = 2n-1很大,那么這個自相關(guān)函數(shù)非常接近隨機序列的自相關(guān)函數(shù)。
3? 并行偽隨機序列擾碼器設(shè)計
本文將以DVB-T系統(tǒng)中擾碼模塊為例,介紹n級線性反饋移位寄存器LFSR具體電路實現(xiàn)[9]。DVB-T數(shù)字地面電視廣播系統(tǒng)中為了實現(xiàn)基帶信號頻譜平滑,減少低頻成分,利于位定時信號的提取,首先進行擾碼處理。DVB-T系統(tǒng)采用MPEG-2視頻編碼格式,每個MPEG-2數(shù)據(jù)包有188個字節(jié),首字節(jié)是同步字節(jié)(其十六進制值為47H)。由于MPEG-2碼流以字節(jié)傳輸,為了提高DVB-T系統(tǒng)擾碼效率,簡化電路結(jié)構(gòu),設(shè)計了一種并行偽隨機序列發(fā)生器,如圖3所示。
圖3? DVB-T擾碼/解擾實現(xiàn)框圖
在圖3中,并行偽隨機序列發(fā)生器的寄存器初始值為:100 101 010 000 000,MPEG-2碼流每8個數(shù)據(jù)包(1 504字節(jié))組成一個數(shù)據(jù)組,每傳輸一個數(shù)據(jù)組時初始化一次寄存器。每一個數(shù)據(jù)組中的第一個數(shù)據(jù)包的同步字節(jié)進行取反操作,即47H反轉(zhuǎn)為B8H,以便為每一個數(shù)據(jù)組提供初始化信號標志,其他數(shù)據(jù)包中同步字節(jié)不參與擾碼,保持相同的輸出(即47H)。
根據(jù)圖3編寫Verilog代碼,構(gòu)造出一個并行偽隨機序列擾碼模塊單元,如圖4所示,其模塊單元的輸入輸出端口定義如表1所示。DataIn代表輸入MPEG-2數(shù)據(jù)碼流,DataOut代表輸出擾碼數(shù)據(jù)流。
圖4? DVB-T擾碼模塊實現(xiàn)框圖
4? DVB-T系統(tǒng)擾碼的FPGA仿真與實現(xiàn)
現(xiàn)場可編程門陣列(FPGA)是新一代數(shù)字邏輯器件,適用于時序、組合等邏輯電路應用。它不僅速度快、可靠性高,而且具有用戶可重新定義的邏輯功能,并具有可重復編程的特點。因此,現(xiàn)場可編程門陣列使得數(shù)字電路系統(tǒng)的設(shè)計非常靈活,大大縮短了系統(tǒng)的開發(fā)周期,減少了數(shù)字電路系統(tǒng)的體積和所用芯片的種類。FPGA器件是專用集成電路ASIC中的一種半定制電路,它是一種可編程邏輯陣列,可以有效地解決原有的器件門數(shù)少的問題。FPGA以其豐富的布線資源、高可重復編程性、高集成度和低投資等優(yōu)點在數(shù)字電路設(shè)計領(lǐng)域得到了廣泛的應用?,F(xiàn)場可編程門陣列(FPGA)在數(shù)字通信系統(tǒng)中得到越來越廣泛的應用,利用FPGA可以設(shè)計符合各種數(shù)字通信系統(tǒng)的偽隨機序列產(chǎn)生器[10]。
為了驗證FPGA設(shè)計結(jié)果,需要與MATLAB的運算結(jié)果作對比,從而驗證FPGA設(shè)計模塊的正確性。因此,采用MATLAB軟件實現(xiàn)DVB-T擾碼算法設(shè)計,并進行MATLAB運算,MATLAB的運算結(jié)果(十進制)如圖5所示。
DVB-T系統(tǒng)擾碼模塊實現(xiàn)的關(guān)鍵在于并行偽隨機二進制序列(PRBS)的構(gòu)造,其并行偽隨機序列設(shè)計框圖如圖3所示。根據(jù)上述設(shè)計框圖編寫Verilog代碼,設(shè)計出一個擾碼模塊單元,采用Xilinx公司Isim軟件對擾碼模塊單元進行RTL仿真,其仿真輸出結(jié)果DataOut與MATLAB運算輸出結(jié)果相同,仿真結(jié)果(十六進制)如圖6所示。
DVB-T硬件平臺采用Xilinx公司Spartan6系列FPGA開發(fā)板,這是一款低成本、低功耗的FPGA開發(fā)板,MPEG-2碼流數(shù)據(jù)使用串口通信傳輸,串口參數(shù)設(shè)置波特率9 600 Baud,8位數(shù)據(jù)位,1位奇偶校驗位,1位停止位,測試結(jié)果與仿真結(jié)果一致,如圖7所示。
5? 結(jié)? 論
偽隨機序列在通信領(lǐng)域有廣泛應用,本文詳細地介紹了偽隨機序列及其產(chǎn)生方法,通過MATLAB擾碼算法計算、Verilog代碼仿真以及FPGA開發(fā)板調(diào)試,利用EDA工具Xilinx編寫擾碼設(shè)計代碼,通過Verilog代碼仿真和MATLAB算法計算保證設(shè)計方案的正確性,最后進行FPGA開發(fā)板級調(diào)試,將編譯通過的代碼下載至FPGA芯片中,驗證實際運行的結(jié)果。MATLAB算法和Verilog代碼仿真以及FPGA硬件實現(xiàn)的結(jié)果證明擾碼設(shè)計的正確性,該設(shè)計方案也可作為其他擾碼通信系統(tǒng)的參考。本文采用并行的偽隨機序列發(fā)生器,結(jié)構(gòu)簡單且易實現(xiàn),只需1個時鐘管理單元、35個觸發(fā)器和75個查找表LUTs就可以實現(xiàn),占用FPGA非常少的資源。
參考文獻:
[1] 李宏年.偽隨機序列及其在現(xiàn)代移動通信中的應用 [J].電聲技術(shù),2021,45(10):120-122.
[2] 劉洋,宋汐瑾,肖鈞仁.基于m偽隨機序列的脈沖響應分析 [J].工業(yè)控制計算機,2023,36(1):78-79.
[3] 楊俊坡,劉文遠.基于偽隨機序列的壓縮感知測量矩陣構(gòu)造 [J].陜西科技大學學報,2021,39(4):161-165.
[4] 郭璇,郭英歌,王潤田.深海聲探測中偽隨機編碼信號的仿真研究 [J].聲學技術(shù),2019,38(1):46-50.
[5] 楊國斌,段鵬.偽隨機序列的仿真教學研究 [J].電子測試,2019(21):79-80+101.
[6] European Telecommunications Standards Institute. Digital Video Broadcasting (DVB); Frame Structure, Channel Coding and Modulation for Digital Terrestrial Television: ETSI EN 300 744 V1.6.2 [S/OL].[2023-05-11].https://www.etsi.org/deliver/etsi_en/300700_300799/300744/01.06.02_60/en_300744v010602p.pdf.
[7] 樊昌信,曹麗娜.通信原理:第7版 [M].北京:國防工業(yè)出版社,2012.
[8] 黃霞,張冰洋.M序列信號發(fā)生器的設(shè)計與實驗 [J].中國現(xiàn)代教育裝備,2021(23):35-37.
[9] 夏宇聞,韓彬.Verilog數(shù)字系統(tǒng)設(shè)計教程:第4版 [M].北京:北京航空航天大學出版社,2017.
[10] 曾凌川,白燕,盧曉春,等.一種基于調(diào)制m序列的直接序列擴頻信號調(diào)制方法 [J].電子與信息學報,2021,43(8):2156-2164.
作者簡介:陳振林(1991—),男,漢族,廣東茂名人,專任教師,碩士研究生,研究方向:移動通信。