導航:首頁 > 源碼編譯 > 循環編解碼原理

循環編解碼原理

發布時間:2023-02-21 16:41:26

A. 用verilog語言實現FPGA的循環碼編碼器設計

摘 要
隨著電子技術的發展,具有防盜報警等功能的電子密碼鎖代替密碼量少、安全性差的機械式密碼鎖已是必然趨勢。電子密碼鎖與普通機械鎖相比,具有許多獨特的優點:保密性好,防盜性強,可以不用鑰匙,記住密碼即可開鎖等。目前使用的電子密碼鎖大部分是基於單片機技術,以單片機為主要器件,其編碼器與解碼器的生成為軟體方式。在實際應用中,由於程序容易跑飛,系統的可靠性能較差。

本文主要闡述了一種基於現場可編程門陣列FPGA器件的電子密碼鎖的設計方法。用FPGA器件構造系統,所有演算法完全由硬體電路來實現,使得系統的工作可靠性大為提高。由於FPGA具有現場可編程功能,當設計需要更改時,只需更改FPGA中的控制和介面電路,利用EDA工具將更新後的設計下載到FPGA中即可,無需更改外部電路的設計,大大提高了設計的效率。因此,採用FPGA開發的數字系統,不僅具有很高的工作可靠性,而且升級也極其方便。

本文採用EDA技術,利用Quartus II工作平台和硬體描述語言,設計了一種電子密碼鎖,並通過一片FPGA晶元實現。

關鍵詞:電子密碼鎖;FPGA;硬體描述語言;EDA

目 錄
1 緒 論 1
1.1 國內外現狀及其發展 1
1.2 電子密碼鎖的原理 2
1.3 電子密碼鎖的系統簡介 4
1.4 系統設計要求 4
1.5 本課題的研究目的和意義 5
2 現場可編程門陣列FPGA 6
2.1 FPGA的基本結構 6
2.2 FPGA的優點 10
2.3 FPGA的設計流程 11
2.4 自頂向下設計法 17
2.5用模塊化設計FPGA 18
3 VHDL硬體描述語言 20
3.1 VHDL語言的基本結構 20
3.2 結構體的描述方式 21
3.3 自上而下(TOP DOWN)的設計方法 22
4 電子密碼鎖的設計與模擬 24
4.1 硬體設備 24
4.2 幾個主要功能模塊的設計 25
4.3 計算機模擬 32
結 束 語 38
參考文獻 39
附錄1英文原文 41
附錄2中文譯文 50
附錄3源程序 57

1.1 國內外現狀及其發展
隨著人們生活水平的提高和安全意識的加強,對安全的要求也就越來越高。鎖自古以來就是把守護門的鐵將軍,人們對它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長期以來研製的主題。隨著電子技術的發展,各類電子產品應運而生,電子密碼鎖就是其中之一。據有關資料介紹,電子密碼鎖的研究從20世紀30年代就開始了,在一些特殊場所早就有所應用。這種鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的安全性。由於電子鎖的密鑰量(密碼量)極大,可以與機械鎖配合使用,並且可以避免因鑰匙被仿製而留下安全隱患。電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來越多的人所欣賞。電子鎖的種類繁多,例如數碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實用的還是按鍵式電子密碼鎖。

20世紀80年代後,隨著電子鎖專用集成電路的出現,電子鎖的體積縮小,可靠性提高,成本較高,是適合使用在安全性要求較高的場合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對它的研究一直沒有明顯進展。

目前,在西方發達國家,電子密碼鎖技術相對先進,種類齊全,電子密碼鎖已被廣泛應用於智能門禁系統中,通過多種更加安全,更加可靠的技術實現大門的管理。在我國電子鎖整體水平尚處於國際上70年代左右,電子密碼鎖的成本還很高,市場上仍以按鍵電子鎖為主,按鍵式和卡片鑰匙式電子鎖已引進國際先進水平,現國內有幾個廠生產供應市場。但國內自行研製開發的電子鎖,其市場結構尚未形成,應用還不廣泛。國內的不少企業也引進了世界上先進的技術,發展前景非常可觀。希望通過不斷的努力,使電子密碼鎖在我國也能得到廣泛應用[1]。

目前使用的電子密碼鎖大部分是基於單片機技術,以單片機為主要器件,其編碼器與解碼器的生成為軟體方式[2]。在實際應用中,由於程序容易跑飛,系統的可靠性能較差。基於現場可編程邏輯門陣列FPGA器件的電子密碼鎖,用FPGA器件構造系統,所有演算法完全由硬體電路來實現,使得系統的工作可靠性大為提高。由於FPGA具有現場可編程功能,當設計需要更改時,只需更改FPGA中的控制和介面電路,利用EDA工具將更新後的設計下載到FPGA中即可,無需更改外部電路的設計,大大提高了設計的效率。

1.3 電子密碼鎖的系統簡介
通用的電子密碼鎖主要由三個部分組成:數字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。

(1) 密碼鎖輸入電路包括時序產生電路、鍵盤掃描電路、鍵盤彈跳消除電路、鍵盤解碼電路等幾個小的功能電路。

(2)密碼鎖控制電路包括按鍵數據的緩沖存儲電路,密碼的清除、變更、存儲、激活電鎖電路(寄存器清除信號發生電路),密碼核對(數值比較電路),解鎖電路(開/關門鎖電路)等幾個小的功能電路。

(3)密碼顯示電路主要將顯示數據的BCD碼轉換成相對應的編碼。如,若選用七段數碼管顯示電路,主要將待顯示數據的BCD碼轉換成數碼器的七段顯示驅動編碼[4]。

1.4 系統設計要求
設計一個具有較高安全性和較低成本的通用電子密碼鎖,具體功能要求如下:

(1)數碼輸入:每按下一個數字鍵,就輸入一個數值,並在顯示器上的顯示出該數值,同時將先前輸入的數據依序左移一個數字位置。

(2)數碼清除:按下此鍵可清除前面所有的輸入值,清除為「0000」。

(3)密碼更改:按下此鍵時會將目前的數字設定成新的密碼。

(4)激活電鎖:按下此鍵可將密碼鎖上鎖。

(5)解除電鎖:按下此鍵會檢查輸入的密碼是否正確,密碼正確即開鎖。

1.5 本課題的研究目的和意義
隨著人們生活水平的提高,對家庭防盜技術的要求也是越來越高,傳統的機械鎖由於其構造的簡單,被撬的事件屢見不鮮,電子鎖由於其保密性高,使用靈活性好,安全系數高,受到了廣大用戶的歡迎。現在市場上主要是基於單片機技術的電子密碼鎖,但可靠性較差。FPGA即現場可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發展的產物,是一種超大規模集成電路,具有對電路可重配置能力。通常FPGA都有著上萬次的重寫次數,也就是說現在的硬體設計和軟體設計一樣靈活、方便。相對於基於單片機技術的電子密碼鎖,用FPGA器件來構成系統,可靠性提高,並且由於FPGA具有的現場可編程功能,使得電子密碼鎖的更改與升級更為方便簡單[3]。

通過本次設計掌握FPGA系統設計的方法,熟悉FPGA設計的相關軟體,以及硬體描述語言的使用,了解電子密碼鎖的系統構成,利用FPGA實現電子密碼鎖的設計與實現,可以加深自己對所學專業的認識,關聯知識,增強自己的動手能力,積累實踐經驗,為以後的工作打好基礎。

參考文獻
[1] 李連華.基於FPGA的電子密碼鎖設計.中國科技信息,2006,(01):64

