信號量化,編碼(附加全部程序)_第1頁
信號量化,編碼(附加全部程序)_第2頁
信號量化,編碼(附加全部程序)_第3頁
信號量化,編碼(附加全部程序)_第4頁
信號量化,編碼(附加全部程序)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課 程 設(shè) 計 報 告課程名稱 通信原理 課題名稱 信號量化,編碼 專 業(yè) 通信工程 班 級 1301 學 號 201303020102 姓 名 謝* 指導教師 胡倩 彭禎 韓寧 2016 年 1 月 15 日13級通信工程專業(yè)“通信原理”課程設(shè)計任務(wù)書一、課題名稱 基帶通信過程仿真二、課程設(shè)計內(nèi)容本課題使用Matlab仿真軟件,利用Matlab集成環(huán)境下的M文件編寫程序來模擬和仿真簡單的通信過程,主要包括采樣量化編碼、信道編碼、信道解碼、數(shù)模轉(zhuǎn)換輸出,最后集成各個模塊。最后根據(jù)輸出的相應(yīng)信號的時域波形和頻域波形或仿真結(jié)果,來判斷通信的質(zhì)量,并分析誤差存在的原因。 三、課程設(shè)計目的

2、 (1)綜合應(yīng)用Matlab編程與系統(tǒng)仿真、信號與系統(tǒng)、現(xiàn)代通信原理等多門課程知識,建立通信系統(tǒng)的整體概念;  (2)培養(yǎng)系統(tǒng)設(shè)計與系統(tǒng)開發(fā)的思想;  (3)培養(yǎng)利用軟件進行通信仿真的能力; (4)熟悉Matlab文件中M文件的使用方法,包括函數(shù)、原理和使用的方法。 四、設(shè)計要求  (1)8-9個同學一組,在Matlab環(huán)境下完成對通信系統(tǒng)各部分仿真程序的設(shè)計與調(diào)試,對通信過程整體有較深入的理解;(2)組員深入理解自己仿真部分的原理的基礎(chǔ),提出仿真方案,畫出對應(yīng)的子系統(tǒng)的原理框圖;(3)完成仿真程序的編制,運行仿真

3、程序;(4)組長負責各模塊的集成,并對本組系統(tǒng)總結(jié)。(5)完成課設(shè)報告,程序分組打包。五、分組安排 學號末兩位%8=1,信號抽樣 學號末兩位%8=2,3,信號量化,編碼 學號末兩位%8=4,信道編碼(HDB3) 學號末兩位%8=5,信道解碼 學號末兩位%8=6,7,信號數(shù)模轉(zhuǎn)換 學號末兩位%8=0, 各模塊仿真結(jié)果分析,集成各模塊 1-8號,9-16號,17-24號,25-32號一組,33,34,35號每個人跟一個組。每組選出一個組長。六、時間安排 (1)上機時間:十八周: 禮拜一:上午 禮拜二:下午 禮拜三:下午 禮拜四:下午 禮拜五:上午 十九周: 禮拜一:下午 禮拜二:下午 (2)其他時

4、間自己在寢室或圖書館查找資料、代碼設(shè)計、完成課設(shè)報告 目 錄 一.數(shù)字通信系統(tǒng)的簡介1二. 類似A率的13折線編碼原理3三.13折線法的PCM解碼流程圖43.1 編碼原理43.2 編碼流程圖5四.用MATLAB進行解碼仿真6五.心得體會7六.附錄8七.評分表101基帶通信系統(tǒng)信號量化,編碼一.數(shù)字通信系統(tǒng)的簡介數(shù)字通信系統(tǒng)是利用數(shù)字信號來傳遞信息的通信系統(tǒng),它不同于模擬通信系統(tǒng)。它同模擬通信系統(tǒng)相比,具有以下一些優(yōu)點: 抗干擾能力強,且噪聲不累計。 傳輸差錯可控。 便于用現(xiàn)代數(shù)字信號處理技術(shù)對數(shù)字信息進行處理、變換、儲存。 易于集成,使通信設(shè)備微型化,重量減輕。 易于加密處理,且保密性好。但它

