當前位置:首頁 » 編程軟體 » 卷積編解碼實驗原理

卷積編解碼實驗原理

發布時間: 2022-10-05 16:04:47

⑴ 咬尾卷積碼的原理

1、咬尾卷積碼的原理是尾卷積碼保證格形起始和終止於某個相同的狀態.它具有不要求傳輸任何額外比特的優點。Viterbi解碼器受格形狀態概率和分支度量的約束。傳輸的數據通常由一串0比特結尾,以強制編碼器回到0狀態,這樣澤碼器能從已知的狀態開始解碼,但是信道必須傳輸額外的符號。
咬尾卷積碼的約束長度為7,編碼率為1/3。卷積碼的編碼器配置如圖l所示。編碼器的移位寄存器的初始值應當沒置為輸入流的最後6位信息比特,這樣移位寄存器的初始和最終狀態保持一致。若用S0,S1,S2,...,S5表示編碼器的6個移位寄存器,則移位寄存器的初始值應當設置為:Si=Ck(k一1一i),編碼輸出流d[0],d[1],d[2]分別對應於第l、第2和第3個比特 。
2、咬尾技術具有以下優點:
●不影響編碼率,總的傳輸比特為N/R;
●不影響卷積碼的錯誤校驗屬性。
這項技術也有以下缺點:
●澤碼延遲增加了,因為必須確定正確的起始
狀態和回溯的初始狀態;
●接收器復雜度略微增加。

⑵ 如何實現labview 卷積碼編譯

卷積碼的糾錯能力不僅與約束長度有關,還與採用的解碼方式有關。總之,由於n,k較小,且利用了各組之間的相關性,在同樣的碼率和設備的復雜性條件下,無論理論上還是實踐上都證明:卷積碼的性能至少不比分組碼差。

⑶ 卷積碼的原理

DMT和卷積編碼調制在DSL中的應用

鍾曉建 潘貴敦 馬親民 梁小宇



(華中師范大學物理系武漢430079)

【摘要】討論了離散多音頻調制和網格編碼相結合的調制方式在DSL中的應用,離散多音頻調制DMT〔1〕是一種多載波調制技術,將傳輸數據根據各子帶信噪比按位分配到子帶上,使每個子帶碼元寬度大於多徑延遲。如果把調制和糾錯編碼結合起來,則可使誤碼率大大降低,是一種帶寬利用率較高的調制方式。

�關鍵詞:ADSL離散多音頻網格編碼〔2〕歐氏距離〔3〕離散傅立葉變換/逆變換

1引 言

� 隨著Internet技術的不斷發展,人們對傳輸數據的速度、質量要求越來越高,在當前為了有效地利用現有的資源——電話線,提出了DSL〔1〕(數字用戶線)的概念,使用話音頻率以上的頻帶(4 k~1.1 MHz)來調制高速數字信號,按照Δf=4.3125 kHz分割成一個個的子帶,由於Δf剛好是音頻的寬度,故命名為離散多音頻,DMT調制是基於離散傅立葉變換對並行數據進行調制解調的。隨著超大規模集成電路(VL SI)和數字信號處理(DSP)技術的不斷進步,用FFT實現實時DMT調制已付諸使用。但以往的調制解調系統,糾錯編碼與調制是各自獨立設計並實現的,解碼和解調也是如此,這樣解調器在接收信號是對信號作獨立硬判決,硬判決結果再送給解碼器解碼,這種硬判決會導致接收端信息的不可恢復的丟失,解決這個問題的方法是在接收端採用軟判決解碼。DSL技術中就是將DMT和網格編碼綜合設計,在白雜訊環境下比傳統技術的誤碼性能有了很大的提高。這種最佳的編碼調制系統是按照編碼序列的歐氏距離為設計的量度,這就要求將編碼器和調制器當作一個統一的整體進行綜合設計,使得編碼器和調制器級聯後產生的編碼信號序列具有最大的歐氏自由距離。從信號空間的角度看,這種最佳編碼調制的設計實際上是一種對信號空間的最佳分割。經過實驗分析,DMT和卷積編碼結合後的編碼增益比傳統編碼的編碼增益增加了8 dB。�

