通信系統(tǒng)課群綜合課程設計_第1頁
已閱讀1頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  課程設計任務書</b></p><p>  題目: 通信系統(tǒng)課群綜合訓練與設計 </p><p>  初始條件: MATLAB 軟件,電腦,通信原理知識 </p><p>  要求完成的主要任務: </p><p>  1、

2、利用仿真軟件(如Matlab或SystemView),或硬件實驗系統(tǒng)平臺上設計完成一個典型的通信系統(tǒng)</p><p>  2、學生要完成整個系統(tǒng)各環(huán)節(jié)以及整個系統(tǒng)的仿真,最終在接收端或者精確或者近似地再現輸入(信源),計算失真度,并且分析原因。</p><p>  指導教師簽名: 2013 年 1 月 1 0日</p>

3、<p>  系主任(或責任教師)簽名: 2013 年 1 月 10 日</p><p><b>  目錄</b></p><p><b>  摘要2</b></p><p>  Abstract3</p><p><b>  1設計任務4

4、</b></p><p><b>  2實驗原理分析5</b></p><p>  2.1 PCM原理介紹5</p><p>  2.1.1 抽樣(Sampling)5</p><p>  2.1.2 量化(quantizing)5</p><p>  3. 基帶傳輸HDB3碼

5、12</p><p>  4.信道傳輸碼漢明碼14</p><p>  5.PSK調制解調原理15</p><p>  6. AWGN(加性高斯白噪聲)18</p><p><b>  7.仿真結果19</b></p><p><b>  8.心得體會23</b>

6、</p><p><b>  9.參考文獻24</b></p><p><b>  附錄25</b></p><p><b>  摘要</b></p><p>  通信系統(tǒng)是一個十分復雜的系統(tǒng),在具體實現上有多種多樣的方法,但總的過程卻是具有共性的。對于一個模擬信號數字化傳

7、輸,過程可分為數字化,信源編解碼,信道編解碼,調制解調,加擾等。本實驗利用MATLAB實現了PCM編碼,HDB3碼,漢明碼,psk調制,AWGN及對應的解調過程,完整實現了一個通信系統(tǒng)的全部過程。</p><p>  MATLAB是由美國mathworks公司發(fā)布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環(huán)境。它將數值分析、矩陣計算、科學數據可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一

8、個易于使用的視窗環(huán)境中,為科學研究、工程設計以及必須進行有效數值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平?! ?lt;/p><p>  關鍵字:通信系統(tǒng),調制,解調,matlab </p><p><b>  Abstract</b></p>

9、<p>  Communication system is a very complicated system in the implementation of a variety of methods. But the process has general characters. For a analog signal digital transmission, the process can be divided i

10、nto digital, source decoding, channel decoding, modem, scrambling, etc. This experiment using MATLAB the delta modulation, Miller code, hamming code, PSK modulation, AWGN and the corresponding demodulation process, compl

11、ete implements a communication system of all process.</p><p>  MATLAB is a high-level technical computing language and interactive environment for algorithm development, data visualization, data analysis, an

12、d numeric computation. Using MATLAB, you can solve technical computing problems faster than with traditional programming languages, such as C, C++, and Fortran.Key words:communication system,modulation,demodulation,MAT

13、LAB</p><p><b>  1設計任務</b></p><p>  完成整個系統(tǒng)各環(huán)節(jié)以及整個系統(tǒng)的仿真,最終在接收端或者精確或者近似地再現輸入(信源),計算失真度,并且分析原因。信源:自己構造一時間函數,數字化方式:PCM,基帶碼:HDB3,信道碼:漢明碼,調制方式:PSK,信道類型:AWGN ;解調,信道解碼,基帶解碼,數模轉換的過程與輸入端對應。<

14、/p><p>  圖1.1 典型的通信系統(tǒng)</p><p>  與上圖對應,信息源首先經過PCM數字化在經過HDB3碼進行基帶編碼和漢明碼信道得到原信號的二進制碼,由于先進行漢明碼編碼不改變碼字的極性二HDB3會改變碼字極性所以在后來的設計中先進行漢明碼再進行HDB3,對于整個信號只要解碼與編碼的過程相對應就是一樣的;然后再進過PSK調制,由于是有極性的HDB3碼,進行PSK調制頗為復雜,接著

15、進入AWGN;再到接受設備經過解調再譯碼后模數轉換得到原始信號。</p><p>  本實驗采用的數子通信系統(tǒng),是利用數字信號來傳遞信息的通信系統(tǒng),原理圖如圖1.2</p><p>  圖1.2數字通信系統(tǒng)模型</p><p><b>  2實驗原理分析</b></p><p>  2.1 PCM原理介紹</p&g

