林智慧,趙金龍,王振鐸
(西安思源學院 陜西 西安710038)
基于DSP Builder的幀同步檢出模型
林智慧,趙金龍,王振鐸
(西安思源學院 陜西 西安710038)
基于信號在進行遠距離傳輸的時候,不可避免地存在信號干擾、延遲、非線性失真等,為了確保數字通信系統傳輸的有效性,必須采用同步。按照同步的作用可以將其分為載波同步、位同步、幀同步和網同步。主要通過對幀同步的檢出進行研究,設計了一種基于DSP Builder的幀同步檢出模型,具體以常用的幀同步碼組——巴克碼為例,詳細介紹了該模型的設計實現方法,通過軟硬件測試驗證,該檢出模型切實可行。
幀同步;DSP Builder;巴克碼;檢出模型
在數字通信中,信號流的最小單位是碼元,若干碼元組成一幀,若干幀構成一個復幀。在接收端,必須準確分辨出每個每幀的起始和結束,否則將不能正確的恢復出原始信息。這種同步稱為幀同步(又稱群同步)。
幀同步的方法通常有兩種[1]:一種是起止同步法,但因其編碼效率低,基本不被采用。另一種方法是集中插入法,即在每幀的開頭連續插入一個特殊碼組,例如:巴克碼。如果在接收端能夠檢測出該碼組,就標志著幀開始。
1.1集中插入法
集中插入法的關鍵是尋找實現群同步的特殊碼組。對該碼組的基本要求是:具有尖銳單峰特性的自相關函數;便于與信息碼區別;碼長適當,以保證傳輸效率。
符合要求的碼組有:全1碼、全0碼、1和0交替碼、巴克碼等。目前常用的幀同步碼組是巴克碼。
1.2巴克碼的自相關函數
n位的巴克碼序列{xi}是一個有限長的數字序列,其中1≤i≤n,xi的取值為+1和-1。
其自相關函數為[2]:

以7位巴克碼{+1,+1,+1,-1,-1,+1,-1}為例,計算其自相關函數。

將上述計算結果繪制成圖,如圖1所示。

圖1 巴克碼自相關函數
通過上圖可以看出,巴克碼的自相關函數具有尖銳的單峰特性。
2.1DSP Builder簡介
DSP Builder是一個系統級的設計工具,它架構在多個軟件工具之上,并把系統級和RTL級兩個設計領域的設計工具連接起來,最大程度地發揮了兩種工具的優勢。
DSP Builder依賴于 MathWorks公司的數學分析工具Matlab/Simulink,以 Simulink的 Blockset出現,可以在Simulink中進行圖形化設計和仿真,同時又通過SignalCompiler可以把Matlab/Simulink的設計文件(.mdl)轉成相應的硬件描述語言.vhd文件,以及用于控制綜合與編譯的TCL腳本。
2.2建立檢出模型
如果要在數字信號流中能夠檢測出巴克碼,只要檢測序列的自相關函數即可。結合巴克碼的自相關函數原理及數電課程的知識,搭建幀同步檢出模型,需要移位寄存器、選擇器、累加器和判決器[4]。模型組成如下:

圖2 檢出模型組成
以7位巴克碼為例,在Simulink環境中,建立一個DSP Builder模型,檢測巴克碼組。根據需要,從庫里分別調出輸入/輸出端 AltBus、移位寄存器 Shift Tabs、選擇器 n-to-1 Multiplexer、累 加 器 Parallel Adder Subtractor、判 決 器Comparator、Signal Compiler工具及常數Constant。

圖3 幀同步檢出模型
由Shift Tabs模塊完成輸入序列存儲,n-to-1 Multiplexer模塊完成數據選擇功能,通過輸入信號某一位的值可以得到此位和對應巴克碼位的乘積結果,即+1和-1。Parallel Ad-der Subtractor模塊完成求和運算,Comparator模塊是用來和設置的常數進行比較并輸出比較結果。