2xDSL接入設備體系結構

� 在ADSL的應用當中,其硬體體系結構大致是由線路介面、接收濾波、線路驅動、模擬前端以及DMT收發器這幾個模塊組成。其中DMT收發器在發端對數據進行復用、循環冗餘校驗、前向糾錯、子帶排序、卷積編碼、星座映射以及IFFT變換,送到模擬前端變換成模擬信號發送出去,而在收端是將模擬信號經過FFT變換、解映射、維特比解碼等一系列反變換,提交給上層。根據T1.413〔4〕標准,採用韋氏16狀態4維網格碼作為內碼,採用Reed�Solomon編碼作為前向糾錯碼,另外由於網格編碼對成塊的雜訊抵抗能力較差,因此在進行網格編碼之前將數據進行交織使雜訊分散。ADSL的DMT收發器框圖大致如圖1所示。

3DMT與卷積編碼調制原理

� 在ADSL的發送端,將數據分配到不同的子帶上,這種分配可以根據各個子帶的信噪比來確定分配的bit數。而ADSL系統為各個子帶建立並維持了一個比特數和增益大小的表,是在ATU-R一端計算出來並返回給局端。為保證後一子帶所帶的位數不小於前一子帶的位數,先對子帶進行排序,即子帶按信噪比大小從小到大進行排序。為了使編碼獲得的碼字有較大的歐氏自由距離,採用了四維TCM網格編碼,這樣位抽取是基於一對子帶的,因為一個子帶在空間上是二維的,一對相互正交的子帶在空間上則是四維的 ,相應的在解碼的時候也是一對一對的作維特比解碼。歐氏自由距離是在四維空間上計算出來的,這樣四維的陪集可以由兩個二維的陪集的聯合構成,即這樣四維TCM網格碼的歐氏自由距離可以由兩個二維星座圖的距離的平方和算出, 在解碼系統中,最可能發生錯誤的情況是在具有最小的平方歐氏距離的兩個序列�{an}和{bn}�之間,(前者是發送序列,後者是解碼序列),這一最小平方歐氏距離常又稱為平方自由距離,記做:

��編碼的目的是為了使這個平方自由距離最大。

�網格編碼調制的通過一種特殊的信號映射可變成卷積碼的形式。這種映射的原理是將調制信號集分

割成子集,是的子集內的信號間具有更大的空間距離,用編碼效率為k/(k 1)的卷積碼選擇子集,用其餘位選擇子集中的點。在DSL數字用戶環路中用16狀態的4維網格編碼的編碼器結構如圖2所示。

其中的卷積編碼部分如圖3所示。

圖2中每兩個子帶抽取的位數z′=x y-1(x為第一個子帶所帶的位數,y為第二個子帶所帶的位數)。{uz′-1,uz′-2,…u1}為原碼,輸出的是經過卷積以及異或以後的編碼,為兩個二進制碼字,即{vz-y�,vz′-y-1,…v1,v0}和{wy-1,wy-2,…w1,w0},這兩個二進制碼字將映射成兩個星座點。編碼演算法使星座點的兩個最低位決定星座點的二維陪集{v1,v0}和{w1,w0}實際上是這個上標的二進製表示。對於一幀中最後兩個碼字,為了使卷積編碼狀態{s3,s2,s1,s0}回到零狀態。讓編碼前的碼字的{u1,u2}={0,0},則最後兩對子帶抽取的位數z′=x y-3。



這樣編碼得出的信號有兩個基本特徵:

� (1)星座圖中所用的信號點數大於未編碼同種調制所需的點數(擴大了一倍),這些附加的信號點為糾錯編碼提供冗餘度。

