在數位通訊系統中,前饋式錯誤更正技術(Forward Error Correction;FEC)經常被應用在資料的保護上,以免資料在傳輸過程中因為錯誤的發生而造成無法挽救的資料喪失。(圖一)所示之範例為前饋式錯誤更正碼在通訊系統之應用;傳送端的資料在經過通道編碼器編碼之後,傳送到通道上時受到雜訊干擾所造成的資料錯誤便可在接收端使用前饋式錯誤更正碼的技術在可容許的範圍內將這些錯誤更正回正確的資料數值,以達到對資料傳輸的正確性保護。
相對於信源編碼(Source Coding)技術(例如Huffman Coding、MPEG、JPEG等)將資料壓縮的特性,前饋式錯誤更正技術則是在原始資料後再加上一段冗餘資料(檢驗碼),使得在接收端能夠偵測到資料傳輸時所發生的錯誤,並更進一步地將錯誤更正回正確的資料。目前較常見的前饋式錯誤更正碼有漢明碼(Hamming code)[1]、BCH碼[2]、里德所羅門碼(Reed Solomon code)[1]、迴旋碼(Convolutional code)[1]、渦輪碼(Turbo code)[3]以及低密度奇偶校驗碼(Low-Density Parity-Check code;LDPC code)[4]。
《圖一 前饋式錯誤更正碼應用於通訊系統中通道編碼之區塊圖》 |
里德所羅門碼
在各式各樣的前饋式錯誤更正碼中,里德所羅門碼對於叢集錯誤(Burst error)與隨機錯誤(Random error)具有很好的錯誤更正能力,並且具有只加入最低冗餘資料的特性,因此成為非常受歡迎的通道編碼方式之一;也由於這個重要的因素,使得里德所羅門碼被廣泛地應用在各種通訊傳輸系統上,例如無線通訊系統(Wireless Communication System)、纜線數據機(Cable Modem)[5]、主記憶體(Main Memory)及快閃記憶體(Flash)、光通訊系統(Optical Communication Systems)、數位用戶迴路(Digital Subscriber Line;xDSL)[6]、光碟儲存設備(CD、DVD)[7]、高畫質電視(HDTV)和數位視訊廣播系統(Digital Video Broadcasting Systems;DVB)[8]等等。
既然可以看到這麼多錯誤更正碼的應用,以下首先來瞭解里德所羅門碼的規格定義;一組里德所羅門碼的碼字(codeword)包含兩個部份:原始資料與冗餘資料。錯誤更正碼主要的原理就是利用加入的冗餘資料來達到對整個資料做保護的動作,使得整個碼字具有可更正錯誤的能力,其中冗餘資料的長度為最大錯誤更正能力的兩倍長。里德所羅門碼的規格定義如(圖二)所示,一組里德所羅門碼包含兩個部分:原始資料與冗餘資料,其中冗餘資料的長度為最大錯誤更正能力的兩倍長。雖然里德所羅門碼被應用在各種系統之中,但根據要被保護之資料的錯誤機率便有不同的規格來定義,如(表一)所示。其中n表示碼字長度,k表示原始資料長度,而t則為其最大錯誤更正能力。
《圖二 里德所羅門碼規格定義》 |
接下來將透過里德所羅門碼在各種系統架構中之應用實例,讓讀者對錯誤更正碼有更進一步的了解。
里德所羅門碼之系統應用實例
在CD中使用的里德所羅門碼有兩種規格:RS(28, 24, 2)與RS(32, 28, 2);在DVD中使用的里德所羅門碼也有兩種規格:RS(182, 172, 5)與RS(208, 192, 8);光通訊系統OC-192則使用RS(255, 239, 8);數位視訊地面廣播系統(即我國數位電視所採用之系統)DVB-T中制定的規格為RS(204, 188, 8)。
《表一 各應用之里德所羅門碼規格》 |
光碟儲存系統
在CD光碟儲存系統中,使用的是交叉交錯的里德所羅門碼(Cross-Interleaved RS Code,CIRC)。原始資料先使用RS(28, 24, 2)編碼之後,將不同區段資料的輸送經過不同時間長度的延遲,使得資料交叉交錯後,再使用RS(32, 28, 2)進行二度編碼,如此可以有效地提升CD在出現連續大量的錯誤時的錯誤更正能力。而在DVD光儲存系統中,則使用了二維的里德所羅門碼(Reed Solomon Product Code;RS-PC)作為其通道編碼。如(圖三)所示,每一列都是一組RS(182, 172, 5)里德所羅門碼,而每一行又都是一組RS(208, 192, 8)里德所羅門碼,透過雙重的編碼保護,以確保其高度的錯誤更正率。
《圖三 DVD系統中里德所羅門編碼結構》 |
超高速光纖通訊系統
由於光纖網路的速度及頻寬上有著極快速的增長,使得下一代的光纖網絡面臨著極大的衝擊。但長距離傳輸使得光學訊號會經過許多的光學儀器,而導致光學訊號受到光學損傷因而產生大量的衰減。一些損傷可以利用光學上的特性來加以補償,如:擴散補償纖維(DCF)和光學極化模式擴散(PMD)補償。由於這些光學上的技術欠缺彈性且成本昂貴,所以必須利用電子補償來取而代之,以降低成本並提供更彈性的設計。在光纖通訊OC-192系統中,由於資料傳輸率的要求高達10Gbps,此時錯誤更正碼的運算速度便為設計上的主要技術瓶頸所在。因此使用CWDM將光纖訊號轉為四條平行電子訊號,每條通道上各需要一組里德所羅門碼作為錯誤更正之用,其編/解碼器必須支援2.5Gbps的頻寬。在這樣的頻寬要求下,不管在複雜度上和功率消耗上都變成極端地具有挑戰。因此我們的設計重點為演算法的改進、高速平行化的處理架構、以及高速的算術處理單元設計,以達到經濟且低功率的設計。里德所羅門碼的硬體電路架構勢必要採用平行化的資料處理模式,以加快資料運算的速率,如(圖四)所示。
《圖四 OC-192光纖通訊系統》 |
數位視訊廣播系統
近年來,隨著國內數位電視開播,地面數位視訊廣播系統已漸漸廣為人知。目前我國採用的數位電視DVB-T標準中,使用迴旋碼與里德所羅門碼RS(204, 188, 8)做為前饋式錯誤更正碼,其系統區塊圖如(圖五)所示。
《》 |
在DVB-T中,里德所羅門碼之頻寬要求不足60Mbps,遠比光通訊OC-192系統小得多。因此在硬體電路設計上可採用折疊的架構方式,減少資料運算處理電路面積,透過重覆使用相同運算元處理多筆資料來節省電路面積成本,以求在仍可滿足頻寬需求的條件下降低電路成本。
《圖五 數位電視DVB-T系統區塊圖》 |
數位用戶迴路
里德所羅門碼也被應用在寬頻網路如數位用戶迴路(xDSL)中。在數位用戶迴路系統中,里德所羅門碼必須能動態改變其編/解碼規格以因應傳輸頻寬的變動。換句話說,在這樣的系統要求下,必須設計一個可動態重組的(Dynamic Reconfigurable)里德所羅門編/解碼電路,而能因應各種編碼長度與最大錯誤更正能力,方能滿足系統規格要求。因此,在電路架構上,資料路徑的規律性與易於控制性將會是設計的重點之一,而這兩點將會直接地影響到編/解碼電路架構的可重組化彈性(Flexibility)。
相關研究設計
高速平行化設計
由於不同的系統對於前饋式錯誤更正碼在頻寬與規格要求上的差異,使得里德所羅門碼在編/解碼硬體電路設計的考量點也有所不同。在超高速系統如光纖通訊OC-192標準中,其電路架構趨向於平行化的資料處理,以電路成本換取更高的資料傳輸率[9]。但單純的平行化的設計,會造成硬體電路大大的浪費,因此我們提出一個能夠達到高速光纖傳輸速率且兼具低成本高效率考量的設計[10],其架構如(圖六)所示,其運算效率是存在文獻的三到四倍以上。
《圖六 適用於光纖通訊系統之里德所羅門碼架構及晶片設計》 |
多模式應用設計
在某些系統中,其應用之前饋式錯誤更正碼並非單一規格,而是必須隨著實際使用時的需要,動態改變編/解碼的規格。對於此種系統,如數位用戶迴路系統(xDSL Systems)及纜線數據機系統(Cable Modem),在這兩者的應用中,系統必須偵測傳輸通道的品質,進而調整系統較為適合的規格以符合整體傳輸的高效能,稱之為多模式系統(multi-mode systems)。為符合此多模式系統,因此一個可動態重組的編/解碼電路會是十分合適的設計方向。
以下提出可重組化的里德所羅門碼矽智產(RC-RS Hard-IP)設計[11]、[12],其設計概念如(圖七)所示,是利用可重組的特性。使得一個矽智產在各式各樣不同的規格應用上都可輕易地經過重組化即可使用,不僅省去重新設計的負擔亦可以大大的降低成本的浪費,例如根據不同規格而需要不同晶片來符合不同的應用。希望藉由一個可重組化的矽智產設計來取代不同應用的晶片,此矽智產可以適用於各種不同的里德所羅門碼規格,在不需要重新設計硬體電路情況下,只需利用控制訊號,藉由控制引擎來變更硬體的資料運算路徑(data-path)便可以符合各種傳輸系統規格的應用。(此設計曾參與91學年度-大學校院矽智產(SIP)設計競賽,榮獲不定題組Hard-IP類優等獎及獲選2004年CIC優良晶片設計。)
《圖七 可重組化的里德所羅門碼矽智產(RC-RS Hard-IP)設計》 |
結論
隨著科技的進步發展,在有限的通道資源下,我們對於資料傳輸頻寬的需求在未來勢必會愈趨近於頻道容量(Channel Capacity)。而為了達到此一目標,必須繼續加強前饋式錯誤更正技術,研究開發更先進的通道編/解碼電路。今日的通道編碼理論已發展出能趨近向農極限(Shannon Limit)的前饋式錯誤更正碼,而在硬體電路的實現上則仍有待克服,相信在不久的將來可實現出可趨近向農極限的前饋式錯誤更正碼電路。
(作者吳安宇為台大電子工程研究所/台大系統晶片中心研發教授;游志強與許槐益為研究生)
<參考文獻
[1] S. Lin and D. J. Costello, Jr., Error Control Coding: Fundamentals and Applications, Englewood Cliffs, NJ: Prentice-Hall, 1983.
[2] R. Blahut, Theory and Practice of Error Control Codes, Addison-Wesley Co., 1983.
[3] C. Berrou, A. Glavieux, and P. Thitimajshima, "Near Shannon limit error-correcting coding and decoding: Turbo codes," in Proc. ICC, pp. 1064-1070, May 1993.
[4] R. Gallager, "Low-Density Parity-Check Codes," IRE Trans. Info. Theory, vol. 7, Jan. 1962, pp. 21-28.
[5] "Annex B to ITU-T Recommendation J.83, Digital multi-programme systems for television sound and data services for cable distribution," Oct. 1995.
[6] Dennis J. Rauschmayer, "ADSL/VDSL Principles: A Pracitical and Precise Study of Asymmetric Digital Subscriber Lines and Very High Speed Digital Subscriber Lines," Macmillan Technical Publishing, Indianapolis, 1999.
[7] Stephen B. Wicker, "Error Control Systems for Digital Communication and Storage," Prentice Hall, 1995.
[8] ETSI, "Digital video broadcasting (DVB); Framing structure, channel coding, and modulation for digital terrestrial television," ETSI EN 300 744 v1.5.1, Jun. 2004.
[9] L. Song, M. L. Yu, and M. S. Shaffer, "10- and 40-Gb/s Forward Error Correction Devices for Optical Communications," IEEE Journal on Solid-State Circuits, vol. 37, no. 11, Nov. 2002. pp. 1565-1573.
[10] Huai-Yi Hsu, Jih-Chiang Yeo, and An-Yeu Wu, "Area-Efficient VLSI Design of Reed-Solomon Decoder for 10GBase-LX4 Optical Communication Systems," in Proc. IEEE Asia-Pacific Conference on Advanced System Integrated Circuits (AP-ASIC 2004), Fukuoka, Japan, pp. 314-317, Aug. 2004.
[11] Jih-Chiang Yeo, Huai-Yi Hsu, and An-Yeu Wu, "A Scalable Reed-Solomon Decoding Processor based on Unified Finite-field Processing Element Design," in Proc. IEEE Workshop on Signal Processing Systems (SiPS-2004), Austin, USA, pp. 148-151, Oct. 2004.
[12] Huai-Yi Hsu and A.-Y Wu, "VLSI Design of A Reconfigurable Multi-mode Reed-Solomon Codec for High-Speed Communication Systems," in Proc. IEEE Asia Pacific Conf. on ASICs (AP-ASIC 2002), Taipei, ROC, pp. 359-362, Aug. 2002.>