-----hdb3編碼及解碼的實現
院(系): 電子與電氣工程學院
班級: 電子091班
學號: 0903741021 0903741023
姓名: 石楚雄王一浪
指導老師: 郭建中
2011 年 12 月 30日
0.摘要
目前,雖然數字基帶傳輸不如帶通傳輸那樣應用廣泛,但對於基帶傳輸系統的研究仍是十分有意義的。這是因為,第一,在利用對稱電纜傳輸構成的程序資料通訊系統中廣泛採用了這種傳輸方式;第二,隨著數字通訊技術的發展,基帶傳輸方式也有迅速發展的趨勢,目前,它不僅用於低速資料傳輸,而且還應用於高速資料傳輸;第三,基帶傳輸中包含帶通傳輸的很多基本問題,也就是說,亟待傳輸系統的很多問題也是帶通傳輸系統必須考慮的問題;第四,理論上也可以證明,任何乙個採用線性調製的帶通傳輸系統,可以等效為乙個基帶傳輸系統來研究。
在實際的基帶數字傳輸系統中,並不是所有的基帶波形都適合在通道中傳輸。例如,含有豐富直流和低頻分量的單極性基帶波形就不適宜在低頻傳輸特性差的通道中傳輸,因為這有可能造成訊號嚴重畸變。又如,當訊息**中包含長串的連續「1」或「0」符號時,非歸零波形呈現出連續的固定電平,因而無法獲取定時資訊。
單極性歸零碼在傳送連「0」時,也存在同樣的問題。因此,對傳輸用的基帶訊號主要有以下兩個方面的要求:
(1)對**的要求:原始資訊**必須編成適合於傳輸用的碼型;(2)對所選碼型的電平的波形要求:電平波形應適合於基帶系統的傳輸。
在此,主要研究數字基帶傳輸系統中hdb3碼的編碼及解碼的實現問題。
目錄0. 摘要1
一.設計題目及要求2
二.設計原理2
2.1 hdb3碼介紹2
2.2 hdb3碼的編碼規則2
2.3 hdb3碼的解碼規則3
2.4 hdb3碼的特點4
3.**及結果5
3.1 hdb3編碼運算程式**5
3.2 hdb3解碼運算程式**6
3.3 matlab具體操作過程7
3.4 **結果8
3.5 結果分析9
4.心得體會10
5. 致謝10
六.參考文獻11
一.設計題目及要求
題目:hdb3編碼及解碼的實現
要求:1、用matlab實現;
2、先產生並輸出隨機序列,對隨機序列編碼,輸出編碼後的隨機序列,然後解碼,並輸出解碼之後的序列。
二.設計原理
2.1 hdb3碼介紹
即(high density bipolar of order 3code)三階高密度雙極性碼。它是ami(alternative mark inversion)碼即傳號交替反轉碼的一種改進型,改進的目的是為了保持ami碼的優點而克服其缺點,使連「0」的個數不超過3個。
2.2 hdb3碼的編碼規則
(1)檢查訊息碼中「0」的個數。當連「0」的數目小於等於3時,hdb3碼與ami碼一樣,+1與-1交替;
(2)當連「0」的數目超過3時,將每4個連「0」化作一小節,定義為b00v,稱為破壞節,其中v成為破壞脈衝,而b稱為調節脈衝;
(3)v與前乙個相鄰的非「0」脈衝極性相同(這破壞了極**替的規則,所以v稱為破壞脈衝),並且要求相鄰的v碼之間極性必須交替。v的取值為+1或-1;
(4)b的取值可選0、+1、或-1,以使v同時滿足(3)中的兩個要求;
(5)v碼後面的傳號碼極性也要交替。
例如:訊息碼:1 0 0 0 0 1 0 0 0 0 1 1 0 0 0 0 0 0 0 0 1 1
ami碼:-1000 0 +10 0 0 0 -1 +10 0 0 0 0 0 0 0 -1 +1
hdb3碼:-1000 -v +1 0 0 0 +v -1 +1-b00-v +b 0 0 +v -1 +1
其中的±v脈衝和±脈衝與±1脈衝波形相同,用v或b符號表示的目的是為了示意非「0」碼是由原始碼的「0」變換而來的。
2.3 hdb3解碼規則
(1) 從收到的符號串行中找到破壞極**替的點,可以斷定符號及其前面的3個符號必是連0符號,從而恢復4個連碼;
(2)再將所有的-1變換成+1後,就可以得到原訊息**。
2.4 hdb3碼的特點
從以上原理可以看出,hdb3碼的編碼雖然比較複雜,但解碼且比較簡單。編碼規則可以看出,每乙個破壞脈衝v總是與前乙個「0」脈衝同極性(包括b在內)。這就是說,從收到系列中可以容易地找到破壞點v,於是也斷定v符號及其前面的三個符號必是連「0」符號,從而恢復四個連「0」碼,再將所有-1變成+1後便得到原資訊**。
hdb3碼除了具有ami碼的優點外,同時還將連「0」碼限制在三個以內,使得接收時能保證定時資訊的提取。因此,hdb3碼是目前應用最為廣泛的碼型,a律pcm四次群以下介面碼型均為hdb3碼。
三.**及結果
3.1 hdb3編碼運算程式**
%對乙個二進位制序列進行hdb3編碼運算
%y=hdb3(x)
%x為原始序列
function y=hdb3(x)
n=length(x);
last_v=-1;
last_one=-1;
y=zeros(size(x)); %初始化輸出序列
count=0連0計數器
for i=1:n
if x(i)==1 %遇1則極性反轉
y(i)=-last_one;
last_one=y(i);
count=0;
else
count=count+1;
if count==4
count=0;
y(i)=-last_v遇4連零則置為v,相鄰的v極性反轉
last_v=y(i);
if y(i)*last_one==-1 %v與前乙個非0符號必須同極性
y(i-3)=y(i否則置b
endlast_one=y(i);
endendendfigure(1);
subplot(2,1,1分割槽繪製子圖函式
a=x;
i=0:n-1;
stairs(i,a畫二維階梯圖
axis([0 ,n,0,2設定當前x軸和y軸的範圍
title('原碼型為當前座標軸新增標題
xlabel('x為x座標軸命名
ylabel('y為y座標軸命名
grid on為當前的座標軸新增主要的網格線
subplot(2,1,2);
a=y;
i=0:n-1;
stairs(i,a);
axis([0,n,-2,2]);
title('hdb3碼型')
xlabel('x');
ylabel('y');
grid on
3.2 hdb3解碼運算程式**
%對乙個hdb3碼進行解碼運算
%y=dehdb3(x)
%x為hdb3碼function y=dehdb3(x)
n=length(x);
m=0;%計算0的個數
c=1;
y=zeros(size(x));
for i=1:n
if x(i)==0
m=m+1;
endif x(i)~=0
if (m~=2&&m~=3)
y(i)=c;
m=0;
elseif m==2&&i>3
if (x(i)==-x(i-4) && x(i)==x(i-3))
if (x(i)==x(i-3))
y(i-3)=0;
y(i)=0;
m=0;
else y(i)=1;
m=0;
endelseif m==3&&i>4
if x(i)*x(i-4)==-1;
y(i)=1;
m=0;
通訊原理課程設計報告
目錄第一章概述 4 第二章 systemview動態系統 軟體簡介 5 2.1 systemview系統特點 5 2.2 systemview 步驟 5 第三章課程設計內容 6 3.1 設計要求 6 3.2 2dpsk系統組成及原理簡介 7 3.3誤位元率簡介 9 第四章 模型的建立及結果分析 10...
《通訊原理》課程設計報告
報告 二 二 學年第學期學號姓名 班級電子工程系 設計任務書 設計題目 16qam調製與解調系統的設計 設計目的 通過此綜合設計,加深基本理論知識的理解,加強理論聯絡實際,增強動手能力,提高通訊系統 的設計技能。設計內容 1.設計任務 利用所學通訊知識,設計乙個16qam調製與解調系統,並用syst...
通訊原理》課程設計報告
報告題目16qam調製與解調系統的設計 二 一四 二 一五學年第二學期 學號 12160110 姓名王晶晶 班級通訊q1241 指導老師田浩 資訊工程學院 一.設計指標要求 2 1.1設計任務 2 1.2設計要求 2 二.設計原理 2 2.1 16qam調製解調原理及其框圖說明 2 三.system...