當前位置:編程學習大全網 - 編程語言 - 基於Systemview的巴克碼識別器設計

基於Systemview的巴克碼識別器設計

姓名:王鐸澎

學號:20000300055

嵌牛導讀:該篇文章主要進行了數字通信中較常見的巴克碼的算法原理和仿真實現。

嵌牛正文:

同步是通信系統中壹個重要的實際問題。通信系統有效地、可靠地工作是建立在良好的同步系統基礎上的。數字通信系統中幀同步壹般采用集中插入同步法,而性能良好的巴克碼是目前幀同步(群同步)系統中用得比較廣泛的同步碼,該碼組具有尖銳的自相關函數,且在接收端進行同步識別時出現漏同步、偽同步的概率小,群同步平均建立時間短,同時接收端的同步碼識別器較為簡單[1]。本文主要闡述了如何利用SystemView實現巴克碼識別器仿真。仿真系統主要由偽隨機序列(Pseudo-Noise,PN)發生器、時鐘發生器、8位移位寄存器、加法器及邏輯比較器組成。通過設計仿真電路,分析電路仿真結果,為最終硬件實現提供理論依據。

巴克碼識別系統由偽隨機序列(數據)發生器、時鐘發生器、巴克碼生成電路、檢測電路***同組成,其中巴克碼由時鐘脈沖加到PN序列產生器上生成。系統原理框圖如圖所示

群同步

通信系統的幀同步中的消息數字流總是用若幹碼元組成壹個“字”,又用若幹“字”組成壹“句”,即組成壹個個的“群”進行傳輸的。因此,在接收這些數字流時,同樣也必須知道這些“字”、“句”的起止時刻,在接收端產生與“字”、“句”起止時刻相壹致的定時脈沖序列,統稱為群同步或幀同步[2]。

接收碼組與發送碼組在結構、頻率和相位上須完全壹致,否則就不能正常接收所發送的信息,接收到的只是壹片噪聲。若實現了收發同步但不能保持同步,也無法準確可靠地獲取所發送的信息數據。發送端和接收端可以采用高精確度和高穩定度的時鐘頻率源,以保證頻率和相位的穩定性。但在實際應用中,存在許多事先無法估計的不確定因素,如收發時鐘不穩定、發送時刻不確定、信道傳輸時延及幹擾等,尤其在移動通信中,這些不確定因素都有隨機性,不能預先補償,因此只能通過同步系統消除。

群同步的任務就是在位同步信息的基礎上,識別出數字信息群(“字”或“句”)的起止時刻,或者說給出每個群的“開頭”和“末尾”時刻。這些特殊的碼字應該在信息碼元序列中不會出現,或者是偶然可能出現,但不會重復出現,此時只要將這個特殊碼字連發幾次,收端就能識別出來,接收端根據這些特殊碼字的位置使接收設備的幀定時與接收到的信號中的幀定時處於同步狀態實現群同步。

2 .2 連貫式插入法

連貫插入法,又稱集中插入法。它是指在每壹信息幀的開頭集中插入作為幀同步碼組的特殊碼組,該碼組應在信息碼中很少出現,即使偶爾出現,也不可能依照幀的規律周期出現。接收端按幀的周期連續數次檢測該特殊碼組,這樣便獲得幀同步信息。

2 .3 幀同步碼選擇原則

幀同步碼的要求:

(1)具有尖銳單峰特性的自相關函數、漏同步概率小;

(2)便於與信息碼區別、假同步概率小;

(3)碼長適當,以保證傳輸效率。

2 .4 巴克碼

巴克碼是壹種具有特殊規律的二進制碼字,是壹種非周期序列,它的特殊規律是:若壹個 n ?位的巴克碼,每個碼元只可能取值+1或-1,從它的局部自相關函數

中可以看到巴克碼計算的局部自相關函數R(j)具有尖銳單峰特性,從後面的分析同樣可以看出,它的識別器結構非常簡單。目前只搜索到10組巴克碼,其碼組最大長度為13,全部列在表3-1 中。表中+表示+1,–表示–1。

以 n ?= 7的巴克碼為例,它的局部自相關函數計算求出j=1、2、3、4、5、6、7時的R(j)值分別為-1、0、-1、0、-1、0,再求出j為負值時的自相關函數值,兩者壹起畫在圖3-2 中。由圖可見,其自相關函數在j=0時出現尖銳的單峰。

2 .5 巴克碼生成電路

時鐘脈沖加到PN序列產生器上生成巴克碼,巴克碼生成電路如圖3-3 所示

巴克碼生成電路原理圖

2 . 5 . 1? 時鐘信號實現 ?