16、t;<p>  模擬信號數字化必須經過三個過程,即抽樣、量化和編碼,以實現話音數字化的脈沖編碼調制(PCM,Pulse Coding Modulation)技術。</p><p>  2.1.1 抽樣(Sampling)</p><p>  圖2.1 抽樣原理圖  </p><p>  離散時間信號通常是有連續(xù)時間信號經周期采樣得到的。完成采樣功能的器

17、件稱為采樣器,下圖所示為采樣器的示意圖。圖中Xa(t)表示模擬信號,Xa(nt)表示采樣信號,T為采樣周期,n=0,1,2,…。一般可以把采樣器視為一個每隔T秒閉合一次的電子開關S。在理想情況下,開關閉合時間τ滿足τ<<T。實際采樣過程可視為脈沖調幅過程,Xa(t)為調制信號,被調脈沖載波p(t)是周期為T、脈寬為τ的周期脈沖串。當τ→0時的理想采樣情況是實際采樣的一種科學的、本質的抽象,同時可使數學推導得到簡化。下面主要討

18、論理想采樣。</p><p>  2.1.2 量化(quantizing)</p><p>  抽樣信號雖然是時間軸上離散的信號,但仍然是模擬信號,其樣值在一定的取值范圍內,可有無限多個值。顯然,對無限個樣值一一給出數字碼組來對應是不可能的。為了實現以數字碼表示樣值,必須采用“四舍五入”的方法把樣值分級“取整”,分的級數越多,即量化級差或間隔越小,量化噪聲也越小。</p>&

19、lt;p>  2.1.3 A壓縮律:</p><p>  所謂A壓縮律也就是壓縮器具有如下特性的壓縮律:</p><p>  其中,A為壓縮系數;y為歸一化的壓縮器輸出電壓;x為歸一化的壓縮器輸入電壓。圖畫出了A為某一取值的歸一化壓縮特性。A律壓縮特性是以原點奇對稱的,為了簡便,圖中只給出了正半軸部分。</p><p>  圖2.2 A壓縮律特性</p

20、><p>  上圖中,x和y都在-1和+1之間,取量化級數為N(在y方向上從-1到+1被均勻劃分為N個量化級),則量化間隔為</p><p>  當N很大時,在每一量化級中壓縮特性曲線可看作是直線,因此有</p><p>  式中,xi為第i個量化級間隔的中間值。</p><p><b>  因此</b></p>

21、<p>  為了使量化信噪比不隨信號x變化,也就是說在小信號時的量化信噪比不因x的減小而變小,即應使各量化級間隔與x成線性關系,即</p><p><b>  則式2.1可寫成</b></p><p><b>  即</b></p><p><b>  其中k為比例常數。</b><

22、/p><p>  當量化級數很大時,可以將它看成連續(xù)曲線,因而式(3.2)成為線性微分方程</p><p><b>  解此微分方程</b></p><p>  其中c為常數。為了滿足歸一化要求,當x=1時,y=1,代入式(3.3)可得</p><p><b>  故所得結果為</b></p>

23、;<p><b>  即</b></p><p>  如果壓縮特性滿足上式,就可獲得理想的壓縮效果,其量化信噪比和信號幅度無關。滿足上式的曲線如下圖所示,由于其沒有通過坐標原點,所以還需要對它作一定的修改。</p><p>  圖2.3 理想壓縮特性曲線</p><p>  A律壓縮特性就是對式(3.4)修改后的函數。在上圖中,通

24、過原點作理想壓縮特性曲線的切線oc,將oc、cd作為實際的壓縮特性。修改以后,必須用兩個不同的方程來描述這段曲線,以切點c為分界點,</p><p><b>  線段oc的方程:</b></p><p>  設切點c的坐標為(x1,y1)斜率為</p><p>  則由式(3.4)可得</p><p>  所以線段oc的

25、方程為</p><p>  所以當x=x1時,y1=1/k時,有</p><p><b>  因此有</b></p><p>  所以,切點坐標為 (exp[-(k-1)],1/k) ,令</p><p><b>  則</b></p><p>  將它代入式(3.5),就可

