2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩29頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  摘要I</b></p><p>  AbstractII</p><p>  1設(shè)計任務(wù)及要求1</p><p><b>  1.1設(shè)計任務(wù)1</b></p><p> 

2、 1.2 設(shè)計要求1</p><p>  2 PCM(脈沖編碼調(diào)制)編譯碼2</p><p>  2.1脈沖編碼調(diào)制的基本原理2</p><p>  2.2 逐次比較法編碼3</p><p>  2.3 折疊二進制碼原理4</p><p>  2.4逐次比較法譯碼原理5</p><p&g

3、t;  2.5 MATLAB編程實現(xiàn)PCM編譯碼6</p><p>  3 HDB3碼編解碼7</p><p>  3.1 AMI碼編碼基本原理7</p><p>  3.2 HDB3碼編碼基本原理7</p><p>  3.3 HDB3碼的譯碼8</p><p>  3.4 MATLAB實現(xiàn)HDB3碼編解碼

4、9</p><p>  4 漢明碼編譯碼10</p><p>  4.1漢明碼的構(gòu)造原理10</p><p>  4.2 MATLAB實現(xiàn)漢明碼編譯碼12</p><p>  5 2PSK調(diào)制與解調(diào)13</p><p>  5.1數(shù)字調(diào)制技術(shù)13</p><p>  5.2 二進制相

5、移鍵控(2PSK)基本原理13</p><p>  5.3 MATLAB實現(xiàn)2PSK調(diào)制與解調(diào)15</p><p>  5.4 AWGN信道的模擬16</p><p>  6 MATLAB軟件仿真17</p><p>  6.1 MATLAB簡介17</p><p>  6.2 發(fā)送端仿真結(jié)果17</

6、p><p>  6.2.1 PCM編碼仿真17</p><p>  6.2.2 HDB3碼及漢明碼編碼仿真18</p><p>  6.2.3 2PSK調(diào)制以及AWGN信道仿真18</p><p>  6.3 接收端仿真結(jié)果19</p><p>  6.3.1 2PSK解調(diào)仿真19</p><

7、p>  6.3.2 漢明碼及HDB3碼解碼仿真19</p><p>  6.3.3 PCM解碼仿真20</p><p>  6.4 仿真結(jié)果分析20</p><p>  7 小結(jié)與體會21</p><p><b>  8 參考文獻22</b></p><p><b>  

8、附錄23</b></p><p><b>  摘 要</b></p><p>  通信系統(tǒng)是一個十分復(fù)雜的系統(tǒng),在具體實現(xiàn)上有多種多樣的方法,但總的過程卻是具有共性的。對于一個模擬信號數(shù)字化傳輸,過程可分為數(shù)字化,信源編解碼,信道編解碼,調(diào)制解調(diào),加擾等。本實驗利用MATLAB實現(xiàn)了PCM編碼,HDB3碼,漢明碼,PSK調(diào)制,AWGN及對應(yīng)的解調(diào)過程,

9、完整實現(xiàn)了一個通信系統(tǒng)的全部過程。</p><p>  MATLAB是由美國Mathworks公司發(fā)布的主要面對科學(xué)計算、可視化以及交互式程序設(shè)計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學(xué)數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學(xué)研究、工程設(shè)計以及必須進行有效數(shù)值計算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計語言(如C、F

10、ortran)的編輯模式,代表了當今國際科學(xué)計算軟件的先進水平?! ?lt;/p><p>  關(guān)鍵字:通信系統(tǒng),調(diào)制,解調(diào),MATLAB </p><p><b>  Abstract</b></p><p>  Communication system is a very complicated system in the implementat

11、ion of a variety of methods. But the process has general characters. For a analog signal digital transmission, the process can be divided into digital, source decoding, channel decoding, modem, scrambling, etc. This expe

12、riment using MATLAB the delta modulation, Miller code, hamming code, PSK modulation, AWGN and the corresponding demodulation process, complete implements a communication system of all process.</p><p>  MATLA

13、B is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, and numeric computation. Using MATLAB, you can solve technical computing problems f

14、aster than with traditional programming languages, such as C, C++, and Fortran.Key words:communication system,modulation,demodulation,MATLAB</p><p><b>  1設(shè)計任務(wù)及要求</b></p><p><b&g

15、t;  1.1設(shè)計任務(wù)</b></p><p>  可以用軟件(如MATLAB),也可以在硬件實驗系統(tǒng)平臺上完成一個典型的通信系統(tǒng)(如下圖1所示)的仿真。</p><p>  圖1.1 典型通信系統(tǒng)的組成</p><p><b>  1.2 設(shè)計要求</b></p><p>  1、系統(tǒng)發(fā)送端要求:</

16、p><p>  2、在接收端的解調(diào)、信道解碼、基帶解碼、數(shù)模轉(zhuǎn)換與發(fā)送端一一對應(yīng)。</p><p>  3、要完成整個系統(tǒng)各環(huán)節(jié)以及整個系統(tǒng)的仿真,最終在接收端或者精確或者近似地再現(xiàn)輸入(信源),完成課程設(shè)計報告。</p><p>  2 PCM(脈沖編碼調(diào)制)編譯碼</p><p>  2.1脈沖編碼調(diào)制的基本原理</p><