5、也存在一定的缺點就是可能需要較大的傳輸帶寬。至今,數(shù)字通信技術(shù)一直受重視。其系統(tǒng)模型如下圖所示。數(shù)字通信涉及的技術(shù)問題很多,其中主要有信源編碼與譯碼、信道編碼與譯碼、數(shù)字調(diào)制與解調(diào)、同步及加密與解密等。數(shù)字解調(diào)信源編碼信宿信源譯碼解密信道譯碼信道數(shù)字調(diào)制信道編碼加密信源噪聲源圖1 數(shù)字通信系統(tǒng)模型(1) 信源編碼與譯碼信源編碼有兩個基本功能:一是提高信息傳輸?shù)挠行?,即通過某種壓縮編碼技術(shù)設(shè)法減少碼元數(shù)目以降低碼元速率。二是完成數(shù)模轉(zhuǎn)換,即當信息源給出的是模擬信號時,信源編碼器將其轉(zhuǎn)換為數(shù)字信號,以實現(xiàn)模擬信號的數(shù)字傳輸。信源譯碼是信源編碼的逆過程。(2) 信道編碼與譯碼信道編碼的作用是進行差

6、錯控制。數(shù)字信號在傳輸過程中會受到噪聲等影響而發(fā)生差錯。為了減小差錯,信道編碼器對傳輸?shù)男畔⒋a元按一定的規(guī)則加入保護成分(監(jiān)督碼元),組成所謂的“抗干擾編碼”。接收端的信道譯碼按相應(yīng)的逆規(guī)則進行解碼,從中發(fā)現(xiàn)錯誤或糾正錯誤,提高通信系統(tǒng)的可靠性。(3) 加密與解密在需要實現(xiàn)保密通信的場合,為了保證所傳信息的安全。人為的將傳輸?shù)臄?shù)字序列擾亂,即加上密碼,這種處理過程叫做加密。在接收端利用與發(fā)送端處理過程相反的過程對收到的數(shù)字序列進行解密,恢復原來的信息。(4) 數(shù)字調(diào)制與解調(diào)數(shù)字調(diào)制是把數(shù)字基帶信號的頻譜搬移到高頻處,形成適合在信道中傳輸?shù)耐ㄐ盘?。基本的?shù)字調(diào)制方式有振幅鍵控、頻移鍵控、絕對相移

7、鍵控、相對(差分)相移鍵控。在接收端可以采用相干解調(diào)或非相干解調(diào)還原數(shù)字基帶號。(5) 同步同步是使發(fā)收兩端的信號在時間上保持步調(diào)一致,是保證數(shù)字通信系統(tǒng)有序、準確、可靠工作的前提條件。在按照同步的功能不同,分為載波同步、位同步、幀同步和網(wǎng)同步。同步單元也是系統(tǒng)的組成部分。所謂抽樣,就是根據(jù)奈奎斯特采樣定理對模擬信號進行采樣,使其時域離散化,但此時信號仍是模擬信號,這個抽樣后的信號必須經(jīng)過量化才能變成數(shù)字信號。信號的量化,分為均勻量化和非均勻量化,量化方式不同,但原理相同。下圖為量化的原理示意圖: 圖2 量化過程量化完之后要將信號進行編碼,在這里一般采用脈沖編碼調(diào)制(PCM)。然而在實際的基帶

