通信系統(tǒng)MATLAB仿真解析_第1頁
通信系統(tǒng)MATLAB仿真解析_第2頁
通信系統(tǒng)MATLAB仿真解析_第3頁
通信系統(tǒng)MATLAB仿真解析_第4頁
通信系統(tǒng)MATLAB仿真解析_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、武漢理工大學通信系統(tǒng)課群綜合訓練與設(shè)計報告課程設(shè)計任務書學生姓名:鄭丁華專業(yè)班級:通信0906班指導教師:蘇 杭工作單位:武漢理工大學信息學院題目:通信系統(tǒng)課群綜合訓練與設(shè)計初始條件: MATLAB軟件,電腦,通信原理知識要求完成的主要任務:1、利用仿真軟件(如Matlab或SystemView),或硬件實驗系統(tǒng)平臺上設(shè)計完成一個典型的通信系統(tǒng)2、學生要完成整個系統(tǒng)各環(huán)節(jié)以及整個系統(tǒng)的仿真,最終在接收端或者精確 或者近似地再現(xiàn)輸入(信源),計算失真度,并且分析原因。時間安排:序號設(shè)計 內(nèi) 容所用時間1根據(jù)設(shè)計任務,分析電路原理,確定實驗方案2天2根據(jù)實驗條件進行電路的測試,并對結(jié)果進行 分析7

