版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 課程設(shè)計任務(wù)書</b></p><p> 題 目:通信系統(tǒng)課群綜合訓(xùn)練與設(shè)計 </p><p> 初始條件:1.MATLAB軟件 2.PC機(jī)</p><p> 要求完成的主要任務(wù): (包括課程設(shè)計工作量及其技術(shù)要求,以及說明書撰寫等具體要求)</p&g
2、t;<p> 可以用軟件(如Matlab),也可以在硬件實驗系統(tǒng)平臺上完成一個典型的通信系統(tǒng)(如下圖所示)的仿真。</p><p> 信源:自己構(gòu)造的時間函數(shù);數(shù)字化方式:PCM;基帶碼:miller碼;信道碼:漢明碼;調(diào)制方式:ASK;信道類型:AWGN信道;解調(diào)譯碼正好相反 。</p><p> 學(xué)生要完成整個系統(tǒng)各環(huán)節(jié)以及整個系統(tǒng)的仿真,最終在接收端或者精確或者近
3、似地再現(xiàn)輸入(信源),計算失真度,并且分析原因。</p><p><b> 時間安排:</b></p><p> 第18周安排任務(wù),分組,設(shè)計仿真。第19周,撰寫報告,完成設(shè)計,提交報告,答辯。</p><p> 地點(diǎn):鑒主十五樓通信教研室</p><p> 指導(dǎo)教師簽名:
4、 年 月 日</p><p> 系主任(或責(zé)任教師)簽名: 年 月 日</p><p><b> 目錄</b></p><p><b> 摘 要I</b></p><p&
5、gt; ABSTRACTII</p><p> 通信系統(tǒng)課群綜合訓(xùn)練與設(shè)計1</p><p> 1設(shè)計任務(wù)及要求1</p><p><b> 2 設(shè)計原理1</b></p><p> 2.1 通信系統(tǒng)組成1</p><p> 2.2 數(shù)字化方式:PCM基本原理2</p
6、><p><b> 2.2.1抽樣2</b></p><p><b> 2.2.2量化3</b></p><p><b> 2.2.3編碼5</b></p><p> 2.3 基帶碼:miller碼6</p><p> 2.4信道碼:漢明碼
7、6</p><p> 2.3.1漢明碼編碼原理6</p><p> 2.3.2漢明碼糾錯原理8</p><p> 2.3.3漢明碼matlab函數(shù)介紹9</p><p> 2.4 調(diào)制方式:2ASK9</p><p> 2.4.1 2ASK調(diào)制9</p><p> 2.4
8、.22ASK解調(diào)10</p><p> 2.5 信道類型:AGWN信道11</p><p><b> 3 仿真結(jié)果11</b></p><p> 3.1原始信號11</p><p> 3.2 PCM編碼仿真12</p><p> 3.3 MIller編碼仿真13</p&
9、gt;<p> 3.4 Hamming編碼信號13</p><p> 3.5 ASK調(diào)制信號14</p><p> 3.6 信號AWGN處理14</p><p> 3.7 ASK解調(diào)信號15</p><p> 3.8 Hanmming解碼信號15</p><p> 3.9 Mille
10、r解碼信號16</p><p> 3.10 PCM解碼信號16</p><p><b> 4總結(jié)17</b></p><p><b> 5參考文獻(xiàn)18</b></p><p><b> 附錄19</b></p><p><b>
11、; 摘 要</b></p><p> 在數(shù)字通信系統(tǒng)中,需要將輸入的數(shù)字序列映射為信號波形在信道中傳輸,此時信源輸出數(shù)字序列,經(jīng)過信號映射后成為適于信道傳輸?shù)臄?shù)字調(diào)制信號,并在接收端對應(yīng)進(jìn)行解調(diào)恢復(fù)出原始信號。所以本論文主要研究了數(shù)字信號的傳輸?shù)幕靖拍罴皵?shù)字信號傳輸?shù)膫鬏斶^程和如何用MATLAB軟件仿真設(shè)計數(shù)字傳輸系統(tǒng)。首先介紹了本課題的理論依據(jù),包括數(shù)字通信,數(shù)字基帶傳輸系統(tǒng)的組成及數(shù)字信號
12、的傳輸過程。然后按照仿真過程基本步驟用MATLAB的仿真工具實現(xiàn)了數(shù)字基帶傳輸系統(tǒng)的仿真過程,對系統(tǒng)進(jìn)行了分析。</p><p> 關(guān)鍵詞:PCM、Miller碼、漢明碼、ASK、AWGN</p><p><b> ABSTRACT</b></p><p> In digital communication system, need th
13、e input digital sequence map for signal transmission in the channel, the source output digital sequence, after signal after mapping become suitable for channel transmission of digital modulation signals, and at the recei
14、ving end corresponding to resume the original signal demodulation. So this thesis mainly studies the digital signal transmission of the basic concept and the digital signal transmission transmission process and how to us
15、e MATLAB simulation </p><p> Keywords: PCM、Miller-code、Hamming-code、ASK modulation、AWGN</p><p> 通信系統(tǒng)課群綜合訓(xùn)練與設(shè)計</p><p><b> 1設(shè)計任務(wù)及要求</b></p><p> (1)按下列要求對一
16、個通信系統(tǒng)進(jìn)行仿真</p><p><b> 表1-1</b></p><p> (2)學(xué)生要完成整個系統(tǒng)各環(huán)節(jié)以及整個系統(tǒng)的仿真,最終在接收端或者精確或者近似地再現(xiàn)輸入(信源),計算失真度,并且分析原因。</p><p><b> 2 設(shè)計原理</b></p><p> 2.1 通信系統(tǒng)組
17、成</p><p> 通信的目的是傳輸信息。通信系統(tǒng)的作用就是將信息從信息源發(fā)送到一個或多個目的地。對于任何一個通信系統(tǒng),均可視為由發(fā)送端、信道和接收端三大部分組成(如圖2-1所示)。</p><p><b> 圖2-1</b></p><p> 2.2 數(shù)字化方式:PCM基本原理</p><p> 脈沖編碼調(diào)制
18、(PCM)簡稱脈碼調(diào)制,它是一種用二進(jìn)制數(shù)字代碼來代替連續(xù)信號的抽樣值,從而實現(xiàn)通信的方式。由于這種通信方式抗干擾能力強(qiáng),因此在光釬通信、數(shù)字微波通信、衛(wèi)星通信中均獲得了極為廣泛的運(yùn)用。PCM信號的形成是模擬信號經(jīng)過“抽樣、量化、編碼”三個步驟實現(xiàn)的。分別完成時間上離散、幅度上離散、及量化信號的二進(jìn)制表示。根據(jù)CCITT的建議,為改善小信號量化性能,采用壓擴(kuò)非均勻量化,有兩種建議方式,分別為A律和μ律方式,我國采用了A律方式,由于A律壓
19、縮實現(xiàn)復(fù)雜,常使用 13 折線法編碼。</p><p><b> 2.2.1抽樣</b></p><p> 所謂抽樣,就是對模擬信號進(jìn)行周期性掃描,把時間上連續(xù)的信號變成時間上離散的信號。該模擬信號經(jīng)過抽樣后還應(yīng)當(dāng)包含原信號中所有信息,也就是說能無失真的恢復(fù)原模擬信號。它的抽樣速率的下限是由抽樣定理確定的。在一個頻帶限制在(0,f h)內(nèi)的時間連續(xù)信號f(t),如
20、果以1/2 f h的時間間隔對它進(jìn)行抽樣,那么根據(jù)這些抽樣值就能完全恢復(fù)原信號。或者說,如果一個連續(xù)信號f(t)的頻譜中最高頻率不超過f h,當(dāng)抽樣頻率f S≥2 f h時,抽樣后的信號就包含原連續(xù)的全部信息。這就是抽樣定理。</p><p><b> 2.2.2量化</b></p><p> 從數(shù)學(xué)上來看,量化就是把一個連續(xù)幅度值的無限數(shù)集合映射成一個離散幅度值
21、的有限數(shù)集合。如圖 3.1所示量化器Q輸出L個量化值,k=1,2,3,…,L。常稱為重建電平或量化電平。當(dāng)量化器輸入信號幅度落在與之間時,量化器輸出電平為。這個量化過程可以表達(dá)為:</p><p><b> ?。?)</b></p><p> 這里稱為分層電平或判決閾值。通常稱為量化間隔。</p><p> 量化后的抽樣信號于量化前的抽樣信
22、號相比較,當(dāng)然有所失真,且不再是模擬信號。這種失真在接收端還原模擬信號是變現(xiàn)為噪聲,并稱為量化噪聲。量化噪聲的大小取決于把樣值分級“取整”的方式,分的級數(shù)越多,即量化極差或間隔越小,量化噪聲也越小。</p><p> 模擬信號的量化分為均勻量化和非均勻量化。由于均勻量化存在的主要缺點(diǎn)是:無論抽樣值大小如何,量化噪聲的均方根值都固定不變。因此,當(dāng)信號較小時,則信號量化噪聲功率比也就很小,這樣的話化信噪比就難以達(dá)到
23、給定的要求。通常,把滿足信噪比要求的輸入信號取值范圍定義為動態(tài)范圍,可見,對于弱信號時,均勻量化時的信號動態(tài)范圍將受到較大的限制。為了克服這個缺點(diǎn),實際中,往往采用非均勻量化。</p><p> 非均勻量化是根據(jù)信號的不同區(qū)間來確定量化間隔的。對于信號取值小的區(qū)間,其量化間隔也??;反之,量化間隔就大。它與均勻量化相比,有兩個突出的優(yōu)點(diǎn)。首先,當(dāng)輸入量化器的信號具有非均勻分布的概率密度(實際中常常是這樣)時,非均
24、勻量化器的輸出端可以得到較高的平均信號量化噪聲功率比;其次,非均勻量化時,量化噪聲功率的均方根值基本上與信號抽樣值成比例。因此量化噪聲對大、小信號的影響大致相同,即改善了小信號時的量化信噪比。</p><p> 實際中,非均勻量化的實際方法通常是將抽樣值通過壓縮再進(jìn)行均勻量化。通常使用的壓縮器中,大多采用對數(shù)式壓縮。廣泛采用的兩種對數(shù)壓縮律是壓縮律和A壓縮律。美國采用壓縮律,我國和歐洲各國均采用A壓縮律,因此,
25、PCM編碼方式采用的也是A壓縮律。</p><p> 所謂A壓縮律也就是壓縮器具有如下特性的壓縮律:</p><p> A律: (2)</p>&l
26、t;p> 式中,x為歸一化輸入,y為歸一化輸出,A、μ為壓縮系數(shù)。A律壓擴(kuò)特性是連續(xù)曲線,A值不同壓擴(kuò)特性亦不同,在電路上實現(xiàn)這樣的函數(shù)規(guī)律是相當(dāng)復(fù)雜的。實際中,往往都采用近似于A律函數(shù)規(guī)律的13折線(A=87.6)的壓擴(kuò)特性。這樣,它基本上保持了連續(xù)壓擴(kuò)特性曲線的優(yōu)點(diǎn),又便于用電路實現(xiàn),本設(shè)計中所用到的PCM編碼正是采用這種壓擴(kuò)特性來進(jìn)行編碼的。</p><p> 實際中A律常采用13折線近似如圖2-
27、2所示</p><p> 圖2-2 A律13折線</p><p><b> 其具體分法如下:</b></p><p> 先將X軸的區(qū)間[0,1]一分為二,其中點(diǎn)為1/2,取區(qū)間[1/2,1]作為第八段;</p><p> 區(qū)間[0,1/2]再一分為二,其中點(diǎn)為1/4,取區(qū)間[1/4,1/2]作為第七段;<
28、;/p><p> 區(qū)間[0,1/4]再一分為二,其中點(diǎn)為1/8,取區(qū)間[1/8,1/4]作為第六段;</p><p> 區(qū)間[0,1/8]一分為二,中點(diǎn)為1/16,取區(qū)間[1/16,1/8]作為第五段;</p><p><b> 圖2-2</b></p><p> 區(qū)間[0,1/16]一分為二,中點(diǎn)為1/32,取區(qū)間
29、[1/32,1/16]作為第四段; </p><p> 區(qū)間[0,1/32]一分為二,中點(diǎn)為1/64,取區(qū)間[1/64,1/32]作為第三段;</p><p> 區(qū)間[0,1/64]一分為二,中點(diǎn)為1/128,區(qū)間[1/128,1/64]作為第二段;</p><p> 區(qū)間[0,1/128]作為第一段。</p><p> 然后將Y軸的
30、[0,1]區(qū)間均勻地分成八段,從第一段到第八段</p><p> 分別為[0,1/8],(1/8,2/8],(2/8,3/8],(3/8,4/8],(4/8,5/8],(5/8,6/8],</p><p> (6/8,7/8],(7/8,1]。分別與X軸對應(yīng)。</p><p><b> 2.2.3編碼</b></p><
31、;p> 所謂編碼就是把量化后的信號變換成代碼,其相反的過程稱為譯碼。當(dāng)然,這里的編碼和譯碼與差錯控制編碼和譯碼是完全不同的,前者是屬于信源編碼的范疇。</p><p> 量化后的抽樣信號在一定的取值范圍內(nèi)僅有有限個可取的樣值,且信號正、負(fù)幅度分布的對稱性使正、負(fù)樣值的個數(shù)相等,正、負(fù)向的量化級對稱分布。若將有限個量化樣值的絕對值從小到大依次排列,并對應(yīng)的依次賦予一個十進(jìn)制數(shù)字代碼,在碼前以“+”、“—”
32、號為前綴,來區(qū)分樣值的正負(fù),則量化后的抽樣信號就轉(zhuǎn)化為按抽樣時序排列的一串十進(jìn)制數(shù)字碼流,即十進(jìn)制數(shù)字信號。把量化的抽樣信號變換成給定字長的二進(jìn)制碼流的過程為編碼。</p><p> 目前國際上普遍采用8位非線性編碼。例如PCM 30/32路終端機(jī)中最大輸入信號幅度對應(yīng)4 096個量化單位(最小的量化間隔稱為一個量化單位)在4 096單位的輸入幅度范圍內(nèi),被分成256個量化級,因此須用8位碼表示每一個量化級。用
33、于13折線A律特性的8位非線性編碼的碼組結(jié)構(gòu)如表2-1所示:</p><p> 表2-1 8位非線性編碼的碼組結(jié)構(gòu)</p><p> 其中,第1位碼M1的數(shù)值“1”或“0”分別代表信號的正、負(fù)極性,稱為極性碼。從折疊二進(jìn)制碼的規(guī)律可知,對于兩個極性不同,但絕對值相同的樣值脈沖,用折疊碼表示時,除極性碼M1不同外,其余幾位碼是完全一樣的。因此在編碼過程中,只要將樣值脈沖的極性判出后,編
34、碼器便是以樣值脈沖的絕對值進(jìn)行量化和輸出碼組的。這樣只要考慮13折線中對應(yīng)于正輸入信號的8段折線就行了。用M2至M4位表示段落碼,它的8種可能狀態(tài)來分別代表8個段落的起點(diǎn)電平。其它四位表示段內(nèi)碼,它的16種可能狀態(tài)來分別代表每一段落的16個均勻劃分的量化級。這樣處理的結(jié)果,8個段落被劃分成128個量化級。</p><p> 2.3 基帶碼:miller碼</p><p> Miller
35、碼也稱延遲調(diào)制碼,是一種變形雙向碼。</p><p> Miller碼編碼規(guī)則:對原始符號“1”碼元起始不躍變,中心點(diǎn)出現(xiàn)躍變來表示,即用10或01表示。對原始符號“0”則分成單個“0”還是連續(xù)“0”予以不同處理;單個“0”時,保持0前的電平不變,即在碼元邊界處電平不躍變,在碼元中間點(diǎn)電平也不躍變;對于連續(xù)“0”,則使連續(xù)兩個“0”的邊界處發(fā)生電平躍變</p><p> 2.4信道碼:
36、漢明碼</p><p> 漢明碼(Hamming Code)是一種能夠自動檢測并糾正一位錯碼的線性糾錯碼,即SEC(Single Error Correcting)碼,用于信道編碼與譯碼中,提高通信系統(tǒng)抗干擾的能力。</p><p> 2.3.1漢明碼編碼原理</p><p> 一般來說,若漢明碼長為n,信息位數(shù)為k,則監(jiān)督位數(shù)r=n-k。若希望用r個監(jiān)督位構(gòu)
37、造出r個監(jiān)督關(guān)系式來指示一位錯碼的n種可能位置,則要求</p><p><b> ?。?)</b></p><p> 下面以(7,4)漢明碼為例說明原理: </p><p> 設(shè)漢明碼(n,k)中k=4,為了糾正一位錯碼,由式(1)可知,要求監(jiān)督位數(shù)r≥3。若取r=3,則n=k+r=7。我們用來表示這7個碼元,用的值表示3個監(jiān)督關(guān)系式中的校
38、正子,則的值與錯誤碼元位置的對應(yīng)關(guān)系可以規(guī)定如表2-3所列。</p><p> 表2-3校正子和錯碼位置的關(guān)系</p><p> 則由表1可得監(jiān)督關(guān)系式:</p><p><b> ?。?)</b></p><p><b> ?。?)</b></p><p><b&
39、gt; ?。?)</b></p><p> 在發(fā)送端編碼時,信息位的值決定于輸入信號,因此它們是隨機(jī)的。監(jiān)督位、、應(yīng)根據(jù)信息位的取值按監(jiān)督關(guān)系來確定,即監(jiān)督位應(yīng)使式(5)~式(7)中、、的值為0(表示編成的碼組中應(yīng)無錯碼)可以通過這個得到監(jiān)督位及監(jiān)督矩陣,得到</p><p> 或
40、 (8)</p><p><b> ?。?)</b></p><p> Q為P的轉(zhuǎn)置,將Q的左邊加上一個k×k階單位方陣,就構(gòu)成一個矩陣G</p><p> G稱為生成矩陣,因為由它可以產(chǎn)生整個碼組,即有</p><p><b> ?。?0)&l
41、t;/b></p><p> 式(10)即漢明碼的編碼原理。</p><p> 2.3.2漢明碼糾錯原理</p><p> 當(dāng)數(shù)字信號編碼成漢明碼形式后在信道中傳輸,由于信道中噪聲的干擾,可能由于干擾引入差錯,使得接收端收到錯碼,因此在接收端進(jìn)行漢明碼糾錯,以提高通信系統(tǒng)的抗干擾能力及可靠性。</p><p> 一般來說接收碼組
42、與A不一定相同。若設(shè)接收碼組為一n列的行矩陣B,即</p><p><b> ?。?1)</b></p><p> 則發(fā)送碼組和接收碼組之差為</p><p><b> (12) </b></p><p> E就是傳輸中產(chǎn)生的錯碼行矩陣</p><p><b>
43、; ?。?3)</b></p><p> 若ei=0,表示接收碼元無錯誤,若ei=1,則表示該接收碼元有錯。式(14)可改寫成</p><p><b> ?。?5) </b></p><p> 若E=0,即接收碼組無錯,則,將它代人式(8),該是仍成立,即有</p><p><b> (16)
44、</b></p><p> 當(dāng)接收碼組有錯時,E≠0,將B帶入式(8)后,該式不一定成立。在未超過檢錯能力時,式(19)不成立。假設(shè)此時式(16)的右端為S,即</p><p><b> (17)</b></p><p> 將 代入式(17),可得</p><p><b> ?。?8)<
45、/b></p><p> 由式(8)可知,所以</p><p><b> (19)</b></p><p> 此處S與前面的有著一一對應(yīng)關(guān)系,則S能代表錯碼位置。</p><p> 因此,糾錯原理即,接收端收到碼組后按式(17)計算出S,再根據(jù)表2-3判斷錯碼情況,進(jìn)行差錯糾正。</p>&l
46、t;p> 2.3.3漢明碼matlab函數(shù)介紹</p><p> MATLAB中提供了漢明碼的編碼和譯碼函數(shù),本程序直接調(diào)用進(jìn)行編程。</p><p><b> ?、賓ncode函數(shù)</b></p><p><b> 功能:編碼函數(shù)</b></p><p> 語法:code=encod
47、e(msg,N,K,’hamming’)</p><p> 說明:該函數(shù)對二進(jìn)制信息msg進(jìn)行漢明編碼,K為信息位長度,N為碼字長度。msg是一個K列矩陣。</p><p><b> ?、赿ecode函數(shù)</b></p><p><b> 功能:譯碼函數(shù)</b></p><p> 語法:rcv
48、code=decode(code,N,K,’hamming’)</p><p> 說明:該函數(shù)對接受碼字進(jìn)行譯碼,恢復(fù)出原始信息,譯碼參數(shù)及方式必須和編碼時采用的完全相同。</p><p> ?、踙ammgen函數(shù)</p><p> 功能:漢明碼生成矩陣和校驗矩陣產(chǎn)生函數(shù)</p><p> 語法:H=hammgen(M)</p&g
49、t;<p> [H,G]=hammgen(M)</p><p> [H,G,N,K]=hammgen(M)</p><p> 說明:該函數(shù)的功能是產(chǎn)生生成矩陣和校驗矩陣,其中M=N-K為校驗位的長度,H為漢明碼的校驗矩陣,G為漢明碼的生成矩陣。</p><p> 2.4 調(diào)制方式:2ASK</p><p> 2.4.1
50、 2ASK調(diào)制</p><p> 振幅鍵控是正弦載波的幅度隨數(shù)字基帶信號而變化的數(shù)字調(diào)制.當(dāng)數(shù)字基帶信號為二進(jìn)制時,則為二進(jìn)制振幅鍵控. 2ASK信號的產(chǎn)生方法通常有兩種:模擬調(diào)制法和鍵控法。</p><p> 模擬調(diào)制法使用乘法器實現(xiàn),如圖2-3所示。鍵控法使用開關(guān)電路實現(xiàn),如圖2-4所示。</p><p><b> 圖2 模擬調(diào)制法</b&
51、gt;</p><p><b> 圖2-3 鍵控法</b></p><p><b> 圖2-4 鍵控法</b></p><p> 2.4.22ASK解調(diào)</p><p> 本設(shè)計解調(diào)部分選用包絡(luò)檢波法如圖2-5所示。</p><p> 圖2-5 ASK包絡(luò)檢波法系
52、統(tǒng)框圖</p><p> 低通濾波器的作用是濾除高頻雜波,使基帶信號通過。比較器的功能是對兩個或多個數(shù)據(jù)項進(jìn)行比較,以確定它們是否相等,或確定它們之間的大小關(guān)系及排列順序,比較電平是由ASK峰值檢波并分壓而得到。</p><p> 2.5 信道類型:AGWN信道</p><p> 信號在傳輸?shù)倪^程中,不可避免的會受到各種干擾,這些干擾統(tǒng)稱為“噪聲”。加性高斯白
53、噪聲是一種最常見的噪聲,它存在于各種傳輸煤質(zhì)中,包括有線信道和無線信道。加性高斯白噪聲表現(xiàn)為信號圍繞平均值的一種隨機(jī)波動過程。加性高斯白噪聲的均值為0,方差是噪聲功率的大小。一般情況下,噪聲功率越大,信號波動的幅度越大,接收端接收到信號的誤比特率越高。</p><p> AWGN,在通信上指的是一種通道模型(channel model),此通道模型唯一的信號減損是來自于寬帶(Wideband)的線性加成或是穩(wěn)定
54、譜密度(以每赫茲瓦特的帶寬表示)與高斯分布振幅的白噪聲。</p><p> 白噪聲是指功率譜密度在整個頻域內(nèi)均勻分布的噪聲,即其功率譜密度為常數(shù)。</p><p> AWGN從統(tǒng)計上而言是隨機(jī)無線噪聲,其特點(diǎn)是其通信信道上的信號分布在很寬的頻帶范圍內(nèi)。</p><p> 高斯白噪聲的概念:“白”指功率譜恒定;高斯指幅度取各種值時的概率p(x)是高斯函數(shù)。功率譜
55、密度恒定的話,自相關(guān)系數(shù)則是功率譜密度的反變換,高斯白噪聲的自相關(guān)系數(shù)為無延時的沖擊函數(shù),則在時間差不等于零的時候,自相關(guān)等于0,也就是不同時間的高斯白噪聲的幅度是不相關(guān)的。</p><p><b> 3 仿真結(jié)果</b></p><p><b> 3.1原始信號</b></p><p> 在仿真中構(gòu)造的原始時間函數(shù)
56、為:s=2*sin(2*pi*t),時域區(qū)間以0.03為間隔采樣取點(diǎn)N個。</p><p><b> 圖3-1 原始信號</b></p><p> 3.2 PCM編碼仿真</p><p> 對原始信號進(jìn)行PCM編碼,采取八位均勻量化。編碼結(jié)果如下:</p><p> 圖3-2 PCM編碼序列</p>
57、<p> 由于采用八位均勻量化,即原來一個買重采樣信號用八位BIT數(shù)表示。</p><p> 3.3 MIller編碼仿真</p><p> 圖3-3 Miller編碼序列</p><p> 3.4 Hamming編碼信號</p><p> 圖3-4 Hamming編碼序列</p><p>
58、 漢明編碼由生成矩陣生成,本次設(shè)計采用(7,4)漢明碼編碼規(guī)則。</p><p> 3.5 ASK調(diào)制信號</p><p> 圖3-5 ASK調(diào)制序列</p><p> ASK調(diào)制信號采取Fs可自定義的正弦信號調(diào)制,每個原始“1”,先重復(fù)八次,擴(kuò)充為8bit,然后發(fā)送八個完整的周期波形,為調(diào)制信號。如果是原始“0”,8bit 0擴(kuò)充,不發(fā)任何信號。</p
59、><p> 3.6 信號AWGN處理</p><p> 圖3-6 AWGN處理</p><p> 3.7 ASK解調(diào)信號</p><p> 圖3-7 ASK解調(diào)信號</p><p> 本設(shè)計采用非相干解調(diào),即包絡(luò)解調(diào)。 調(diào)制信號先通過一個LPF包絡(luò)解調(diào)濾波器:signal3=filter(num1,1,sign
60、al2),然后進(jìn)行中值峰區(qū)判定。閾值設(shè)為0.5。</p><p> 3.8 Hanmming解碼信號</p><p> 圖3-8 Hamming解碼信號</p><p> Hamming解碼結(jié)果對比原信號正確無誤。</p><p> 3.9 Miller解碼信號</p><p> 圖3-9 Miller解碼信
61、號</p><p> Miller解碼結(jié)果對比原信號正確無誤。</p><p> 3.10 PCM解碼信號</p><p> 圖3-10 PCM解碼序列</p><p> 在該例子中信號正?;謴?fù),N=125,noise=7。并且信噪比為7的時候,誤碼率為0。</p><p> 推廣到一般情況,當(dāng)信噪比小于5,
62、出現(xiàn)信噪比急劇下降。</p><p><b> 4總結(jié)</b></p><p> 從上大學(xué)以來,我接觸Matlab軟件已經(jīng)很多次,當(dāng)時也學(xué)了部分這個軟件基本操作并且能很熟練的使用這個軟件。通過這次本次課程設(shè)計,我更加系統(tǒng)的學(xué)習(xí)了Matlab語言,發(fā)現(xiàn)其要比C語言相對簡單多。但是Matlab語言中的函數(shù)還是比較多的,在編程的時候,一定要借助Matlab幫助。另外當(dāng)一
63、個函數(shù)看不懂時,要把它代到程序中去,單獨(dú)實現(xiàn)結(jié)果,通過結(jié)果來分析函數(shù),象像很多函數(shù)是單憑看理論是看不懂的。另外,當(dāng)看懂一個函數(shù)時,一定要在程序中注釋,否則過一段時間就忘記了其功能。</p><p> 在這次課程設(shè)計中,我主要學(xué)習(xí)了如何通過MATLAB程序進(jìn)行通信系統(tǒng)的仿真,對任意的信號進(jìn)行信源編碼,信道編碼,通過信道,再經(jīng)過相應(yīng)的解碼來恢復(fù)原信號。通過仿真,更加深刻的理解了通信原理中學(xué)到的信源編碼、信道編碼、調(diào)
64、制等的相關(guān)理論知識,對這些知識點(diǎn)有了進(jìn)一步的掌握,對通信系統(tǒng)的流程更有了宏觀的把握。</p><p><b> 5參考文獻(xiàn)</b></p><p> 【1】劉泉編.通信電子線路.武漢理工出版社.2007年</p><p> 【2】陳懷琛等編.MATLAB及在電子信息課程中的應(yīng)用.電子工業(yè)出版社.2007年</p><p
65、> 【3】樊昌信等編.通信原理.國防工業(yè)出版社.2007年</p><p> 【4】周開利,《鄧春暉主編 MATLAB基礎(chǔ)及其應(yīng)用教程》,北京大學(xué)出版社,2007</p><p> 【5】 董振海,《精通MATLAB 7 編程與數(shù)據(jù)庫應(yīng)用》,電子工業(yè)出版社,2007</p><p><b> 附錄</b></p>&
66、lt;p><b> close all</b></p><p><b> clear all</b></p><p><b> n=36;</b></p><p> t=[0:0.03:0.03*(n-1)];</p><p><b> range=2
67、;</b></p><p><b> f=2;</b></p><p> s=2*sin(2*pi*f*t);</p><p><b> figure(1)</b></p><p><b> plot(t,s)</b></p><p>
68、; title('原始輸入信號')</p><p> xlabel('Time(S)');</p><p> ylabel('Amplitude');</p><p> axis([0 0.03*n,-3 3])</p><p> %PCM Coding</p><
69、p> pccode=zeros(n,8);</p><p><b> for i=1:n</b></p><p> code=PCMcoding(range,s(i));</p><p><b> for j=1:8</b></p><p> pccode(i,j)=code(j);
70、</p><p><b> end </b></p><p><b> end</b></p><p><b> pccode;</b></p><p> code1=reshape(pccode',1,8*n);</p><p><
71、;b> figure(2)</b></p><p> stem(code1)</p><p> title('PCM編碼信號')</p><p> axis([1 50,0 1.5])</p><p> %Miller Coding</p><p> miller=Mill
72、ercoding(code1);</p><p><b> miller;</b></p><p><b> figure(3)</b></p><p> stem(miller)</p><p> title('Miller編碼信號')</p><p&g
73、t; axis([1 50,0 1.5])</p><p> %Hamming Code (7,4)</p><p> hamming=Hammingcoding(miller);</p><p><b> figure(4)</b></p><p> stem(hamming)</p><
74、;p> title('Hamming編碼信號')</p><p> axis([1 50,0 1.5])</p><p> %ASK Modulation</p><p> N=8; %原信號每比特重復(fù)N次</p><p> fc=100000;</p><p> bitRate=1
75、00000;</p><p> askcode=Askmodulation(hamming,bitRate,fc,N);</p><p><b> figure(5)</b></p><p> stairs(askcode)</p><p> title('ASK調(diào)制信號')</p>
76、<p> axis([1700 2000,-1.5 1.5])</p><p><b> %AWGN</b></p><p><b> noise=7;</b></p><p> awgn=awgncode(askcode,noise);%幅值放大,加噪聲</p><p><
77、;b> figure(6)</b></p><p> stairs(awgn)</p><p> title('加AWGN后信號')</p><p> axis([1700 2000,-1.5 1.5])</p><p> %ASK Demodulation</p><p>
78、 bitstream=Askde(awgn,bitRate,fc,N);</p><p><b> figure(7)</b></p><p> subplot(2,1,1)</p><p> stem(hamming)</p><p> title('理論信號(Hamming編碼信號)')&l
79、t;/p><p> axis([1 50,0 1.5])</p><p> subplot(2,1,2)</p><p> stem(bitstream,'r')</p><p> title('ASK解碼信號')</p><p> axis([1 50,0 1.5])</p
80、><p> fprintf('ASK解碼信號誤碼個數(shù):')</p><p> errornum1=biterrornum(bitstream,hamming)</p><p> %Hamming Decode</p><p> hammingde=Hammingdecoding(bitstream);</p>
81、<p><b> figure(8)</b></p><p> subplot(2,1,1)</p><p> stem(miller)</p><p> title('理論信號(Miller編碼信號)')</p><p> axis([1 50,0 1.5])</p>
82、<p> subplot(2,1,2)</p><p> stem(hammingde,'r')</p><p> title('Hamming解碼信號')</p><p> axis([1 50,0 1.5])</p><p> fprintf('Hamming解碼信號誤碼個數(shù):
83、')</p><p> errornum2=biterrornum(hammingde,miller)</p><p> %Miller Decoding</p><p> millerde=Millerdecoding(hammingde);</p><p><b> millerde;</b><
84、/p><p><b> figure(9)</b></p><p> subplot(2,1,1)</p><p> stem(code1)</p><p> title('理論信號(PCM編碼信號)')</p><p> axis([1 50,0 1.5])</p&g
85、t;<p> subplot(2,1,2)</p><p> stem(millerde,'r')</p><p> title('Miller解碼信號')</p><p> axis([1 50,0 1.5])</p><p> fprintf('Hamming解碼信號誤碼個數(shù)
86、:')</p><p> errornum3=biterrornum(millerde,code1)</p><p> %PCM Decoding</p><p> pccode=reshape(millerde',8,n);</p><p> pccode=pccode';</p><p&
87、gt; code=zeros(1,8);</p><p> lastresult=zeros(1,n);</p><p><b> for i=1:n</b></p><p><b> for j=1:8</b></p><p> code(j)=pccode(i,j);</p>
88、;<p><b> end</b></p><p> lastresult(i)=PCMdecodi、、/ng(range,code); </p><p><b> end</b></p><p> figure(10) </p><p&
89、gt; subplot(2,1,1)</p><p><b> plot(t,s)</b></p><p> title('原始輸入信號')</p><p> xlabel('Time(S)');</p><p> ylabel('Amplitude');<
90、/p><p> axis([0 0.03*n,-3 3])</p><p> subplot(2,1,2)</p><p> plot(t,lastresult,'red')</p><p> title('最終輸出信號')</p><p> xlabel('Time(S)
91、');</p><p> ylabel('Amplitude');</p><p> axis([0 0.03*n,-3 3])</p><p> %不同信噪比誤碼率計算</p><p> sn=abs(millerde-code1);</p><p> fprintf('系統(tǒng)
92、誤碼率:')</p><p> BER=errornum3/length(code1)</p><p><b> 子函數(shù)如下:</b></p><p> function S=PCMdecoding(Range,code)</p><p><b> s=0;</b></p>
93、;<p><b> for i=1:7</b></p><p> s=s+code(i+1)*(2^(7-i));</p><p><b> end </b></p><p> s=s/128*2;</p><p> if code(1)==0</p><
94、p><b> s=s*(-1);</b></p><p><b> end</b></p><p><b> S=s;</b></p><p> function Miller=Millercoding(x)</p><p> m=length(x);</
95、p><p> Miller=zeros(1,2*m);</p><p><b> f=0;</b></p><p><b> d=1;</b></p><p><b> for i=1:m</b></p><p> %若原碼為1,則交替為10或者0
96、1</p><p> if x(i)==1</p><p> Miller(2*i-1)=f;</p><p> Miller(2*i)=not(f);</p><p><b> f=not(f);</b></p><p><b> d=1;</b></p&g
97、t;<p><b> %若原碼為0</b></p><p><b> else</b></p><p><b> %前一個碼為1</b></p><p><b> if d==1</b></p><p> Miller(2*i-1)
98、=f;</p><p> Miller(2*i)=f;</p><p><b> d=0;</b></p><p> %前一個碼為0 </p><p><b> else</b></p><p><b> f=not(f);</b><
99、;/p><p> Miller(2*i-1)=f;</p><p> Miller(2*i)=f;</p><p><b> d=0;</b></p><p><b> end</b></p><p><b> end</b></p>
100、<p><b> end</b></p><p><b> return;</b></p><p> function f=Hammingcoding(code)</p><p> n=length(code);</p><p> N=fix(n/4);</p>
101、<p> G=[1 0 0 0 1 1 1;0 1 0 0 1 1 0;0 0 1 0 1 0 1; 0 0 0 1 0 1 1];</p><p> a=zeros(1,4);</p><p> b=zeros(1,7);</p><p> hamming=zeros(1,7*N);</p><p><b>
102、for i=1:N</b></p><p><b> for j=1:4</b></p><p> a(j)=code((i-1)*4+j);</p><p><b> end</b></p><p> b=mod(a*G,2);</p><p><
103、b> for j=1:7</b></p><p> hamming((i-1)*7+j)=b(j);</p><p><b> end</b></p><p><b> end</b></p><p> f=hamming;</p><p> f
104、unction signal=Askmodulation(signal,bitRate,fc,N)</p><p> bit=[]; c=[];</p><p> for i=1:length(signal)</p><p> if signal(i)==0</p><p> bit1=zeros(1,N);</p>
105、<p><b> else </b></p><p> bit1=ones(1,N);</p><p><b> end </b></p><p> bit=[bit,bit1];</p><p><b> end </b></p>
106、<p> t=linspace(0,1/bitRate,N);</p><p> c=sin(2*pi*t*fc);</p><p> transmittedSignal=[];</p><p> for i=1:length(bit)</p><p> transmittedSignal=[transmittedSign
107、al,bit(i)*c];</p><p><b> end</b></p><p> function signal=Askmodulation(signal,bitRate,fc,N)</p><p> bit=[]; c=[];</p><p> for i=1:length(signal)</p&
108、gt;<p> if signal(i)==0</p><p> bit1=zeros(1,N);</p><p><b> else </b></p><p> bit1=ones(1,N);</p><p><b> end </b></p><p&
109、gt; bit=[bit,bit1];</p><p><b> end </b></p><p> t=linspace(0,1/bitRate,N);</p><p> c=sin(2*pi*t*fc);</p><p> transmittedSignal=[];</p><p
110、> for i=1:length(bit)</p><p> transmittedSignal=[transmittedSignal,bit(i)*c];</p><p><b> end</b></p><p> function signal=awgncode(transmittedSignal,noise)</p&g
111、t;<p> signal=sqrt(2)*transmittedSignal;</p><p> signal=awgn(signal,noise);</p><p> function bitstream=Askde(receivedSignal,bitRate,fc,N) </p><p><b> load num</b
112、></p><p> signal1=receivedSignal;</p><p> signal2=abs(signal1); %整流</p><p> signal3=filter(num1,1,signal2); %LPF,包絡(luò)檢波</p><p> IN=fix(length(num1)
113、/2); %延遲時間</p><p> bitstream=[];</p><p> LL=fc/bitRate*N;</p><p> i=IN+LL/2;</p><p> while (i<=length(signal3)) %判決</p><p> bits
114、tream=[bitstream,signal3(i)>=0.5];</p><p><b> i=i+LL;</b></p><p><b> end</b></p><p><b> bit=[]; </b></p><p><b> i=N/2;
115、</b></p><p> while (i<=length(bitstream))</p><p> bit=[bit,bitstream(i)==1];</p><p><b> i=i+N;</b></p><p><b> end</b></p>&l
116、t;p> bitstream=bit ;</p><p><b> end</b></p><p> function bitstream=Askde(receivedSignal,bitRate,fc,N) </p><p><b> load num</b></p><p> s
117、ignal1=receivedSignal;</p><p> signal2=abs(signal1); %整流</p><p> signal3=filter(num1,1,signal2); %LPF,包絡(luò)檢波</p><p> IN=fix(length(num1)/2); %延遲時間</p&
118、gt;<p> bitstream=[];</p><p> LL=fc/bitRate*N;</p><p> i=IN+LL/2;</p><p> while (i<=length(signal3)) %判決</p><p> bitstream=[bitstream,signal3(i)&
119、gt;=0.5];</p><p><b> i=i+LL;</b></p><p><b> end</b></p><p><b> bit=[]; </b></p><p><b> i=N/2;</b></p><p&
120、gt; while (i<=length(bitstream))</p><p> bit=[bit,bitstream(i)==1];</p><p><b> i=i+N;</b></p><p><b> end</b></p><p> bitstream=bit ;<
121、/p><p><b> end</b></p><p> function g=Hammingdecoding(code)</p><p> N=fix(length(code)/7);</p><p> b=zeros(1,7);</p><p> hammingde=zeros(1,4*
122、N);</p><p> H=[1 1 1 0 1 0 0; 1 1 0 1 0 1 0; 1 0 1 1 0 0 1]; %監(jiān)督矩陣</p><p><b> for i=1:N</b></p><p> E=zeros(1,7);</p><p><b> for j=1:7</b>&
123、lt;/p><p> b(j)=code((i-1)*7+j);</p><p><b> end</b></p><p> S=mod(b*H',2);</p><p><b> m=0;</b></p><p><b> for j=1:7<
124、/b></p><p> if S==H(:,j)'</p><p><b> m=1;</b></p><p> E(j)=1; %檢出錯,E相應(yīng)位置1</p><p><b> end</b></p><p><b> end</b
125、></p><p> b=mod(b-E,2);</p><p><b> for j=1:4</b></p><p> hammingde((i-1)*4+j)=b(j);</p><p><b> end</b></p><p><b> end
126、</b></p><p> g=hammingde;</p><p> function demiller=Millerdecoding(x)</p><p> m=length(x);</p><p> demiller=zeros(1,m/2);</p><p> for i=1:2:m<
127、;/p><p> if x(i)==x(i+1)</p><p> demiller((i+1)/2)=0;</p><p> else demiller((i+1)/2)=1;</p><p><b> end</b></p><p><b> end</b><
128、/p><p> function S=PCMdecoding(Range,code)</p><p><b> s=0;</b></p><p><b> for i=1:7</b></p><p> s=s+code(i+1)*(2^(7-i));</p><p>&l
129、t;b> end </b></p><p> s=s/128*2;</p><p> if code(1)==0</p><p><b> s=s*(-1);</b></p><p><b> end</b></p><p><b>
130、S=s;</b></p><p> function bnum=biterrornum(a,b) %計算誤碼個數(shù)</p><p><b> err=0;</b></p><p> sn=abs(a-b);</p><p> for i=1:length(sn)</p><p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 通信系統(tǒng)綜合課程設(shè)計
- 綜合通信系統(tǒng)課程設(shè)計--綜合通信系統(tǒng)的設(shè)計
- 通信綜合系統(tǒng)訓(xùn)練課程設(shè)計
- 通信系統(tǒng)課群綜合課程設(shè)計
- 通信系統(tǒng)課程設(shè)計--通信系統(tǒng)課群綜合訓(xùn)練與設(shè)計
- 《現(xiàn)代通信電子線路綜合設(shè)計》課程設(shè)計
- 通信原理課程設(shè)計
- 移動通信 課程設(shè)計
- 通信電纜課程設(shè)計
- 移動通信課程設(shè)計
- 雙機(jī)通信課程設(shè)計
- 通信原理課程設(shè)計
- 雙機(jī)通信課程設(shè)計
- 通信原理課程設(shè)計
- 雙機(jī)通信課程設(shè)計
- 通信系統(tǒng)課程設(shè)計
- 移動通信課程設(shè)計
- 通信系統(tǒng)課程設(shè)計
- 通信原理課程設(shè)計
- 《通信系統(tǒng)系統(tǒng)課群綜合訓(xùn)練與設(shè)計》課程設(shè)計
評論
0/150
提交評論