17、;p>  把從模擬信號抽樣、量化,直到變換成為二進制符號的基本過程,稱為脈沖編碼調(diào)制,簡稱脈碼調(diào)制。</p><p>  如:在下圖中,模擬信號的抽樣值為3.15,3.96,5.00,6.38,6.80和6.42。若按照“四舍五入”的原則量化為整數(shù)值,則抽樣值量化后變?yōu)?,4,5,6,7和6。在按照二進制數(shù)編碼后,量化值(quantized value)就變成二進制符號:011、100、101、110、11

18、1和110。</p><p>  圖2.1 二進制編碼原理</p><p>  圖2.2 PCM系統(tǒng)的原理方框圖</p><p>  2.2 逐次比較法編碼</p><p>  上節(jié)編碼器(a)中的量化器和編碼器常構(gòu)成一個不能分離的編碼電路,這種編碼電路有不同的實現(xiàn)方案,最常用的一種方案成為逐次比較法編碼,其基本原理方框圖如下圖所示。<

19、;/p><p>  圖2.3 逐次比較法編碼原理方框圖</p><p>  圖中示出一個3位編碼器。其輸入信號抽樣脈沖值在0和7.5之間。它將輸入模擬抽樣脈沖編成3位二進制編碼c1 c2 c3。</p><p>  圖中輸入信號抽樣脈沖電流Is由保持電路短時間保持,并和幾個稱為權(quán)值電流的標準電流Iw逐次比較。每比較一次,得出1位二進制碼。權(quán)值電流Iw是在電路中預(yù)先產(chǎn)生的

20、。Iw的個數(shù)決定于編碼的位數(shù),現(xiàn)在共有3個不同的Iw值。因為表示量化值的二進制碼有3位,即c1c2c3。它們能夠表示8個十進制數(shù),從0至7,如下表所示。 </p><p><b>  表1 編碼表</b></p><p>  因此,若按照“四舍五入”原則編碼,則此編碼器能夠?qū)?0.5至+7.5之間的輸入抽樣值正確編碼。</p><p>  由此

21、表可推知,用于判定c1值的權(quán)值電流Iw=3.5,即若抽樣值Is < 3.5,則比較器輸出c1 = 0;若Is > 3.5,則比較器輸出c1 = 1。c1除輸出外,還送入記憶電路暫存。</p><p>  第二次比較時,需要根據(jù)此暫存的c1值,決定第二個權(quán)值電流值。若c1 = 0,則第二個權(quán)值電流值Iw = 1.5;若c1 = 1,則Iw = 5.5。第二次比較按照此規(guī)則進行:若Is < Iw,則

22、c2 = 0;若Is > Iw,則c2 = 1。此c2值除輸出外,也送入記憶電路。</p><p>  在第三次比較時,所用的權(quán)值電流值須根據(jù)c1 和c2的值決定。如如,若c1 c2 = 0 0,則Iw = 0.5;若c1 c2 = 1 0,則Iw = 4.5;依此類推。</p><p>  2.3 折疊二進制碼原理</p><p>  表1給出的二進制編碼是

23、按照二進制數(shù)的自然規(guī)律排列的,稱為自然二進制碼。但這不是唯一編碼方法,常用的還有折疊二進制碼。折疊二進制碼是用最高位表示電壓的極性正負,而用其他位來表示電壓的絕對值。這就是說,在用最高位表示極性后,雙極性電壓可以采用單極性編碼方法處理,從而使編碼電路和編碼過程大為簡化。折疊碼的另一個優(yōu)點是誤碼對于小電壓的影響較小。</p><p>  在13折線法中采用的折疊碼有8位。其中第一位c1表示量化值的極性正負。后面的7

24、位分為段落碼和段內(nèi)碼兩部分,用于表示量化值的絕對值。其中第2至4位(c2 c3 c4)是段落碼,共計3位,可以表示8種斜率的段落;其他4位(c5 ~ c8)為段內(nèi)碼,可以表示每一段落內(nèi)的16種量化電平。段內(nèi)碼代表的16個量化電平是均勻劃分的。所以,這7位碼總共能表示27 = 128種量化值。在下面的表中給出了段落碼和段內(nèi)碼的編碼規(guī)則。</p><p>  表2 段落碼編碼規(guī)則</p><p&g

25、t;  表3 段內(nèi)碼編碼規(guī)則</p><p>  在上述編碼方法中,雖然段內(nèi)碼是按量化間隔均勻編碼的,但是因為各個段落的斜率不等,長度不等,故不同段落的量化間隔是不同的。其中第1和2段最短,斜率最大,其橫坐標x的歸一化動態(tài)范圍只有1/128。再將其等分為16小段后,每一小段的動態(tài)范圍只有(1/128)*(1/16) = 1/2048。這就是最小量化間隔,后面將此最小量化間隔(1/2048)稱為1個量化單位。第8段

26、最長,其橫坐標x的動態(tài)范圍為1/2。將其16等分后,每段長度為1/32。假若采用均勻量化而仍希望對于小電壓保持有同樣的動態(tài)范圍1/2048,則需要用11位的碼組才行?,F(xiàn)在采用非均勻量化,只需要7位就夠了。</p><p>  2.4逐次比較法譯碼原理 </p><p>  下圖所示編碼器中虛線方框內(nèi)是本地譯碼器,而接收端譯碼器的核心部分原理就和本地譯碼器的原理一樣。 </p>