2、天3撰寫課程設(shè)計報告1天合計2周2指導教師簽名:系主任(或責任教師)簽名:2013 年1月14日2013年1月14日武漢理工大學通信系統(tǒng)課群綜合訓練與設(shè)計報告目錄摘要1Abstract 21. 通信系統(tǒng)整體概述32. 各部分原理簡述42.1. 脈沖編碼調(diào)制(PCM原理 42.2. HDB3 碼原理82.3. 循環(huán)碼編碼原理92.3.1 . RS循環(huán)碼編譯碼原理與特點 92.3.2. 編碼原理: 102.3.3. 譯碼原理:112.4. PSK調(diào)制與解調(diào)原理132.4.1. psk 調(diào)制原理 132.4.2. psk 解調(diào)原理 143. 各部分程序的 MATLAB仿真163.1. PCM編譯碼的

3、 MATLAB仿真163.2. HDB3 碼的 MATLAB序仿真183.3. 循環(huán)碼編譯碼的 MATLA取現(xiàn)203.4. PSK調(diào)制與編碼的 MATLAB仿真224. 整體通信過程的 MATLAB仿真 245. 結(jié)果分析356. 小結(jié)體會367. 參考文獻37III武漢理工大學通信系統(tǒng)課群綜合訓練與設(shè)計報告摘要本文是基于PCM&碼的PSK信號的MATLA仿真。本文先分析了 PSK系統(tǒng)的 基本調(diào)制解調(diào)方法,用PCM編碼將模擬信號轉(zhuǎn)換為離散的數(shù)字信號, 在基帶中采 用HDB3碼編碼,信道預編碼采用循環(huán)碼,在衰落信道中采用PSK調(diào)制技術(shù),然后用MATLA來仿真通信系統(tǒng)的整個過程。通過仿真,

4、觀察了調(diào)制解調(diào)過程中各 個環(huán)節(jié)時域和頻域的波形,并結(jié)合調(diào)制原理,跟蹤分析比較了各種調(diào)制方法的性 能,并通過比較仿真與理論計算的性能, 證明了仿真的可靠性。通過這次的課程 設(shè)計讓我們加深了對課本知識的深入理解,而且也讓我們更加熟練地運用MATLA仿真軟件。關(guān)鍵詞:PCk編碼,HDB3循環(huán)碼,PSK MATLAB15AbstractAs we all known ,PSK modulation is the most important part in modern com muni cati on system.Also,the tech no logy of improvi ng PSKmod

5、ulatio n is the most essensial approach to improve the function of modern com muni cati on system.This paper is based on the PCMsod ing, HDB3cod ing. Cyclic coding and MATLAB to ahieve PSK .In this paper ,the method of PSK modulation are introduced firstly , and PCMboding is used to transfer the ana

6、log signal to digitalsignal.Then the M-document in MATLABs used tosimulate.Through observ ing the results of simulatio n,the factors that affect the capability of the PSK and DPSK modulatio n system and the reliability of the simulation models are analyzed.By this curriculum desig n ,we not only mak

7、e a comprehe nsive un dersta nding of the kno wledge in the books,but also being skilled in using the MATLABsimulation software.Key words :PCM codi ng,HDB3 codi ng,Cycle codi ng,PSK,MATLAB1. 通信系統(tǒng)整體概述通信系統(tǒng)通常由信源、信道和信宿構(gòu)成,其中包括模擬信號的數(shù)字化,基帶 信號的編碼與解碼,信道編碼與解碼,數(shù)字信號的調(diào)制與解調(diào)。一個典型的通信系統(tǒng)如圖1.1所示:數(shù)字信源圖1.1數(shù)字通信系統(tǒng)模型本課設(shè)要求用

8、MATLA設(shè)計一簡單的通信系統(tǒng),要求采用 PCM編譯碼,基帶 信號用HDB3碼,信道編譯碼采用循環(huán)碼,調(diào)制方式為 PSK信道為衰落信道。2. 各部分原理簡述2.1. 脈沖編碼調(diào)制(PCM原理脈沖編碼調(diào)制就是把一個時間連續(xù), 取值連續(xù)的模擬信號進行取樣,變換成 時間離散的信號后,在進行量化、編碼,變換成時間離散、取值離散的數(shù)字信號 的過程。脈沖編碼調(diào)制包括抽樣、量化、編碼三個過程。(1)抽樣模擬信號通常是在時間上連續(xù)的信號,一在系列離散的點上,對這種信號 抽取樣值稱為抽樣。在理論上,抽樣過程可以看作是用周期性單位沖激脈沖和此 模擬信號相乘。抽樣結(jié)果得到的是一系列周期性的沖激脈沖,其面積和模擬信號

9、 的取值成正比。由抽樣定理,只要抽樣脈沖的頻率大于或等于信號最高頻率的2倍時,信號就能被恢復出來。所謂抽樣就是對信號進行周期性的掃描,把時間上連續(xù)的信號變?yōu)闀r間上離 散的信號。抽樣前后的信號波形圖如圖2.1所示:匚_/V/ WII1III圖2.1抽樣前后的信號波形圖但由于實際的電路不可能產(chǎn)生理想的沖激脈沖,故抽樣的結(jié)果是平頂脈沖, 如圖2.2所示。門仃1口U圖2.2抽樣示意圖所謂量化就是把抽樣得到的瞬時值將其幅度離散,即用一組規(guī)定的電平,把瞬時抽樣值用最接近的電平值表示。量化分為均勻量化和非均勻量化。 均勻量化時,量化間隔是確定的,量化器 的平均輸出信號量噪比隨量化電平數(shù) M的增大而提高,故這

10、種均勻量化器對于 小輸入信號很不利。在非均勻量化時,量化間隔是隨信號抽樣值的不同而變化的。 信號抽樣值小時,量化間隔也小,信號抽樣值大時,量化間隔也變大。故在實際 應用中常采用非均勻量化。設(shè)模擬信號的抽樣值為m(KT),其中T是抽樣周期,k為整數(shù)。此抽樣值仍 然是一個取值連續(xù)的變量。若僅用 N個二進制數(shù)字碼元來代表此抽樣值的大小, 則N個二進制碼元只能代表 M= 2N個不同的抽樣值。這樣,共有M個離散電平, 它們稱為量化電平。用這 M個量化電平表示連續(xù)抽樣值的方法稱為量化。在原 理上,量化過程可以認為是在一個量化器中完成的。在實際中,量化過程常是和后續(xù)的編碼過程結(jié)合在一起完成的,不一定存在量化

11、器。非均勻量化的實現(xiàn)方法通常是在進行量化之前,先將信號抽樣值壓縮再進行 均勻量化。通常使用的壓縮器中,大多采用對數(shù)式壓縮。廣泛采用的兩種對數(shù)壓 縮律是壓縮律和A壓縮律。(3)編碼所謂編碼就是用一組二進制碼組來表示每一個固定電平的量化值。然而,實際上量化是在編碼過程中完成的,故編碼過程也稱為模數(shù)變換(A/D )。最常用的編碼是用二進制的符號,例如“ 0”和“T,表示此離散數(shù)值。在 用電路實現(xiàn)時,最常用的是一種方案稱為逐次比較法編碼,其基本原理方框圖如圖2.3所示。此圖示出的是一個3位編碼器。編碼器的輸入信號抽樣脈沖值在 0 和7.5之間。它將輸入的信號模擬抽樣脈沖編成 3位二進制編碼c1c2c3

12、.ls>lw,ci =1Isls<lw,ci=0輸入脈沖 抽樣信號圖2.3編碼電路如圖2.3所示,輸入信號抽樣脈沖電流Is由保持電路短時間保持,并各幾個 稱為權(quán)值電流的標準電流lw逐次比較。每比較一次,得出1位二進制碼。權(quán)值 電流lw是在電路中預先產(chǎn)生的。lw的個數(shù)決定于編碼的位數(shù),現(xiàn)在共有三個不 同的lw值。因為表示量化值的二進制碼有 3位,即c1c2c3。它們能夠表示8個 十進制數(shù),從0到7,如表2.1所列。量化值c1c2c30000100120103011量化值c1c2c34100510161107111表2.1編碼表在15折線法中采用的折疊碼有9位。其中第一位c1表示量化值

13、的極性正 負。后面的8位分為段落碼和段內(nèi)碼兩部分,用于表示量化值的絕對值。其中第 2到4位(c2c3c4)是段落碼,共計3位,可以表示8種斜率的段落;其他5位 (c5c9)為段內(nèi)碼,可以表示每一段落內(nèi)的 32種量化電平。段內(nèi)碼代表的 32 個量化電平是均勻劃分的,所以,這 8位共能表示28 = 256種量化值。在進行PCM編碼時,我國大陸、歐洲各國以及國際間互連時采用 A壓縮律 及相應的13折線法,北美、日本和韓國等少數(shù)國家和地區(qū)采用 u壓縮律及15 折線法。A律壓縮先將原信號進行非均勻量化,再進行均勻量化。 對小信號進行 細致編碼,對大信號進行粗略編碼,結(jié)果是小信號的量噪比高,大信號的量噪比

14、 低。PCM碼由極性碼、段落碼、段內(nèi)碼組成。極性碼位于最高位,若抽樣值為正,貝U極性碼為“1”,若抽樣值為負,則極性碼為“0” 。段落碼對應于A律 編碼非均勻量化區(qū)間,其編碼方法見表 2.2。表 2.2段落碼的編碼段落序號段落碼(C2 C 3C 4)量化范圍(量化單位)81111 0 2 4 - 2 0 4 871105 12-10 2 4610 12 5 65 12510 012 82 5 640 116 412 830 103 26 420 0 1163 210 0 0016段內(nèi)碼就是對段落碼的每個區(qū)間在進行均勻量化,若采用自然二進制碼的編碼方式,編碼方法見表2.3。表 2.3段內(nèi)碼的編碼

15、量化間隔段內(nèi)碼(C 5 C 6 C 7C 8)量化間隔段內(nèi)碼(C5 C6C 7 C 8)15111170 11114111060 11013110 150 10 112110 040 10 01110 1130 0 111010 1020 0 10910 0 110 0 0 1810 0 000 0 0 0由此可見,脈沖編碼調(diào)制方式就是一種傳遞模擬信號的數(shù)字通信方式。PCM編碼的框圖如圖2.4所示:模擬信號信號 k抽樣保持-1量化器-*編碼器 CM信號輸出輸入-1沖激脈沖圖2.4 PCM編碼的系統(tǒng)框圖將PCM永沖流解調(diào)為原模擬信號的過程即為 PCM譯碼過程,PCM譯碼過程是 PCMS碼過程的逆

16、過程。其過程為:(1)按照編碼表將二進制的脈沖流還原為對應的十進制數(shù)值。(2)對照量化表將(1)中的十進制的數(shù)值轉(zhuǎn)化為對應的量化電平值。(3)將(2)中得到的平頂脈沖通過一低通濾波器,得到還原的模擬信號2.2. HDB3碼原理HDB3 ( 3nd Order High Density Bipolar)碼的全稱是三階高密度雙極性碼。 它是AMI碼的一種改進型,改進的目的是為了保持AMI碼的優(yōu)點而克服其缺點, 使連零的個數(shù)不超過三個。下面先對 AMI碼作簡要介紹。AMI ( Alternative Mark In version)碼的全稱是傳號交替反轉(zhuǎn)碼,其編碼的規(guī) 則是將消息碼的“ 1 ”(傳號

17、)交替的變化為“ +1”和“ -1”,而“ 0”(空號)保 持不變。AMI碼的優(yōu)點是沒有直流成分,且高低頻分量少,能量集中頻率為1/2的碼速處,其編譯碼電路簡單。但當信源中出現(xiàn)長串的“0”符號時,信號的電平長時間不跳變,造成提取定時信號的困難。解決長串“0”碼問題的有效方法之一是采用HDB3碼。HDB3碼的編碼規(guī)則是:(1)檢查消息碼中“ 0”的個數(shù)。當“ 0”的數(shù)目小于等于3時,HDB3 碼與AMI碼一樣,+1與-1交替。(2)當連“0”數(shù)目超過3時,將每4個連“0”化作一小節(jié),定義為 B00V,稱為破壞節(jié),其中V稱為破壞脈沖,B稱為調(diào)節(jié)脈沖。(3)V與前一個相鄰的非“ 0”脈沖的極性相同(

18、這就破壞了極性交替的規(guī)則),且相鄰的V碼之間的極性必須交替。V的取值為+1或-1。(4)B的取值可選0, +1, -1,以使V同時滿足(3)中要求。(5)V碼后面的傳號極性也要交替。例如:消息碼:1 100000 00011AMI 碼:-1 100000 000-11HDB3碼:-1 1 -B00-V+B00+V -11HDB3碼的編碼雖然比較復雜,但譯碼卻比較簡單。從上述的編碼規(guī)則可以 看出,每一個破壞脈沖V總是與前一個非“ 0”脈沖同極性(包括B在內(nèi))。這就 是說,從收到的符號序列中可以容易的找到破壞點V,于是斷定V符號及其前面的三個符號必須是連“ 0”符號,從而恢復出四個連“ 0”碼,再

19、將所有的-1變 成+1后便得到原消息碼。HDB3碼除了具有AMI碼的優(yōu)點外,同時還將連“ 0”碼限制在三個以內(nèi),使 得接收時能保證定時信息的提取。因此,HDB3碼是目前應用最為廣泛的碼型,A律PCM四次群以下的接口碼型均為 HDB3碼。2.3. 循環(huán)碼編碼原理231 . RS循環(huán)碼編譯碼原理與特點設(shè)C使某(n,k )線性分組碼的碼字集合,如果對任 C =(Cn,CnN,Co) C ,它的循環(huán)移位C=(Cn/,Cn;,Co,Cn)也屬于C, 則稱該(n,k)碼為循環(huán)碼。該碼在結(jié)構(gòu)上有另外的限制,即一個碼字任意循環(huán)移位的結(jié)果仍是一個 有效碼字。其特點是:(1) 可以用反饋移位寄存器很容易實現(xiàn)編碼和

20、伴隨式的計算;(2) 由于循環(huán)碼有很多固有的代數(shù)結(jié)構(gòu),從而可以找到各種簡單使用 的譯碼辦法。如果一個(n,k)線性碼具有以下的屬性,則稱為循環(huán)碼:如果n元 組c二c°,G,,Cn是子空間S的一個碼字,則經(jīng)過循環(huán)移位得到的 c二Cn,C0,,CnJ也同樣是S中的一個碼字;或者,一般來說,經(jīng)過j次循環(huán) 移位后得到的C(j)=Cn_j,Cn_j 1,Cn/,Co,Ci,,Cn_j也是S中的一個碼字。RS碼的編碼系統(tǒng)是建立在比特組基礎(chǔ)上的,即字節(jié),而不是單個的0和1,因此它是非二進制BCH碼,這使得它處理突發(fā)錯誤的能力特別強。碼長:n =2m -1信息段:k二n-2t (t為糾錯符號數(shù))監(jiān)督

21、段:2t = n - k最小碼段:d = 2t 1最小距離為d的本原RS碼的生成多項式為:g(x)=(x- a )(xa 2)(X a 3)(xad) 信息元多項式為:m(x)=m0+m1x+m2x2+mk-1xk-1循環(huán)碼特點有:(1) 循環(huán)碼是線性分組碼的一種,所以它具有線性分組的碼的一般特性,且具有 循環(huán)性,糾錯能力強。(2) 循環(huán)碼是一種無權(quán)碼,循環(huán)碼編排的特點為相鄰的兩個數(shù)碼之間符合卡諾中 的鄰接條件,即相鄰數(shù)碼間只有一位碼元不同,因此它具有一個很好的優(yōu)點是它 滿足鄰接條件,沒有瞬時錯誤(在數(shù)碼變換過程中,在速度上會有快有慢,中間 經(jīng)過其他一些數(shù)碼形式,即為瞬時錯誤)。(3) 碼字的

22、循環(huán)特性,循環(huán)碼中任一許用碼經(jīng)過牡環(huán)移位后,所得到的碼組仍然 是許用碼組。循環(huán)碼中的生產(chǎn)多項式g(x)的次數(shù)為n-k次,且g(x)的最低位不為“ 0”2.32編碼原理:由信息碼構(gòu)成信息多項式m(x)二叫 g,其中最高幕次為k-1;n kn -k用x 乘以信息多項式m(x),得到的x m(x),最高幕次為n-1,該過程相當于 把信息碼(口心,mk, ,m1, m0 )移位到了碼字德前k個信息位,其后 是r個全為零的監(jiān)督位;用g(x)除x m(x)得到余式r(x),其次數(shù)必小于g(x)的次數(shù),即小于(n-k),將此 r(x)加于信息位后做監(jiān)督位,即將r(x)于xm(x)相加,得到的多項式必為一碼多

23、項式。綜上所述,循環(huán)碼的編碼步驟為:(1) 有信息碼構(gòu)成信息多項式m(x)=mk-ixk-1+mo,其中高幕次為k-1。(2) 用xn-k乘上信息多項式m(x),得最高幕次為n-1,做移位。(3) 用 g(x)除 xn-km(x)得到余式 r(x)。(4) 用xn-km(x)加余式r(x)得到循環(huán)碼。編碼過程流程圖如圖2.5所示:廠初叢化確定余代:r( x )111( x xn k J確注(幻:c(x)=m(x)xn"lH-r( x )¥1 r-耳儲存 ”圖2.5循環(huán)碼編碼流程圖233.譯碼原理:由接收到的y(x)計算伴了隨式s(x)。根據(jù)伴隨式s(x)找出對應的估值錯誤圖

24、樣。計算cA(x)=y(x)+eA(x),得估計碼字。若cA(x)= c(x),則譯碼正確,否則錯誤。由于g(x)的次數(shù)為n - k次,g(x)除E(x)后得余式(即伴隨式)的最高次數(shù)為 n-k-1次,故S(x)共有2n-k個可能的表達式,每一個表達式對應一個錯誤格式??梢灾?7,4)循環(huán)碼的S(x)共有2(7-4) = 8個可能的表達式,可根據(jù)錯誤圖樣表 來糾正(7,4)循環(huán)碼中的一位錯誤。BCH (7f 4)循壞碼錯課圖樣表:錯誤圖樣錯誤圈樣碼字弊隨式S(Q伴隨式E6(x)=k61000000x2100E5(x)=i&0100000x2+x110E4(x)=x40010000z2

25、+x+l111E3(x)=x3OOOIOOQz+1oilE2(x)=x20000100z2+lW1El(x)xl0000010X010EO(x)-xO00000011001E(x)=O00000000000解碼過程流程圖如圖2.6示:初始化圖2.6循環(huán)碼解碼流程圖2.4. PSK調(diào)制與解調(diào)原理2.4.1. psk調(diào)制原理2PSK信號用載波相位的變化來表征被傳輸信息的狀態(tài),通常規(guī)定 0相位載 波和n相位載波分別表示傳“1”和傳“ 0”。設(shè)二進制單極性碼為an,其對應的雙極性二進制碼為 bn,則2PSK信號的一般 時域信號可以表示為:S2psk (t)= 'bn g(t- nTs)cos

26、octn式中bn=-1 (當an=0時,概率為P) bn=1 (當an=1時,概率為1-P)則時域信號可以變?yōu)椋篠2psk (t)=-ng(t-nTs)cos ( c£ct+ n)當an=0時S2psk (t)= 'ng(t-nTs)cos ( oct+0)當an=1時由此可知2PSK信號是一種雙邊帶信號,2PSK信號的帶寬為:Bps=(? c+Rs)-(? c-Rs)= 2Rs式中Rs為碼元速率。值得注意的是,2PSK碼兀序列的波形與載頻和碼兀持續(xù)時間之間的關(guān)系有 關(guān)。當一個碼元中包含有整數(shù)個載波周期時, 在相鄰碼元的邊界處波形是不連續(xù) 的,或者說相位是不連續(xù)的。當一個碼元

27、中包含的載波周期數(shù)比整數(shù)個周期多半 個周期時,則相位連續(xù)。當載波的初始相位差90度時,即余弦波改為正弦波時, 結(jié)果類似。以上說明,相鄰碼元的相位是否連續(xù)與相鄰碼元的初始相位是否相同 不可混為一談。只有當一個碼元中包含有整數(shù)個載波周期時,相鄰碼元邊界處的 相位跳變才是由調(diào)制引起的相位變化16。2PSK信號的產(chǎn)生方法主要有兩種。第一種叫相乘法,是用二進制基帶不歸 零矩形脈沖信號與載波相乘,得到相位反相的兩種碼元。第二種方法叫選擇法, 是用此基帶信號控制一個開關(guān)電路, 以選擇輸入信號,開關(guān)電路的輸入信號是相 位相差二的同頻載波。這兩種方法的復雜程度差不多,并且都可以用數(shù)字信號處 理器實現(xiàn)。2PSK信

28、號的調(diào)制原理框圖如圖2.7所示ACOSCO_C ti<a)模擬調(diào)制方法幵關(guān)電路0e_2PSK (t)n> Jiaoj移相<b)鍵控法圖2.7 2PSK信號的調(diào)制原理框圖2.4.2. psk解調(diào)原理2PSK信號的解調(diào)方法是相干解調(diào)法。由于 PSK信號本身就是利用相位傳遞信息的,所以在接收端必須利用信號的相位信息來解調(diào)信號。下圖2-3中給出了一種2PSK信號相干接收設(shè)備的原理框圖。圖中經(jīng)過帶通濾波的信號在相乘器中 與本地載波相乘,然后用低通濾波器濾除高頻分量,在進行抽樣判決。判決器是 按極性來判決的。即正抽樣值判為1,負抽樣值判為0.2PSK信號相干解調(diào)各點時間波形如圖 2.4所

