牛秋娜, 王景景, 聞衛(wèi)軍, 劉 云
(青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院, 山東 青島 266061)
“信息論與編碼”是信息工程、通信工程等信息類專業(yè)一門重要的專業(yè)課,更是廣大學(xué)習(xí)者學(xué)習(xí)通信系統(tǒng)和信息處理的知識基礎(chǔ)。課程理論性強,概念抽象,教學(xué)內(nèi)容結(jié)合了較多繁瑣細致的數(shù)學(xué)推理和計算[1]。課程的理論知識應(yīng)用廣泛,教學(xué)目標(biāo)希望學(xué)生通過此課程掌握信息通信的基礎(chǔ)理論和信源編碼、 信道編碼及密碼等方面的算法原理及其實踐應(yīng)用[2]。但是由于課時較少,目前多數(shù)高校忽略了課程的實踐性,教學(xué)方式多為課堂教學(xué)。實驗課程在高等教育中的作用舉足輕重,在合理應(yīng)用理論、理論與實驗相結(jié)合的環(huán)境中,可以有效地訓(xùn)練學(xué)生對實驗方法、操作技能的掌握。實驗教學(xué)在培養(yǎng)學(xué)生“發(fā)現(xiàn)問題、分析問題、解決問題”方面起著拓展思維、激發(fā)創(chuàng)新精神的重要作用[3]?;诖?,本文利用Matlab的GUI(圖形用戶界面)設(shè)計工具[4],設(shè)計和開發(fā)了交互式信息編碼實驗系統(tǒng)。
信息論課程主要包括信源編碼、信道編碼和保密編碼三大編碼。綜合參考國內(nèi)外高校常用的經(jīng)典教程[5-9],該實驗系統(tǒng)實現(xiàn)的主要編碼方法可以滿足日常實踐環(huán)節(jié)的需要。
實驗系統(tǒng)緊扣教學(xué)內(nèi)容,將復(fù)雜的計算程序和代碼設(shè)計以M語言回調(diào)函數(shù)(Callback Function)文件的形式隱藏于后臺,通過交互式界面調(diào)用這些函數(shù),完成使用者需要的演示操作。系統(tǒng)具有親和美觀、簡單易用的界面,能夠為學(xué)習(xí)者提供信息編碼和譯碼的演示和過程分析。學(xué)生在使用過程中既可以通過每個子模塊學(xué)習(xí)不同的算法原理,又可以根據(jù)所選擇的編碼方法,在交互式界面中輸入各參數(shù)及不同的待編碼序列,用以驗證不同參數(shù)輸入后的編、譯碼結(jié)果。另外,系統(tǒng)的擴展性極強,通過在主界面上加入控件,并合理設(shè)計相關(guān)回調(diào)函數(shù)便可以方便的加入新的編碼算法。因此該實驗系統(tǒng)能很好地滿足實驗需求。
軟件提供的算法涵蓋了課程的主要知識體系,系統(tǒng)主界面如圖1主界面所示。系統(tǒng)設(shè)計流程見圖2。
圖1 信息論編碼實驗教學(xué)系統(tǒng)界面
1.3.1信源編碼實驗舉例
以算術(shù)編碼技術(shù)為例,如對符號序列“bbbababa”進行編碼,設(shè)單符號a、b概率分布為:Pa=0.25,Pb=0.75,算術(shù)編碼結(jié)果見圖3。
即,序列積累概率為0.609 44,相應(yīng)的序列概率為8.075,所以編碼碼長應(yīng)取9,對應(yīng)編碼后的序列為100111000。
圖3 算術(shù)編碼示例
1.3.2信道編碼實驗舉例
以(3,1,2)卷積碼為例,如輸入待編碼序列u=(10110),軟件輸出界面如下圖4左半部分??芍幋a后輸出的碼字為(111 001 100 110 010 011 000)。
圖4 (3,1,2)卷積碼編碼示例
軟件譯碼后的輸出結(jié)果如圖4右半部分。為了增加學(xué)生對Viterbi譯碼算法的感性認(rèn)識,通過GUI的axes控件設(shè)計了譯碼路徑顯示區(qū)[10],能按時序顯示出Viterbi譯碼在網(wǎng)格圖中選擇的譯碼路徑。如圖4示例中顯示的最終譯碼路徑確定前各時序譯碼路徑選擇如圖5示。
由于卷積碼是有記憶的編碼,為了確保存儲單元內(nèi)的信息都被輸出,在本系統(tǒng)中取延時為3個時間單元??紤]到延時的影響,應(yīng)當(dāng)在被譯碼的接收碼序列后面添加若干個0。同時為四個狀態(tài)各開辟一個3單元的存儲器,用來存儲3個時間單元的碼字[11]。因此,在圖4中, 本系統(tǒng)顯示的譯碼網(wǎng)格圖中看出前三個時刻輸出都為0。同時,譯碼結(jié)果中也包括因為3個時延單元造成的3個0,即u=(00010110)。去掉前面因延時而帶來的3個0,結(jié)果與發(fā)端編碼一致,差錯得到糾正。
圖5 (3,1,2)卷積碼Viterbi譯碼算法譯碼路徑選擇圖
“信息論與編碼”是一門理論和實踐相結(jié)合的課程,對于工科學(xué)生來說,在理論課程學(xué)習(xí)內(nèi)容的基礎(chǔ)上,學(xué)生更應(yīng)該能夠?qū)W以致用。合理設(shè)置實驗內(nèi)容是提高學(xué)生學(xué)習(xí)興趣、培養(yǎng)創(chuàng)新思維和動手能力,增強學(xué)習(xí)效果的有利措施[12-13]。在實驗的設(shè)置中,我們可以結(jié)合該實驗系統(tǒng)開設(shè)驗證性實驗、設(shè)計性實驗和仿真性實驗。
驗證性實驗有清晰的實驗原理和較為固定的實驗方法,目的是希望學(xué)生借助此實驗環(huán)節(jié)得到與理論分析推導(dǎo)一致的結(jié)果[14-15]。通過此類實驗學(xué)生可以獲得較高成功率的實驗結(jié)果,因此一定程度上可以更好地激發(fā)學(xué)生的學(xué)習(xí)興趣,增強動手實驗的主動性。
實驗安排主要包括各類熵的計算、驗證和分析率失真函數(shù),以及在實驗系統(tǒng)下完成各算法編譯碼所需參數(shù)的設(shè)定,并在交互界面上輸入相關(guān)信息驗證實驗結(jié)果。如無失真信源編碼中Shannon編碼、Fano編碼和Huffman編碼都是概率類編碼算法,故此實驗要求完成各算法編碼效率的比較。
設(shè)計性實驗希望學(xué)生借助于學(xué)過的知識,基于編碼方法的多樣性繼續(xù)開發(fā)出可運行的子模塊,不僅能與本實驗系統(tǒng)中的編碼方法進行比較,同時也進一步培養(yǎng)學(xué)生的發(fā)散思維和創(chuàng)新精神。
實驗系統(tǒng)給出的編碼算法并非完全覆蓋了理論課程的知識點,同一種編碼也只是基于一種實現(xiàn)原理設(shè)計得到。如循環(huán)碼雖然屬于線性分組碼的一個子集,但是由于其碼字循環(huán)移位的特性,使得我們可以借助近代數(shù)學(xué)多項式的知識來完成其編碼和糾錯。因此可增加此類設(shè)計性實驗,在前面熟悉GUI界面設(shè)計和Matlab編程特點的基礎(chǔ)上,獨立開發(fā)自己的子模塊并在交互界面上完成其調(diào)用和運行。RS編碼及卷積碼編碼也可作類似要求。
仿真性實驗主要針對編碼技術(shù)在通信系統(tǒng)中應(yīng)用廣泛的特點,要求學(xué)生自主發(fā)揮創(chuàng)造力,再現(xiàn)通信系統(tǒng)的框架。通過這類實驗,不僅加深學(xué)生對通信系統(tǒng)邏輯結(jié)構(gòu)的理解,而且為進一步學(xué)習(xí)各種編碼在信息處理和傳輸中的作用創(chuàng)造條件。
如信道編碼方法能有效的提高信息傳輸?shù)目煽啃?,降低誤碼率,因此仿真性實驗的開設(shè)可以結(jié)合實際應(yīng)用,要求學(xué)生借助于Matlab動態(tài)系統(tǒng)建模仿真庫Simulink中的仿真模塊,搭建不同的通信系統(tǒng)模型,并將本系統(tǒng)提供的算法擴展為S函數(shù),將其應(yīng)用于仿真環(huán)境中。例如,結(jié)合RS編碼,搭建如圖6所示有噪信道傳輸系統(tǒng),并通過誤碼率統(tǒng)計模塊驗證RS的糾錯能力[16]。該系統(tǒng)為典型的離散通信系統(tǒng),信源模塊是隨機整數(shù)產(chǎn)生器,信道模塊是二進制對稱信道(BSC)。
圖6 RS編碼應(yīng)用于數(shù)字通信系統(tǒng)示例
基于Matlab 開發(fā)的信息論編碼實驗系統(tǒng)已在相關(guān)專業(yè)課程實驗環(huán)節(jié)中有所應(yīng)用,此系統(tǒng)在促進學(xué)生對信息論編碼算法的理解和融會貫通掌握并運用理論知識,培養(yǎng)學(xué)生的發(fā)散思維和創(chuàng)新意識,提高動手實踐操作能力等方面有很大的幫助。
另外,由于此系統(tǒng)功能齊全、交互性好,可以對具體參數(shù)的要求給出客觀而準(zhǔn)確的計算結(jié)果,能夠提供信息編碼和譯碼的演示和過程分析,因此系統(tǒng)在課堂教學(xué)中也得到使用,在傳統(tǒng)理論教學(xué)的基礎(chǔ)上,有效地提高了教師的教學(xué)效率,增強了理論與實踐相結(jié)合的教學(xué)效果。
[1] 席在芳,歐青立,曾照福,等.信息論與編碼實驗教學(xué)的探索與實踐[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] 楊曉萍,錢志鴻,高 博.信息論教學(xué)內(nèi)容和方法的改革[J].電氣電子教學(xué)學(xué)報,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] 張潤鑫.高等學(xué)校實驗教學(xué)改革與實踐[J].中國科教創(chuàng)新導(dǎo)刊,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設(shè)計[M].2版. 北京:電子工業(yè)出版,2011.
[5] 曹雪虹, 張宗橙. 信息論與編碼[M].2版. 北京: 清華大學(xué)出版社, 2009.
[6] 傅祖蕓. 信息論: 基礎(chǔ)理論與應(yīng)用[M].3版. 北京: 電子工業(yè)出版社, 2011.
[7] 陳 運.信息論與編碼[M].2版. 北京:電子工業(yè)出版社,2012.
[8] 賀志強,吳偉陵.信息處理與編碼 [M].3版. 北京:人民郵電出版社,2012.
[9] Thomas M. Cover, Joy A. Thomas, Elements of Information Theory. Beijing: China Machine Press, 2005.
[10] 鐘 麟,王 峰. Matlab仿真技術(shù)與應(yīng)用教程[M] . 國防工業(yè)出版社,2004.
[11] 于 工.信息與編碼簡明教程[M].北京:機械工業(yè)出版社,2007.
[12] 張正言,黃煒嘉, 張 冰.《信息論與編碼》實驗教學(xué)平臺的設(shè)計[J].現(xiàn)代電子技術(shù),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] 郭 欣.淺談信息論與編碼課程的理論與實驗教學(xué)改革[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] 孫愛晶,劉 毓.基于軟件仿真的通信原理實驗教學(xué)[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] 霍劍青.應(yīng)用信息技術(shù)培養(yǎng)創(chuàng)新型人才實驗教學(xué)模式的思考與實踐[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] 謝大剛,吳 楠,王 春,等.數(shù)據(jù)鏈系統(tǒng)RS碼性能分析與仿真[J].微波學(xué)報,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.