27、<p>  圖2.4 逐次比較法非均勻編碼器原理框圖</p><p>  在此圖中,本地譯碼器的記憶電路得到輸入c7值后,使恒流源產(chǎn)生為下次比較所需要的權(quán)值電流Iw。在編碼器輸出c8值后,對此抽樣值的編碼已經(jīng)完成,所以比較器要等待下一個抽樣值到達,暫不需要恒流源產(chǎn)生新的權(quán)值電流。</p><p>  在接收端的譯碼器中,仍保留本地譯碼器部分。由記憶電路接收發(fā)送來的碼組。當記憶電

28、路接收到碼組的最后一位c8后,使恒流源再產(chǎn)生一個權(quán)值電流,它等于最后一個間隔的中間值。在上如中,此中間值等于1248。由于編碼器中的比較器只是比較抽樣的絕對值,本地譯碼器也只是產(chǎn)生正值權(quán)值電流,所以在接收端的譯碼器中,最后一步要根據(jù)接收碼組的第一位c1值控制輸出電流的正負極性。在下圖中示出接收端譯碼器的基本原理方框圖。</p><p>  圖2.5 接收譯碼器原理框圖</p><p>  

29、2.5 MATLAB編程實現(xiàn)PCM編譯碼</p><p>  1、PCM編碼流程圖 2、PCM譯碼流程圖</p><p>  圖2.6 編碼流程圖 圖2.7譯碼流程圖</p><p>  3 HDB3碼編解碼</p><p>  3.1

30、AMI碼編碼基本原理</p><p>  AMI碼的全稱為傳號交替反轉(zhuǎn)碼,其編碼規(guī)則為將消息碼的“1”(傳號)交替地變換為“+1”和“-1”,而“0”(空號)保持不變。如:</p><p>  消息碼: 0 1 1 0 0 0 0 0 0 0 1 1 0 0 1 1…</p><p>  AMI碼: 0 -1 +1 0 0 0 0 0 0

31、 0 –1 +1 0 0 –1 +1… </p><p>  AMI碼對應(yīng)的波形是具有正、負、零三種電平的脈沖序列。它可以看成是單極性波形的變形,即“0”仍對應(yīng)零電平,而“1”交替對應(yīng)正負電平。</p><p>  AMI碼的優(yōu)點:沒有直流成分,且高、低頻分量少,編譯碼電路簡單,且可利用傳號極性交替這一規(guī)律觀察誤碼情況;如果它是AMI-RZ波形,接收后只要全波整流,就可變?yōu)閱螛O性RZ波形

32、,從中可以提取位定時分量</p><p>  AMI碼的缺點:當原信碼出現(xiàn)長連“0”串時,信號的電平長時間不跳變,造成提取定時信號的困難。解決連“0”碼問題的有效方法之一是采用HDB3碼。</p><p>  3.2 HDB3碼編碼基本原理</p><p>  HDB3碼的全稱為3階高密度雙極性碼,它是AMI碼的一種改進型,改進目的是為了保持AMI碼的優(yōu)點而克服其缺

33、點,使連“0”個數(shù)不超過3個。 其編碼規(guī)則是:</p><p>  (1)檢查消息碼中“0”的個數(shù)。當連“0”數(shù)目小于等于3時,HDB3碼與AMI碼一樣,+1與-1交替;</p><p> ?。?)連“0”數(shù)目超過3時,將每4個連“0”化作一小節(jié),定義為B00V,稱為破壞節(jié),其中V稱為破壞脈沖,而B稱為調(diào)節(jié)脈沖;</p><p> ?。?)V與前一個相鄰的非“0”脈

34、沖的極性相同(這破壞了極性交替的規(guī)則,所以V稱為破壞脈沖),并且要求相鄰的V碼之間極性必須交替。V的取值為+1或-1;</p><p> ?。?)B的取值可選0、+1或-1,以使V同時滿足(3)中的兩個要求; </p><p> ?。?)V碼后面的傳號碼極性也要交替。 </p><p>  如:消息碼: 1 0 0 0 0 1 0 0 0 0 1 1 0

35、 0 0 0 0 0 0 0 l 1</p><p>  AMI碼: -1 0 0 0 0 +1 0 0 0 0 -1 +1 0 0 0 0 0 0 0 0 -1 +1</p><p>  HDB3碼: -1 0 0 0 –V +1 0 0 0 +V -1 +1-B 0 0–V +B 0 0 +V -l +1</p><p>  其中的

36、V脈沖和B脈沖與1脈沖波形相同,用V或B符號表示的目的是為了示意該非“0”碼是由原信碼的“0”變換而來的。</p><p>  HDB3碼既要包含AMI的交替特性使輸出無直流特性,又要不出現(xiàn)四個以上的連0,因此可以先滿足后者。</p><p>  1)把“0000”換為取代節(jié)。</p><p>  規(guī)則:先將“0000”分離開來,第一個“0000”直接變?yōu)椤?000

37、”,然后數(shù)相鄰兩個“0000”之間“1”的個數(shù),奇數(shù)則變?yōu)椤?00V”,偶數(shù)則變?yōu)椤癇00V”。</p><p><b>  2)更新符號。</b></p><p>  根據(jù)HDB3碼的編碼規(guī)則有:B總是與其前面的1或V符號相反,V總是與前面的1或B相符號相同,1總是與前面的V或B符號相反,就可編符號了。</p><p><b>  

38、例如:</b></p><p>  消息代碼:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1</p><p>  中間碼: 1 0 0 0 V 1 0 0 0 V 1 1 B 0 0 V 1 1 B 0 0 V B 0 0 V 1 1 1 0 0 0 V 1</p><p