�(2)採用卷積碼在相繼的信號點之間引入某種依賴性,因而只有某些信號點序列才是允許出現的,這些允許的信號序列可以模型化為網路結構。可用網格圖來表述。

� 在接收端對接收序列進行維特比解碼〔4〕,即最大似然解碼,可以用網格圖求最相似的路徑來描述這種演算法,它依賴於有限狀態的馬爾可夫系統的描述,包括狀態變遷以及狀態變遷的輸出碼字。在四維TCM�編碼的基礎上,解碼時要對一對一對的數據進行解碼,計算碼距時也是以四維空間的歐氏距離為標准,取最相似的一條路徑。對於長度為L m的網格路徑(L為信息序列的長度,m表示後綴為m個0向量)接收序列為所有的網格路徑在零時刻發散於同一個初始狀態、收斂於第j時刻(j=L m)的同一個最後一狀態。在理想狀況下,對於一個存儲量無限度的通道,可以將所有可能的路徑都記錄下來,然後選擇其中對數似然函數值最大的作為解碼結果。

對數似然函數是將接收序列判定為某條路徑的序列的條件概率的對數

��這里的對數似然函數取最大值,實際上是接收的碼序列與估計路徑的碼之間的距離取最小值,是基於歐氏空間距離來計算的。在這里維特比解碼演算法的核心是回退的觀點,採用動態規劃法存儲數據,如果對每條可能的路徑進行存儲的話,隨著解碼深度的增加,存儲量將成4的指數增長,這在現實條件下是不可能的。因為每個節點都有四個分支(二輸入十六狀態的網格圖),因此我們對於j時刻到達的某一狀態

δi(i=1,2…,S-1),進行加—比—選操作,即將所有可能前一時刻的狀態的最大似然函數∧j-1(δp)與當前接收的序列和前一狀態到當前狀態的估計碼的似然度相加,選擇其中最大的作為j時刻i狀

態的最大似然函數值,並在倖存序列j(δi)在原來的基礎上加上這條最優的路徑u〔δp→δi〕。這樣給出的演算法可以表述為:

� 變數/存儲:

� S—狀態數(DSL為16);

� T—每一狀態的分支數(4);

� j—時刻編號,即第j時刻

�對於用卷積編碼完畢的序列可以直接送到數字信號處理器中作IDFT〔5〕變換成串列數據了。每個子帶i的二進制碼字可以映射成星座圖上的復數點(Zi=ai jbi),為了使輸出信號為實信號,頻域上的子帶i的復數值(i≥N′,N′=N/2)為

��Zi=conj�(ZN-i),(i≥N′,N′=N/2)

即取共軛復數,這樣經過離散傅立葉逆變換,得到時域信號:

��此信號經過並/串變換,再通過A/D變換,變成模擬信號送到線路上進行傳輸。

4模擬結果

� 我們在應用Itex公司的ADSL解決方案中,用該公司提供的局端模擬工具IADT對ADSL鏈路性能進

行模擬,得到ADSL每個子帶(從0~255)的信噪比,再根據這個預測值來確定每個子帶的位數和增益值。

從而建立一個與子帶一一對應的表,其線路預測的信噪比曲線如圖4所示。

我們可以看到,測得的線路上行速率為544

kbps,網路速率(去掉ADSL鏈路開銷)為448 kbps,下行鏈路速率為8 160 kbps,網路速率為7 616 kbps。

5總 結

� 本文描述了在帶寬受限的信道採用DMT和卷積編碼相結合的技術,將調制與糾錯編碼結為一體,高效利用了現有的帶寬。隨著ADSL技術的逐漸成熟,該編碼技術也正在應用於其它領域,如無線通信,針對其信道的衰減特性可以獲得較高的帶寬利用率。在具體硬體實現上,由於超大規模集成電路的發展,硬體已不再是信號處理的瓶頸了,如以上分析的維特比解碼,其對硬體的需求是隨著N的增大而迅速增加,需要上十萬的門電路實現,現已有單片的維特比解碼器,或是在特殊的應用中集成在一塊數字晶元中,同時完成RS編碼、交織、FFT變換等等。