[2] 許琦.基於FPGA的電子密碼鎖的設計.科技信息,2006,(10):240-241

[3] 王衛兵,劉克剛,朱秋萍.用FPGA的電子密碼鎖.電子技術,2005,(01):26-28

[4] 趙益丹,徐曉林,周振峰.電子密碼鎖的系統原理、設計程序及流程圖.嘉興學院學報,2003,15(S1):103-105

[5] 陸重陽,盧東華.FPGA技術及其發展趨勢.微電子技術,2003,(01):5-7

[6] 王曉勇.FPGA的基本原理及運用.艦船電子工程,2005,(02):82-85

[7] 程耀林.FPGA的系統設計方法解析.現代電子技術,2005,(19):90-93

[8] K. Benkrid, A. Benkrid and S. Belkacemi .Efficient FPGA hardware development: A multi-language approach .Journal of Systems Architectur -e, 2007(04):184-209

[9] Altera, Novas Team for FPGA Visibility Enhancement .Electronic News (North America).2006,(11):12

[10] 張忠.自頂向下的FPGA設計.電子產品世界,1998,(11):33-34,72

[11] 路而紅.專用集成電路設計與電子設計自動化.北京:清華大學出版社,2004:162-181,239-280,329-332

[12] 羅傑,康華光.兩種硬體描述語言VHDL/Verilog的發展及其應用.電氣電子教學學報, 2002,24(04):1-5

[13] 曹建國, 王威, 王丹. 一種基於VHDL的電子密碼鎖的設計與實現.沈陽大學學報 , 2006,18(04):77-79

[14] 譚會生,瞿遂春.EDA技術綜合應用實例與分析.西安:西安電子科技大學出版社,2004.1-42,64-85

[15] 梁麗.電子密碼鎖的計算機模擬設計.計算機模擬,2005,22(02):218-220

B. 糾錯碼的基本原理和性能參數

糾錯碼能夠檢錯或糾錯,主要是靠碼字之間有較大的差別。這可用碼字之間的漢明距離d(x,y)來衡量。它的定義為碼字x與y之間的對應位取不同值的碼元個數。一種糾錯碼的最小距離d定義為該種碼中任兩個碼字之間的距離的最小值。一種碼要能發現e個錯誤,它的最小距離d應不小於e+1。若要能糾正t個錯誤,則d應不小於2t+1。一個碼字中非零碼元的個數,稱為此碼字的漢明重量。一種碼中非零碼字的重量的最小值,稱為該碼的最小重量。對線性碼來說,一種碼的最小重量與其最小距離在數值上是相等的。
在構造線性碼時,數字上是從n維空間中選一k維子空間,且使此子空間內各非零碼字的重量盡可能大。當構造循環碼時,可進一步將每一碼字看成一多項式,將整個碼看成是多項式環中的理想,這一理想是主理想,故可由生成多項式決定;而多項式完全可由它的根規定。這樣,就容易對碼進行構造和分析。這是BCH碼等循環碼構造的出發點。一般地說,構造一種碼時,均設法將它與某種代數結構相聯系,以便對它進行描述,進而推導它的性質,估計它的性能和給出它的解碼方法。若一種碼的碼長為n,碼字數為M,或信息位為h,以及最小距離為d,則可把此碼記作【n,M,d】碼。若此碼為線性碼,常簡記作(n,k)或(n,k,d)碼。人們還常用R=log2M/n表示碼的信息率或簡稱碼率,單位為比特/碼元。R越大,則每個碼元所攜帶的信息量越大,編碼效率越高。 糾錯碼實現中最復雜的部分是解碼。它是糾錯碼能否應用的關鍵。根據式(1),採用的碼長n越大,則誤碼率越小。但n越大,編譯碼設備也越復雜,且延遲也越大。人們希望找到的解碼方法是:誤碼率隨碼長n的增加按指數規律下降;解碼的復雜程度隨碼長n的增加接近線性地增加;解碼的計算量則與碼長n基本無關。可惜,已經找到的碼能滿足這樣要求的很少。不過由於大規模集成電路的發展,即使應用比較復雜的但性能良好的碼,成本也並不太高。因此,糾錯碼的應用越來越廣泛。
糾錯碼傳輸的都是數字信號。這既可用硬體實現,也可用軟體實現。前者主要用各種數字電路,主要是採用大規模集成電路。軟體實現特別適合計算機通信網等場合。因為這時可以直接利用網中的計算機進行編碼和解碼,不需要另加專用設備。硬體實現的速度較高,比軟體可快幾個數量級。
在傳信率一定的情況下,如果採用糾錯碼提高可靠性,要求信道的傳輸率增加,帶寬加大。因此,糾錯碼主要用於功率受限制而帶寬較大的信道,如衛星、散射等系統中。糾錯碼還用在一些可靠性要求較高,但設備或器件的可靠性較差,而餘量較大的場合,如磁帶、磁碟和半導體存儲器等。
在分組碼的研究中,譜分析的方法受到人們的重視。糾同步錯誤碼、算術碼、不對稱碼、不等錯誤糾正碼等,也得到較多的研究。 分組碼是對信源待發的信息序列進行分組(每組K位)編碼,它的校驗位僅同本組的信息位有關。自20世紀50年代分組碼的理論獲得發展以來,分組碼在數字通信和數據存儲系統中已被廣泛應用。
分組碼的碼長n和碼字個數M是一個碼的主要構造參數。碼長為n的碼中所有碼字的位數均為n;若要用一個碼傳送k比特信息,則碼字的個數M必須滿足。典型的分組碼是由k位信息位和r位監督位組成的,這樣構成的碼一般稱為系統碼。
分組碼中應用最廣的線性分組碼。線性分組碼中的M個碼字之間具有一定線性約束關系,即這些碼字總體構成了n維線性空間的一個k維子空間。稱此k維子空間為(n,k)線性分組碼。線性系統碼的特點是每個碼字的前k位均由這個碼字所對應的信息位組成,並通過對這k位信息位的線性運算得到後面n—k是位監督位。
線性分組碼中應用最廣的是循環碼,循環碼的主要特徵是任何碼字在循環移位後個碼字。循環碼的優點在於其編碼和解碼手續比一般線性碼簡單,因而易於在設備上實現。在循環碼中,碼字可表示為多項式。循環碼的碼字多項式都可表示成為循環碼的生成多項式與這個碼字所代表的信息多項式的乘積,即,因此一個循環碼可以通過給出其生成多項式來規定。常用的循環碼有BCH碼和RS碼。
網格碼有多種描述方法,網格圖是常用方法之一,它能表示出編碼過程。一個碼率為1/2、包含四種狀態的網格碼的網格圖如圖所示。圖1中00,01,10,11表示編碼器所具有的四種狀態,以「·」示出,從每一狀態出發都存在兩條支路,位於上面的一條支路對應於編碼器輸入為「0」的情況,位於下面的一條支路對應於編碼器輸入為「1」的情況,而每一支路上所列出的兩個二進位碼則表示相應的編碼輸出。因而可知,編碼輸出不僅決定於編碼器的當前輸入,還決定於編碼器的狀態,例如在圖中從「00」狀態出發;,若輸入的二進制數據序列為1011,則編碼器的狀態轉移過程為00→01→10→01→11,而相應的編碼輸出序列為11010010。在網格圖中任意兩條從同一狀態出發;,經不同的狀態轉移過程後又歸於另一相同狀態(該狀態也可與初始狀態相同)的路徑間的距離的最小值稱為碼的自由距離。如該圖中的為5。對於卷積碼來說,的計算可簡化為始於且終於零狀態的非全零路徑與全零路徑間距離的最小值。是表徵網格碼糾錯能力的重要參數。維特比演算法是廣泛採用的網格碼的解碼方法。由於網格碼的狀態越多,解碼越復雜,所以狀態個數是度量網格碼解碼復雜性的重要參數。一般說來可以通過增大解碼復雜性來增加,從而提高碼的糾錯能力。
BCH碼、網格碼已被廣泛地應用於移動通信、衛星通信和頻帶數據傳輸中。RS碼也被廣泛應用於光碟的存儲中。
大多數糾錯碼是設計來糾隨機誤碼的,可以通過交織的方法使它適用於對突發誤碼的糾錯。交織是一種使得集中出現的突發誤碼在解碼時進行分散化的措施,從而使其不超出糾錯碼的糾錯能力范圍。 卷積碼不對信息序列進行分組編碼,它的校驗元不僅與當前的信息元有關,而且同以前有限時間段上的信息元有關。卷積碼在編碼方法上尚未找到像分組碼那樣有效的數學工具和系統的理論。但在解碼方面,不論在理論上還是實用上都超過了分組碼,因而在差錯控制和數據壓縮系統中得到廣泛應用。