39、>  HDB3碼:+1 0 0 0 +V -1 0 0 0 -V +1 -1 +B 0 0 + V -1 +1 -B 0 0 -V +B 0 0 +V -1 +1 -1 0 0 0 -V +1</p><p>  3.3 HDB3碼的譯碼</p><p>  HDB3碼的編碼雖然比較復(fù)雜,但譯碼卻比較簡單。從上述編碼規(guī)則看出,每一個破壞脈沖V總是與前一非“0”脈沖同極性(包括B在內(nèi))

40、。這就是說,從收到的符號序列中可以容易地找到破壞點V,于是也斷定V符號及其前面的3個符號必是連“0”符號,從而恢復(fù)4個連“0”碼,再將所有-1變成+1后便得到原消息代碼。解碼規(guī)則如下:</p><p>  1)若3連“0”前后非零脈沖同極性,則將最后一個非零元素譯為零,如+1000+1 就應(yīng)該譯成“10000”;若2連 “0”前后非零脈沖極性相同,則兩零前后都譯為零,如-100-1,就應(yīng)該譯為0000。</

41、p><p>  2)再將所有的-1變換成+1后,就可以得到原消息代碼。</p><p>  3.4 MATLAB實現(xiàn)HDB3碼編解碼</p><p>  1、HDB3碼編碼 2、HDB3碼解碼</p><p>  圖3.1 HDB3編碼流程圖 圖3.2 H

42、DB3解碼流程圖</p><p><b>  4 漢明碼編譯碼</b></p><p>  4.1漢明碼的構(gòu)造原理</p><p>  漢明碼是能夠糾正1位錯碼且編碼效率較高的一種線性分組碼(線性分組碼:按照一組線性方程構(gòu)成的分組碼 )。</p><p>  在偶數(shù)監(jiān)督碼中,由于使用了一位監(jiān)督位a0,它和信息位an-1

43、… a1一起構(gòu)成一個代數(shù)式:</p><p>  在接收端解碼時,實際上就是在計算</p><p>  若S = 0,就認為無錯碼;若S = 1,就認為有錯碼?,F(xiàn)將上式稱為監(jiān)督關(guān)系式,S稱為校正子。由于校正子S只有兩種取值,故它只能代表有錯和無錯這兩種信息,而不能指出錯碼的位置。</p><p>  若監(jiān)督位增加一位,即變成兩位,則能增加一個類似的監(jiān)督關(guān)系式。由于兩

44、個校正子的可能值有4中組合: 00,01,10,11,故能表示4種不同的信息。若用其中1種組合表示無錯,則其余3種組合就有可能用來指示一個錯碼的3種不同位置。同理,r個監(jiān)督關(guān)系式能指示1位錯碼的 個可能位置。</p><p>  一般來說,若碼長為n,信息位數(shù)為k,則監(jiān)督位數(shù)r=n-k。如果希望用r個監(jiān)督位構(gòu)造出r個監(jiān)督關(guān)系式來指示1位錯碼的n種可能位置,則要求</p><p>

45、;  按照上述方法構(gòu)造的碼稱為漢明碼。</p><p>  設(shè)分組碼(n,k)中k=4,為了糾正一位錯碼,要求監(jiān)督位數(shù)r≥3。若取r=3,則n= k + r =7。我們用a6a5…a0 表示這7個碼元,用S1、S2、S3表示三個監(jiān)督關(guān)系式中的校正子,則S1 S2 S3的值與錯碼位置的對應(yīng)關(guān)系可以規(guī)定如下表4所列。</p><p>  表4 校正子與錯碼位置關(guān)系</p><

46、;p>  由表4中規(guī)定可見,僅當一錯碼位置在a2 、a4 、a5 或a6 時,校正子S1 為1;否則S1 為0。這就意味著a2 、a4 、a5 和a6四個碼元構(gòu)成偶數(shù)監(jiān)督關(guān)系</p><p>  S1 =a6a5 a4 a2 </p><p>  同理,a1 、a3 、a5 和a6構(gòu)成偶數(shù)監(jiān)督關(guān)系</p><p>  S2 =a6a5 a3 a1 </p

47、><p>  以及a0 、a3 、a4 和a6構(gòu)成偶數(shù)監(jiān)督關(guān)系</p><p>  S3 =a6a4 a3 a0 </p><p>  在發(fā)送端編碼時,信息位a6 、a5 、a4 和a3 的值決定于輸入信號,因此它們是隨機的。監(jiān)督位a2 、a1 和a0 應(yīng)根據(jù)信息位的取值按監(jiān)督關(guān)系來確定,即監(jiān)督位應(yīng)使上三式中S1、S2和

48、S3的值為零(表示變成的碼組中應(yīng)無錯碼)</p><p>  由上式經(jīng)移項運算,解出監(jiān)督位</p><p>  給定信息位后,可直接按上式算出監(jiān)督位,其結(jié)果如表5所列。</p><p>  表5 監(jiān)督位計算結(jié)果</p><p>  接收端收到每個碼組后,先計算出S1 、S2 和S3 ,再按表5判斷錯碼情況。如,若接收碼組為0000011,計

