基于Matlab的m序列發(fā)生器的設計_第1頁
基于Matlab的m序列發(fā)生器的設計_第2頁
基于Matlab的m序列發(fā)生器的設計_第3頁
基于Matlab的m序列發(fā)生器的設計_第4頁
基于Matlab的m序列發(fā)生器的設計_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、軟件工程實踐報告 題名稱目: 基于matlab的m序列發(fā)生器的設計 姓 名:專 業(yè):班級學號: 摘要偽隨機信號既有隨機信號所具有的優(yōu)良的相關性,又有隨機信號所不具備的規(guī)律性. 因此,偽隨機信號既易于從干擾信號中被識別和分離出來,又可以方便地產生和重復,其相關函數接近白噪聲的相關函數, 有隨機噪聲的優(yōu)點,又避免了隨機噪聲的缺點. m序列是偽隨機序列中最重要的序列中的一種 偽隨機序列具有可確定性、可重復性,易于實現相關接受或匹配接受,故有很好的抗干擾性能. 因此偽隨機序列在相關辯識、偽碼測距、導航、遙控遙測、擴頻通信、多址通信、分離多徑、誤碼測試、線形系統(tǒng)測量、數據加擾、信號同步等方面均有廣泛的應

2、用. m 序列是一類重要的偽隨機序列,最早應用于擴頻通信. 可以通過移位寄存器,利用matlab編程產生m序列。關鍵詞: 偽隨機序 m 序列 移位寄存器 仿真目錄第一章 設計內容及要求1第二章 m序列設計方案選擇2.1 方案一22.2 方案二2第三章 m序列產生和性質 3.1 m 序列的原理、結構及產生4 3.2 m序列的基本性質5第四章 m序列的程序代碼及運行結果4.1 m序列程序6 4.2 輸入本原多項式產生m序列6第五章 程序調試及運行結果分析8結論9參考文獻10第一章 設計內容及要求基于matlab的m序列發(fā)生器的設計 (1) 了解m序列的基本特性(游程特性) (2) 了解移位寄存器序

3、列(3) 利用移位寄存器方法在matlab中生成m序列第二章 m序列設計方案選擇2.1 方案一編程實現m 序列matlab編程非常簡單,無需進行變量聲明,可以很方便的實現m序列。2.2 方案二圖2.2 simulink 實現m 序列simulink 實現m 序列 (如圖2.2所示) simulink是matlab最重要的組件之一,它提供一個動態(tài)系統(tǒng)建模、仿真和綜合分析的集成環(huán)境。在該環(huán)境中,無需大量書寫程序,而只需要通過簡單直觀的鼠標操作,就可構造出復雜的系統(tǒng)。simulink具有適應面廣、結構和流程清晰及仿真精細、貼近實際、效率高、靈活等優(yōu)點,并基于以上優(yōu)點simulink已被廣泛應用于控制

4、理論和數字信號處理的復雜仿真和設計。 通過比較方案一和方案二,發(fā)現方案一的優(yōu)點具有通用性,其中mserises.m相當于一個通項,根據具體的本原多項式調用它即可,而方案二利用matlab的simulink直接搭建模塊,在移位寄存器較少時利用此方法極為簡單,可是當移位寄存器的數量增多時,要搭建那么多的模塊就顯得很繁瑣,缺乏通用性,因此本次課程設計選擇方案一.第三章 m序列產生和性質3.1 m 序列的原理、結構及產生m 序列是最長線性反饋移位寄存器序列的簡稱,m 序列是由帶線性反饋的移位寄存器產生的.由n級串聯的移位寄存器和和反饋邏輯線路可組成動態(tài)移位寄存器,如果反饋邏輯線路只由模2和構成,則稱為

5、線性反饋移位寄存器。帶線性反饋邏輯的移位寄存器設定初始狀態(tài)后,在時鐘觸發(fā)下,每次移位后各級寄存器會發(fā)生變化。其中任何一級寄存器的輸出,隨著時鐘節(jié)拍的推移都會產生一個序列,該序列稱為移位寄存器序列。n級線性移位寄存器的如圖3.1所示:輸出 圖3.1 n級線性移位寄存器圖中表示反饋線的兩種可能連接方式,=1表示連線接通,第n-i級輸出加入反饋中;=0表示連接線斷開,第n-i級輸出未參加反饋。因此,一般形式的線性反饋邏輯表達式為將等式左面的移至右面,并將代入上式,則上式可改寫為定義一個與上式相對應的多項式其中x的冪次表示元素的相應位置。式稱為線性反饋移位寄存器的特征多項式,特征多項式與輸出序列的周期

