接上文,來(lái)詳細(xì)的說(shuō)明一下FEC前向糾錯(cuò)的具體實(shí)現(xiàn): FEC_matrix是一個(gè)比較常用的算法,,Vandermonde,范德蒙矩陣是法國(guó)數(shù)學(xué)家范德蒙提出的一種各列為幾何級(jí)數(shù)的矩陣,。 范德蒙矩陣的定義: V = 其第i 行、第j 列可以表示為(αi)^(j-1),。 范德蒙矩陣的性質(zhì):范德蒙矩陣行數(shù)為m,,列數(shù)為n,矩陣具有最大的秩min(m, n),。 范德蒙矩陣的應(yīng)用:范德蒙矩陣應(yīng)用之一就是在糾錯(cuò)編碼中,,常用的糾錯(cuò)碼Reed-solomon 編碼中冗余塊的編碼采用的即為范德蒙矩陣。 1)碼流層面上的FEC編碼 在塊編碼中,,信道編碼器將對(duì)碼流中連續(xù)的k個(gè)比特劃分成一塊,,然后對(duì)這k個(gè)比特添加n-k個(gè)冗余比特,產(chǎn)生一個(gè)n比特的編碼塊,。編碼塊經(jīng)過(guò)信道后傳送到接收端,,這種編碼塊稱為(n,k)塊編碼,,其中k個(gè)比特稱作信息位,,n-k個(gè)比特稱作校驗(yàn)位
碼流層面上的FEC編碼示意圖 (n,k)可以糾正長(zhǎng)為b比特的突發(fā)錯(cuò)誤,,其中b<=[1/2(n-k)}];如果知道發(fā)生錯(cuò)位的位置,,那么FEC可以糾正長(zhǎng)度為b比特的錯(cuò)誤,, b<=n-k。 2)數(shù)據(jù)包層面上的FEC編碼 數(shù)據(jù)包層面上的FEC編碼常用語(yǔ)恢復(fù)傳輸過(guò)程中丟失的數(shù)據(jù)包,,這種FEC編碼的基本思想是首先將碼流分成多個(gè)分段,,這些分段構(gòu)成多個(gè)原始數(shù)據(jù)包,然后采用塊編碼,,有k個(gè)原始的數(shù)據(jù)包產(chǎn)生n-k個(gè)冗余包,,構(gòu)成包含n個(gè)數(shù)據(jù)包的塊,其中n>k,。這個(gè)n-k個(gè)冗余包和k個(gè)數(shù)據(jù)包一起都通過(guò)信道進(jìn)行傳輸,。如果原始數(shù)據(jù)包沒(méi)有丟失,那么接收端可以忽略所有的冗余包,,如下圖是有誤碼情況下FEC編解碼示意圖,。 有誤碼(或丟失)情況下的FEC編解碼示意圖 一般地,F(xiàn)EC編碼會(huì)存在以下問(wèn)題: 1)FEC造成傳輸速率的增加,。這是因?yàn)閗個(gè)信息比特就要增加n-k個(gè)冗余比特,,因此傳輸碼率要擴(kuò)大n/k倍。另外,,信道誤碼率越高,,恢復(fù)誤碼所需要的傳輸速率就越高。 2)FEC使傳輸時(shí)延增加,。這是因?yàn)樾诺谰幋a器需要得到k個(gè)數(shù)據(jù)包才能開(kāi)始進(jìn)行信道編碼,。而信道解碼器也必須正確接收到k個(gè)數(shù)據(jù)包后才能開(kāi)始解碼。 3)FEC難以適應(yīng)信道誤碼特征性的動(dòng)態(tài)變化,,只有在信道狀態(tài)穩(wěn)定時(shí)才能得到良好的性能,。在信道狀況惡化的情況下,如果信道保護(hù)不足,,傳輸中出現(xiàn)的誤碼超出了FEC的誤碼恢復(fù)能力,,那么FEC編碼不僅沒(méi)有起到保護(hù)作用反而造成傳輸帶寬的浪費(fèi)。反之,,如果在信道狀況良好的時(shí)候施加過(guò)多的信道保護(hù),,人會(huì)造成傳輸資源的浪費(fèi)。因此,,在無(wú)線,、因特網(wǎng)這類時(shí)變得網(wǎng)絡(luò)中進(jìn)行視頻流傳輸時(shí),往往采用自適應(yīng)的FEC保護(hù)機(jī)制,。 RS碼類糾刪碼:RS碼類生成的矩陣為范德蒙矩陣和柯西矩陣,,相應(yīng)的糾刪碼分別為范德蒙碼和柯西碼。 低密度糾刪碼: 基于刪除信道的低密度校驗(yàn)碼(LDPC碼)稱為低密度糾刪碼,,它的生成矩陣為系數(shù)矩陣,。 RS碼是一類有很強(qiáng)糾錯(cuò)能力的多進(jìn)制BCH碼,,也是一類典型的代數(shù)幾何碼。RS碼廣義上屬于BCH碼的一個(gè)子類,,但因?yàn)镽S編碼基于非二進(jìn)制符號(hào),,所以它不但繼承了BCH碼抗隨機(jī)誤碼的能力,同時(shí)又具有抗突發(fā)誤碼的能力,,通常作為糾刪碼的使用,。 RS碼根據(jù)其生成矩陣不同,可分為范德蒙碼和柯西碼,。
|
|
來(lái)自: Heartskyfree > 《FEC》