49、算可得S1 =0,S2 =1,S3 =1。S1 S2 S3 等于011,可知在a3 位有一錯碼。按上述方法構(gòu)造的碼稱為漢明碼。表5中所列的(7,4)漢明碼的最小碼距d0 =3,因此這種碼能糾正一個錯碼或檢測兩個錯碼。</p><p><b>  漢明碼有以下特點:</b></p><p>  碼長 n=2r-1 最小碼距

50、d=3</p><p>  信息碼位 k=2r-m-1 糾錯能力t=1</p><p>  監(jiān)督碼位 r=n-k=m</p><p>  這里m為≥2的正整數(shù),給定m后,即可構(gòu)造出具體的漢明碼(n,k)。</p><p>  4.2 MATLAB實現(xiàn)漢明碼編譯碼</p><p>

51、;  MATLAB中提供了漢明碼的編碼和譯碼函數(shù),本程序直接調(diào)用進行編程。</p><p> ?、賓ncode函數(shù) </p><p><b>  功能:編碼函數(shù) </b></p><p>  語法:code=encode(msg,N,K) </p><p>  說明:該函數(shù)對二進制信息msg進行漢明編碼,K為信息位長度,

52、N為碼字長度。msg是一個K列矩陣。其中要求N=2m-1,K=N-m,m為監(jiān)督位長度。</p><p> ?、赿ecode函數(shù) </p><p><b>  功能:譯碼函數(shù) </b></p><p>  語法:rcvcode=decode(code,N,K) </p><p>  說明:該函數(shù)對接受碼字進行譯碼,恢復(fù)出原

53、始信息,譯碼參數(shù)及方式必須和編碼時采用的完全相同。 </p><p>  ③hammgen函數(shù) </p><p>  功能:漢明碼生成矩陣和校驗矩陣產(chǎn)生函數(shù) </p><p>  語法:H=hammgen(M);[H,G]=hammgen(M);[H,G,N,K]=hammgen(M) </p><p>  說明:該函數(shù)的功能是產(chǎn)生生成矩陣和

54、校驗矩陣,其中M=N-K為校驗位的長度,H為漢明碼的校驗矩陣,G為漢明碼的生成矩陣。</p><p><b> ?、懿糠衷闯绦?lt;/b></p><p>  漢明碼編碼:ym=encode(abs(yh),7,4,'hamming/binary');</p><p>  漢明碼解碼:dm=decode(c_de,7,4,'

55、hamming/binary');</p><p>  5 2PSK調(diào)制與解調(diào)</p><p><b>  5.1數(shù)字調(diào)制技術(shù)</b></p><p>  為了使數(shù)字信號在帶通信道中傳輸,必須用數(shù)字基帶信號對載波進行調(diào)制以使信號與信道的特性相匹配。這種用數(shù)字信號控制載波,把數(shù)字基帶信號變換為數(shù)字帶通信號(已調(diào)信號)的過程成為數(shù)字調(diào)制。在

56、接收端通過解調(diào)器把帶通信號還原成數(shù)字基帶信號的過程成為數(shù)字解調(diào)。通常把包括調(diào)制和解調(diào)過程的數(shù)字傳輸系統(tǒng)叫做數(shù)字帶通傳輸系統(tǒng)。</p><p>  一般來說,數(shù)字調(diào)制與模擬調(diào)制的基本原理相同,但是數(shù)字調(diào)制有離散取值的特點。因此數(shù)字調(diào)制技術(shù)有兩種方法:</p><p> ?、倮媚M調(diào)制的方法去實現(xiàn)數(shù)字式調(diào)制;</p><p> ?、谕ㄟ^開關(guān)鍵控載波,通常稱為鍵控法?;?/p>

57、本鍵控方式有振幅鍵控、頻移鍵控、相移鍵控。</p><p>  振幅鍵控 頻移鍵控 相移鍵控</p><p>  圖5.1 正弦載波的三種鍵控波形</p><p>  5.2 二進制相移鍵控(2PSK)基本原理</p><p>  數(shù)字調(diào)制可分為二進制調(diào)制和多進制調(diào)制。</p>

58、;<p>  相移鍵控是利用載波的相位變化來傳遞數(shù)字信息,而振幅和頻率保持不變。在2PSK中,通常用初始相位0和π分別表示二進制“1”和“0”。因此,2PSK信號的時域表達式為:</p><p>  式中,? n表示第n個符號的絕對相位:</p><p>  因此,上式可以改寫為</p><p>  由于表示信號的兩種碼元的波形相同,極性相反,故2PS

59、K信號可以表述為一個雙極性全占空矩形脈沖序列與一個正弦載波的相乘:</p><p><b>  式中</b></p><p>  這里,g(t)是脈寬為Ts的單個矩形脈沖,而an的統(tǒng)計特性為</p><p>  即發(fā)送二進制符號“0”時,e2psk(t)取0相位;發(fā)送二進制符號“1”時,e2psk(t)取π相位。這種以載波的不同相位直接去表示相

60、應(yīng)二進制數(shù)字信號的調(diào)制方式,稱為二進制絕對相移方式。</p><p><b>  模擬調(diào)制的方法</b></p><p><b>  (b)鍵控法</b></p><p>  圖5.2 2PSK信號調(diào)制器原理方框圖</p><p>  2PSK信號的解調(diào)通常采用相干解調(diào)法,解調(diào)器原理框圖如下圖5.

61、3所示。假設(shè)數(shù)字信息為“10011”,相干解調(diào)各點波形如下圖5.4所示。</p><p>  圖5.3 2PSK信號的解調(diào)原理框圖</p><p>  圖5.4 2PSK信號相干解調(diào)時各點時間波形</p><p>  5.3 MATLAB實現(xiàn)2PSK調(diào)制與解調(diào)</p><p>  1、2PSK調(diào)制流程圖

62、 2、2PSK解調(diào)流程圖</p><p>  圖5.5 2psk調(diào)制 圖5.6 2psk解調(diào)</p><p>  5.4 AWGN信道的模擬</p><p>  加性高斯白噪聲 AWGN(Additive White Gaussian Noise) 是最基本的噪聲與干擾模型。加性噪聲是疊加在信號上的一種噪聲

63、,通常記為n(t),而且無論有無信號,噪聲n(t)都是始終存在的。因此通常稱它為加性噪聲或者加性干擾。白噪聲:噪聲的功率譜密度在所有的頻率上均為一常數(shù),則稱這樣的噪聲為白噪聲。如果白噪聲取值的概率分布服從高斯分布,則稱這樣的噪聲為高斯白噪聲。 </p><p>  這里,在進行通信仿真時,我們考慮加性高斯白噪聲信道(即AWGN信道),即在發(fā)射信號上加一個高斯白噪聲隨機序列。在MATLAB中產(chǎn)生高斯白噪聲非常簡單,

64、采用命令awgn或wgn,如程序中采用的CC=awgn(c,10,0)。</p><p> ?、賧=awgn(x,SNR)</p><p>  即:增加高斯白噪聲至信號x,信噪比SNR的單位為dB,信號的功率設(shè)定為1,如果信號x為復(fù)數(shù),則增加復(fù)數(shù)高斯白噪聲。</p><p>  ②y=awgn(x,SNR,sigpower)</p><p>

65、  即:如果sigpower是一個數(shù)值,則表示單位為dBW的信號功率;如果sigpower為’measured’,則awgn在增加高斯白噪聲前自行測量信號功率。</p><p> ?、踶=awgn(x,SNR,sigpower,state)</p><p>  即:重置randn的狀態(tài)為state。</p><p> ?、躽=wgn(M,N,P)</p>

66、<p>  即:產(chǎn)生M*N高斯白噪聲。P表示dBW為單位的輸出噪聲功率。</p><p>  6 MATLAB軟件仿真</p><p>  6.1 MATLAB簡介</p><p>  MATLAB是一個高級的矩陣/陣列語言,它包含控制語句、函數(shù)、數(shù)據(jù)結(jié)構(gòu)、輸入和輸出和面向?qū)ο缶幊烫攸c。用戶可以在命令窗口中將輸入語句與執(zhí)行命令同步,也可以先編寫好一個較