8、傳輸系統(tǒng)中,并不是所有的基帶波形都適合在信道傳輸,例如,含有直流和低頻分量的單極性基帶波形就不適合在低頻傳輸特性差的信道中傳輸,因為這有可能造成嚴重的畸變。所以,在信道中要選擇合適的傳輸碼,將PCM基帶信號按某種碼形規(guī)則編譯好的過程就是信道編碼過程,信號傳輸碼形有很多種類型,例如:AMI碼,HDB3碼,雙相碼,差分雙相碼,CMI碼等等(本次課程設(shè)計選用HDB3碼)。相反,信道解碼就是將上一步信道編碼好的信號無失真的還原成基帶信號。最后信號的數(shù)模轉(zhuǎn)換,也就是PCM的解調(diào)過程,將編碼好的數(shù)字基帶信號還原成采樣后的模擬信號的過程。 二. 類似A率的13折線編碼原理由于A率表示式是一條連續(xù)的平滑曲線,

9、用電子線路很難準確的實現(xiàn)。所以要采用13折線近似A率的特性來實現(xiàn)。如下圖:圖3 對稱輸入13折線壓縮特性圖中橫坐標x在01區(qū)間中分為不均勻的八段。1/21間的線段稱為第8段;1/41/2間的線段稱為7段;1/81/4間的線段稱為第6段;以此類推,直到01/128間的線段稱為第1段。圖中縱坐標y則均勻地劃分作8段。將與這8段相應(yīng)的坐標點(x,y)相連,就得到一條折線。由圖可見,除第一段和第二段外,其他各段折線的斜率都不相同。斜率如下表:表1各段折線的斜率折線段號12345678斜率161684211/21/4x的取值應(yīng)該還有負的一半。就是說,在坐標系的第三象限還有對原點奇對稱的另一半曲線,在圖3

10、中第一象限中的第一段和第二段斜率相同,所以過程一條直線。同樣,在第三象限中的第一段和第二段折線的斜率也相同,并且和第一象限中的斜率相同。所以,這四段折線構(gòu)成了一條直線。因此,在這正負兩個象限中的完整壓縮曲線共有13段折線,故稱13折線壓縮特性。三.13折線的PCM解碼流程圖3.1 編碼原理13折線的PCM編碼是將一個抽樣值編碼成為8位二進制數(shù)。這八位數(shù)又分為極性碼C1,段落碼C2、C3、C4,段落碼C5、C6、C7、C8。所以代碼可以分為三段來寫:在將抽樣值歸一化為Is后進行如下過程極性碼C1:根據(jù)抽樣值得符號判斷,如果抽樣是y(k)>=0則C1=1,反之C1=0。段落碼:先定義一個fl

11、ag=7,判斷Is是否大于等于2flag,如果是,則Ci=1,反之Ci=0。此外,在判斷完Ci的值后還要記得將flag進行相應(yīng)的變化,如:C2=1時,flag因變?yōu)?,繼而C3=1時,flag要變?yōu)?0。依次循環(huán)三次之后既可以得出段落碼。flag = 7; for i = 2:4 %段落碼 if i_s >= 2flag %判斷C2 code(i) = 1; if i = 3 flag = flag+1; else flag = flag+2; end else code(i) = 0; if i = 3 flag = flag-1; else flag = flag-2; end en

12、d end 段內(nèi)碼:段內(nèi)碼的結(jié)果需要根據(jù)段落碼來確定該段的其實電平start以及該段的量化間隔delta。根據(jù)這兩個值可以算出每次與Is比較的Iw。即第一次比較的Iw=start+8*delta。判斷Is是否大于等于Iw,如果是則Ci=1,否則Ci=0。 level = 8; %級別初始化 changeLevel = 8; %級別變化初始化 for i = 5:8 i_w = start + level*delta ; %第一段的為start+8*delta if i_s >= i_w %比較i_s和i_w來判斷段內(nèi)碼 code(i) = 1; changeLevel = changeL

13、evel/2; level = level + changeLevel;%判斷哪一級 else code(i) = 0; changeLevel = changeLevel/2; level = level - changeLevel; end end整理并輸出:將編出來的8位碼按順序插入到最終的序列endCode中,最后把endCode傳出給主函數(shù)進行下步操作。143.2 編碼流程圖開始輸入一個抽樣值將值歸一化Is>=0結(jié)束C1 = 1C1 = 0flag = 7,i=1Is>=2flagCi = 1Ci = 0flag改變算出其段的起始電平和量化間隔根據(jù)起始電平和間隔算出IwI