圖4 仿真結果
2.3模型仿真
將建立好的模型進行仿真驗證,首先通過From Workspace模塊讀取MATLAB的命令窗口中輸入的數字序列:0 0 1 1 1 0 0 1 0 0,其中7位巴克碼是從第3位開始,第9位結束,剩余數據為信息數據。從圖4的仿真結果中可以看出,7位巴克碼進入幀同步檢出模型后,會輸出一個高電平,標志著一幀的開始。結果表明該模型合理,準確可行,可以作為幀同步檢出模型。
3.1模型文件MDL轉換成VHDL
SignalCompiler模塊是DSP Builder的核心,通過該模塊可以獲得針對指定FPGA芯片的VHDL代碼。具體步驟如下:
1)通過SignalCompiler模塊的Analyze按鈕檢查Simulink模型是否正確,如果有錯誤必須改正后才能繼續DSP Builder的后續流程。
2)對SignalCompiler模塊進行設置,主要是“Project Setting Options”選項卡,包括器件型號、綜合等。
3)利用“Convert MDL to VHDL”將圖3的模型文件轉換為VHDL文件。
轉換的文件部分程序如下:

3.2硬件驗證
打開Quartus II環境,選擇菜單 “File”→“Open Project ...”,定位到巴克碼模型所在的目錄,打開DSP Builder建立的Quartus II項目文件:bakema.qpf。選擇菜單 “Assignments”→“Device...”,在相應的對話框中選擇器件,選擇菜單“Assignments”→“Assign Pins...”,對應FPGA開發板上的硬件連接,鎖定Pin。接著進行編譯,完成適配過程。選擇菜單“Processing”→“Start Compilation...”,等待Quartus II編譯完成[5]。連接好FPGA開發板,進行硬件的下載。經過驗證,鎖定的二極管被點亮。
同步是通信系統中一個重要的問題,主要包括載波同步、位同步、幀同步和網同步。主要針對幀同步方法之集中插入法進行研究,包括巴克碼的自相關函數、幀同步檢出模型的創建、仿真、模型文件.mdl轉換成VHDL、硬件驗證等。結果表明,該模型設計合理,正確可行。但針對巴克碼出錯或者信息碼和巴克碼相同情況[6],需要對模型進一步研究改進。
[1]張平川.現代通信原理與技術簡明教程[M].北京大學出版社,2011.
[2]樊昌信.通信原理[M].國防工業出版社,2013.
[3]潘松,黃繼業,王國棟.現代DSP技術[M].西安電子科技大學出版社,2005.
[4]茍雙全,郭文龍,陳軍.巴克碼檢測模型分析及仿真設計研究[J].自動化與儀器儀表,2013,(6):30-31.
[5]徐志軍,王金明,尹廷輝,等.EDA技術與VHDL設計[M].電子工業出版社,2011.
[6]張偉,李霞明.幀同步電路的VerilogHDL設計[J].微計算機信息,2008(36):246-247.
The detection model of frame synchronization based on DSP Builder
LIN Zhi-hui,ZHAO Jin-long,WANG Zhen-duo
(Xi’an Siyuan University,Xi’an 710038,China)
Signal in long distance transmission,inevitably there is interference,delay,nonlinear distortion,etc,in order to ensure the effectiveness of the digital communication transmission system,which must be synchronized.According to the role of synchronization can be divided into carrier synchronization,bit synchronization and frame synchronization and the network synchronization.The mainly studies on the detection of frame synchronization,a frame synchronization detection model based on Builder DSP is designed take Barker code as an example,introduced the method to realize the design of the model,and finally through the software and hardware testing,the detection model is feasible.
frame synchronization;DSP Builder;Barker code;detection model
TN91
A
1674-6236(2016)14-0091-03
2015-07-16稿件編號:201507122
林智慧(1980—),女,遼寧沈陽人,碩士研究生,講師。研究方向:通信與信息系統。