6、有密切關系.當f(x)滿足下列三個條件時,就一定能產生m序列:(1) f(x)是不可約的,即不能再分解多項式;(2) f(x)可整除,這里;(3) f(x)不能整除,這里qp.滿足上述條件的多項式稱為本原多項式.這樣產生m序列的充要條件就變成了如何尋找本原多項式.3.2 m序列的基本性質1) 均衡性. 在m 序列中一個周期內“1”的數目比“0”的數目多l(xiāng) 位,這表明,序列平均值很小.2) m 序列和其移位后的序列逐位模2 相加,所得的序列還是m 序列,只是相移不同而已. 例如1110100與向右移3 位后的序列1001110逐位模2相加后的序列為0111010 ,相當于原序列向右移1位后的序列

7、,仍是m 序列.3) m 序列發(fā)生器中移位寄存器的各種狀態(tài),除全0 狀態(tài)外,其他狀態(tài)只在m 序列中出現1 次.如7 位m 序列中順序出現的狀態(tài)為111 ,110 ,101 ,010 ,100 ,001 和011 ,然后再回到初始狀態(tài)111.4) m 序列發(fā)生器中,并不是任何抽頭組合都能產生m 序列. 理論分析指出,產生的m 序列數由下式決定:(2 n - 1) / n其中( x) 為歐拉數(即包括1 在內的小于x 并與它互質的正整數的個數) . 例如5 級移位寄存器產生的31 位m 序列只有6 個.5) m 序列具有良好的自相關特性,其自相關系數:從m 序列的自相關系數可以看出,m 序列是一個

8、狹義偽隨機碼.ra-ntc ntc 0圖3.7 m序列信號的自相關函數 -(n+1)tc -(n-1)tc -tc tc (n-1)tc (n+1)tc 第四章 m序列的程序代碼及運行結果4.1 m序列程序根據m 序列的特征方程:并根據其聯接多項式編寫matlab 程序. 輸入參數為由本原多項式所決定的反饋連接形式,其中用于產生m 序列的程序代碼如下:function mseq=mseries(coefficients)len=length(coefficients); %所需的移位寄存器的長度l=2len-1; registers=zeros(1,len-1),1;%初始寄存器內容mseq(

9、1)=registers(1); %m序列的第一個輸出碼元for i=2:lnewregisters(1:len-1)=registers(2:len);newregisters(len)=mod(sum(coefficients.*registers),2);registers=newregisters;mseq(i)=registers(1);end將以上代碼命名為mseries.m4.2 輸入本原多項式產生m序列以5 階移位寄存器為例來產生m 序列,由文獻可知其特征多項式為本原多項式,亦及其反饋連接形式為 =0 0 1 0 1;移位寄存器結構為m序列程序代碼為:coefficients=

10、0 0 1 0 1;mseq=mseries(coefficients);stairs(mseq);保存為m_run.m在matlab的command window里運行 m_run,得到圖4.1所示 圖4.1 運行結果第五章 程序調試及運行結果分析通過運行結果可以看出是由0、1組成的階梯形圖形,stairs函數功能是畫階梯形,生成一系列的m序列,成功實現了要求。在調試過程中遇到一些錯誤,例如:?subscript indices must either be real positive integers or logicals.經過認真分析,解決了錯誤。結論課程設計是一個十分有價值,有意義的實踐活動,把一個課題設計好不是一步到位的,是經過反復修改,不斷調試的過程,其間有困難也有樂趣,使人對工程實踐有一個初步的認識。本次課程設計完全實現了設計要求,利用軟件實現m序列的生成,通過這次實踐不但加深了對m序列的了解,而且對matlab編程有了很好的掌握,在不斷的程序調錯中提高了自己尋錯的能力。m序列可以軟件實現,也可以硬件實現,但是通過本次設計可以看到軟件設計

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論