C. cvsd編碼解碼原理

語法規則及函數模塊如下所示:
int do_stat()
{
int es=0;
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
es=statement();
if (es>0) return(es);
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
if(strcmp(token,"while")==0)
{
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
if(strcmp(token,"(")) return(es=5);
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
es=expression();
if(es>0) return(es);
if(strcmp(token,")")) return(es=6);
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
}
else es=3;
return(es);
}
//<聲明語句> ::=int <變數>|<變數>;
//<declaration_stat>::=int ID,{ID};
int declaration_stat()
{
int es=0;
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
if (strcmp(token,"ID")) return(es=3); //不是標識符
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
while(strcmp(token,",")==0 )
{
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
if (strcmp(token,"ID")) return(es=3); //不是標識符
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
};
if (strcmp(token,";") ) return(es=4);
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
return(es);
}
//<程序>::={<聲明序列><語句序列>}
//program::={<declaration_list><statement_list>}
int program()
{
int es=0;
fscanf(fp,"%s %s\n",token,token1);
printf("%s %s\n",token,token1);
if(strcmp(token,"main")==0)
{
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
if (strcmp(token,"(")) return(es=5); //少左括弧
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
if (strcmp(token,")")) return(es=6); //少右括弧
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
}
else
{
es=8;
return(es);
}
if(strcmp(token,"{"))//判斷是否'{'
{
es=1;
return(es);
}
fscanf(fp,"%s %s\n",&token,&token1);
printf("%s %s\n",token,token1);
es=declaration_list();
if (es>0) return(es);
es=statement_list();
if (es>0) return(es);
if(strcmp(token,"}"))//判斷是否'}'
{
es=2;
return(es);
}
return(es);
}
輸入如下:
main()
{int a,b,c;
read a;
read b;
c=0;
do{
c=a*b;
b=b+1;
a=a-1;
}while(b<=20)
write c;
}
輸出結果如下:
請輸入源程序文件名(包括路徑):main.txt
詞法分析成功!
main main
( (
) )
{ {
int int
ID a
, ,
ID b
, ,
ID c
; ;
read read
ID a
; ;
read read
ID b
; ;
ID c
= =
NUM 0
; ;
do do
{ {
ID c
= =
ID a
* *
ID b
; ;
ID b
= =
ID b
+ +
NUM 1
; ;
ID a
= =
ID a
- -
NUM 1
; ;
} }
while while
( (
ID b
<= <=
ID b
<= <=
NUM 20
) )
write write
ID c
; ;
ID c
; ;
} }
=====語法分析結果!======
語法分析成功!
程序分析成功!!!

D. rs編碼中c(x)有什麼特點

rs編碼中c(x)有什麼特點?

RS碼是一類糾錯能力很強的多進制BCH碼[1],其糾錯能力和編碼效率在線性分組碼中是最高的。RS碼特別適合用於多進制調制的場合[2],同樣適用於在衰落信道中糾正突發性錯碼[3]。與此同時,RS碼能用來構造其他碼類,如級聯碼。由於其具有以上優良性能,目前已被廣泛應用在各種通信系統和計算機存儲系統中。
1 RS碼的編解碼原理及數學模型構建
RS碼是一種特殊的多進制BCH碼。設p為素數,q=pm,那麼由伽羅華域GF(q)產生的碼就稱作q進制碼。二進制BCH碼的碼長為n=2m-1,若要糾正t個錯碼,則需要2t個監督碼元。同理在q進制碼中,碼長為n=qs-1,若要糾正t個錯碼,則需要2st個監督碼元,當s=1時的q元BCH碼稱為RS碼,屬於非二元BCH碼。
1.1 RS碼的編碼
RS碼是循環碼的一種,因此其編碼方式與一般循環碼的編碼方式一致。
一個(n,k)RS碼的生成多項式g(x)為:
g(x)=(x-α)(x-α2)…(x-a2t)=(x-αi)
其中αi是伽羅華域GF(2m)={0,α0,α1,…,α2m-2}中的一個元素,t為RS碼能夠糾正的錯碼個數。
信息多項式m(x)為:
m(x)=mk-1xk-1+mk-2xk-2+…+m1x1+m0
用m(x)除以g(x),所得余式為校驗多項式h(x),將h(x)置於m(x)之後,即生成了RS碼。
編碼後的碼字多項式c(x)為:
c(x)=xn-km(x)+h(x)=xn-km(x)+[xn-km(x)]modg(x)
1.2 RS碼的解碼
RS碼是一種非二元循環碼,它不再具備特徵為2的域運算等性質[4],本文RS碼解碼演算法基於PGZ解碼演算法,主要分為以下4步:
1.2.1 計算伴隨式sk
RS碼的伴隨式是接收碼字r(x)除以生成式g(x)所得的余式。對於RS碼共有2t個伴隨式。
假設r(x)=r0+r1x+…+rnxn-1

E. Turbo碼的解碼原理

香農資訊理論告訴我們,最優的解碼演算法是概率解碼演算法,也就是最大後驗概率演算法(MAP)。但在Turbo碼出現之前,信道編碼使用的概率解碼演算法是最大似然演算法(ML)。ML演算法是MAP演算法的簡化,即假設信源符號等概率出現,因此是次優的解碼演算法。Turbo碼的解碼演算法採用了MAP演算法,在解碼的結構上又做了改進,再次引入反饋的概念,取得了性能和復雜度之間的折衷。同時,Turbo 碼的解碼採用的是迭代解碼,這與經典的代數解碼是完全不同的。
Turbo 碼的解碼演算法是最早在BCJR 演算法的基礎上改進的,我們稱以MAP演算法,後來又形成Log-MAP演算法、Max-Log-MAP以及軟輸入軟輸出(SOVA)演算法。Turbo 碼的解碼結構圖
⒈Turbo 碼的解碼結構如圖所示. Turbo 解碼器有以下的特點:
1) 串列級聯
2) 迭代解碼
3) 在迭代解碼過程中交換的是外部信息
⒉ 概率解碼解碼原理及結構
解碼時首先對接收信息進行處理,兩個成員解碼器之間外部信息的傳遞就形成了一個循環迭代的結構。由於外部信息的作用,一定信噪比下的誤比特率將隨著循環次數的增加而降低。但同時外部信息與接受序列間的相關性也隨著解碼次數的增加而逐漸增加,外部信息所提供的糾錯能力也隨之減弱,在一定的循環次數之後,解碼性能將不再提高。