29、示.當恢復的相干載波產(chǎn)生180° 倒相時,解調(diào)出的數(shù)字基帶信號將與發(fā)送的數(shù)字基帶信號正好是相反 ,解調(diào)器輸 出數(shù)字基帶信號全部出錯.1110 0 1 0 0” zVAaA/yaA?”wwvwx;fAAA/ aaJU圖2.8相干解調(diào)各點波形17武漢理工大學通信系統(tǒng)課群綜合訓練與設(shè)計報告這種現(xiàn)象通常稱為"倒n "現(xiàn)象.由于在2PSK信號的載波恢復過程中存在著180°的相位模糊,所以2PSK信號的相干解調(diào)存在隨機的"倒n "現(xiàn)象,從而使得2PSK方式在實際中很少采用.2PSK信號的調(diào)制原理框圖如圖2.9所示:圖2.9 2PSK信號的解調(diào)原理

30、框圖說明:由于PSK信號的功率譜中無載波分量,所以必須采用相干解調(diào)的方式。 在相干解調(diào)中,如何得到同頻同相的本地載波是個關(guān)鍵問題。只有對PSK信號進 行非線性變換,才能產(chǎn)生載波分量。2PSK信號經(jīng)過帶通濾波器得到有用信號, 經(jīng)相乘器與本地載波相乘再經(jīng)過低通濾波器得到低頻信號v(t),再經(jīng)抽樣判決得到基帶信號。353. 各部分程序的MATLA仿真3.1.PCM編譯碼的 MATLA仿真用MATLA進行PCM編碼的程序如下所示: clear;clc;N=8;%編碼位數(shù)為8位dt=1/8;由樣時間間隔en dtime=4;t=O:dt:e ndtime;%寸間范圍設(shè)定由樣for i=1:endtime