26、得到以切點c為邊界的段的方程為</p><p>  因cd段的方程,滿足式(3.4),所以由該式可得</p><p>  由以上分析可見,經過修改以后的理想壓縮特性與圖5中所示的曲線近似,而式(3.6)式(3.7)和式(3.4)完全一樣。</p><p>  13折線:實際中,A壓縮律通常采用13折線來近似,13折線法如圖7-4-7所示,圖中先把軸的[0,1]區(qū)間分

27、為8個不均勻段。</p><p><b>  圖2.4折線示意圖</b></p><p>  其具體分法如下:a.將區(qū)間[0,1]一分為二,其中點為1/2,取區(qū)間[1/2,1]作為第八段;b.將剩下的區(qū)間[0,1/2]再一分為二,其中點為1/4,取區(qū)間[1/4,1/2]作為第七段;c.將剩下的區(qū)間[0,1/4]再一分為二,其中點為1/8,取區(qū)間[1/8,1/4]

28、作為第六段;d.將剩下的區(qū)間[0,1/8]再一分為二,其中點為1/16,取區(qū)間[1/16,1/8]作為第五段;e.將剩下的區(qū)間[0,1/16]再一分為二,其中點為1/32,取區(qū)間[1/32,1/16]作為第四段; f.將剩下的區(qū)間[0,1/32]再一分為二,其中點為1/64,取區(qū)間[1/64,1/32]作為第三段;g.將剩下的區(qū)間[0,1/64]再一分為二,其中點為1/128,取區(qū)間[1/128,1/64]作為第二段;h.最后剩

29、下的區(qū)間[0,1/128]作為第一段。</p><p>  然后將y軸的[0,1]區(qū)間均勻地分成八段,從第一段到第八段分別為[0,1/8],(1/8,2/8],(2/8,3/8],(3/8,4/8],(4/8,5/8],(5/8,6/8],(6/8,7/8],(7/8,1]。分別與x軸的八段一一對應。采用上述的方法就可以作出由八段直線構成的一條折線,該折線和A壓縮律近似,圖3.6中的八段線段的斜率分別為:<

30、/p><p><b>  表1 各段落的斜率</b></p><p>  從上表中可以看出,除一、二段外,其他各段折線的斜率都不相同。圖7-4-8中只畫出了第一象限的壓縮特性,第三象限的壓縮特性的形狀與第一象限的壓縮特性的形狀相同,且它們以原點為奇對稱,所以負方向也有八段直線,總共有16個線段。但由于正向一、二兩段和負向一、二兩段的斜率相同,所以這四段實際上為一條直線,因

31、此,正、負雙向的折線總共由13條直線段構成,這就是13折線的由來?! 腁律壓縮特性中可以看出,取A=87.6主要基于下述兩個原因: </p><p>  1 使壓縮特性曲線在原點附近的斜率為16;</p><p>  2 當用13折線逼近時,的八段量化分界點近似為1/2^n(n=0,1,2,…,7)。</p><p>  從表1可以看出,當要求滿足x=1/2^n

32、時,相應有y=1-n/8代入式中,有</p><p><b>  因此有</b></p><p>  將上式代入式(7.4-16),就可以得到對應A=94.4時的壓縮特性</p><p>  此壓縮特性如果用13折線逼近,除了第一段落起始點外,其余各段落的分界點的x、y都應滿足式(3.8)。在13折線中,第一段落起始點要求的x、y都應該為零,而

33、若按照式(3.8)計算時,當x=0時,y→-∞;而當y=0,x=1/2^8。因此,需要對式(3.8)的壓縮特性曲線作適當的修正,我們可以在原點和點(1/2^7,1/8)之間用一段直線代替原來的曲線,這段直線的斜率是1/8÷1/2^7=16。</p><p>  為了找到一個能夠表示修正后的整個壓縮特性曲線的方程,將式(3.8)變成</p><p>  從上式中可以看出,它滿足x=

34、0時,y=0;x=1時,y=1。雖然式(3.9)在其他點上會有誤差,但x在區(qū)間(1/128,1]內,1+255x都能和原來的256x比較接近。所以,在絕大部分范圍內的壓縮特性仍和A律壓縮特性非常接近,只有在x→0的小信號部分和A律壓縮特性有些差別。</p><p>  若在式(3.9)中,令μ=255,則式(3.9)可寫成</p><p>  式(3.10)的壓縮特性與μ律壓縮特性完全一致

35、。</p><p> ?。?)按照量化的維數分,量化分為標量量化和矢量量化。標量量化是一維的量化,一個幅度對應一個量化結果。而矢量量化是二維甚至多維的量化,兩個或兩個以上的幅度決定一個量化結果。</p><p>  以二維情況為例,兩個幅度決定了平面上的一點。而這個平面事先按照概率已經劃分為N個小區(qū)域,每個區(qū)域對應著一個輸出結果(碼數,codebook)。由輸入確定的那一點落在了哪個區(qū)域內