時鐘信號:為系統提供壹連串穩定的脈沖信號,從而滿足系統各部分協同工作需要的穩定的脈沖信號。

時鐘信號源參數設置:壹個周期脈沖序列應等於,或長於指定的脈沖寬度,即保證壹周期內有脈沖信號顯示。脈沖寬度壹般設置為 5e-3 sec即0.005s,那麽輸入頻率應小於200Hz,因為1/200=0.005s,這裏頻率定義為常用值 100Hz

100Hz?

圖3-6 時鐘信號波形圖

顯然這是時鐘信號波形,且時鐘信號源圖符1 直接連接到接收圖符3,故可確定W1(圖3-6)為時鐘信號波形。

2 . 5 . 2 PN 序列產生器功能實現

SystemView在通信圖符庫中給出了壹個PN碼發生器的圖符。只需在該圖符的輸入端加入壹定頻率的時鐘信號,給出相應的移位寄存器長度、反饋系數(或抽頭)和起始種子(Seed)便可得到所需的PN序列。

偽隨機(PN)序列:可預先確定的,且可以重復地生產和復制的又具有某種隨機序列的隨機特性(即統計特性)的確定的序列。

偽隨機序列系列具有良好的隨機性和自相關性,並且有預先的可確定性和可重復性。最常見的二進制PN 序列是最大長度線性移位寄存器序列,簡稱m 序列[3],它是由壹個線性反饋的n 級移位寄存器生成的。所謂線性反饋,是指反饋函數中僅包含模2 加運算而不含非線性運算。n 級移位寄存器***有2n 個狀態,除去全0狀態外有2 n -1 種狀態,因此它能產生的最大長度的碼序列為2 n -1位。這樣生成的m 序列是壹個以P=2 n -1為周期的循環序列。

n 級移位寄存器產生m序列的方法。

圖3-7 是由n 級移位寄存器構成的碼序列發生器。寄存器的狀態決定於時鐘控制下輸入的信息(“0”或“1”),例如第 i ?級移位寄存器決定於前壹時鐘脈沖後的第 i ?-1級移位寄存器狀態。參加反饋的各級輸出經多次模2和後把最後結果送入第壹級。需要註意的是,結構需有全0檢測電路和啟動電路,否則由於某種原因(如啟動)發生器可能死在全“0”狀態。

圖3-7 n級循環序列發生器的模型

圖3-2 七位巴克碼的自相關函數

PN序列產生器設置操作如下。

從圖符庫中拖出壹個圖符“Comm”到設計窗口,雙擊該圖符,在彈出的圖3-9 通信圖符庫窗口中選擇“ Filters/Data”中的PN序列產生器“PN Gen”, 按“Parameter”按鈕,

圖3-9 通信圖符庫窗口

依據前面理論,n=3,Ci=(13)8的m序列故將參數設置窗口中的寄存器長度 “Reg Len”定義為3,種子“Seed”定義為7,抽頭項“Taps”的2和3打勾。確認退出,圖符變成 。

圖3-10 PN序列產生器參數設置窗口

在圖符14即可接收顯示7位巴克碼波形如圖3-11 所示

圖3-11 巴克碼波形圖

由波形圖W3可看出波形以數據組1110010為周期,因為7位巴克碼組為1110010,故W3(圖3-11)為巴克碼生成輸出波形。

2 .6 檢測電路

如圖3-12 使用壹個8位移位寄存器(圖符5)的前7位,3個非門(圖符6、7、8),加法器(圖符9)和比較器(圖符16)構成檢測電路。信號輸出經過比較判決器(圖符16)檢測識別出大於6的單峰脈沖。

2 . 6 . 1? 數據信號實現 ?

在數字通信中,壹般使用偽隨機序列信號作為訓練序列,用來模擬帶有巴克碼的數據流。

偽隨機序列信號:產生壹個按設定速率,由不同電平幅度脈沖組成的偽隨機序列(PN)信號。

偽隨機序列信號源參數設置:頻率壹般定義為100Hz,電平數就定義為2,即符合巴克碼±1,兩個電平數.

3? 系統仿真模型設計

3 .1 系統設計步驟

1).進入SystemView。雙擊桌面上的SystemView快捷圖標或單擊程序組中的SystemView即可啟動SystemView。

2).點擊菜單欄的“File->New System”建立壹個新文件。

3).定義壹個幅度為1V,頻率為100Hz的數據信號源。從圖符庫中拖出壹個信號源圖符 “Source”到設計窗口,雙擊該圖符,在出現的信號源庫窗口中,選擇噪聲/偽隨機序列“Noise/PN”中的偽隨機序列信號“PN Seq”,按