31、/dtx(i)=si n(dt*i*pi);enda=-1;b=1; %量化范圍設(shè)定dv=(b-a)/2A7;%量化間隔for i=1:128m(i)=a+i*dv;%量化值endfor i=1:128-1;q(i)=(m(i)+m(i+1)/2;%量化中值endmi nm=mi n( m);%量化for i=1:endtime/dt;for j=1:128-1if (x(i)>=m(j)&&(x(i)<=m(j+1) xq(i)=q(j);xc(i)=j-64+1;elseif x(i)=0xq(i)=0;xc(i)=0;elseif x(i)< minmx

32、q(i)=mi nm;xc(i)=-64+1;endendendstem(xc);grid on;for i=1:endtime/dtif xc(i)<=0%負極性最高位為0xcc(i)=abs(xc(i);elseif xc(i)>0%正極性最高位為1xcc(i)=(xc(i)+128;endendxpcm=dec2bin(xcc,8); %將量化值轉(zhuǎn)化為0, 1代碼 抽樣圖如圖3.1示:圖3.1原信號的抽樣圖樣 程序運行后得到的PCM序列為:>> xpcm xpcm =1001100100011000100110010001100010101110001011011

33、0101110001011011011110000111011101111000011101111000000001111111100000000111111101111000011101110111100001110111010111000101101101011100010110110011001000110001001100100011000100000010000000010000001000000003.2. HDB3碼的MATLAB!序仿真%HDB碼的編譯碼過程%俞入為xpcmfor i=1:32ff(8*(i-1)+1:8*i)=xpcm(i,:);end%各得到的PC碼轉(zhuǎn)換為一

34、維序列AMI=; %定義AM碼k=1;%各PC碼轉(zhuǎn)化為AM碼for i=1:endtime/dt*8if ff(i)=dec2bin因為PC序列是二進制的AMI(i)=(-1)Ak;k=k+1;elseAMI(i)=0;endend%AM碼轉(zhuǎn)換完成%HDB編碼開始%僉測連“0”數(shù)目超過4的碼元序列%定義破壞節(jié)“ B00V,將第四個“ 0”標記為V,用“ 8”表示for i=1:endtime/dt*8-3if (AMI(i)=0)&&(AMI(i+1)=0)&&(AMI(i+2)=0)&&(AMI(i+3)=0) AMI(i+3)=8;enden

35、d%使V碼元的符號與前一個非“ 0”碼元的符號相同for i=1:endtime/dt*8if AMI(i)=8hdb1(i)=AMI(i-4)/abs(AMI(i-4)*8;elsehdb1(i)=AMI(i);endendhdb2=hdb1;hdb3=hdb2;V=;B=;k=1;%記錄每一個V碼元的位置for i=1:endtime/dt*8if (hdb2(i)=8)|(hdb2(i)=-8)V(k)=i;k=k+1;endend%加入B碼元,以使序列滿足HDB碼的要求 for i=2:k-1%相鄰兩個V碼元的極性必須是交替的if hdb3(V(i)*hdb3(V(i-1)>0h

36、db3(V(i)=-hdb3(V(i);%用 B碼兀來調(diào)整破壞節(jié),用“ 5”表示hdb3(V(i)-3)=hdb3(V(i)/abs(hdb3(V(i)*5;elseif (hdb3(V(i)*hdb3(V(i-1)<0)&&( hdb3(V(i)-4)*hdb3(V(i)<0) hdb3(V(i)-3)=hdb3(V(i)/abs(hdb3(V(i)*5;endm=1;while hdb3(V(i)+m)=0&&(V(i)+m)v=255m=m+1;end%將后面的碼元正負翻轉(zhuǎn)if hdb3(V(i)+m)*hdb3(V(i)>0hdb3(V

37、(i)+1:e ndtime/dt*8)=-hdb3(V(i)+1:e ndtime/dt*8);end end%HDB碼譯碼過程k=1;ihdb3=hdb3;for i=1:endtime/dt*8if hdb3(i)=0if hdb3(i)*k>0 ihdb3(i-3:i)=0;else ihdb3(i)=1;endk=hdb3(i);endend仿真的結(jié)果為:(后面只將PCM碼流中紅色標記的部分列了出來)(1)輸入的PCM碼流為:xpcm =10011001000110001001100100011000101011100010110110101110001011011011110

38、00011101110111100001110111100000000111111110000000011111110111100001110111011110000111011101011100010110110101110001011011001100100011000100110010001100010000001000000001000000100000000(2)AMI碼流為:Colu mns 106 through 1290-101-1010 00-110 0 000000 000-1(3)HDB3碼流為:Colu mns 106through 1290-101-1010 00-1

39、1-500-85008 000-1(4)HDB3譯碼碼流為:Colu mns 106 through 1290 1 011010 00110 0 000000 0001由仿真結(jié)果可知,程序成功的將各PCM碼流依次變,化為AMI 碼、HDB3碼,而且將HDB3碼還原為PCM碼流。3.3. 循環(huán)碼編譯碼的MATLA實現(xiàn)msg=1,0,1,0,1,1,1,0,0,0,1,0;n=7;k=4;p=cyclpoly(n,k)%循環(huán)碼生成多項式,n=7, k=4code=encode(msg,n,k, 'cyclic' ,p);%編碼函數(shù),對信號進行差錯編碼recode=decode(co

40、de ,n ,k, 'cyclic' ,p)程序中用到的函數(shù)簡介如下:(1) encode函數(shù)功能:編碼函數(shù)語法:code=encode(msg,N,K,method,opt)說明:用method指定的方法完成糾錯編碼。其中 msg代表信息碼元,是一個 K 列矩陣,N是編碼后的碼字長度;K是信息位的長度;opt是有些編碼方式需要 的參數(shù)。(2) decode函數(shù)功能:譯碼函數(shù)語法: msg=decode(code, N, K,method,opt1,opt2,opt3,opt4);說明:這個函數(shù)對接收到的碼字進行譯碼, 恢復出原始的信息,譯碼參數(shù)和方式 必須和編碼時采用的嚴格相

41、同。它對接收到的碼字,按 method指定的方式進行 譯碼;optl,opt4是可選項的參數(shù)。(3) cyclpoly 函數(shù)功能:生成循環(huán)碼的生成多項式 語法:p=cyclpoly (N,K); p=cyclpoly (N,K,fd_flag );說明:從 p=cyclpoly ( N,K)中可找到一個給定碼長N和信息位長度K生成多項式p,注意不是任意給定一個多項式都可以作為生成多項式。程序運行的結(jié)果為:msg =101011100010p =1011code :=011101010011101100010recode =101011100010由程序的運行結(jié)果可以得到生產(chǎn)多項式為:g(x)

42、=x3 x 1循環(huán)碼的編碼結(jié)果見code中的碼元序列,標記為紅色的碼元為原信息碼元,余下的為監(jiān)督碼元。解碼結(jié)果見 recode中的碼元3.4. PSK調(diào)制與編碼的MATLA仿真clear,close all ,g=1 0 1 1 0 0 0 0;f=3;贓波頻率t=0:2*pi/99:2*pi;%抽樣頻率cp=;sp=;mod=;bit=;for n=1:length(g); if g(n)=0; die=-o nes(1,100); se=zeros(1,100); else g(n)=1; die=o nes(1,100); se=o nes(1,100); end c=si n( f*t

43、); cp=cp die;%由信息源得到的+1,-1方波mod=mod c;%載波bit=bit se;%原信號end psk=cp.*mod;subplot(2,1,1);plot(bit, 'Lin eWidth' ,1.5);grid on; title( 'Bi nary Sig nal');axis(0 100*length(g) -2.5 2.5);subplot(2,1,2);plot(psk, 'Lin eWidth' ,1.5);grid on; title('P SK modulatio n');axis(0

44、100*length(g) -2.5 2.5);仿真結(jié)果如圖3.2示:Bi nary Sig nalPSK modulation圖3.2 PSK調(diào)制仿真波形4. 整體通信過程的MATLA仿真%(* %!信系統(tǒng)過程的MATLA仿真%(* %PC編碼部分%(*' clear;clc;N=8;%S碼位數(shù)為8位dt=1/16; %由樣時間間隔en dtime=4;t=O:dt:e ndtime;%寸間范圍設(shè)定由樣for i=1:endtime/dtx(i)=si n(dt*i*pi);endfigure(1);subplot(211);plot(x);grid on;a=-1;b=1; %量化

45、范圍設(shè)定dv=(b-a)/2A7;%量化間隔for i=1:128m(i)=a+i*dv;%量化值endfor i=1:128-1;q(i)=(m(i)+m(i+1)/2;%量化中值endmi nm=mi n( m);%量化for i=1:endtime/dt;for j=1:128-1if (x(i)>=m(j)&&(x(i)<=m(j+1)xq(i)=q(j);xc(i)=j-64+1;elseif x(i)=0xq(i)=0;xc(i)=0;elseif x(i)< minmxq(i)=mi nm;xc(i)=-64+1;endendend subplo

46、t(212); stem(xc); grid on;for i=1:endtime/dtif xc(i)<=0%負極性最高位為0xcc(i)=abs(xc(i);elseif xc(i)>0%正極性最高位為1xcc(i)=(xc(i)+128;endendxpcm=dec2bin(xcc,8); %將量化值轉(zhuǎn)化為0, 1代碼%i*%Q %i*%Q%HDB碼的編譯碼過程%i*%Q%俞入為xpcmfor i=1:endtime/dtff(8*(i-1)+1:8*i)=xpcm(i,:);end%各得到的PC碼轉(zhuǎn)換為一維序列realpcm=;for i=1:endtime/dt*8rea

47、lpcm(i)=bi n2dec(ff(i);endfigure(2)subplot(4,1,1);stairs(realpcm);axis(0 15 -2.5 2.5);gridon;title(卩 CM');AMI=; %定義AM碼k=1;%各PC碼轉(zhuǎn)化為AM碼for i=1:endtime/dt*8if ff(i)=dec2bin因為PC序列是二進制的AMI(i)=(-1)Ak;k=k+1;elseAMI(i)=0;endendsubplot(4,1,2);stairs(AMI);axis(O 15 -2.5 2.5);gridon;title( 'AMI');%

48、disp(AMI);%AM碼轉(zhuǎn)換完成%HDB®碼開始%檢測連“0”數(shù)目超過4的碼元序列%定義破壞節(jié)“ B00V,將第四個“ 0”標記為V,用“ 8”表示for i=1:endtime/dt*8-3if (AMI(i)=0)&&(AMI(i+1)=0)&&(AMI(i+2)=0)&&(AMI(i+3)=0) AMI(i+3)=2;endend%使V碼元的符號與前一個非“ 0”碼元的符號相同for i=1:endtime/dt*8if AMI(i)=2hdb1(i)=AMI(i-4)/abs(AMI(i-4)*8;elsehdb1(i)=A

49、MI(i);endendhdb2=hdb1;hdb3=hdb2;V=;B=;k=1;%記錄每一個V碼元的位置for i=1:endtime/dt*8if (hdb2(i)=2)|(hdb2(i)=-2)V(k)=i;k=k+1;endend %加入B碼元,以使序列滿足HDB碼的要求for i=2:k-1%!鄰兩個V碼元的極性必須是交替的if hdb3(V(i)*hdb3(V(i-1)>0hdb3(V(i)=-hdb3(V(i);%用B碼兀來調(diào)整破壞節(jié),用“ 5”表示hdb3(V(i)-3)=hdb3(V(i)/abs(hdb3(V(i)*3; elseif (hdb3(V(i)*hdb3(V(i-1)<0)&&( hdb3(V(i)-4)*hdb3(V(i)<0) hdb3(V(i)-3)=hdb3(V(i)/abs(hdb3(V(i)*3;endm=1;while hdb3(V(i)+m)=0&&(V(i)+m)v=255m=m+1;end%各后面的碼元正負翻轉(zhuǎn)if hdb3(V(i)+m)*hdb3(

溫馨提示

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

評論

0/150

提交評論