36、,矢量量化器就會輸出那個區(qū)域對應的碼字(codeword)。矢量量化的好處是引入了多個決定輸出的因素,并且使用了概率的方法,一般會比標量量化效率更高。</p><p>  3. 基帶傳輸HDB3碼</p><p>  HDB3碼(三階高密度雙極性碼,three step high density bipolar codes)是AMI碼的改進型,HDB3中“3階”的含義是,限制連0數不超過3

37、位。為減少連0數,有的做法采取“擾碼”,按一定規(guī)則將多個連0分散,盡量使碼序列隨機化。有效的辦法是采用HDBn(n=1, 2, 3),一般多使用n=3,它克服了AMI碼長連0串現象,并具有以下特點: 基帶信號無直流成分,且只有很少的低頻成分;連0串符號最多只有3個,利于定時信息的提取;不受信源統(tǒng)計特性的影響。首先將消息代碼變換成AMI碼;然后檢查AMI碼中的連0情況,當無4個或4個以上的連0串時,則保持AMI的形式不變;若出現4個或4個

38、以上連0串時,則將1后的第4個0變?yōu)榕c前一非0符號(+1或-1)同極性的符號,用V表示(+1記為+V,-1記為-V);最后檢查相鄰V符號間的非0符號的個數是否為偶數,若為偶數,則再將當前的V符號的前一非0符號后的第1個0變?yōu)?B或-B符號,且B的極性與前一非0符號的極性相反,并使后面的非0符號從V符號開始再交替變化。</p><p>  舉例如表2-1所示。</p><p>  表2-1

39、HDB3碼的編碼舉例</p><p>  表2-1的HDB3編碼舉例用波形表示如圖2-2所示。圖中,(a)表示單極性非歸零碼,(b)和(c)表示HDB3碼。</p><p>  4.信道傳輸碼漢明碼</p><p>  線性分組碼是一類重要的糾錯碼,應用很廣泛。在(n,k)分組碼中,若</p><p>  督元是按線性關系相加而得到的,則稱其

40、為線性分組碼。</p><p>  現在以(7,4)分組碼為例來說明線性分組碼的特點。設其碼字為A=[a6,a5,a4,a3,a2,a1,a0],其中前4位是信息元,后3位是監(jiān)督元,可用下列線性方程組來描述該分組碼,產生監(jiān)督元: </p><p>  a2 = a6 + a5 + a4</p><p>  a1 = a6 + a5 + a3

41、 (2.3 .1)</p><p>  a0 = a6 + a4 + a3</p><p>  顯然,這3個方程是線性無關的。經計算可得(7,4)碼的全部碼字,如表2-2所示。</p><p>  表2-2 (7,4)碼的全部碼字</p><p>  不難看出,上述(7,4)碼的最小碼距

42、d0=3,它能糾1個錯或檢2個錯。漢明碼是能夠糾正單個錯誤的線性分組碼,其特點是:最小碼距d0=3,碼長n與監(jiān)督位滿足n=2r-1的關系,上述的(7,4)線性分組碼就是一個漢明碼。</p><p>  5.PSK調制解調原理</p><p>  數字信號的傳輸方式分為基帶傳輸和帶通傳輸,在實際應用中,大多數信道具有帶通特性而不能直接傳輸基帶信號。為了使數字信號在帶通信道中傳輸,必須使用數字

43、基帶信號對載波進行調制,以使信號與信道的特性相匹配。這種用數字基帶信號控制載波,把數字基帶信號變換為數字帶通信號的過程稱為數字調制。</p><p>  數字調制技術的兩種方法:①利用模擬調制的方法去實現數字式調制,即把數字調制看成是模擬調制的一個特例,把數字基帶信號當做模擬信號的特殊情況處理;②利用數字信號的離散取值特點通過開關鍵控載波,從而實現數字調制。這種方法通常稱為鍵控法,比如對載波的相位進行鍵控,便可獲

44、得相移鍵控(PSK)基本的調制方式。其基本波形如圖1.2-5所示 </p><p>  圖1.2-5 PSK基本波形</p><p><b> ?。?)調制原理</b></p><p>  數字調相:如果兩個頻率相同的載波同時開始振蕩,這兩個頻率同時達到正最大值,同時達到零值,同時達到負最大值,它們應處于"同相"狀態(tài);如