F. pcm 編解碼晶元中的用到哪些濾波器這些濾波器的帶寬設置是如何考慮 的

1. 點到點PCM多路電話通信原理
脈沖編碼調制(PCM)技術與增量調制(ΔM)技術已經在數字通信系統中得到廣泛應用。當信道雜訊比較小時一般用PCM,否則一般用ΔM。目前速率在155MB以下的准同步數字系列(PDH)中,國際上存在A解和μ律兩種PCM編解碼標准系列,在155MB以上的同步數字系列(SDH)中,將這兩個系列統一起來,在同一個等級上兩個系列的碼速率相同。而ΔM在國際上無統一標准,但它在通信環境比較惡劣時顯示了巨大的優越性。
點到點PCM多路電話通信原理可用圖9-1表示。對於基帶通信系統,廣義信道包括傳輸媒質、收濾波器、發濾波器等。對於頻帶系統,廣義信道包括傳輸媒質、調制器、解調器、發濾波器、收濾波器等。
本實驗模塊可以傳輸兩路話音信號。採用TP3057編譯器,它包括了圖9-1中的收、發低通濾波器及PCM編解碼器。編碼器輸入信號可以是本實驗模塊內部產生的正弦信號,也可以是外部信號源的正弦信號或電話信號。本實驗模塊中不含電話機和混合電路,廣義信道是理想的,即將復接器輸出的PCM信號直接送給分接器。
2. PCM編解碼模塊原理
本模塊的原理方框圖圖9-2所示,電原理圖如圖9-3所示(見附錄),模塊內部使用+5V和-5V電壓,其中-5V電壓由-12V電源經7905變換得到。
圖9-2 PCM編解碼原理方框圖
該模塊上有以下測試點和輸入點:
• BS PCM基群時鍾信號(位同步信號)測試點
• SL0 PCM基群第0個時隙同步信號
• SLA 信號A的抽樣信號及時隙同步信號測試點
• SLB 信號B的抽樣信號及時隙同步信號測試點
• SRB 信號B解碼輸出信號測試點
• STA 輸入到編碼器A的信號測試點
• SRA 信號A解碼輸出信號測試點
• STB 輸入到編碼器B的信號測試點
• PCM PCM基群信號測試點
• PCM-A 信號A編碼結果測試點
• PCM-B 信號B編碼結果測試點
• STA-IN 外部音頻信號A輸入點
• STB-IN 外部音頻信號B輸入點
本模塊上有三個開關K5、K6和K8,K5、K6用來選擇兩個編碼器的輸入信號,開關手柄處於左邊(STA-IN、STB-IN)時選擇外部信號、處於右邊(STA-S、STB-S)時選擇模塊內部音頻正弦信號。K8用來選擇SLB信號為時隙同步信號SL1、SL2、SL5、SL7中的某一個。
圖9-2各單元與電路板上元器件之間的對應關系如下:
•晶振 U75:非門74LS04;CRY1:4096KHz晶體
•分頻器1 U78:A:U78:D:觸發器74LS74;U79:計數器74LS193
•分頻器2 U80:計數器74LS193;U78:B:U78:D:觸發器74LS74
•抽樣信號產生器 U81:單穩74LS123;U76:移位寄存器74LS164
•PCM編解碼器A U82:PCM編解碼集成電路TP3057(CD22357)
•PCM編解碼器B U83:PCM編解碼集成電路TP3057(CD22357)
•幀同步信號產生器 U77:8位數據產生器74HC151;U86:A:與門7408
•正弦信號源A U87:運放UA741
•正弦信號源B U88:運放UA741
•復接器 U85:或門74LS32
晶振、分頻器1、分頻器2及抽樣信號(時隙同步信號)產生器構成一個定時器,為兩個PCM編解碼器提供2.048MHz的時鍾信號和8KHz的時隙同步信號。在實際通信系統中,解碼器的時鍾信號(即位同步信號)及時隙同步信號(即幀同步信號)應從接收到的數據流中提取,方法如實驗五及實驗六所述。此處將同步器產生的時鍾信號及時隙同步信號直接送給解碼器。
由於時鍾頻率為2.048MHz,抽樣信號頻率為8KHz,故PCM-A及PCM-B的碼速率都是2.048MB,一幀中有32個時隙,其中1個時隙為PCM編碼數據,另外31個時隙都是空時隙。
PCM信號碼速率也是2.048MB,一幀中的32個時隙中有29個是空時隙,第0時隙為幀同步碼(×1110010)時隙,第2時隙為信號A的時隙,第1(或第5、或第7 —由開關K8控制)時隙為信號B的時隙。
本實驗產生的PCM信號類似於PCM基群信號,但第16個時隙沒有信令信號,第0時隙中的信號與PCM基群的第0時隙的信號也不完全相同。
由於兩個PCM編解碼器用同一個時鍾信號,因而可以對它們進行同步復接(即不需要進行碼速調整)。又由於兩個編碼器輸出數據處於不同時隙,故可對PCM-A和PCM-B進行線或。本模塊中用或門74LS32對PCM-A、PCM-B及幀同步信號進行復接。在解碼之前,不需要對PCM進行分接處理,解碼器的時隙同步信號實際上起到了對信號分路的作用。
3. TP3057簡介
本模塊的核心器件是A律PCM編解碼集成電路TP3057,它是CMOS工藝製造的專用大規模集成電路,片內帶有輸出輸入話路濾波器,其引腳及內部框圖如圖9-4、圖9-5所示。引腳功能如下:
圖9-4 TP3057引腳圖
(1) V一 接-5V電源。
(2) GND 接地。
(3) VFRO 接收部分濾波器模擬信號輸出端。
(4) V+ 接+5V電源。
(5) FSR 接收部分幀同信號輸入端,此信號為8KHz脈沖序列。
(6) DR 接收部分PCM碼流輸入端。
(7) BCLKR/CLKSEL 接收部分位時鍾(同步)信號輸入端,此信號將PCM碼流在FSR上升沿後逐位移入DR端。位時鍾可以為64KHz到2.048MHz的任意頻率,或者輸入邏輯「1」或「0」電平器以選擇1.536MHz、1.544MHz或2.048MHz用作同步模式的主時鍾,此時發時鍾信號BCLKX同時作為發時鍾和收時鍾。
(8) MCLKR/PDN 接收部分主時鍾信號輸入端,此信號頻率必須為1.536MHz、1.544MHz或2.048MHz。可以和MCLKX非同步,但是同步工作時可達到最佳狀態。當此端接低電平時,所有的內部定時信號都選擇MCLKX信號,當此端接高電平時,器件處於省電狀態。
(9) MCLKX 發送部分主時鍾信號輸入端,此信號頻率必須為1.536MHz、1.544MHz或2.048MHz。可以和MCLKR非同步,但是同步工作時可達到最佳狀態。
(10) BCLKX 發送部分位時鍾輸入端,此信號將PCM碼流在FSX信號上升沿後逐位移出DX端,頻率可以為64KHz到2.04MHz的任意頻率,但必須與MCLKX同步。
圖9-5 TP3057內部方框圖
(11) DX 發送部分PCM碼流三態門輸出端。
(12) FSX 發送部分幀同步信號輸入端,此信號為8KHz脈沖序列。
(13) TSX 漏極開路輸出端,在編碼時隙輸出低電平。
(14) GSX 發送部分增益調整信號輸入端。
(15) VFXi- 發送部分放大器反向輸入端。
(16) VFXi+ 發送部分放大器正向輸入端。
TP3057由發送和接收兩部分組成,其功能簡述如下。
發送部分:
包括可調增益放大器、抗混淆濾波器、低通濾波器、高通濾波器、壓縮A/D轉換器。抗混淆濾波器對采樣頻率提供30dB以上的衰減從而避免了任何片外濾波器的加入。低通濾波器是5階的、時鍾頻率為128MHz。高通濾波器是3階的、時鍾頻率為32KHz。高通濾波器的輸出信號送給階梯波產生器(采樣頻率為8KHz)。階梯波產生器、逐次逼近寄存器(S•A•R)、比較器以及符號比特提取單元等4個部分共同組成一個壓縮式A/D轉換器。S•A•R輸出的並行碼經並/串轉換後成PCM信號。參考信號源提供各種精確的基準電壓,允許編碼輸入電壓最大幅度為5VP-P。
發幀同步信號FSX為采樣信號。每個采樣脈沖都使編碼器進行兩項工作:在8比特位同步信號BCLKX的作用下,將采樣值進行8位編碼並存入逐次逼近寄存器;將前一采樣值的編碼結果通過輸出端DX輸出。在8比特位同步信號以後,DX端處於高阻狀態。
接收部分:
包括擴張D/A轉換器和低通濾波器。低通濾波器符合AT&T D3/D4標准和CCITT建議。D/A轉換器由串/並變換、D/A寄存器組成、D/A階梯波形成等部分構成。在收幀同步脈沖FSR上升沿及其之後的8個位同步脈沖BCLKR作用下,8比特PCM數據進入接收數據寄存器(即D/A寄存器),D/A階梯波單元對8比特PCM數據進行D/A變換並保持變換後的信號形成階梯波信號。此信號被送到時鍾頻率為128KHz的開關電容低通濾波器,此低通濾波器對階梯波進行平滑濾波並對孔徑失真(sinx)/x進行補嘗。
在通信工程中,主要用動態范圍和頻率特性來說明PCM編解碼器的性能。
動態范圍的定義是解碼器輸出信噪比大於25dB時允許編碼器輸入信號幅度的變化范圍。PCM編解碼器的動態范圍應大於圖9-6所示的CCITT建議框架(樣板值)。
當編碼器輸入信號幅度超過其動態范圍時,出現過載雜訊,故編碼輸入信號幅度過大時量化信噪比急劇下降。TP3057編解碼系統不過載輸入信號的最大幅度為5VP-P。
由於採用對數壓擴技術,PCM編解碼系統可以改善小信號的量化信噪比,TP3057採用A律13折線對信號進行壓擴。當信號處於某一段落時,量化雜訊不變(因在此段落內對信號進行均勻量化),因此在同一段落內量化信噪比隨信號幅度減小而下降。13折線壓擴特性曲線將正負信號各分為8段,第1段信號最小,第8段信號最大。當信號處於第一、二段時,量化雜訊不隨信號幅度變化,因此當信號太小時,量化信噪比會小於25dB,這就是動態范圍的下限。TP3057編解碼系統動態范圍內的輸入信號最小幅度約為0.025Vp-p。
常用1KHz的正弦信號作為輸入信號來測量PCM編解碼器的動態范圍。
圖9-6 PCM編解碼系統動態范圍樣板值
語音信號的抽樣信號頻率為8KHz,為了不發生頻譜混疊,常將語音信號經截止頻率為3.4KHz的低通濾波器處理後再進行A/D處理。語音信號的最低頻率一般為300Hz。TP3057編碼器的低通濾波器和高通濾波器決定了編解碼系統的頻率特性,當輸入信號頻率超過這兩個濾波器的頻率范圍時,解碼輸出信號幅度迅速下降。這就是PCM編解碼系統頻率特性的含義。
四、實驗步驟
1. 熟悉PCM編解碼單元工作原理,開關K9接通8KHz(置為1000狀態),開關K8置為SL1(或SL5、SL7),開關K5、K6分別置於STA-S、STB-S端,接通實驗箱電源。
2. 用示波器觀察STA、STB,調節電位器R19(對應STA)、R20(對應STB),使正弦信號STA、STB波形不失真(峰峰值小於5V)。
3. 用示波器觀察PCM編碼輸出信號。
示波器CH1接SL0,(調整示波器掃描周期以顯示至少兩個SL0脈沖,從而可以觀察完整的一幀信號)CH2分別接SLA、PCM-A、SLB、PCM-B以及PCM,觀察編碼後的數據所處時隙位置與時隙同步信號的關系以及PCM信號的幀結構(注意:本實驗的幀結構中有29個時隙是空時隙,SL0、SLA及SLB的脈沖寬度等於一個時隙寬度)。
開關K8分別接通SL1、SL2、SL5、SL7,觀察PCM基群幀結構的變化情況。
4. 用示波器觀察PCM解碼輸出信號
示波器的CH1接STA,CH2接SRA,觀察這兩個信號波形是否相同(有相位差)。
5. 用示波器定性觀察PCM編解碼器的動態范圍。
開關K5置於STA-IN端,將低失真低頻信號發生器輸出的1KHz正弦信號從STA-IN輸入到TP3057(U82)編碼器。示波器的CH1接STA(編碼輸入),CH2接SRA(解碼輸出)。將信號幅度分別調至大於5VP-P、等於5VP-P,觀察過載和滿載時的解碼輸出波形。再將信號幅度分別衰減10dB、20dB、30dB、40dB、45dB、50dB,觀察解碼輸出波形(當衰減45dB以上時,解碼輸出信號波形上疊加有較明顯的雜訊)。
也可以用本模塊上的正弦信號源來觀察PCM編解碼系統的過載雜訊(只要將STA-S或STB-S信號幅度調至5VP-P以上即可),但必須用專門的信號源才能較方便地觀察到動態范圍。