�參考文獻



1Asymmetrical Digital Subscriber Lines(ADSL)�ITU-T�Recommendation G.992,Geneva,June,1999

2曹志剛,錢亞生.現代通信原理.北京:清華大學出版社

3Stephen G Wilson.digital Molation and Coding,○C1996 byPrentice�Hall,Inc

4ANSI T1.413�1998,COMMITTEE T1—Telecommunications Working Group T1E1.4 T1E1.4/98�007R5,1998

5John G Proakis.Digital Communications,Third edition,McGraw�Hill 1998

⑷ 卷積碼編解碼器的Matlab模擬實現

卷積程序我還是有的:
function [f,k]=conv_m(f1,k1,f2,k2)
%計算連續信號卷積積分f(t)=f1(t)*f2(t)
% f: 卷積積分f(t)對應的非零樣值向量
% k:f(t)的對應時間向量
% f1: f1(t)非零樣值向量
% f2: f2(t)的非零樣值向量
% k1: f1(t)的對應時間向量
% k2: f2(t)的對應時間向量
% p:取樣時間間隔
p=input('p=');
f=conv(f1,f2); %計算序列f1與f2的卷積和f
f=f*p;
k0=k1(1)+k2(1); %計算序列f非零樣值的起點位置
k3=length(f1)+length(f2)-2; %計算卷積和f的非零樣值的寬度
k=k0:p:k3*p; %確定卷積和f非零樣值的時間向量
subplot(2,2,1)
plot(k1,f1) %在子圖1繪f1(t)時域波形圖
title('f1(t)')
xlabel('t')
ylabel('f1(t)')
subplot(2,2,2)
plot(k2,f2) %在子圖2繪f2(t)時波形圖
title('f2(t)')
xlabel('t')
ylabel('f2(t)')
subplot(2,2,3)
plot(k,f); %畫卷積f(t)的時域波形
h=get(gca,'position');
h(3)=2.5*h(3);
set(gca,'position',h) %將第三個子圖的橫坐標范圍擴為原來的2.5倍
title('f(t)=f1(t)*f2(t)')
xlabel('t')
ylabel('f(t)')

⑸ 卷積碼的表示方法

描述卷積碼編碼器過程的方法有很多,如矩陣法、多項式、碼樹和網格圖等,這里我們主要介紹和卷積碼編碼器結構密切相關的多項式法,以及與卷積碼解碼密切相關的網格圖法。
結構圖多項式法就是由卷積碼的生成多項式直接得出其編碼器的結構圖。如前面例子中的(2,1,2)卷積碼的生成多項式矩陣為:G(D)=[1 ,1 ]
其中,D是延遲運算元,生成多項式的第一項為1 D ,表示輸出編碼的第一個碼元等於輸入碼元x(n)與前兩個時刻輸入的碼元x(n-1)、x(n-2)的模2和,同理第二項類似。 將編碼器寄存器中的內容組合(x(n-1)、x(n-2))定義為編碼器狀態。如仍以前面所舉的例子(2,1,2)為例,則該編碼器的狀態有四種:00,10,01和11,下面分別用a,b,c,d來代替。編碼器在每一個時鍾沿打入一個輸入信息x(n),因此圖示寄存器組合內容就變為(x(n),x(n-1))即狀態發生了轉移,並同時輸出G0(n)、G1(n)。由此我們可以將圖所示編碼過程用右圖所示的狀態圖表示。
編碼器
由圖所示,隨著信息序列不斷輸入,編碼器就不斷從一個狀態轉移到另一個狀態並同時輸出相應的碼序列,所以圖3所示狀態圖可以簡單直觀的描述編碼器的編碼過程。因此通過狀態圖 很容易給出輸入信息序列的編碼結果,假定輸入序列為110100,首先從零狀態開始即圖示a狀態,由於輸入信息為「1」,所以下一狀態為b並輸出「11」,繼續輸入信息「1」,由圖知下一狀態為d、輸出「01」……其它輸入信息依次類推,按照狀態轉移路徑a->b->d->c->b->c->a輸出其對應的編碼結果「110101001011」。
網格圖
狀態圖可以完整的描述編碼器的工作過程,但是其只能顯示狀態轉移的過程而不能顯示狀態轉移發生的時刻,由此引出用來表示卷積碼的另一種常用方法——網格圖。網格圖就是時 間與對應狀態的轉移圖(如圖),在網格圖中每一個點表示該時刻的狀態,狀態之間的連線表示狀態轉移。通過觀察網格圖可以發現在網格圖中輸入信息x(n)並沒有標出,但如觀察到轉移後的狀態表示(x(n),x(n-1))就可以發現輸入信息已經隱含在轉移後的狀態中。在圖中還可以發現兩個網格圖不同主要集中在轉移後狀態位置不同。重新排序結構(即所謂蝶型結構)是為了優化運算而設計的,因為其中蝶型與蝶型之間是相互獨立的。

