姓名:王鐸澎
學(xué)號:20000300055
轉(zhuǎn)載自:https://blog.csdn.net/ccsss22/article/details/108760831?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160388272719725225046144%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=160388272719725225046144&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v28-14-108760831.pc_first_rank_v2_rank_v28&utm_term=%E5%B7%B4%E5%85%8B%E7%A0%81&spm=1018.2118.3001.4187
嵌牛導(dǎo)讀:該篇文章主要進(jìn)行了數(shù)字通信中較常見的巴克碼的算法原理和仿真實(shí)現(xiàn)毙驯。
嵌牛正文:
同步是通信系統(tǒng)中一個(gè)重要的實(shí)際問題咕幻。通信系統(tǒng)有效地线得、可靠地工作是建立在良好的同步系統(tǒng)基礎(chǔ)上的。數(shù)字通信系統(tǒng)中幀同步一般采用集中插入同步法蓝翰,而性能良好的巴克碼是目前幀同步(群同步)系統(tǒng)中用得比較廣泛的同步碼光绕,該碼組具有尖銳的自相關(guān)函數(shù),且在接收端進(jìn)行同步識別時(shí)出現(xiàn)漏同步畜份、偽同步的概率小奇钞,群同步平均建立時(shí)間短,同時(shí)接收端的同步碼識別器較為簡單[1]漂坏。本文主要闡述了如何利用SystemView實(shí)現(xiàn)巴克碼識別器仿真。仿真系統(tǒng)主要由偽隨機(jī)序列(Pseudo-Noise,PN)發(fā)生器顶别、時(shí)鐘發(fā)生器谷徙、8位移位寄存器、加法器及邏輯比較器組成驯绎。通過設(shè)計(jì)仿真電路完慧,分析電路仿真結(jié)果,為最終硬件實(shí)現(xiàn)提供理論依據(jù)剩失。
巴克碼識別系統(tǒng)由偽隨機(jī)序列(數(shù)據(jù))發(fā)生器屈尼、時(shí)鐘發(fā)生器、巴克碼生成電路拴孤、檢測電路共同組成脾歧,其中巴克碼由時(shí)鐘脈沖加到PN序列產(chǎn)生器上生成。系統(tǒng)原理框圖如圖所示
通信系統(tǒng)的幀同步中的消息數(shù)字流總是用若干碼元組成一個(gè)“字”演熟,又用若干“字”組成一“句”鞭执,即組成一個(gè)個(gè)的“群”進(jìn)行傳輸?shù)摹R虼嗣⒋猓诮邮者@些數(shù)字流時(shí)兄纺,同樣也必須知道這些“字”、“句”的起止時(shí)刻化漆,在接收端產(chǎn)生與“字”估脆、“句”起止時(shí)刻相一致的定時(shí)脈沖序列,統(tǒng)稱為群同步或幀同步[2]座云。
接收碼組與發(fā)送碼組在結(jié)構(gòu)疙赠、頻率和相位上須完全一致,否則就不能正常接收所發(fā)送的信息疙教,接收到的只是一片噪聲棺聊。若實(shí)現(xiàn)了收發(fā)同步但不能保持同步,也無法準(zhǔn)確可靠地獲取所發(fā)送的信息數(shù)據(jù)贞谓。發(fā)送端和接收端可以采用高精確度和高穩(wěn)定度的時(shí)鐘頻率源限佩,以保證頻率和相位的穩(wěn)定性。但在實(shí)際應(yīng)用中裸弦,存在許多事先無法估計(jì)的不確定因素祟同,如收發(fā)時(shí)鐘不穩(wěn)定、發(fā)送時(shí)刻不確定理疙、信道傳輸時(shí)延及干擾等晕城,尤其在移動通信中,這些不確定因素都有隨機(jī)性窖贤,不能預(yù)先補(bǔ)償砖顷,因此只能通過同步系統(tǒng)消除贰锁。
群同步的任務(wù)就是在位同步信息的基礎(chǔ)上,識別出數(shù)字信息群(“字”或“句”)的起止時(shí)刻滤蝠,或者說給出每個(gè)群的“開頭”和“末尾”時(shí)刻豌熄。這些特殊的碼字應(yīng)該在信息碼元序列中不會出現(xiàn),或者是偶然可能出現(xiàn)物咳,但不會重復(fù)出現(xiàn)锣险,此時(shí)只要將這個(gè)特殊碼字連發(fā)幾次,收端就能識別出來览闰,接收端根據(jù)這些特殊碼字的位置使接收設(shè)備的幀定時(shí)與接收到的信號中的幀定時(shí)處于同步狀態(tài)實(shí)現(xiàn)群同步芯肤。
2.2 連貫式插入法
連貫插入法,又稱集中插入法压鉴。它是指在每一信息幀的開頭集中插入作為幀同步碼組的特殊碼組崖咨,該碼組應(yīng)在信息碼中很少出現(xiàn),即使偶爾出現(xiàn)晴弃,也不可能依照幀的規(guī)律周期出現(xiàn)掩幢。接收端按幀的周期連續(xù)數(shù)次檢測該特殊碼組,這樣便獲得幀同步信息上鞠。
2.3 幀同步碼選擇原則
幀同步碼的要求:
(1)具有尖銳單峰特性的自相關(guān)函數(shù)际邻、漏同步概率小芍阎;
(2)便于與信息碼區(qū)別世曾、假同步概率小谴咸;
(3)碼長適當(dāng)轮听,以保證傳輸效率。
2.4 巴克碼
巴克碼是一種具有特殊規(guī)律的二進(jìn)制碼字岭佳,是一種非周期序列血巍,它的特殊規(guī)律是:若一個(gè)n?位的巴克碼,每個(gè)碼元只可能取值+1或-1珊随,從它的局部自相關(guān)函數(shù)
中可以看到巴克碼計(jì)算的局部自相關(guān)函數(shù)R(j)具有尖銳單峰特性述寡,從后面的分析同樣可以看出,它的識別器結(jié)構(gòu)非常簡單叶洞。目前只搜索到10組巴克碼鲫凶,其碼組最大長度為13,全部列在表3-1 中衩辟。表中+表示+1螟炫,–表示–1。
以n?= 7的巴克碼為例艺晴,它的局部自相關(guān)函數(shù)計(jì)算求出j=1昼钻、2掸屡、3、4然评、5折晦、6、7時(shí)的R(j)值分別為-1沾瓦、0、-1谦炒、0贯莺、-1、0宁改,再求出j為負(fù)值時(shí)的自相關(guān)函數(shù)值缕探,兩者一起畫在圖3-2 中。由圖可見还蹲,其自相關(guān)函數(shù)在j=0時(shí)出現(xiàn)尖銳的單峰爹耗。
2.5 巴克碼生成電路
時(shí)鐘脈沖加到PN序列產(chǎn)生器上生成巴克碼,巴克碼生成電路如圖3-3 所示
巴克碼生成電路原理圖
2.5.1?時(shí)鐘信號實(shí)現(xiàn)?
時(shí)鐘信號:為系統(tǒng)提供一連串穩(wěn)定的脈沖信號谜喊,從而滿足系統(tǒng)各部分協(xié)同工作需要的穩(wěn)定的脈沖信號潭兽。
時(shí)鐘信號源參數(shù)設(shè)置:一個(gè)周期脈沖序列應(yīng)等于,或長于指定的脈沖寬度斗遏,即保證一周期內(nèi)有脈沖信號顯示山卦。脈沖寬度一般設(shè)置為 5e-3 sec即0.005s,那么輸入頻率應(yīng)小于200Hz诵次,因?yàn)?/200=0.005s账蓉,這里頻率定義為常用值100Hz
100Hz?
圖3-6 時(shí)鐘信號波形圖
顯然這是時(shí)鐘信號波形,且時(shí)鐘信號源圖符1 直接連接到接收圖符3逾一,故可確定W1(圖3-6)為時(shí)鐘信號波形铸本。
2.5.2 PN序列產(chǎn)生器功能實(shí)現(xiàn)
SystemView在通信圖符庫中給出了一個(gè)PN碼發(fā)生器的圖符。只需在該圖符的輸入端加入一定頻率的時(shí)鐘信號遵堵,給出相應(yīng)的移位寄存器長度箱玷、反饋系數(shù)(或抽頭)和起始種子(Seed)便可得到所需的PN序列。
偽隨機(jī)(PN)序列:可預(yù)先確定的鄙早,且可以重復(fù)地生產(chǎn)和復(fù)制的又具有某種隨機(jī)序列的隨機(jī)特性(即統(tǒng)計(jì)特性)的確定的序列汪茧。
偽隨機(jī)序列系列具有良好的隨機(jī)性和自相關(guān)性,并且有預(yù)先的可確定性和可重復(fù)性限番。最常見的二進(jìn)制PN 序列是最大長度線性移位寄存器序列舱污,簡稱m 序列[3],它是由一個(gè)線性反饋的n 級移位寄存器生成的弥虐。所謂線性反饋扩灯,是指反饋函數(shù)中僅包含模2 加運(yùn)算而不含非線性運(yùn)算媚赖。n 級移位寄存器共有2n 個(gè)狀態(tài),除去全0狀態(tài)外有2 n -1 種狀態(tài)珠插,因此它能產(chǎn)生的最大長度的碼序列為2 n -1位惧磺。這樣生成的m 序列是一個(gè)以P=2 n -1為周期的循環(huán)序列。
n 級移位寄存器產(chǎn)生m序列的方法捻撑。
圖3-7 是由n 級移位寄存器構(gòu)成的碼序列發(fā)生器磨隘。寄存器的狀態(tài)決定于時(shí)鐘控制下輸入的信息(“0”或“1”),例如第i?級移位寄存器決定于前一時(shí)鐘脈沖后的第i?-1級移位寄存器狀態(tài)顾患。參加反饋的各級輸出經(jīng)多次模2和后把最后結(jié)果送入第一級番捂。需要注意的是,結(jié)構(gòu)需有全0檢測電路和啟動電路江解,否則由于某種原因(如啟動)發(fā)生器可能死在全“0”狀態(tài)设预。
圖3-7 n級循環(huán)序列發(fā)生器的模型
圖3-2 七位巴克碼的自相關(guān)函數(shù)
PN序列產(chǎn)生器設(shè)置操作如下。
從圖符庫中拖出一個(gè)圖符“Comm”到設(shè)計(jì)窗口犁河,雙擊該圖符鳖枕,在彈出的圖3-9 通信圖符庫窗口中選擇“ Filters/Data”中的PN序列產(chǎn)生器“PN Gen”, 按“Parameter”按鈕桨螺,
圖3-9 通信圖符庫窗口
依據(jù)前面理論宾符,n=3,Ci=(13)8的m序列故將參數(shù)設(shè)置窗口中的寄存器長度 “Reg Len”定義為3,種子“Seed”定義為7彭谁,抽頭項(xiàng)“Taps”的2和3打勾吸奴。確認(rèn)退出,圖符變成 缠局。
圖3-10 PN序列產(chǎn)生器參數(shù)設(shè)置窗口
在圖符14即可接收顯示7位巴克碼波形如圖3-11 所示
圖3-11 巴克碼波形圖
由波形圖W3可看出波形以數(shù)據(jù)組1110010為周期则奥,因?yàn)?位巴克碼組為1110010,故W3(圖3-11)為巴克碼生成輸出波形狭园。
2.6 檢測電路
如圖3-12 使用一個(gè)8位移位寄存器(圖符5)的前7位读处,3個(gè)非門(圖符6、7唱矛、8)罚舱,加法器(圖符9)和比較器(圖符16)構(gòu)成檢測電路。信號輸出經(jīng)過比較判決器(圖符16)檢測識別出大于6的單峰脈沖绎谦。
2.6.1?數(shù)據(jù)信號實(shí)現(xiàn)?
在數(shù)字通信中管闷,一般使用偽隨機(jī)序列信號作為訓(xùn)練序列,用來模擬帶有巴克碼的數(shù)據(jù)流窃肠。
偽隨機(jī)序列信號:產(chǎn)生一個(gè)按設(shè)定速率包个,由不同電平幅度脈沖組成的偽隨機(jī)序列(PN)信號。
偽隨機(jī)序列信號源參數(shù)設(shè)置:頻率一般定義為100Hz冤留,電平數(shù)就定義為2碧囊,即符合巴克碼±1树灶,兩個(gè)電平數(shù).
3?系統(tǒng)仿真模型設(shè)計(jì)
3.1 系統(tǒng)設(shè)計(jì)步驟
1).進(jìn)入SystemView。雙擊桌面上的SystemView快捷圖標(biāo)或單擊程序組中的SystemView即可啟動SystemView糯而。
2).點(diǎn)擊菜單欄的“File->New System”建立一個(gè)新文件天通。
3).定義一個(gè)幅度為1V,頻率為100Hz的數(shù)據(jù)信號源熄驼。從圖符庫中拖出一個(gè)信號源圖符 “Source”到設(shè)計(jì)窗口像寒,雙擊該圖符,在出現(xiàn)的信號源庫窗口中瓜贾,選擇噪聲/偽隨機(jī)序列“Noise/PN”中的偽隨機(jī)序列信號“PN Seq”萝映,按
“Parameter”按鈕,將參數(shù)設(shè)置窗口中的幅度“Amp”定義為1阐虚,頻率“Frequency”定義為100。確定退出蚌卤,圖符變成实束。
4).定義一個(gè)幅度為1V,頻率為100Hz的信時(shí)鐘號源逊彭。從圖符庫中拖出一個(gè)信號源圖符“Source”到設(shè)計(jì)窗口咸灿,雙擊該圖符,在出現(xiàn)的信號源庫窗口中侮叮,選擇周期信號“Periodic”中的脈沖信號“Pulse Train”避矢,按“Parameter”按鈕,將參數(shù)設(shè)置窗口中的電壓幅度“Amp”定義為1囊榜,頻率“Frequency”定義為100审胸,脈沖寬度“PulseW”定義為5e-3 ,偏置電壓“Offset”定義為-500e-3 卸勺。確定退出砂沛,圖符變成。
5).定義四個(gè)接收圖符曙求。拖動一個(gè)接收圖符“sink” 到設(shè)計(jì)窗口碍庵,點(diǎn)擊 復(fù)制三個(gè)同樣的圖符,雙擊它們悟狱,將它們都選擇分析類“Analysis”中的分析接收“Analysis”静浴,確定退出,圖符變成 挤渐。
6).按快捷鍵 切換到通信圖符庫苹享,從圖符庫中拖出一個(gè)邏輯圖符 “ Logic”至設(shè)計(jì)窗口,點(diǎn)擊 復(fù)制三個(gè)同樣的圖符挣菲,雙擊其中一個(gè)富稻,在出現(xiàn)的窗口中掷邦,選擇“FF/Latch/Reg”中的8位移位寄存器“Shft-8in”按“Parameter”按鈕,將參數(shù)設(shè)置窗口中的輸出真值“True Output”定義為1椭赋,輸出假值“False Output”定義為-1抚岗。確認(rèn)退出,圖符變成 哪怔。另外三個(gè)圖符選擇門/緩沖器“Gates/Buffers”中的邏輯非“Invert”宣蔚,按“Parameter”按鈕,將參數(shù)設(shè)置窗口中的輸出真值“True Output” 定義為1认境,輸出假值 “False Output” 定義為-1胚委。確認(rèn)退出,圖符變成 叉信。
7).從圖符庫中拖出一個(gè)加法器圖符“Adder”到設(shè)計(jì)窗口亩冬。
8).從圖符庫中拖出一個(gè)圖符“Comm”到設(shè)計(jì)窗口,雙擊該圖符硼身,在跳出的窗口中選擇“Filters/Data”中的PN序列產(chǎn)生器“PN Gen”硅急,按“Parameter”按鈕,依據(jù)前面理論佳遂,n=3,Ci=(13)8的m序列故將參數(shù)設(shè)置窗口中的寄存器長度“Reg Len”定義為3营袜,種子“Seed”定義為7,抽頭項(xiàng)“Taps”的2和3打勾丑罪。確認(rèn)退出荚板,圖符變成 。
9).從圖符庫中拖出一個(gè)算子圖符“Operator”到設(shè)計(jì)窗口,雙擊該圖符吩屹,在跳出的窗口中選擇邏輯算子”Logic”中的比較器“Compare”跪另, 按“Parameter”按鈕,將參數(shù)設(shè)置窗口中的比較 “Comparison”選取“a>b”煤搜,真值輸出“True Output”定義為 2 罚斗,假值輸出“ False Output”定義為 0 。確認(rèn)退出宅楞,圖符變成 针姿。
10). 從圖符庫中拖出一個(gè)信號源圖符 “Source”到設(shè)計(jì)窗口,雙擊該圖符厌衙,在跳出的窗口中選“Aperiodic”的階躍函數(shù)“Step Fct” 距淫,按“Parameter”按鈕,將參數(shù)設(shè)置窗口中的電壓幅度“Amp”定義為0婶希,確認(rèn)退出榕暇,圖符變成 。點(diǎn)擊 復(fù)制一個(gè)同樣的圖符,電壓幅度“Amp”定義為 6彤枢。
11).連接圖符狰晚。將數(shù)據(jù)信號源輸出圖符0 分別連接到移位寄存器圖符5 和接收圖符2 ;時(shí)鐘信號源輸出圖符1 分別連接到移位寄存器圖符5缴啡、接收圖符3 和PN序列產(chǎn)生器圖符13壁晒,圖符13 再連接到接收圖符14 ;移位寄存器圖符5 的0业栅,2秒咐,3口分別經(jīng)過非門再接到加法器圖符9,而圖符5的1碘裕,4携取,5,6口直接接到加法器圖符9帮孔,另外加法器外加一個(gè)階躍信號源圖符4雷滋;加法器圖符5 輸出到判決器圖符10,最后由判決器圖符10輸出到接收圖符12 文兢。得到如下圖所示的巴克碼識別器仿真系統(tǒng)原理圖惊豺。
12).設(shè)置系統(tǒng)運(yùn)行時(shí)間。單擊工具條中的系統(tǒng)定時(shí)“System Time”按鈕禽作,把采樣頻率“Samp1e Rate”設(shè)置為載波頻率的10倍1e+3 Hz,采樣點(diǎn)數(shù)“No. of Samples”設(shè)置為1024揩页。
13).按創(chuàng)建便箋按鈕旷偿,加入如圖4-2 所示的注釋Note Pad,漢字的顏色和字體可以在文字框內(nèi)單擊右鍵定義爆侣。
14).運(yùn)行系統(tǒng)萍程。單擊工具條中的運(yùn)行按鈕運(yùn)行系統(tǒng)。
15).單擊“Analysis”快捷按鈕進(jìn)入分析窗口兔仰,單擊窗口工具條的水平分布茫负,使整個(gè)窗口排列顯示四個(gè)圖形W0、W1乎赴、W2忍法、W3,利于對照觀察分析榕吼。這時(shí)可以看到四個(gè)圖形W0饿序、W1、W2羹蚣、W3原探。
16).結(jié)束仿真,保存系統(tǒng)。通過選擇“File -> Save”把剛才設(shè)計(jì)的內(nèi)容保存下來咽弦。