G. 編碼器的詳細工作原理

絕對脈沖編碼器:APC

增量脈沖編碼器:SPC

兩者一般都應用於速度控制或位置控制系統的檢測元件.

旋轉編碼器是用來測量轉速的裝置。它分為單路輸出和雙路輸出兩種。技術參數主要有每轉脈沖數(幾十個到幾千個都有),和供電電壓等。單路輸出是指旋轉編碼器的輸出是一組脈沖,而雙路輸出的旋轉編碼器輸出兩組相位差90度的脈沖,通過這兩組脈沖不僅可以測量轉速,還可以判斷旋轉的方向。

增量型編碼器與絕對型編碼器的區分

編碼器如以信號原理來分,有增量型編碼器,絕對型編碼器。







(旋轉型)

工作原理:

由一個中心有軸的光電碼盤,其上有環形通、暗的刻線,有光電發射和接收器件讀取,獲得四組正弦波信號組合成A、B、C、D,每個正弦波相差90度相位差(相對於一個周波為360度),將C、D信號反向,疊加在A、B兩相上,可增強穩定信號;另每轉輸出一個Z相脈沖以代表零位參考位。

由於A、B兩相相差90度,可通過比較A相在前還是B相在前,以判別編碼器的正轉與反轉,通過零位脈沖,可獲得編碼器的零位參考位。

編碼器碼盤的材料有玻璃、金屬、塑料,玻璃碼盤是在玻璃上沉積很薄的刻線,其熱穩定性好,精度高,金屬碼盤直接以通和不通刻線,不易碎,但由於金屬有一定的厚度,精度就有限制,其熱穩定性就要比玻璃的差一個數量級,塑料碼盤是經濟型的,其成本低,但精度、熱穩定性、壽命均要差一些。

