牛秋娜, 王景景, 聞衛軍, 劉 云
(青島科技大學 信息科學技術學院, 山東 青島 266061)
“信息論與編碼”是信息工程、通信工程等信息類專業一門重要的專業課,更是廣大學習者學習通信系統和信息處理的知識基礎。課程理論性強,概念抽象,教學內容結合了較多繁瑣細致的數學推理和計算[1]。課程的理論知識應用廣泛,教學目標希望學生通過此課程掌握信息通信的基礎理論和信源編碼、 信道編碼及密碼等方面的算法原理及其實踐應用[2]。但是由于課時較少,目前多數高校忽略了課程的實踐性,教學方式多為課堂教學。實驗課程在高等教育中的作用舉足輕重,在合理應用理論、理論與實驗相結合的環境中,可以有效地訓練學生對實驗方法、操作技能的掌握。實驗教學在培養學生“發現問題、分析問題、解決問題”方面起著拓展思維、激發創新精神的重要作用[3]。基于此,本文利用Matlab的GUI(圖形用戶界面)設計工具[4],設計和開發了交互式信息編碼實驗系統。
信息論課程主要包括信源編碼、信道編碼和保密編碼三大編碼。綜合參考國內外高校常用的經典教程[5-9],該實驗系統實現的主要編碼方法可以滿足日常實踐環節的需要。
實驗系統緊扣教學內容,將復雜的計算程序和代碼設計以M語言回調函數(Callback Function)文件的形式隱藏于后臺,通過交互式界面調用這些函數,完成使用者需要的演示操作。系統具有親和美觀、簡單易用的界面,能夠為學習者提供信息編碼和譯碼的演示和過程分析。學生在使用過程中既可以通過每個子模塊學習不同的算法原理,又可以根據所選擇的編碼方法,在交互式界面中輸入各參數及不同的待編碼序列,用以驗證不同參數輸入后的編、譯碼結果。另外,系統的擴展性極強,通過在主界面上加入控件,并合理設計相關回調函數便可以方便的加入新的編碼算法。因此該實驗系統能很好地滿足實驗需求。
軟件提供的算法涵蓋了課程的主要知識體系,系統主界面如圖1主界面所示。系統設計流程見圖2。

圖1 信息論編碼實驗教學系統界面

1.3.1信源編碼實驗舉例
以算術編碼技術為例,如對符號序列“bbbababa”進行編碼,設單符號a、b概率分布為:Pa=0.25,Pb=0.75,算術編碼結果見圖3。
即,序列積累概率為0.609 44,相應的序列概率為8.075,所以編碼碼長應取9,對應編碼后的序列為100111000。

圖3 算術編碼示例
1.3.2信道編碼實驗舉例
以(3,1,2)卷積碼為例,如輸入待編碼序列u=(10110),軟件輸出界面如下圖4左半部分。可知編碼后輸出的碼字為(111 001 100 110 010 011 000)。


圖4 (3,1,2)卷積碼編碼示例
軟件譯碼后的輸出結果如圖4右半部分。為了增加學生對Viterbi譯碼算法的感性認識,通過GUI的axes控件設計了譯碼路徑顯示區[10],能按時序顯示出Viterbi譯碼在網格圖中選擇的譯碼路徑。如圖4示例中顯示的最終譯碼路徑確定前各時序譯碼路徑選擇如圖5示。
由于卷積碼是有記憶的編碼,為了確保存儲單元內的信息都被輸出,在本系統中取延時為3個時間單元。考慮到延時的影響,應當在被譯碼的接收碼序列后面添加若干個0。同時為四個狀態各開辟一個3單元的存儲器,用來存儲3個時間單元的碼字[11]。因此,在圖4中, 本系統顯示的譯碼網格圖中看出前三個時刻輸出都為0。同時,譯碼結果中也包括因為3個時延單元造成的3個0,即u=(00010110)。去掉前面因延時而帶來的3個0,結果與發端編碼一致,差錯得到糾正。






圖5 (3,1,2)卷積碼Viterbi譯碼算法譯碼路徑選擇圖
“信息論與編碼”是一門理論和實踐相結合的課程,對于工科學生來說,在理論課程學習內容的基礎上,學生更應該能夠學以致用。合理設置實驗內容是提高學生學習興趣、培養創新思維和動手能力,增強學習效果的有利措施[12-13]。在實驗的設置中,我們可以結合該實驗系統開設驗證性實驗、設計性實驗和仿真性實驗。
驗證性實驗有清晰的實驗原理和較為固定的實驗方法,目的是希望學生借助此實驗環節得到與理論分析推導一致的結果[14-15]。通過此類實驗學生可以獲得較高成功率的實驗結果,因此一定程度上可以更好地激發學生的學習興趣,增強動手實驗的主動性。
實驗安排主要包括各類熵的計算、驗證和分析率失真函數,以及在實驗系統下完成各算法編譯碼所需參數的設定,并在交互界面上輸入相關信息驗證實驗結果。如無失真信源編碼中Shannon編碼、Fano編碼和Huffman編碼都是概率類編碼算法,故此實驗要求完成各算法編碼效率的比較。
設計性實驗希望學生借助于學過的知識,基于編碼方法的多樣性繼續開發出可運行的子模塊,不僅能與本實驗系統中的編碼方法進行比較,同時也進一步培養學生的發散思維和創新精神。
實驗系統給出的編碼算法并非完全覆蓋了理論課程的知識點,同一種編碼也只是基于一種實現原理設計得到。如循環碼雖然屬于線性分組碼的一個子集,但是由于其碼字循環移位的特性,使得我們可以借助近代數學多項式的知識來完成其編碼和糾錯。因此可增加此類設計性實驗,在前面熟悉GUI界面設計和Matlab編程特點的基礎上,獨立開發自己的子模塊并在交互界面上完成其調用和運行。RS編碼及卷積碼編碼也可作類似要求。
仿真性實驗主要針對編碼技術在通信系統中應用廣泛的特點,要求學生自主發揮創造力,再現通信系統的框架。通過這類實驗,不僅加深學生對通信系統邏輯結構的理解,而且為進一步學習各種編碼在信息處理和傳輸中的作用創造條件。
如信道編碼方法能有效的提高信息傳輸的可靠性,降低誤碼率,因此仿真性實驗的開設可以結合實際應用,要求學生借助于Matlab動態系統建模仿真庫Simulink中的仿真模塊,搭建不同的通信系統模型,并將本系統提供的算法擴展為S函數,將其應用于仿真環境中。例如,結合RS編碼,搭建如圖6所示有噪信道傳輸系統,并通過誤碼率統計模塊驗證RS的糾錯能力[16]。該系統為典型的離散通信系統,信源模塊是隨機整數產生器,信道模塊是二進制對稱信道(BSC)。