“Parameter”按鈕,將參數設置窗口中的幅度“Amp”定義為1,頻率“Frequency”定義為100。確定退出,圖符變成。

4).定義壹個幅度為1V,頻率為100Hz的信時鐘號源。從圖符庫中拖出壹個信號源圖符“Source”到設計窗口,雙擊該圖符,在出現的信號源庫窗口中,選擇周期信號“Periodic”中的脈沖信號“Pulse Train”,按“Parameter”按鈕,將參數設置窗口中的電壓幅度“Amp”定義為1,頻率“Frequency”定義為100,脈沖寬度“PulseW”定義為5e-3 ,偏置電壓“Offset”定義為-500e-3 。確定退出,圖符變成。

5).定義四個接收圖符。拖動壹個接收圖符“sink” 到設計窗口,點擊 復制三個同樣的圖符,雙擊它們,將它們都選擇分析類“Analysis”中的分析接收“Analysis”,確定退出,圖符變成 。

6).按快捷鍵 切換到通信圖符庫,從圖符庫中拖出壹個邏輯圖符 “ Logic”至設計窗口,點擊 復制三個同樣的圖符,雙擊其中壹個,在出現的窗口中,選擇“FF/Latch/Reg”中的8位移位寄存器“Shft-8in”按“Parameter”按鈕,將參數設置窗口中的輸出真值“True Output”定義為1,輸出假值“False Output”定義為-1。確認退出,圖符變成 。另外三個圖符選擇門/緩沖器“Gates/Buffers”中的邏輯非“Invert”,按“Parameter”按鈕,將參數設置窗口中的輸出真值“True Output” 定義為1,輸出假值 “False Output” 定義為-1。確認退出,圖符變成 。

7).從圖符庫中拖出壹個加法器圖符“Adder”到設計窗口。

8).從圖符庫中拖出壹個圖符“Comm”到設計窗口,雙擊該圖符,在跳出的窗口中選擇“Filters/Data”中的PN序列產生器“PN Gen”,按“Parameter”按鈕,依據前面理論,n=3,Ci=(13)8的m序列故將參數設置窗口中的寄存器長度“Reg Len”定義為3,種子“Seed”定義為7,抽頭項“Taps”的2和3打勾。確認退出,圖符變成 。

9).從圖符庫中拖出壹個算子圖符“Operator”到設計窗口,雙擊該圖符,在跳出的窗口中選擇邏輯算子”Logic”中的比較器“Compare”, 按“Parameter”按鈕,將參數設置窗口中的比較 “Comparison”選取“a>b”,真值輸出“True Output”定義為 2 ,假值輸出“ False Output”定義為 0 。確認退出,圖符變成 。

10). 從圖符庫中拖出壹個信號源圖符 “Source”到設計窗口,雙擊該圖符,在跳出的窗口中選“Aperiodic”的階躍函數“Step Fct” ,按“Parameter”按鈕,將參數設置窗口中的電壓幅度“Amp”定義為0,確認退出,圖符變成 。點擊 復制壹個同樣的圖符,電壓幅度“Amp”定義為 6。

11).連接圖符。將數據信號源輸出圖符0 分別連接到移位寄存器圖符5 和接收圖符2 ;時鐘信號源輸出圖符1 分別連接到移位寄存器圖符5、接收圖符3 和PN序列產生器圖符13,圖符13 再連接到接收圖符14 ;移位寄存器圖符5 的0,2,3口分別經過非門再接到加法器圖符9,而圖符5的1,4,5,6口直接接到加法器圖符9,另外加法器外加壹個階躍信號源圖符4;加法器圖符5 輸出到判決器圖符10,最後由判決器圖符10輸出到接收圖符12 。得到如下圖所示的巴克碼識別器仿真系統原理圖。

12).設置系統運行時間。單擊工具條中的系統定時“System Time”按鈕,把采樣頻率“Samp1e Rate”設置為載波頻率的10倍1e+3 Hz,采樣點數“No. of Samples”設置為1024。

13).按創建便箋按鈕,加入如圖4-2 所示的註釋Note Pad,漢字的顏色和字體可以在文字框內單擊右鍵定義。

14).運行系統。單擊工具條中的運行按鈕運行系統。

15).單擊“Analysis”快捷按鈕進入分析窗口,單擊窗口工具條的水平分布,使整個窗口排列顯示四個圖形W0、W1、W2、W3,利於對照觀察分析。這時可以看到四個圖形W0、W1、W2、W3。

16).結束仿真,保存系統。通過選擇“File -> Save”把剛才設計的內容保存下來。

  • 上一篇:union all是什麽意思
  • 下一篇:在大學裏,學生真正應該學習的是什麽?努力的方向是什麽?
  • copyright 2024編程學習大全網