縮短卷積碼MATLAB仿真實訓實習報告
(一)摘要
現代通信系統的信道編碼中幾乎毫無例外的采用了先進的編碼方式:卷積編碼,如:碼分多址通信系統CDMA,數字蜂窩通信系統GSM,數字集群通信系統TETRA等等,在差錯控制中,卷積碼表現出了優(yōu)秀的糾錯能力。但是優(yōu)秀的糾錯能力是以降低頻道利用率為代價。在功能完備的通信系統中有許多使命不同的邏輯信道.不同的邏輯信道因為任務不同,對應的差錯控制能力與頻道利用率的要求是不一樣的,有兩種實現的方法:構建不同的卷積碼或者應用同一個卷積碼但是運用不同的縮短方案以適應不同的傳輸數碼率,自然也有著相應的糾錯能力和頻帶利用率。在先進的數字集群系統中就是用的第二種方案,實踐證明,刪除型縮短卷積碼的性能與最好的卷積碼可以做到相當接近。
關鍵詞:信道編碼、縮短卷積碼、糾錯能力
(二)縮短卷積碼基本原理
本實訓目的是要構建一個具有卷積、解卷積和打孔、插零功能以及相應的傳輸環(huán)境的仿真系統來對各類卷積碼進行縮短卷積碼的仿真研究,得到相同頻帶利用率下不同打孔圖形的差錯控制能力定量結果。
用相同的生成多項式構建的維特比譯碼器和不同的壓縮圖形卷積碼都可以在原打孔圖形位置上嵌入填充的碼元后進行譯碼。仿真采用具有縮短卷積碼和調制功能的仿真系統,用BernoulliRandomBinary產生每幀2碼元的隨機二進制碼,進入卷積編碼器后變成每幀6碼元的二進制碼流,再經過Puncture(打孔)模塊后,變?yōu)閯h去選擇碼元后剩下的碼元數,在調制和解調過程中,數據幀的大小不變,通過InsertZero(插零)模塊在原來刪去碼元的位置插入碼元0,解卷積,恢復每幀2碼元。
Puncture模塊中的打孔矢量應與輸入信號具有相同的幀長度,而且要與InsertZero模塊中的插零矢量相同,矢量(vector)中的0就是打掉馬遠的位置,也是在解卷積之前插入0的位置,1是保留碼元的位置,而矢量的長度與0的數目以及卷積碼的結構共同決定了編碼效率。
信號發(fā)生器的每幀取樣設定為2,通過卷積編碼器以后就是2進6出,假設通過打孔以后六個碼元剩下的碼元數位N,則編碼效率R為:
R=(1/3)×(6/N)
(三)縮短卷積碼系統仿真
1.縮短卷積碼的MATLAB仿真
2.不同編碼效率下的參數設置
R=1/3
R=2/5
R=1/
R=2/3
R=
3.系統仿真m文件
4.不同的編碼效率的誤碼率曲線圖
擴展閱讀:MATLAB實訓報告
MATLAB語言編程實訓報告
題目MATLAB在信號與系統中的應用
年級201*專業(yè)電子信息工程常熟理工學院實訓報告
目錄
第一章緒論.................................................................2
1.1本設計課題目的及意義,重點解決的問題................................2
1.1.1MATLAB在信號與系統中應用的目的及意義..........................21.1.2重點解決的問題.................................................21.2課題的社會和技術背景................................................21.3實現的具體功能......................................................3第二章課題的基本概念和原理.................................................4
2.1MATLAB的概念........................................................42.2信號與系統的概念....................................................42.3信號與系統分析的基本內容與方法.....................................52.4離散系統的基本概念..................................................62.5連續(xù)系統模型及表示...................................................6第三章系統設計和實現.......................................................7
3.1采用的軟件及開發(fā)平臺.................................................7
3.1.1系統設計軟件...................................................73.1.2開發(fā)平臺和編程環(huán)境.............................................73.2系統的詳細設計.......................................................8
3.2.1建模...........................................................83.2.2解決方法.......................................................93.3系統設計的亮點.......................................................9第四章結束語..............................................................10參考文獻...................................................................11
常熟理工學院實訓報告
第一章緒論
1.1本設計課題目的及意義,重點解決的問題
1.1.1MATLAB在信號與系統中應用的目的及意義
MATLAB在信號與系統中應用能夠讓學生熟悉MATLAB軟件平臺、工具箱、高效的
數值計算及符號計算功能。熟悉MATLAB軟件的信號處理編程方法和結果的可視化。了解數字信號處理的計算機仿真方法。進一步加深對信號與系統的基本原理、方法及應用的理解。
MATLAB軟件具有強大的數值分析和計算結果可視化的功能.運用MATLAB軟件,
通過一個應用實例,將信號與系統課程的理論與實踐教學有機地結合,有效地解決了教學中的難點問題,說明了MATLAB軟件在信號與系統課程的實踐教學中具有重要的實際意義
1.1.2重點解決的問題
matlab的基本使用方法,matlab的預定義函數,如何用matlab繪圖,如何在
matlab中編程,基于matlab的矩陣運算、符號運算、數值分析等。
1.2課題的社會和技術背景
長期以來,“信號與系統”課程一直采用黑板式的單一的教學方式,學生僅依靠做習題來鞏固和理解教學內容,對課程中大量的應用性較強的內容不能實際動手設計、調試、分析,嚴重影響和制約了教學效果。由于黑板式教學,課程中大量信號分析結果缺乏可視化的直觀表現,學生自己設計的系統也不能直觀的得到系統特性的可視化測試結果,學生將大量的精力和時間用于繁雜的手工教學運算,而未理解所得結果在信號處理中的實際應用。因此,該課程迫切需要進行教學方法和手段的改革,即在改進教學方法和調整教學內容的同時,實現在實驗環(huán)境中,以計算機為輔助教學手段,用信號分析的軟件幫助學生完成數值計算、信號與系統分析的可視化建模即仿真調試,培養(yǎng)學生主動獲取知識和獨立解決問題的能力,為學習后繼專業(yè)課打下堅實的基礎。
國際上公認的優(yōu)秀科技應用軟件MATLAB的出現給“信號與系統”課程的計算機輔助教學帶來了福音,是利用計算機輔助學生完成“信號與系統”課程的數值計算、信號與系統分析的可視化建模即仿真調試成為可能。該軟件由公司于1984年推出,經過十幾年的發(fā)展和完善,目前已成為科技界最流行的應用軟件。它的主要特點是:
常熟理工學院實訓報告
(1)高效的數值計算及符號計算功能,使用戶從繁雜的數學運算分析中解脫出來。(2)完善圖像處理功能,實現計算結果和編程的可視化。
(3)友好的用戶界面即接近數學表達式的自然化語言,使學著易于學習和掌握。(4)功能豐富的應用工具箱(如信號處理工具箱),為用戶提供了大量方便實用的
處理工具。
MATLAB的上述特點,使他深受工程技術人員及科技專家的歡迎,并很快成為應用科計機輔助分析設計、仿真、教學等領域不可缺少的基礎軟件。目前,在國外高校,MATLAB已成為本科生、研究生必須掌握的基礎軟件,國內一些理科院校也已經或正把MATLAB作為學生必須掌握的一種軟件。
近年來國內大專院校的計算機應用環(huán)境和設備均有了較大的完善,許多學生家庭擁有個人計算機。這使得MATLAB應用的硬件有了保證。同時MATLAB教學版的推出也大大促進了MATLAB的推廣使用。
1.3實現的具體功能
自上而下的編程方法,不僅適用于編程,而且適用于我們做事。具體步驟為:首先對你所面臨的問題進行精確描述,即你遇到的到底是什么問題。然后定義輸入輸出量,即我們的目的和現有的條件。之后設計算法,逐層分解,逐步求精,這是做事謀的一個過程,大部分人做事出錯就在這個地方,懶得到逐層分解,逐步求精,總是妄想一步登天。再把算法轉化為matlab語言,這一步是踏踏實實做的過程,沒有這一步你什么也做不成。最后檢測程序,我們做的東西是否正確,不正確檢測錯誤。這一步是需要耐心的,不要怕錯誤,每一次檢測都會讓你提高。做事時,不要因一些錯誤而停止不前。
該課題研究的是線性時不變系統的一般數學模型和求解方法。具體為描述一個二階線性時不變連續(xù)系統的微分方程,然后求出系統的零狀態(tài)響應。
常熟理工學院實訓報告
第二章課題的基本概念和原理
2.1MATLAB的概念[1]
MATLAB為美國Mathworks公司1984年正式推出的一套高性能的數值分析和計算軟件,其功能不斷擴充,版本不斷升級,1992年推出劃時代的4.0版,1993年推出了可以配合MicrosoftWindous使用的微機版,95年4.2版,97年5.0版,99年5.3版,5.X版無論是界面還是內容都有長足的進展,其幫助信息采用超文本格式和PDF格式,可以方便的瀏覽。至201*年6月推出6.1版,201*年6月推出6.5版,繼而推出6.5.1版,201*年7月MATLAB7和Simulink6.0被推出,目前的最新版本為7.1版。
MATLAB將矩陣運算、數值分析、圖形處理、編程技術結合在一起,為用戶提供了一個強有力的科學及工程問題的分析計算和程序設計工具,它還提供了專業(yè)水平的符號計算、文字處理、可視化建模仿真和實時控制等功能,是具有全部語言功能和特征的新一代軟件開發(fā)平臺。
MATLAB已發(fā)展成為適合眾多學科,多種工作平臺、功能強大的大型軟件。在歐美等國家的高校,MATLAB已成為線性代數、自動控制理論、數理統計、數字信號處理、時間序列分析、動態(tài)系統仿真等高級課程的基本教學工具。成為攻讀學位的本科、碩士、博士生必須掌握的基本技能。在設計研究單位和工業(yè)開發(fā)部門,MATLAB被廣泛的應用于研究和解決各種具體問題。在中國,MATLAB也已日益受到重視,短時間內就將盛行起來,因為無論哪個學科或工程領域都可以從MATLAB中找到合適的功能。
2.2信號與系統的概念[2]
信號(signal)的概念廣泛地出現在各個領域中,它以各種各樣的形式表現且攜帶著特定的信息。古戰(zhàn)場曾以擊鼓鳴金傳達前進或撤退的命令,更以烽火作為信號傳遞敵人進犯的緊急情況。近代,信號的利用更是涉及力、熱、聲、光、電等諸多方面。就其基本含義而言,信號是用來傳遞某種消息或信息的物理形式。
在通信技術中,通常把語言、文字、圖像或數據等統稱為消息(message),信號是消息的表現形式或運載工具,而消息則是信號的具體內容,消息蘊涵于信號之中。與信號密切相關的更廣義的概念是信息(information)。
信號一般可表示為一個或多個變量的函數。例如,鍋爐的溫度可表示為溫度隨時間變化的函數;語音信號可表示為聲壓隨時間變化的函數;一張黑白圖片可表示為灰度隨二維空間變量變化的函數。
常熟理工學院實訓報告
因此,本課程主要討論電信號。電信號通常是隨時間變化的電壓或電流(電荷或磁通),由于信號是隨時間而變化的,在數學上常用時間t的函數來表示,因此,“信號”與“函數”這兩個名詞常交替使用。
概括而言,系統(system)是由某些相互作用、相互關聯的元器件或子系統組合而成的某種物理結構,其基本功能是對輸入信號進行處理,并產生相應的輸出信號。如通信系統、計算機系統、機器人、自動控制系統、軟件等都可稱之為系統。在各種系統中,電系統具有特殊的重要作用。這是因為大多數的非電系統都可以用電系統來模擬或仿真。
2.3信號與系統分析的基本內容與方法
信號與系統分析主要包括信號分析和系統分析兩部分內容。信號分析的核心是信號分解,即將復雜信號分解為一些基本信號的線性組合,通過研究基本信號的特性和信號的線性組合關系來研究復雜信號的特性。系統分析的主要任務就是在已知系統結構與輸入激勵的前提下,求解系統相應的輸出響應。在種類繁多的系統中,線性時不變系統的分析具有重要的意義。因為實際應用中的大部分系統屬于或可近似地看做是線性時不變系統,而且線性時不變系統的分析方法已有較完善的理論,因此本課程主要分析線性時不變系統。對于非線性系統與時變系統,近年來也有較大理論進展和應用領域,將在其他的課程中進行專門的研究。
隨著現代科學技術的迅猛發(fā)展,新的信號與系統的分析方法不斷涌現。其中計算機輔助分析方法就是近年來較為活躍的方法。這種方法利用計算機進行數值運算,從而免去復雜的人工運算,且計算結果精確可靠,因而得到廣泛的應用和發(fā)展。本教材中,引入了軟件工具MATLAB對信號與系統進行分析。此外,計算機技術的飛速發(fā)展與應用,為信號分析提供了有力支持,但同時對信號分析的深度與廣度也提出了更高的要求,特別是對離散時間信號的分析。因此,近年來,離散時間信號的理論研究得到很大發(fā)展,離散時間信號與系統的分析已形成一門獨立的課程。
綜上所述,信號與系統分析這門課程主要研究確定信號與線性時不變系統。該課程應用了較多的高等數學知識與電路分析的內容。在學習過程中,著重掌握信號與系統分析的基本理論與基本方法,將數學概念、物理概念及其工程概念相結合。注意其提出問題、分析問題與解決問題的方法,只有這樣才可以真正理解信號與系統分析的實質,為以后的學習與應用奠定堅實基礎。
常熟理工學院實訓報告
2.4離散系統的基本概念
所謂離散系統,是指系統的輸入與輸出僅在離散的時間上取值,而且離散的時間具有相同的時間間隔。凡是滿足如下條件的系統均為離散系統:
(1)系統每隔固定的時間間隔才“更新”一次,即系統的輸入與輸出每隔固定的時間間隔便改變一次。固定的時間間隔稱為系統的“采樣”時間。
(2)系統的輸出依賴于系統當前的輸入、以往的輸入與輸出,即系統的輸出是它們的某種函數。
(3)離散系統具有離散的狀態(tài)。其中狀態(tài)指的是系統前一時刻的輸出量。其數學描述應為
y(n)fu(n)u(n1);y(n1)y(n2);(2-1)
線性離散系統:當離散系統同時滿足齊次性與疊加性時,即
Tu1(n)u2(n)Tu1(n)Tu2(n)(2-2)則稱此離散系統為線性離散系統。
2.5連續(xù)系統模型及表示
與離散系統不同,連續(xù)系統是指系統輸出在時間上連續(xù)變化,而非僅在離散的時刻采樣取值。滿足如下條件的系統為連續(xù)系統:
(1)系統輸出連續(xù)變化。變化的間隔為無窮小量。
(2)對系統的數學描述來說,存在系統輸入或輸出的微分項(導數項)。
(3)系統具有連續(xù)的狀態(tài)。在離散系統中,系統的狀態(tài)為時間的離散函數,而連續(xù)系統的狀態(tài)為時間連續(xù)量。
由連續(xù)系統的基本概念可以寫出連續(xù)系統的最一般的數學描述,即
y(t)fc(u(t),t)(2-3)線性連續(xù)系統:如果一個連續(xù)系統能夠同時滿足如下的性質:(1)齊次性。對于任意的參數,系統滿足
Tu(t)Tu(t)(2-4)(2)疊加性。對于任意輸入變量與,系統滿足
Tu1(t)u2(t)Tu1(t)Tu2(t)(2-5)則此連續(xù)系統為線性連續(xù)系統。
常熟理工學院實訓報告
第三章系統設計和實現
3.1采用的軟件及開發(fā)平臺
3.1.1系統設計軟件
該系統設計采用的是MATLAB數學軟件。它在數學類科技應用軟件中在數值計算方面首屈一指。MATLAB可以進行矩陣運算、繪制函數和數據、實現算法、創(chuàng)建用戶界面、連接其他編程語言的程序等,主要應用于工程計算、控制設計、信號處理與通訊、圖像處理、信號檢測、金融建模設計與分析等領域。3.1.2開發(fā)平臺和編程環(huán)境
MATLAB由一系列工具組成。這些工具方便用戶使用MATLAB的函數和文件,其中許多工具采用的是圖形用戶界面。包括MATLAB桌面和命令窗口、歷史命令窗口、編輯器和調試器、路徑搜索和用于用戶瀏覽幫助、工作空間、文件的瀏覽器。隨著MATLAB的商業(yè)化以及軟件本身的不斷升級,MATLAB的用戶界面也越來越精致,更加接近Windows的標準界面,人機交互性更強,操作更簡單。而且新版本的MATLAB提供了完整的聯機查詢、幫助系統,極大的方便了用戶的使用。簡單的編程環(huán)境提供了比較完備的調試系統,程序不必經過編譯就可以直接運行,而且能夠及時地報告出現的錯誤及進行出錯原因分析。
MATLAB一個高級的矩陣/陣列語言,它包含控制語句、函數、數據結構、輸入和輸出和面向對象編程特點。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個較大的復雜的應用程序(M文件)后再一起運行。新版本的MATLAB語言是基于最為流行的C++語言基礎上的,因此語法特征與C++語言極為相似,而且更加簡單,更加符合科技人員對數學表達式的書寫格式。使之更利于非計算機專業(yè)的科技人員使用。而且這種語言可移植性好、可拓展性極強,這也是MATLAB能夠深入到科學研究及工程計算各個領域的重要原因。
MATLAB自產生之日起就具有方便的數據可視化功能,以將向量和矩陣用圖形表現出來,并且可以對圖形進行標注和打印。高層次的作圖包括二維和三維的可視化、圖象處理、動畫和表達式作圖?捎糜诳茖W計算和工程繪圖。新版本的MATLAB對整個圖形處理功能作了很大的改進和完善,使它不僅在一般數據可視化軟件都具有的功能(例如二維曲線和三維曲面的繪制和處理等)方面更加完善,而且對于一些其他軟件所沒有的功能(例如圖形的光照處理、色度處理以及四維數據的表現等),MATLAB
常熟理工學院實訓報告
同樣表現了出色的處理能力。同時對一些特殊的可視化要求,例如圖形對話等,MATLAB也有相應的功能函數,保證了用戶不同層次的要求。
3.2系統的詳細設計
3.2.1建模
先求系統的沖激響應,寫出其特征方程
2440
求其特征根p1,p2,及其r1,r2,則沖激響應為
p1tp2th(t)rere12輸出y(t)可用輸入u(t)與沖激響應h(t)的卷積求得MATLAB程序clf,clear
a=input("多項式分母系數向量a=");b=input("多項式分子系數向量b=");t=input("輸入時間序列t=");u=input("輸入序列u=");tf=t(end);
dt=tf/(length(t)-1);%用極點留數法求沖激響應[r,p,k]=residue(b,a);
h=r(1)*exp(p(1)*t)+r(2)*exp(p(2)*t);%求u和h的卷積,得輸出y(t)y=conv(u,h)*dt;%畫出輸出y(t)
plot(t,y(1:length(t)));grid程序運行結果
執(zhí)行這個程序,取a=[1,4,4],b=[1,3],t=[0:0.1:5]及u=exp(-1*t),所得結果如下圖
常熟理工學院實訓報告
圖3-1零狀態(tài)輸出響應
3.2.2解決方法
1.掌握M函數的編寫,弄清程序的入口和出口參數及參數的取值情況;
2.工具箱的應用其實就是一些別人編好的具有特定功能的函數,在掌握1的情況下,這個就不在話下了,還是那句話,弄清功能,弄清輸出輸入參數的情況及相互關系;
3.在寫m函數前現在workspace里將主要源碼操作一遍,一是可以熟悉各參數間的關系,二是可以驗證源碼的正確性;
4.程序的調試,主要就是斷點的應用,特別是條件斷點大家都很容易忽視,其實條件斷點就是在斷點出設置停止的條件,也就是一條邏輯操作,大家可以看看help;
5.調試過程中難免出錯,出錯是很正常的,重要的是你要清楚發(fā)生錯誤之后要怎么解決,都有那些可以利用的資源可以供你利用,用來判斷錯誤的原因.斷點運行到出錯的位置,判斷此時各種數據的維數,數值的大小,還有就是有沒有出現調用前沒有賦值等情況.這些做法的一個重要線索就是workspace里給出的最上面一個出錯信息.
3.3系統設計的亮點
友好的工作平臺和編程環(huán)境;簡單易用的程序語言;強大的科學計算機數據處理能力;出色的圖形處理功能;應用廣泛的模塊集合工具箱;實用的程序接口和發(fā)布平臺;應用軟件開發(fā)(包括用戶界面)。
常熟理工學院實訓報告
第四章結束語
實訓總結與體會:
學習MATLAB沒多久,有好多問題很不懂,但經過兩周對MATLAB的學習和對MATLAB在信號系統和其他方面應用的實訓,我充分了解到了MATLAB的實用性和便捷性,對我以后在其他方面的學習大有好處。MATLAB博大精深,也不可能在短時間內學得很熟。我覺得學習MATLAB首先要把基礎掌握.什么是MATLAB的基礎呢?個人覺得是首先是矩陣(包括數組),它是MATLAB的核心,如矩陣的輸入生成,矩陣處理等;還有繪圖,各種畫圖函數,函數圖形的加工;最后是編程,這是最重要的,能解決很多問題,也是后面學習的基礎。這三個方面掌握后,就可以做實踐的鍛煉了,有很多技巧在實踐中可以不斷地積累。
MATLAB語言的應用范圍非常廣,包括信號和圖像處理、通訊、控制系統設計、測試和測量、財務建模和分析以及計算生物學等眾多應用領域。附加的工具箱擴展了MATLAB環(huán)境,以解決這些應用領域內特定類型的問題。
因為之前學過VB,C語言之類的程序設計,所以MATLAB基礎學起來還算容易。它包括了很多編程的技巧問題,程序的結構設計問題,對于程序的運行效率非常有幫助。有的時候,你編出來的程序,能夠運行,但是耗時太長,也就是說你的程序沒有錯,但是不適合實際;蛘哒f,對于規(guī)模小的問題能夠解決,但是規(guī)模大一點的問題就需要很長很長的時間,這就需要對程序的結構和算法問題進行改進。
MATLAB的自帶函數很多,基本上能夠滿足一般的數據和矩陣的計算,所以基本上不用自己編函數。這一點對程序非常有幫助,可以使程序簡單,運行效率高,可以節(jié)省很多時間。你把基本的知識學過之后,就需要找一個實際的程序來動手編一下,不要等所有的知識都學好之后再去編程,你要在編程的過程中學習,程序需要什么知識再去補充,編程是一點一點積累的,所以你要需做一些隨手筆記什么的。
編程問題最頭疼的不是編程序,而是調程序,所以在你的程序編完之后,一定要進行驗證其正確性,你要盡量多的設想你的問題的復雜性,當然,要一步一步復雜,這樣才能保證你的程序的適用性很強。盡量擺脫c編程的習慣,總愛用循環(huán),能不用的循環(huán)的盡量不用,掌握矢量化的精髓,要大膽的去試,試過才知道可不可以,多去編寫程序,運行調試。
常熟理工學院實訓報告
參考文獻
[1]陳懷琛,吳大正,高西全.MATLAB及在電子信息課程中的應用[M].北京:電子工業(yè)出版社,201*.[2]鄭君里,應啟珩,楊為理.信號與系統(第二版)[M].北京:高等教育出版社,201*.[3]張志涌,楊祖櫻.MATLAB教程[M].北京:北京航空航天大學出版社,201*.
常熟理工學院實訓報告
學生簽名:
指導教師評語:課程設計成績:指導教師簽名:教研室意見:教研室主任簽名:
友情提示:本文中關于《縮短卷積碼MATLAB仿真實訓實習報告》給出的范例僅供您參考拓展思維使用,縮短卷積碼MATLAB仿真實訓實習報告:該篇文章建議您自主創(chuàng)作。
來源:網絡整理 免責聲明:本文僅限學習分享,如產生版權問題,請聯系我們及時刪除。