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