45、果其中一個開始得遲了一點,就可能不相同了。如果一個達到正最大值時,另一個達到負最大值,則稱為"反相"。一般把信號振蕩一次(一周)作為360度。如果一個波比另一個波相差半個周期,我們說兩個波的相位差180度,也就是反相。當傳輸數字信號時,"1"碼控制發(fā)0度相位,"0"碼控制發(fā)180度相位。相移鍵控是利用載波的相位變化來傳遞數字信息,而振幅和頻率保持不變。在2PSK中,通常用初始相

46、位0和π分別表示二進制“1”和“0”。因此,2PSK信號的時域表達式為</p><p>  (t)=Acos t+ ) (22)</p><p>  其中, \* MERGEFORMAT 表示第n個符號的絕對相位:</p><p>  = </p><p> 

47、 因此,上式可以改寫為</p><p><b> ?。?3)</b></p><p>  圖1.2-6 PSK調制波形</p><p><b> ?。?)解調原理</b></p><p>  2PSK信號的解調方法是相干解調法。由于PSK信號本身就是利用相位傳遞信息的,所以在接收端必須利用信號的相位

48、信息來解調信號。下圖1.2-8中給出了一種2PSK信號相干接收設備的原理框圖。圖中經過帶通濾波的信號在相乘器中與本地載波相乘,然后用低通濾波器濾除高頻分量,在進行抽樣判決。判決器是按極性來判決的。即正抽樣值判為1,負抽樣值判為0.</p><p>  2PSK信號相干解調各點時間波形如圖 1.2-7所示. 當恢復的相干載波產生180°倒相時,解調出的數字基帶信號將與發(fā)送的數字基帶信號正好是相反,解調器輸

49、出數字基帶信號全部出錯.</p><p>  圖 1.2-7 2PSK信號相干解調各點時間波形 這種現象通常稱為"倒π"現象.由于在2PSK信號的載波恢復過程中存在著180°的相位模糊,所以2PSK信號的相干解調存在隨機的"倒π"現象。</p><p><b> ?。?)系統(tǒng)結構圖</b></p>

50、;<p>  圖1.2-8-a 2PSK信號的調制原理框圖</p><p>  圖1.2-8-b 2PSK信號的調制原理框圖</p><p>  說明:2PSK調制器可以采用相乘器,也可以采用相位選擇器就模擬調制法而言,與產生2ASK信號的方法比較,只是對s(t)要求不同,因此2PSK信號可以看作是雙極性基帶信號作用下的DSB調幅信號。而就鍵控法來說,用數字基帶信號s(t)控

51、制開關電路,選擇不同相位的載波輸出,這時s(t)為單極性NRZ或雙極性NRZ脈沖序列信號均可。 </p><p>  2PSK信號屬于DSB信號,它的解調,不再能采用包絡檢測的方法,只能進行相干解調。</p><p>  6. AWGN(加性高斯白噪聲)</p><p>  加性高斯白噪聲(AWGN)從統(tǒng)計上而言是隨機無線噪聲,其特點是其通信信道上的信號分布在很寬的

52、頻帶范圍內。高斯白噪聲的概念."白"指功率譜恒定;高斯指幅度取各種值時的概率p (x)是高斯函數。 加性高斯白噪聲在通信領域中指的是一種各頻譜分量服從均勻分布(即白噪聲),且幅度服從高斯分布的噪聲信號。因其可加性、幅度服從高斯分布且為白噪聲的一種而得名。 該噪聲信號為一種便于分析的理想噪聲信號,實際的噪聲信號往往只在某一頻段內可以用高斯白噪聲的特性來進行近似處理。由于AWGN信號易于分析、近似,因此在

53、信號處理領域,對信號處理系統(tǒng)(如濾波器、低噪音高頻放大器、無線信號傳輸等)的噪聲性能的簡單分析(如:信噪比分析)中,一般可假設系統(tǒng)所產生的噪音或受到的噪音信號干擾在某頻段或限制條件之下是高斯白噪聲。</p><p><b>  7.仿真結果</b></p><p>  圖7.1原始信號、抽樣信號、恢復信號</p><p>  圖7.3HDB3編

54、碼解碼</p><p>  圖7.4漢明編碼解碼</p><p>  圖7.5 PSK調制</p><p><b>  圖7.6頻譜</b></p><p>  圖7.7 PSK調制信號頻譜圖</p><p><b>  8.心得體會</b></p><p