解析度—編碼器以每旋轉360度提供多少的通或暗刻線稱為解析度,也稱解析分度、或直接稱多少線,一般在每轉分度5~10000線。

信號輸出:

信號輸出有正弦波(電流或電壓),方波(TTL、HTL),集電極開路(PNP、NPN),推拉式多種形式,其中TTL為長線差分驅動(對稱A,A-;B,B-;Z,Z-),HTL也稱推拉式、推挽式輸出,編碼器的信號接收設備介面應與編碼器對應。

信號連接—編碼器的脈沖信號一般連接計數器、PLC、計算機,PLC和計算機連接的模塊有低速模塊與高速模塊之分,開關頻率有低有高。

如單相聯接,用於單方向計數,單方向測速。

A.B兩相聯接,用於正反向計數、判斷正反向和測速。

A、B、Z三相聯接,用於帶參考位修正的位置測量。

A、A-,B、B-,Z、Z-連接,由於帶有對稱負信號的連接,電流對於電纜貢獻的電磁場為0,衰減最小,抗干擾最佳,可傳輸較遠的距離。

對於TTL的帶有對稱負信號輸出的編碼器,信號傳輸距離可達150米。

對於HTL的帶有對稱負信號輸出的編碼器,信號傳輸距離可達300米。

H. 重復編碼3次的傳輸效率

信道編碼主要是為了解決數據在信道中傳輸時引入的誤碼問題。

如下圖所示,解決誤碼問題有兩個辦法,一個是對錯誤數據進行重傳,稱為後向糾錯,另一個是在發送端發送數據時加入一定的冗餘信息,以便在接收端可以直接進行糾錯,稱為前向糾錯。

1.信道編碼
FEC,全稱Forward Erro Correction就是前向糾錯碼。

在數據中增加冗餘信息的最簡單方法,就是將同一數據重復多次發送,這就是重復碼,例如,將每一個信息比特重復3次編碼:0\rightarrow 000,1\rightarrow 111,在接收端根據少數服從多數的原則進行解碼,按照這種方法進行編解碼,如果錯2位就會導致解碼出錯,且傳輸效率很低。

為了提高傳輸效率,將k位信息比特分為一組,增加少量多餘碼元,共計n位,計為(n,k),這就是分組碼。

其中的監督碼元是用於檢錯和糾錯的,也可以叫做效驗碼元。

最簡單的分組碼就是奇偶效驗碼,例如,偶效驗碼:通過添加1位監督碼元使整個碼字中的1的個數為偶數,在檢錯時,對所有位做異或,如果為0,正確,如果為1,錯誤。

由此可知,奇偶效驗碼只能檢測奇數個錯誤,不能糾正錯誤。那有沒有碼可以糾正錯誤呢?漢明碼就可以檢測2位錯誤,糾正1位錯誤。以(7,4)漢明碼為例,信息碼元為4位,監督碼元為3位,如下圖所示

其中a_{2}是a_{4}a_{5}a_{6}的偶效驗碼,a_{1}是a_{3}a_{5}a_{6}的偶效驗碼, a_{0}是a_{3}a_{4}a_{6}的偶效驗碼,在糾錯時,分別對3組碼字的所有位做異或,得到一個三位的結果s_{2}s_{1}s_{0},若結果為000,則沒有錯誤,若結果為111,則a_{6}錯誤,若結果為110,則a_{5}錯誤,若結果為101,則a_{4}錯誤,其他同理。在發現錯誤位後,只要對應位取反:0改為1,1改為0,就完成了糾錯。

分組碼編碼器每次輸入k個信息碼元,輸出n個碼元,每次輸出的碼元只與本次輸入的信息碼元有關,而與之前輸入的信息碼元無關,而對於卷積碼,其編碼器輸出除了與本次輸入的信息碼元有關外,還與之前輸入的信息碼元有關,

一般用(n,k,K)來表示卷積碼,其中多了一項參數K,為約束長度,表示編碼器的輸出與本次及之前輸入的K個碼元相關。例如(2,1,3)卷積碼:編碼器每次輸入1個碼元,輸出2個碼元,這2個碼元與本次及之前輸入的3個碼元相關。

卷積碼編碼器一般使用(K-1)級移位寄存器實現,卷積碼的解碼一般採用最大似然解碼,假定信道的誤碼率為P_{e}(P_{e}< 0.5),編碼器的輸入信息序列長度為L,則輸出的碼字序列有2^{L}種可能,以L=5為例,假定接收到的碼字序列為11 01 01 00 01,則編碼器輸出的碼字序列共有32種可能:

若發送信息序列為11011,則編碼器輸出的碼字序列為11 01 01 00 01,全部碼元傳輸正確,發生這種情況的概率為\left ( 1-P_{e} \right )^{10},若發送信息序列為10011,則編碼器輸出的碼字序列為11 10 11 11 01,5個碼元傳輸錯誤,發生這種情況的概率是P_{e}^{5}\left ( 1-P_{e} \right )^{5},其他情況略,很明顯,發送信息序列為11011的概率最高,因此採用最大似然解碼時,解碼結果為1101。

不難看出,錯誤的碼元越少,發生概率越高,所以要找到發生概率最高的發送序列,只要找出誤碼數最少的發送碼字序列就可以了,兩碼字間對應位不同的個數總和稱為漢明距離,所以只要找出漢明距離之和最小的發送碼字序列就行了,例如,01和10的漢明距離為2,00和01的漢明距離為1。

最大似然解碼往往要遍歷2^{L}種可能碼字序列計算概率才能完成解碼,計算量隨著L逐級上升,難以實現,為了減少計算量,維特比發現了一種方法,被稱為維特比解碼,解碼的過程就是在解碼器網格圖種尋找一條漢明距離之和最小的路徑。

卷積碼的應用較為廣泛,如CDMA2000使用了(2,1,9)、(3,1,9)和(4,1,9)卷積碼,WCDMA使用了(2,1,9)和(3,1,9)卷積碼,LTE的控制信道採用了(3,1,7)的卷積碼進行信道編碼。

2.交織
交織和去交織是通過對寄存器按行寫入按列讀出實現的,如下圖所示。

如下圖所示,如果在信道傳輸過程中如果出現了連續誤碼,去交織後會轉變為單個誤碼,讓信道解碼更方便糾錯。

FEC結合交織可以在一定程度上解決誤碼問題,想要徹底解決,還要藉助反饋重傳技術

自動請求重傳(ARQ),發送端發送具有一定檢錯能力的碼,接收端發現出錯後,立即通知發送端重傳,如果還是錯,再次請求重傳,直至接收正確為止。

混合ARQ(HARQ):是FEC和ARQ的結合,接收端發現出錯後,盡其所能進行糾錯,糾正不了,則立即通知發送端重傳,如果還是接收錯誤,再次請求重傳,直至接受正確為止。

顯然HARQ的性能是優於ARQ的,但HARQ會導致解調門限大大提高,一般重傳次數要滿足最惡劣信道條件下在達到最大重傳次數之前能將數據傳輸正確,為了降低對解調門限的要求,移動通信系統中一般將二者結合起來使用。

利用HARQ重傳將誤碼控制在一定水平,殘留一部分誤碼給ARQ進行重傳,這樣系統性能可以達到最優。

打開CSDN APP,看更多技術內容