⑹ 什麼是卷積編碼

卷積碼是將k個信息比特編成n個比特,但k和n通常很小,特別適合以串列形式進行傳輸,時延小。
卷積碼定義:

若以(n,k,m)來描述卷積碼,其中k為每次輸入到卷積編碼器的bit數,n為每個k元組碼字對應的卷積碼輸出n元組碼字,m為編碼存儲度,也就是卷積編碼器的k元組的級數,稱m+1= K為編碼約束度m稱為約束長度。卷積碼將k元組輸入碼元編成n元組輸出碼元,但k和n通常很小,特別適合以串列形式進
卷積碼的編碼器
行 傳輸,時延小。與分組碼不同,卷積碼編碼生成的n元組元不僅與當前輸入的k元組有關,還與前面m-1個輸入的k元組有關,編碼過程中互相關聯的碼元個數為n*m。卷積碼的糾錯性能隨m的增加而增大,而差錯率隨N的增加而指數下降。在編碼器復雜性相同的情況下,卷積碼的性能優於分組碼。
編碼原理:
卷積碼編碼器
以二元碼為例,編碼器如圖。輸入信息序列為u=(u0,u1,…),其多項式表示為u(x)=u0+u1x+…+ulxl+…。編碼器的連接可用多項式表示為g(1,1)(x)=1+x+x2和g(1,2)(x)=1+x2,稱為碼 的子生成多項式。它們的系數矢量g(1,1)=(111)和g(1,2)=(101)稱作碼的子生成元。以子生成多項式為陣元構成的多項式矩陣G(x)=[g(1,1)(x),g(1,2)(x)],稱為碼的生成多項式矩陣。

熱點內容
內置存儲卡可以拆嗎 發布:2025-05-18 04:16:35 瀏覽:336
編譯原理課時設置 發布:2025-05-18 04:13:28 瀏覽:378
linux中進入ip地址伺服器 發布:2025-05-18 04:11:21 瀏覽:612
java用什麼軟體寫 發布:2025-05-18 03:56:19 瀏覽:32
linux配置vim編譯c 發布:2025-05-18 03:55:07 瀏覽:107
砸百鬼腳本 發布:2025-05-18 03:53:34 瀏覽:944
安卓手機如何拍視頻和蘋果一樣 發布:2025-05-18 03:40:47 瀏覽:741
為什麼安卓手機連不上蘋果7熱點 發布:2025-05-18 03:40:13 瀏覽:803
網卡訪問 發布:2025-05-18 03:35:04 瀏覽:511
接收和發送伺服器地址 發布:2025-05-18 03:33:48 瀏覽:372