14、s>=IwC1 = 1C1 = 0量化區(qū)間改變i+1<=i<=8整合并輸出2<=i<=45<=i<=8YYYYYN NNNYN圖4 13折線PCM解碼流程圖四.用MATLAB進行解碼仿真若將原基帶信號為y=sinx其進行13折線PCM編碼結(jié)果如下:即11111001 圖5 幅度為1的0.62的PCM解碼仿真結(jié)果y的原信號圖如下:圖5 y=sinx的原信號圖對y編碼后在解碼的圖如下:圖6 經(jīng)過PCM解碼后的信號圖五.心得體會 本次課程設(shè)計的題目剛下達的時候,我有點迷茫不知道怎么開始做,在任務(wù)分配中我做的是第二個,就是量化、編碼的部分,這個部分我開始并不清

15、楚,以為量化和編碼是可以分開單獨進行的。也嘗試過想講信號量化,在對信號進行編碼,可是我寫了一點代碼后發(fā)現(xiàn)這種方法行不通,也是因為這個波折讓我跟深刻的直到量化和編碼最好不要分開來寫,同時,在這個過程中,我漸漸的熟悉了matlab這門語言的魅力,便開始喜歡上了編寫matlab程序代碼。經(jīng)過一番思想整理后,在信號量化、編碼部分我采用的是近似A率的13折線法編碼,通過書上的例題,我更加明白了13折線法對信號編碼的規(guī)則,于是我便開始了我的“寫代碼之旅”。書上的例題是對一個抽樣值進行編碼,變成8位的二進制數(shù),我便按照書上的方法,先能夠編出一個數(shù)的編碼。所以,在最開始我的程序沒有整理輸出這一部分。等到我正確

16、編寫出一個數(shù)值的編碼后我在開始對所有抽樣值得編碼進行最后的的整理,整理到一個數(shù)組里以便PCM解碼。在編碼過程中,我最糾結(jié)的地方是如何改變和Is比較的那個數(shù),經(jīng)過仔細推敲后,我發(fā)現(xiàn)這些用于和Is比較的數(shù)都是有規(guī)律的,比如段落碼最先和Is比較的是27,如果大于它就和29比較,如果還大于就和210比較。所以我將2的指數(shù)定義為flag,在第一次比較后對flag進行加2或減2,第二次比較就對flag進行加1或減1,這樣一來就可以將段落碼編出來;有了段落碼的編寫經(jīng)驗,在段內(nèi)碼編碼中我采用了類似的方式用level來代表段內(nèi)區(qū)間,并在段內(nèi)碼編寫里將level進行相應(yīng)的變化。在寫完自己的部分后,我便開始幫助同組