matlab與信道編碼,信道交織編碼及其matlab模擬_weixin_39832348的博...
1、若輸入數據經信道編碼後為X1=(x1 x2 x3 x4 x5 x6); 2、發送端交織存儲器為一個行列交織矩陣存儲器,它「按列寫入、按行讀出」; 3、進入突發信道的信號為X2=(x1 x3 x5 x2 x4 x6); ...
繼續訪問
【通信模擬】基於matlab信道編碼和交織【含Matlab源碼 1685期】_海 ...
完整代碼已上傳我的資源:【通信模擬】基於matlab信道編碼和交織【含Matlab源碼 1685期】 點擊上面藍色字體,直接付費下載,即可。 獲取代碼方式2: 付費專欄信號處理(Matlab) 備注: 點擊上面藍色字體付費專欄圖像處理(Matlab),掃描上面二維碼,...
繼續訪問
最新發布 資訊理論與編碼:信道編碼的基本概念
是指為了提高通信性能而設計信號變換,以使傳輸信號更好的抵抗各種信道損傷的影響,例如雜訊、干擾以及衰落等。實際信道中傳輸數字信號時,由於信道傳輸特性的不理想及加性雜訊的影響,我們接收到的數字信號不可避免地會發生錯誤。三種主要的信道編解碼原理。信道編碼是依據一定的規律在信息碼元中加入一定的多餘碼元,保證傳輸的可靠性。信道編碼的任務:構造以最小的多餘度(冗餘度)換取最大抗干擾性能的好碼。以上兩種編碼過程使編碼的信號比未編碼的信號具有更好的距離特性。例:c 將同一信息比特u重復n遍形成的碼字——(n,1)
繼續訪問

瑞利衰落的概念及應對技術——信道編碼、交織、跳頻
無線信道的衰落:無線信道的物理特性總是處於變化中,稱為變參信道。對於無線信道,最要命的特性莫過於衰落現象:由於多徑效應引起的小尺度效應;由於距離衰減引起的路徑損耗或者障礙物造成的陰影等大尺度效應。大小尺度時按照波長進行劃分的。 瑞利衰落:在無線通信信道中,電磁波經過反射折射散射等多條路徑傳播到達接收機後,使得總信號的強度服從瑞利分布(Multipath)。同時由於接收機的移動及其他原因,信號強度...
繼續訪問
信道編碼與交織(理論與MATLAB實現)_余睿Lorin的博客
信道編碼與交織(理論與MATLAB實現) https://blog.csdn.net/qq_43520653/article/details/111407766?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162907605916780262546833%2522%252C%2522scm%2522%253A%252220140713.130102334...
繼續訪問
每日一問 --什麼是信道編碼和交織?
解決信道的雜訊和干擾導致的誤碼問題,這就是信道編碼。
繼續訪問

BPSK+編碼+交織模擬通信鏈路
基於 matlab,搭建 BPSK+卷積編碼+交織通信收發鏈路, 模擬參數如下: 1) 信源比特速率: Rb =100 kbps;2) 卷積編碼:碼率為 1/2,生成多項式為(561,753) 3) 解碼方式:維特比解碼(硬判決解碼、軟判決解碼(8 比特量化)) 4) 交織:行列交織,交織器深度為 100bit,寬度為 10; 5) 模擬點數:106。 1. 在 AWGN 信道下,模擬並繪出該系統在硬判決和軟判決(3bit 量化)兩種解碼方式下的信源誤比特率曲線,並進行分析。 2. 設定某種交織器結構,在單徑瑞利衰落信道( 100 d f Hz = )下,採用理 想信道估計,模擬並繪出該系統
信道編碼-RS-CRC-交織(一)
RS編碼 RS編碼,又稱里所碼,即Reed-solomon codes,是一種前向糾錯的信道編碼,對由校正過采樣數據所產生的多項式有效。當接收器正確的收到足夠的點後,它就可以恢復原來的多項式,即使接收到的多項式上有很多點被雜訊干擾失真。 編碼過程首先在多個點上對這些多項式求冗餘,然後將其傳輸或者存儲。對多項式的這種超出必要值的采樣使得多項式超定(過限定)。當接收器正確的收到足夠的點後,它就...
繼續訪問
信道編碼與交織、脈沖成型
3.信道編碼與交織、脈沖成型 3.1信道編碼與交織 3.1.1FEC(前向糾錯)----重復碼&分組碼 重復碼:將同一數據發送多次,到了接收端根據少數服從多次進行解碼,傳輸效率很低 分組碼:將k位信息比特氛圍一組,增加少量碼元,共計n位 (n,k)分組碼,其中n-k位多餘碼元用於檢錯和糾錯,稱為監督碼元或校驗碼元 分組碼之奇偶校驗碼:(3,2)偶校驗碼,監督碼元只有1位,整個碼...
繼續訪問
通信中的「交織」技術
在陸地移動通信這種變參信道上,比特差錯經常是成串發生的。這是由於持續較長的深衰落谷點會影響到相繼一串的比特。然而,信道編碼僅在檢測和校正單個差錯和不太長的差錯串時才有效。 為了解決這一問題,希望能找到把一條消息中的相繼比特分散開的方法,即一條消息中的相繼比特以非相繼方式被發送。這樣,在傳輸過程中即使發生了成串差錯,恢復成一條相繼比特串的消息時,差錯也就變成單個(或長度很短),這時再用信道編碼糾錯功能糾正差錯,恢復原消息。這種方法就是交織技術。 交織技術的一般原理: 假定由一些4比特組成的消息分組,把
繼續訪問
信道編碼和交織的有效總結和理解
信道編碼的引入主要是為了解決數據在信道中傳輸時引入的誤碼問題。解決誤碼問題有兩個辦法:前向糾錯、後向糾錯 一.FEC(Forward erro correction) 1.重復碼 將每一個信息比特重復3次編碼:0→000,1→111。 接收端根據少數服從多數的原則進行解碼。 傳輸效率低 2.分組碼 為了提高傳輸效率,將k位信息比特分為一組,增加少量多餘碼元,共計n位,這就是分組碼。 包含k位信息比特的n位分組碼,一般記為(n,k)分組碼,如圖5所示。 奇偶校驗碼:只能查錯(奇數個錯誤)不能糾錯 漢明碼:.
繼續訪問

【通信系統模擬系列】基於Matlab的漢明碼(Hamming Code)糾錯傳輸以及交織編碼(Interleaved coding)模擬
基於Matlab的漢明碼糾錯傳輸以及交織編碼模擬前言原理漢明碼編碼過程冗餘位數量計算校驗位位置計算計算校驗相關位開始編碼解碼過程實驗結果模擬代碼可以修改的參數下載鏈接主函數漢明碼編解碼測試模塊漢明碼編碼器漢明碼解碼器冗餘位計算模塊交織編碼器交織解碼器隨機誤碼模塊比較模塊單極性碼生成模塊隨機碼轉單極性碼模塊後語 前言 在上一篇文章《8位16位64位等任意數量用戶CDMA直接序列擴頻通信系統的Matlab模擬》中,介紹了一種多用戶CDMA傳輸模型,但該模型存在一個缺陷,那就是無論信噪比多高,誤碼率始終無法為0,
繼續訪問