55、>  通過此次的課程設計,感觸頗深,因為讓我認識到了MATLAB的強大功能,同時也對通信系統(tǒng)方面的知識尤其是的信號處理的認識有了進一步的加深。</p><p>  本次課程設計涉及到一個完整的通信系統(tǒng),這在以前是沒有過的,在以往的課程設計都只是對局部系統(tǒng)或某種調制解調、編碼解碼方式,所以在此次課程設計中我遇到了前所未有的難題。在此我非常感謝曾經教育過我們的老師,是他們在平時教學中幫助我培養(yǎng)了良好的學習習慣和

56、查閱新知識,快速理解運用新知識的能力。經過一段時間的查閱和向老師的請教,我弄清楚了此時課程設計所需的全部原理知識。</p><p>  在編程的過程中,我也遇到了很多困難,所幸的是圖書館有相關書籍,網絡上有學長學姐們做過的仿真作為參考,有老師和同學們幫助我,于是我一步步實現了各個子系統(tǒng)的相關編程,并且在最后得以綜合整理,完成了此次的仿真任務。</p><p>  但是不得不說,此時課程設計

57、由于時間和我的知識儲備的問題,仍然有一些不完備的地方:首先,在增量調制解調中,出現了斜率過載問題,使得在恢復信號的時候出現了過載失真。其次,在PSK調制解調過程中運用MATLAB自帶的函數進行實現,效果不是很理想。最后將恢復信號和原始信號在一幅圖中進行了定性的比較,但是沒有通過編程實現定量分析失真度。</p><p>  因此如果給我更多的時間,我將作出以下改進:1、采用自適應增量調制解調,避免過載失真。2、尋求

58、更合理的調制解調方案,優(yōu)化仿真波形。3、通過編程計算失真度。</p><p>  盡管此時課程設計仍然有很多不足,但是我在這個過程中加深了對各方面理論知識的了解,對我以后的學習工作產生了一定影響,十分感謝此次課程設計。 </p><p><b>  9.參考文獻</b></p><p>  【1】劉泉編.通信電子線路.武漢理工出版社.20

59、07年</p><p>  【2】陳懷琛等編.MATLAB及在電子信息課程中的應用.電子工業(yè)出版社.2007年</p><p>  【3】樊昌信等編.通信原理.國防工業(yè)出版社.2007年</p><p>  【4】數字信號處理的MATLAB實現.科學出版社.2007年</p><p>  【5】THEX-1型實驗平臺實驗指導書</p&g

60、t;<p><b>  附錄</b></p><p><b>  主函數</b></p><p><b>  clear </b></p><p><b>  clc</b></p><p><b>  T=0.001;</b

61、></p><p>  t=-0.01:T:0.01;</p><p><b>  fs=1000;</b></p><p><b>  sdt=1/fs;</b></p><p>  t1=-0.01:sdt:0.01;</p><p>  xt=cos(2*pi*3

62、0*t)+sin(2*pi*120*t);</p><p>  st=cos(2*pi*30*t1)+sin(2*pi*120*t1);</p><p><b>  figure </b></p><p>  subplot(3,1,1)</p><p>  plot(t,xt)</p><p>

63、  title('原始信號');</p><p><b>  grid on</b></p><p>  subplot(3,1,2)</p><p>  stem(t1,st,'.')</p><p>  title('抽樣信號')</p><p>

64、;<b>  grid on</b></p><p><b>  %PCM量化編碼</b></p><p>  n=length(st);</p><p><b>  M=max(st)</b></p><p>  A=(st/M)*2048;</p><p

65、>  code=zeros(n,8);</p><p><b>  for i=1:n</b></p><p>  if A(i)>=0</p><p>  code(i,1)=1;</p><p><b>  else</b></p><p>  code(i,

66、1)=0;</p><p><b>  end</b></p><p>  if abs(A(i))>=0&&abs(A(i))<16</p><p>  code(i,2)=0;code(i,3)=0;code(i,4)=0;step=1;start=0;</p><p>  elseif

67、abs(A(i))>=16&&abs(A(i))<32</p><p>  code(i,2)=0;code(i,3)=0;code(i,4)=1;step=1;start=16;</p><p>  elseif abs(A(i))>=32&&abs(A(i))<64</p><p>  code(i,2)=

68、0;code(i,3)=1;code(i,4)=0;step=2;start=32;</p><p>  elseif abs(A(i))>=64&&abs(A(i))<128</p><p>  code(i,2)=0;code(i,3)=1;code(i,4)=1;step=3;start=64; </p><p>  elseif