67、大的復(fù)雜的應(yīng)用程序(M文件)后再一起運行,可移植性好、可拓展性極強。</p><p>  MATLAB是一個包含大量計算算法的集合。其擁有600多個工程中要用到的數(shù)學(xué)運算函數(shù),可以方便的實現(xiàn)用戶所需的各種計算功能。MATLAB的這些函數(shù)所能解決的問題大致包括矩陣運算和線性方程組的求解、微分方程及偏微分方程的組的求解、符號運算、傅立葉變換和數(shù)據(jù)的統(tǒng)計分析、工程中的優(yōu)化問題、稀疏矩陣運算、復(fù)數(shù)的各種運算、三角函數(shù)和其

68、他初等數(shù)學(xué)運算、多維數(shù)組操作以及建模動態(tài)仿真等。</p><p>  6.2 發(fā)送端仿真結(jié)果</p><p>  6.2.1 PCM編碼仿真</p><p>  圖6.1 原始信號與PCM編碼輸出</p><p>  6.2.2 HDB3碼及漢明碼編碼仿真</p><p>  圖6.2 HDB3編碼與漢明碼信號輸出&l

69、t;/p><p>  6.2.3 2PSK調(diào)制以及AWGN信道仿真</p><p>  圖6.3 2PSK調(diào)制信號與加噪信號</p><p>  6.3 接收端仿真結(jié)果</p><p>  6.3.1 2PSK解調(diào)仿真</p><p>  圖6.4 2PSK信號相干解調(diào)時間波形</p><p>

70、  6.3.2 漢明碼及HDB3碼解碼仿真</p><p>  圖6.5 HDB3碼解碼信號輸出</p><p>  6.3.3 PCM解碼仿真</p><p>  圖6.6 PCM解碼信號輸出</p><p>  6.4 仿真結(jié)果分析</p><p>  由以上圖可知,并比較PCM編碼信號、HDB3碼編碼信號、漢明

71、碼編碼信號可看出代碼正確,能夠?qū)崿F(xiàn)PCM編碼、HDB3編碼、漢明碼編碼的功能。比較漢明碼編碼信號、2PSK調(diào)制信號與2PSK解調(diào)信號可看出,2PSK調(diào)制與解調(diào)代碼正確,可實現(xiàn)2PSK調(diào)制與解調(diào)。比較原始正弦信號與輸出信號波形可看出,最終在接收端能夠近似地再現(xiàn)信源,實現(xiàn)整個通信系統(tǒng)的仿真。</p><p><b>  附錄</b></p><p><b>  

72、一、主程序:</b></p><p>  %-----------------------------------------------------------------------------------------</p><p>  %-------------------- PCM編碼 -----------------------