循環交織糾錯編碼c語言實現,全息存儲系統中糾錯編碼和交織技術的研究
摘要:由於信息技術的飛速發展,人們對信息存儲空間的需求越來越大。全息存儲具有超大存儲容量、存儲密度高和存取速度快的優點。因此,全息存儲技術正成為研究的熱點問題。編碼是全息存儲系統的重要問題之一,本論文主要研究全息存儲系統中的交織技術和糾錯編碼。 在交織技術方面,分別對三種二維交織技術在全息存儲系統中的應用進行了研究,其中兩種為格型交織技術A(t,1)和A(t,2),一種為循環移位交織技術。分別給出...
繼續訪問
【通信原理】#19 基於matlab的交織與解交織
5.25 #19 基於matlab的交織與解交織 交織可以解決什麼問題? 交織是為了解決突發錯誤。比如偶爾發生一個bit的錯誤,那麼可以通過諸如漢明碼、卷積碼等前向糾錯編碼將這1bit的錯誤糾正過來。但是如果傳輸過程突然受到強烈干擾,連續7、8個bit都發生錯誤,這個時候原來的前向糾錯就糾正不過來了。 一個符合直覺的解決方法就是將突發錯誤分散開,即交織。 如何進行交織? 比如塊交織。就是將序列松進交織器行進列出。解交織就是列進行出。 其他還有Algebraic interleaver、Helical
繼續訪問

【雷達通信】信道編碼和交織含Matlab源碼
1 簡介 數字信號在傳輸過程中,加性雜訊、碼間串擾等都可能引起誤碼。為了提高 系統的抗干擾性能,可以加大發送功率,降低接收設備本身的雜訊,以及合理選 擇調制、解調方法等。此外、還可以採用信道編碼技術。信道編碼是為了降低誤 碼率,提高數字通信的可靠性而採取的編碼,它按一定的規則人為引入冗餘度。 本次實驗以卷積碼為例,詳細原理參考《通信原理》第七版 11.7 節內容。 實際信道中產生的錯誤往往是突發錯誤或突發錯誤與隨機錯誤並存,如短波、 散射和有線交換等信道中。在這類信道中應用糾錯碼效果顯然不好,如果首先能
繼續訪問

卷積交織器解交織器設計.zip_交織_交織器_交織技術_分組交織器_卷積交織
交織技術通常分為分組交織和卷積交織。分組交織過程是數據先按行寫入,再按列讀出;解交織過程是數據先按列寫入,再按行讀出。其特點是結構簡單,但數據延時時間長,而且所需的存儲器比較大。
ofdm_phy.zip_OFDM 交織_交織_交織 解交織_信道 交織_自適應
Broadband Access Scenario 使用學習方法來進行無線鏈路的自適應,包含信道編碼,交織,信道建模,ofdm調制,解碼,解交織,解調等等, 一個完整的無線物理層試驗環境
【通信模擬】基於matlab信道編碼和交織【含Matlab源碼 1685期】.zip
完整代碼,可直接運行
通信-交織技術
https://www.jianshu.com/p/1517d27aa404 貼圖太麻煩了,點擊上面鏈接就可以看到原作者的文章 如果你是學通信的,當有人問你什麼是交織,你會怎麼說? 最簡單的一句話便可描述交織技術,懂的人聽到這句話就明白你的意思,就會覺得你不錯。相反,如果你對這個名詞有點印象,但又說不出什麼來,這種情況氣氛就會比較尷尬。 總結為一句話就是:交織的實質是將突發錯誤分散開來,而且交織深度越深,抗突發錯誤的能力越強。補充:交織前相鄰的符號在交織後的最小距離稱為交織深度(也叫交織距離,GSM採用的交
繼續訪問
GSM通信系統實驗
GSM 通信系統實驗 通過本實驗將正交調制及解調的單元實驗串起來,讓學生建立起 GSM 通信系統的概念,了解 GSM 通信系統的組成及特性。 由於GSM是一個全數字系統,話音和不同速率數據的傳輸都要進行數字化處理。為了將源數據轉換為最終信號並通過無線電波發射出去,需要經過幾個連續的過程。相反,在接收端需要經過一系列的反過程來重現原始數據。下面我們主要針對數據的傳輸過程進行描述。信源端的主要工作有:信道編碼用於改善傳輸質量,克服各種干擾因素對信號產生的不良影響,但它是以增加比特降低信息量為代價的。 ...
繼續訪問

交織編解碼演算法
1.交織編解碼介紹 原來做項目用到了交織編碼解碼,原理如下圖:
繼續訪問
信道編碼與信源編碼基本
1信源編碼:source coding(對應信源解碼) 信源編碼:為了提高通信有效性而對信源符號進行的變換,換言之,為了減少或消除信源冗餘度而進行的信源符號變換。具體說,就是針對信源輸出符號序列的統計特性來尋找某種方法,把信源輸出符號序列變換為最短的碼字序列,使後者的各碼元所載荷的平均信息量最大,同時又能保證無失真地恢復原來的符號序列。其作用有二:一是數據壓縮;二是模數轉換。 最原始的莫爾斯電碼,還有ASCII碼和電報碼都是信源編碼。現代通信應用中常見的信源編碼方式有:Huffman編碼、算術編碼、L.
繼續訪問
信道交織

I. BCH編碼原理

BCH碼是循環碼的一個重要子類,它具有糾多個錯誤的能力,BCH碼有嚴密的代數理論,是目前研究最透徹的一類碼。它的生成多項式與最小碼距之間有密切的關系,人們可以根據所要求的糾錯能力t很容易構造出BCH碼,它們的解碼器也容易實現,是線性分組碼中應用最普遍的一類碼。

J. LDPC碼或者Turbo碼比BCH碼強嗎 為什麼書上要單獨講。

BCH的本質就是線性循環碼,就是糾正一個錯誤循環碼,編碼也是和循環碼一樣採用生成多項式來編碼的,解碼的方法很多種,常用的硬體解碼電路就是用移位寄存器等主成,軟體解碼有錢搜索等方法,所以一般把BCH碼放在循環碼裡面或者緊挨著循環碼後面講,BCH碼講完了就是講RS碼,因為RS碼就是多進制的BCH碼,他們都是線性碼,應用范圍主要是短距離對碼率要求不高的地方,通信上很少用,但是LDPC和TURBO都不是線性碼,他們和線性循環等碼有本質的區別,無論編碼解碼都有自己的方法,而且這兩種碼都是最近幾年才出來的,LDPC1996年才開始大規模的研究,主要用於遠程移動通信上面,4G裡面用了很多LDPC,這兩種碼也是性能很高的碼,可以接近香農極限,當然,學習這兩種碼也是比較難的,當年我學的差點吐血。
至於哪種碼更好,我覺得不存在這樣一個問題,每個人每種碼都有自己的用處,比如要是用於光碟糾錯,非得BCH來,用於遠程通信,LDPC或者TURBO碼更勝任,沒有比較的意義,總之存在就是合理的,要是有一種碼是萬能的,其他碼就會消失了,你也聽不到那些名字了,所以你所了解到的東西,說明他們都是有用處的。

閱讀全文

與循環編解碼原理相關的資料

熱點內容
網站伺服器續費怎麼續費 瀏覽:534
cad等距線段快捷鍵命令 瀏覽:420
冰箱app和黑域哪個好用 瀏覽:223
鶴崗買房軟體app哪個最靠譜 瀏覽:719
python模擬登錄京東 瀏覽:282
irc命令 瀏覽:273
清空cisco交換機命令 瀏覽:760
地面波收費加密台搜不到了 瀏覽:283
小米更新一直顯示加密中 瀏覽:601
jsgzip解壓縮 瀏覽:428
邏輯電路設計怎麼編譯 瀏覽:758
捏手機解壓視頻 瀏覽:498
電腦解鎖加密分區 瀏覽:493
響應文本加密怎麼破解 瀏覽:381
tophlinux 瀏覽:719
3D減少片段數的命令是什麼 瀏覽:558
單片機phy 瀏覽:305
平板壓縮文件打不開 瀏覽:653
dijkstra演算法和a演算法 瀏覽:757
c盤桌面文件夾怎麼改到d盤 瀏覽:813