69、abs(A(i))>=128&&abs(A(i))<256</p><p>  code(i,2)=1;code(i,3)=0;code(i,4)=0;step=4;start=128; </p><p>  elseif abs(A(i))>=256&&abs(A(i))<512</p><p>  cod

70、e(i,2)=1;code(i,3)=0;code(i,4)=1;step=5;start=256; </p><p>  elseif abs(A(i))>=512&&abs(A(i))<1024</p><p>  code(i,2)=1;code(i,3)=1;code(i,4)=0;step=6;start=512; </p><p&

71、gt;  elseif abs(A(i))>=1024&&abs(A(i))<=2048</p><p>  code(i,2)=1;code(i,3)=1;code(i,4)=1;step=7;start=1024; </p><p><b>  end</b></p><p>  B=floor((abs(A(i

72、))-start)/step);</p><p>  t=dec2bin(B,4)-48;</p><p>  code(i,5:8)=t(1:4);</p><p><b>  end</b></p><p>  code=reshape(code',1,8*n);</p><p>&l

73、t;b>  %ami編碼</b></p><p><b>  ami=code;</b></p><p><b>  num=0;</b></p><p>  for k=1:length(ami)</p><p>  if ami(k)==1</p><p&g

74、t;  num=num+1;</p><p>  if num/2==fix(num/2)</p><p>  ami(k)=-1;</p><p><b>  else</b></p><p>  ami(k)=+1;</p><p><b>  end</b></p

75、><p><b>  end</b></p><p><b>  end</b></p><p><b>  %HDB3編碼</b></p><p><b>  num=0;</b></p><p><b>  hd=ami;

76、</b></p><p><b>  sign=0;</b></p><p>  V=zeros(1,length(ami));</p><p>  B=zeros(1,length(ami));</p><p>  for k=1:length(ami)</p><p>  if a

77、mi(k)==0</p><p>  num=num+1;</p><p>  if num==4;</p><p><b>  num=0;</b></p><p>  hd(k)=1*hd(k-4);</p><p>  V(k)=hd(k);</p><p>  if

78、 hd(k)==sign</p><p>  hd(k)=-1*hd(k);</p><p>  hd(k-3)=hd(k);</p><p>  B(k-3)=hd(k);</p><p>  V(k)=hd(k);</p><p>  hd(k+1:length(ami))=-1*hd(k+1:length(ami

79、));</p><p><b>  end</b></p><p>  sign=hd(k);</p><p><b>  end</b></p><p><b>  else</b></p><p><b>  num=0;</b>

80、;</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  %輸出編碼結果</b></p><p><b>  hd </b></p><p><b>  %

81、HDB3譯碼</b></p><p><b>  input=hd;</b></p><p>  recode=input;</p><p><b>  sign=0;</b></p><p>  for k=1:length(hd)</p><p>  if i

82、nput(k)~=0;</p><p>  if sign==hd(k)</p><p>  recode(k-3:k)=[0 0 0 0];</p><p><b>  end</b></p><p>  sign=input(k);</p><p><b>  end</b&g

83、t;</p><p><b>  end</b></p><p>  recode=abs(recode);</p><p><b>  %輸出譯碼結果</b></p><p>  encode=recode</p><p><b>  %PCM譯碼</b&g

84、t;</p><p>  encode=(reshape(encode',8,length(encode)/8))';</p><p>  l=size(encode,1);</p><p>  a=[0,16,32,64,128,256,512,1024];</p><p>  b=[1 1 2 4 8 16 32 64];

85、</p><p>  c=[0 1.5:15.5];</p><p><b>  for i=1:l</b></p><p>  x=encode(i,1);</p><p>  T=bin2dec(num2str(encode(i,(2:4))))+1;</p><p>  Y=bin2dec(

86、num2str(encode(i,(5:8))));</p><p><b>  if Y==0;</b></p><p>  k(i)=a(T)/2048*1.782;</p><p><b>  else</b></p><p>  k(i)=(a(T)+b(T)*c(Y))/2048*1.78

87、2;</p><p><b>  end</b></p><p><b>  if x==0</b></p><p>  s(i)=-k(i);</p><p><b>  else</b></p><p>  s(i)=k(i);</p>

88、<p><b>  end</b></p><p><b>  end</b></p><p><b>  figure</b></p><p>  plot(t1,s)</p><p><b>  grid on</b></p>

89、<p><b>  %PSK編碼</b></p><p>  function p=psk(g)</p><p><b>  cp=[];</b></p><p><b>  mod1=[];</b></p><p><b>  f=2*2*pi;<

90、/b></p><p>  t=0:2*pi/99:2*pi;</p><p>  for n=1:length(g)</p><p>  if g(n)==0</p><p>  A=zeros(1,100);</p><p>  elseif g(n)==1</p><p>  A=o

91、nes(1,100);</p><p>  elseif g(n)==-1</p><p>  A=-1.*ones(1,100);</p><p><b>  end</b></p><p>  cp=[cp A];</p><p>  c=cos(f*t);</p><p&

92、gt;  mod1=[mod1 c];</p><p><b>  end</b></p><p><b>  figure(3)</b></p><p>  subplot(2,1,1)</p><p><b>  plot(cp);</b></p><p

93、><b>  grid on</b></p><p>  axis([0 100*length(g) -2 2]);</p><p>  title('二進制信號序列')</p><p><b>  cm=[];</b></p><p><b>  mod=[];&l

94、t;/b></p><p>  for n=1:length(g)</p><p>  if g(n)==0</p><p>  B=ones(1,100);</p><p>  c=cos(f*t+pi/2);</p><p>  elseif g(n)==1</p><p>  B=o

95、nes(1,100);</p><p>  c=cos(f*t+pi);</p><p>  elseif g(n)==-1</p><p>  B=ones(1,100);</p><p>  c=cos(f*t) </p><p><b>  end</b></p><

96、p>  cm=[cm B];</p><p>  mod=[mod c];</p><p><b>  end</b></p><p>  p=cm.*mod;</p><p>  subplot(2,1,2)</p><p><b>  plot(p)</b><

97、/p><p><b>  grid on</b></p><p>  axis([0 2000 -2 2])</p><p>  title('psk調制信號')</p><p><b>  figure(4)</b></p><p>  subplot(2,1,

98、1)</p><p>  plot(abs(fft(cp)))</p><p>  axis([0 100*length(g) 0 400]);</p><p>  title('原信號頻譜')</p><p>  subplot(2,1,1)</p><p>  plot(abs(fft(p)))&l

99、t;/p><p>  axis([0 100*length(g) 0 400]);</p><p>  title('調制序列頻譜')</p><p><b>  %PSK解調</b></p><p>  function jt1=depsk(psk1,g)</p><p><b

100、>  mod1=[];</b></p><p><b>  f=2*2*pi;</b></p><p>  t=0:2*pi/99:2*pi;</p><p>  c=cos(f*t);</p><p>  for n=1:length(g)</p><p>  mod1=[mo

101、d1 c];</p><p><b>  end</b></p><p>  jiet=2*mod1.*psk1;</p><p><b>  figure(6)</b></p><p>  plot(jiet);</p><p><b>  grid on<

102、/b></p><p>  title('再次乘以載波后信號波形')</p><p>  fp=500;fs=700;rp=3;rs=20;fn=11025;%低通濾波器</p><p>  ws=fs/(fn/2);</p><p>  wp=fp/(fn/2);</p><p>  [n,wn

103、]=buttord(wp,ws,rp,rs);</p><p>  [b,a]=butter(n,wn);</p><p>  jt=filter(b,a,jiet);</p><p>  figure(7);</p><p>  subplot(2,1,1)</p><p><b>  plot(jt)&l

104、t;/b></p><p><b>  grid on</b></p><p>  axis([0 100*length(g) -2 2]);</p><p>  title('經過低通濾波器的信號波形')</p><p>  for m=1:100*length(g)</p><

105、;p>  if jt(m)<-0.2</p><p><b>  jt(m)=1;</b></p><p>  elseif -0.2<=jt(m)<=0.2;</p><p><b>  jt(m)=0;</b></p><p>  elseif jt(m)>0.2

106、</p><p><b>  jt(m)=-1;</b></p><p><b>  end</b></p><p><b>  end</b></p><p>  subplot(2,1,2)</p><p><b>  plot(jt)&l

107、t;/b></p><p>  axis([0 100*length(g) -2 2]);</p><p>  title('經過抽樣判決后的信號')</p><p>  jt1=zeros(1,294);</p><p>  for i=1:length(g)</p><p>  if (jt(

108、(i-1)*100+50))<=-0.1</p><p>  jt1(i)=-1;</p><p>  elseif -0.1<(jt((i-1)*100+50))<0.1</p><p><b>  jt1(i)=0;</b></p><p>  elseif (jt((i-1)*100+50))&

溫馨提示

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

評論

0/150

提交評論