73、----</p><p>  %-----------------------------------------------------------------------------------------</p><p>  t=[0:0.3:2*pi]; s=sin(t);</p><p>  code=pcm(s); figure(1);<

74、/p><p>  subplot(2,1,1);plot(t,s); title('原始正弦信號');</p><p>  subplot(2,1,2);stairs([0:length(code(1:64))-1],code(1:64));</p><p>  axis([0 length(code(1:64)) -2 2]);title('

75、PCM編碼信號輸出')</p><p>  %-----------------------------------------------------------------------------------------</p><p>  %-------------------- HDB3編碼 -----------------------

76、----</p><p>  %-----------------------------------------------------------------------------------------</p><p>  xn=code(1:21*8); % 輸入單極性碼/ AMI碼的編碼</p><p>  yn=xn;

77、 % 輸出yn初始化</p><p>  num=0; % 計數(shù)器初始化</p><p>  for k=1:length(xn)</p><p>  if xn(k)==1</p><p>  num=num+1; % "1"計數(shù)

78、器</p><p>  if num/2 == fix(num/2) % 奇數(shù)個1時輸出-1,進行極性交替</p><p><b>  yn(k)=1;</b></p><p><b>  else</b></p><p><b>  yn(k)=-1;</b></p&g

79、t;<p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  num=0; % 連零計數(shù)器初始化</p><p>  yh=yn;

80、 % 輸出初始化</p><p>  sign=0; % 極性標志初始化為0</p><p>  V=zeros(1,length(yn)); % V脈沖位置記錄變量 </p><p>  B=zeros(1,length(yn)); % B脈沖位置記錄變量</p><p>  for

81、 k=1:length(yn)</p><p>  if yn(k)==0</p><p>  num=num+1; % 連“0”個數(shù)計數(shù)</p><p>  if num==4 % 如果4連“0”</p><p>  num=0; % 計數(shù)器清零</p><p>  yh(k)=1

82、*yh(k-4); % 讓0000最后一個0改變?yōu)榕c前一個非零符號相同極性的符號</p><p>  V(k)=yh(k); % V脈沖位置記錄</p><p>  if yh(k)==sign % 如果當前V符號與前一個V符號的極性相同</p><p>  yh(k)=-1*yh(k); % 讓當前V符號極性反轉(zhuǎn),以滿足V符號間相互極性反轉(zhuǎn)要求

83、</p><p>  yh(k-3)=yh(k); % 添加B符號,與V符號同極性</p><p>  B(k-3)=yh(k); % B脈沖位置記錄</p><p>  V(k)=yh(k); % V脈沖位置記錄</p><p>  yh(k+1:length(yn))=-1*yh(k+1:length(yn));</p

84、><p>  % 并讓后面的非零符號從V符號開始再交替變化</p><p><b>  end</b></p><p>  sign=yh(k); % 記錄前一個V符號的極性</p><p><b>  end</b></p><p>  else n