圖6 RS編碼應用于數字通信系統示例
基于Matlab 開發的信息論編碼實驗系統已在相關專業課程實驗環節中有所應用,此系統在促進學生對信息論編碼算法的理解和融會貫通掌握并運用理論知識,培養學生的發散思維和創新意識,提高動手實踐操作能力等方面有很大的幫助。
另外,由于此系統功能齊全、交互性好,可以對具體參數的要求給出客觀而準確的計算結果,能夠提供信息編碼和譯碼的演示和過程分析,因此系統在課堂教學中也得到使用,在傳統理論教學的基礎上,有效地提高了教師的教學效率,增強了理論與實踐相結合的教學效果。
[1] 席在芳,歐青立,曾照福,等.信息論與編碼實驗教學的探索與實踐[J]. 實驗室研究與探索, 2008,27(2):99-101.
XI Zai-fang, OU Qing-li, ZENG Zhao-fu,etal. Exploration and Practice of the Experimental Teaching on Information Theory and Coding[J]. Research and exploration In Laboratory, 2008,27(2):99-101.
[2] 楊曉萍,錢志鴻,高 博.信息論教學內容和方法的改革[J].電氣電子教學學報,2012,34(3):36-38.
YANG Xiao-ping,QIAN Zhi-hong,GAO Bo. Reform of Teaching Contents and Teaching Methods in the Course of Information Theory[J]. Journal of EEE,2012,34(3):36-38.
[3] 張潤鑫.高等學校實驗教學改革與實踐[J].中國科教創新導刊,2013, 29:66-69.
ZHANG Run-xin. Experiment Teaching Reform and Practice in High School[J]. China Education Innovation Herald, 2013, 29:66-69.
[4] 陳垚光.精通Matlab GUI設計[M].2版. 北京:電子工業出版,2011.
[5] 曹雪虹, 張宗橙. 信息論與編碼[M].2版. 北京: 清華大學出版社, 2009.
[6] 傅祖蕓. 信息論: 基礎理論與應用[M].3版. 北京: 電子工業出版社, 2011.
[7] 陳 運.信息論與編碼[M].2版. 北京:電子工業出版社,2012.
[8] 賀志強,吳偉陵.信息處理與編碼 [M].3版. 北京:人民郵電出版社,2012.
[9] Thomas M. Cover, Joy A. Thomas, Elements of Information Theory. Beijing: China Machine Press, 2005.
[10] 鐘 麟,王 峰. Matlab仿真技術與應用教程[M] . 國防工業出版社,2004.
[11] 于 工.信息與編碼簡明教程[M].北京:機械工業出版社,2007.
[12] 張正言,黃煒嘉, 張 冰.《信息論與編碼》實驗教學平臺的設計[J].現代電子技術,2011,34(3):191-193.
ZHANG Zheng-yan, HUANG Wei-jia, ZHANG Bing. Design of Experiment Teaching Platform for the Theory of Information and Coding[J]. Modern Electronics Technique, 2011,34(3):191-193.
[13] 郭 欣.淺談信息論與編碼課程的理論與實驗教學改革[J].科技資訊, 2012, 28:7.
GUO Xin. Discuss Theory and Experiment Teaching Reform on Course of Information Theory and Coding[J]. Science & Technology Information, 2012, 28:7.
[14] 孫愛晶,劉 毓.基于軟件仿真的通信原理實驗教學[J].實驗室研究與探索,2010,29(1):135-137.
SUN Ai-jing, LIU Yu. Study on Experimental Teaching of Communication Principle Based on Software Simulation[J]. Research and exploration In Laboratory, 2010, 29(1):135-137.
[15] 霍劍青.應用信息技術培養創新型人才實驗教學模式的思考與實踐[J].物理與工程,2013(6):26-29.
HUO Jian-qing. Deliberation and Practice of the Experimental Teaching Mode Applied Information Technology for Innovation Technology for Innovative Talent Cultivation Talent Cultivation[J]. Physics and Engineering, 2013(6):26-29.
[16] 謝大剛,吳 楠,王 春,等.數據鏈系統RS碼性能分析與仿真[J].微波學報,2010(8):282-284.
XIE Da-gang, WU Nan, WANG Chun,etal. Performance Analysis and Simulation of RS Code in Data Link System[J]. Journal of Microwaves, 2010(8):282-284.