17、的人編寫并指導,這次課設(shè)做完后,我感覺自己對數(shù)字基帶系統(tǒng)有了更深入的了解,讓我對它的興趣更加濃厚六.附錄:function A,code1 = A13PCM(y)%函數(shù)功能: 將抽樣脈沖幅度進行編碼%參數(shù):傳入y為信號函數(shù)序列,輸出code1為編碼后的0 1序列,A為y的幅度code1 = zeros(1,8*length(y)A = max(abs(y); %算出信號的最大幅度for k = 1:length(y) i_s = abs(y(k)/A)*2048; %將抽樣值化為量化單位 i_s = round(i_s); code = zeros(1,8); %建一個8位的數(shù)組 code(1

18、) = (sign(y(k) >= 0);%級性碼C1 0也算符號為正 flag = 7; for i = 2:4 %段落碼 if i_s >= 2flag %判斷C2 code(i) = 1; if i = 3 flag = flag+1; else flag = flag+2; end else code(i) = 0; if i = 3 flag = flag-1; else flag = flag-2; end endend %下面判斷段內(nèi)碼 phase = code(2)*4+code(3)*2+code(4)+1; %段落碼換成10進制 if phase >= 2

19、 delta = 2(phase-2); %計算量化間隔 start = 2(phase+2); %該段的段落起始電平 else delta = 1; start = 0; end level = 8; %級別初始化 changeLevel = 8; %級別變化初始化 for i = 5:8 i_w = start + level*delta ; %第一段的為start+8*delta if i_s >= i_w %比較i_s和i_w來判斷段內(nèi)碼 code(i) = 1; changeLevel = changeLevel/2; level = level + changeLevel;%

20、判斷哪一級 else code(i) = 0; changeLevel = changeLevel/2; level = level - changeLevel; end end for j = 1:8 code1(j+8*(k-1) = code(j); %整合編碼 endend七.評分表計算機與通信學院課程設(shè)計評分表課程名稱: 通信原理 項 目評 價設(shè)計方案的合理性與創(chuàng)造性設(shè)計與調(diào)試結(jié)果設(shè)計說明書的質(zhì)量答辯陳述與回答問題情況課程設(shè)計周表現(xiàn)情況綜合成績 教師簽名: 日 期: 附加:HDB3編碼程序:function endCode = HDB3encode(code)%函數(shù)功能: HDB3編

21、碼%參數(shù): code為輸入原序列,endCode為輸出HDB3碼的序列code = 1,code;%先將序列首位添加一個符號位%B00V中,V的符號滿足兩個條件: % 1、V與前一個V符號相反 % 2、V與前一個非0值符號相同,B用于協(xié)調(diào)count = 0; %計數(shù)器初始化flag = 1; %第一次聯(lián)零的標志 symbolCode = 1; %code的符號V = code(1); %V的符號初始化for j = 1:length(code) if code(j) = 0 count = count + 1; else code(j) = symbolCode*code(j); symbol

22、Code = -1*symbolCode; if flag = 1 %還沒有出現(xiàn)第一次連0 V = code(j); end count = 0; end if count = 4 %檢測到4個0 count = 0; %計數(shù)清零 code(j) = V; %加V if V = code(j-4) %V與前一個非0值符號不同 if flag = 0 code(j-3) = V; %用B來協(xié)調(diào) end end flag = 0; %連零標志失效 V = -code(j); %記錄V下次的符號 symbolCode = V; %記錄下一個1的符號 endendendCode = code(2:le

23、ngth(code); %去除首位HDB3解碼程序:function endCode = HDB3decode(code)%函數(shù)功能: HDB3解碼%參數(shù): 傳入編碼信號code,解碼成endCode輸出endCode = code;symbol = 1;for i = 1:length(endCode) if endCode(i) = 0 %判斷它和前一個非零數(shù)是不是相同 if symbol = endCode(i) if i-3 >= 1 endCode(i-3) = 0; end endCode(i) = 0; else symbol = endCode(i); end enden

24、dfor i = 1:length(endCode) %消去符號 if endCode(i) = 0 endCode(i) = 1; endend信道PCM解碼:function signal = Decode(A,code)%函數(shù)功能: PCM譯碼%參數(shù): 傳入已編碼信號code和原信號序列y,解碼成為signal返回signal_len = length(code)/8;signal = zeros(1,signal_len); %創(chuàng)建返回數(shù)組sp = 0,16,32,64,128,256,512,1024; %段落起點值spmin = 1,1,2,4,8,16,32,64; %最小量化間隔for i = 1:signal_len symbol = 1; %符號初始化 phase = 1; %段落值初始化 phase_in = 0; %段內(nèi)值初始化 for j = 1:8 %一維數(shù)組的j 對應(yīng) j+(i-1)*8 if j = 1 %級性碼 if code(j+(i-1)*8) = 0 %如果級性碼為0 symbol = -1; %符號記錄(負號) end end if j >= 2&&j <= 4 %段落碼 %段落碼轉(zhuǎn)換為10進制數(shù) p

溫馨提示

  • 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

提交評論