85、um=0; % 當前輸入為“1”則連“0”計數(shù)器清零</p><p><b>  end</b></p><p>  end % 編碼完成</p><p>  re=[xn',yn',yh',V',B'];

86、% 結(jié)果輸出: xn AMI HDB3 V&B符號</p><p>  figure(2);</p><p>  subplot(3,1,1);stairs([0:length(code(1:64))-1],code(1:64));</p><p>  axis([0 length(code(1:64)) -2 2]);title('PCM編碼信號輸

87、出')</p><p>  subplot(3,1,2);stairs([0:length(yh(1:64))-1],yh(1:64));</p><p>  axis([0 length(yh(1:64)) -2 2]);title('HDB3碼信號輸出')</p><p>  %------------------------------

88、-------------------------------------------------------------</p><p>  %------------------- 漢明碼編碼 --------------------</p><p>  %------------------------------------------

89、-------------------------------------------------</p><p>  yh1=abs(yh)-yh;</p><p>  ym=encode(abs(yh),7,4,'hamming/binary');</p><p>  subplot(3,1,3);stairs([0:length(ym(1:64

90、))-1],ym(1:64));axis([0 length(ym(1:64)) -2 2]);</p><p>  title('漢明碼信號輸出')</p><p>  %-----------------------------------------------------------------------------------------------</p

91、><p>  %-------------------- psk調(diào)制 ----------------------</p><p>  %------------------------------------------------------------------------------------------------</p&

92、gt;<p>  N=length(ym); %調(diào)制序列的長度 </p><p>  fc=10; %載波頻率</p><p>  datat=0.01; %時域采樣間隔</p><p>  fs=1/datat; %頻率分辨率</

93、p><p>  df=0.01; %頻率縮放系數(shù)</p><p>  t1=0:datat:N; %設(shè)每個碼元長度為1ms 時間矢量:0:N</p><p>  m=ym; %產(chǎn)生調(diào)制序列</p><p>  for i=1:length(m)</p&

94、gt;<p>  if(m(i)==1)</p><p>  for j=1:1/datat;</p><p>  psk_p(j+(i-1)*(1/datat))=pi; %1碼的對應(yīng)的相位為[pi](采用a方式)</p><p>  mm(j+(i-1)*(1/datat))=1; %為了畫碼元時域波形需要</

95、p><p><b>  end</b></p><p>  elseif(m(i)==0)</p><p>  for j=1:1/datat;</p><p>  psk_p(j+(i-1)*(1/datat))=0; %0碼的對應(yīng)的相位為[0](采用a方式)</p><p>  mm

96、(j+(i-1)*(1/datat))=0; %為了畫碼元時域波形需要</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  if(m(i)==1) nn=pi

97、/2; </p><p>  else nn=-(pi/2);</p><p><b>  end</b></p><p>  psk_p=[psk_p,nn]; %使p的長度與t相同,psk_p為根據(jù)不同碼元產(chǎn)生不同的調(diào)制相位</p&

98、gt;<p>  c=cos(2*pi*fc*t1+psk_p); %2psk信號產(chǎn)生</p><p>  [C,c,df1]=fftseq(c,datat,df); %2fsk信號的傅立葉變換</p><p>  [MM,mm,df1]=fftseq(mm,datat,df);

99、%基帶信號的傅立葉變換</p><p>  f=[0:df1:df1*(length(mm)-1)]-fs/2; %頻率作圖矢量</p><p>  CC=awgn(c,10,0); figure(3);</p><p>  subplot(3,1,1);plot(t1,mm(1:length(t1)));axis([0,N,-1.5,1.5

100、]);</p><p>  xlabel('時間 ms');title('未調(diào)信號');ylabel('幅值 :v');</p><p>  subplot(3,1,2);plot(t1,c(1:length(t1)));axis([0,N,-1.5,1.5]);</p><p>  xlabel('時間 ms

101、');title('2PSK信號');ylabel('幅值 :v');</p><p>  subplot(3,1,3);plot(t1,CC(1:length(t1)));axis([0,N,-1.5,1.5]);</p><p>  xlabel('時間 ms');title('加噪信號');ylabel('

102、;幅值 :v');</p><p>  %-----------------------------------------------------------------------------------------------</p><p>  %------------------- psk解調(diào) ----------

103、-----------</p><p>  %-----------------------------------------------------------------------------------------------</p><p>  carwav=2*cos(2*pi*fc.*t1);</p><p>  [CF,carwav,df1]=ff

104、tseq(carwav,datat,df);</p><p>  n_off=(fc-1)/df;</p><p>  n0=floor((fc-2)/df1):floor((fc+2)/df1);</p><p>  BP=zeros(1,length(f));</p><p>  BP(min(n0):max(n0))=ones(1,le

105、ngth(n0)); %帶通濾波器設(shè)計</p><p>  BP(length(BP)-max(n0):length(BP)-min(n0))=ones(1,length(n0));</p><p>  H=zeros(1,length(f));</p><p>  H(1:n_off)=2*ones(1,n_off); %

106、 低通濾波器設(shè)計 (矩形窗截取)</p><p>  H(length(f)-n_off+1:length(f))=2*ones(1,n_off);</p><p>  CC=C.*BP; %接收時經(jīng)過一個帶通濾波器</p><p>  cc=ifft(CC);

107、 %反傅立葉變換</p><p>  c_re=cc.*carwav; %乘以載波進行相干解調(diào)</p><p>  cc1=c_re; [c_reF,c_re,df1]=fftseq(c_re,datat,df); </p><p>  c_reF=c_reF.*H;

108、 %經(jīng)過低通濾波器</p><p>  c_ref=ifft(c_reF);</p><p>  for i=1 : length(m) % 判決</p><p>  if(c_ref((i-1)*(1/datat)+(1/(2*datat)))<0) % 判決規(guī)則: >0 => 0

109、</p><p>  m_de(i)=1; % 否則 <0 => 1</p><p>  for j=1:1/datat</p><p>  c_de(j+(i-1)*(1/datat))=1; %為了畫解調(diào)波形需要</p><p><b>  end</b>

110、;</p><p>  else m_de(i)=0;</p><p>  for j=1:1/datat</p><p>  c_de(j+(i-1)*(1/datat))=0; %為了畫解調(diào)波形需要</p><p><b>  end</b></p><p><b>  

111、end</b></p><p><b>  end</b></p><p>  c_de=[c_de,c_re(i)];figure(4);</p><p>  subplot(3,2,1);plot(t1,c(1:length(t1)));axis([0,N,-2,2]); </p><p>  xl

112、abel('時間 ms');title('調(diào)制信號');ylabel('幅值 :v');</p><p>  subplot(3,2,2);plot(t1,carwav(1:length(t1)));axis([0,N,-2,2]);</p><p>  xlabel('時間 ms');title('載波恢復(fù)'

113、);ylabel('幅值 :v');</p><p>  subplot(3,2,3);plot(t1,c_re(1:length(t1)));axis([0,N,-2,2]);</p><p>  xlabel('時間 ms');title('載波相乘');ylabel('幅值 :v');</p><p&

114、gt;  subplot(3,2,4);plot(t1,c_ref(1:length(t1)));axis([0,N,-2.5,2.5]);</p><p>  xlabel('時間 ms');title('低通濾波后信號');ylabel('幅值 :v');</p><p>  subplot(3,2,5);plot(t1,c_de(1:l

115、ength(t1)));axis([0,N,-0.2,1.5]);</p><p>  xlabel('時間 ms');title('相干解調(diào)信號');ylabel('幅值 :v');</p><p>  %--------------------------------------------------------------------

116、---------------------------</p><p>  %------------------- 漢明碼解碼 --------------------------------</p><p>  %----------------------------------------------------------------------

117、-------------------------</p><p>  dm=decode(c_de,7,4,'hamming/binary');</p><p>  %-----------------------------------------------------------------------------------------------</p&g

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論