通信系統模擬

以前在學信息論與編碼的時候,最後的課程設計是通信系統模擬。雖然我的課程設計成績在同學當中並不算低,但我似乎沒有做好,有點遺憾。這幾天來因爲對VC++網絡編程感興趣,所以逐漸的在觸碰着以前信息論學過的東西。就拿今天,不,應該說是昨天來說吧,幾乎從一起牀到現在,都在做編碼的事情。今天一共做了兩個編碼,一個是哈夫曼編碼,一個是遊程編碼。其中游程編碼可以說是無意中做的,因爲哈夫曼編碼做出來後,由於“學藝不精”,不知壓縮爲何物,實在慚愧。所以就依原來對遊程編碼的一點印象,以爲通過簡單的遊程編碼操作可以實現對文件的壓縮,沒想到把1K的文本文件“壓縮”成了4K,實在令人苦笑不得。說到這裏就把遊程編碼的代碼貼出來。

先放這裏吧,以後或許有點用,畢竟它也是一種較常用的編碼方法,沒有用好是我個人的問題。

繼續講。到了晚上,通過看一些網上資料後,明白了什麼是哈夫曼編碼的壓縮。發現我對這些東西的確還是挺感興趣的。終於實現了對一個文本文件進行50%的壓縮。

但是解壓縮的代碼還沒做出來,因此對我來說,這個系統可能只能算完成了一般吧。明天繼續努力,爭取把整個系統完整的做出來。

這是哈夫曼編碼主要部分:

這是概率統計計算部分:

在頭文件當中也做了幾個變量的定義:

通過在VC環境運行後,其最後結果是:

其中圖片最又邊的編輯框爲最後的壓縮結果,很明顯,原來的數據得到了有效壓縮。作爲對文本進行壓縮,要的就是這些亂碼。接下來要做的就是把這些亂碼還原回去。做到真正的壓縮和解壓縮。

今天是2月1日了,有很多事情要開始動手了,任務艱鉅啊!堅持!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章