通信系统模拟

以前在学信息论与编码的时候,最后的课程设计是通信系统模拟。虽然我的课程设计成绩在同学当中并不算低,但我似乎没有做好,有点遗憾。这几天来因为对VC++网络编程感兴趣,所以逐渐的在触碰着以前信息论学过的东西。就拿今天,不,应该说是昨天来说吧,几乎从一起床到现在,都在做编码的事情。今天一共做了两个编码,一个是哈夫曼编码,一个是游程编码。其中游程编码可以说是无意中做的,因为哈夫曼编码做出来后,由于“学艺不精”,不知压缩为何物,实在惭愧。所以就依原来对游程编码的一点印象,以为通过简单的游程编码操作可以实现对文件的压缩,没想到把1K的文本文件“压缩”成了4K,实在令人苦笑不得。说到这里就把游程编码的代码贴出来。

先放这里吧,以后或许有点用,毕竟它也是一种较常用的编码方法,没有用好是我个人的问题。

继续讲。到了晚上,通过看一些网上资料后,明白了什么是哈夫曼编码的压缩。发现我对这些东西的确还是挺感兴趣的。终于实现了对一个文本文件进行50%的压缩。

但是解压缩的代码还没做出来,因此对我来说,这个系统可能只能算完成了一般吧。明天继续努力,争取把整个系统完整的做出来。

这是哈夫曼编码主要部分:

这是概率统计计算部分:

在头文件当中也做了几个变量的定义:

通过在VC环境运行后,其最后结果是:

其中图片最又边的编辑框为最后的压缩结果,很明显,原来的数据得到了有效压缩。作为对文本进行压缩,要的就是这些乱码。接下来要做的就是把这些乱码还原回去。做到真正的压缩和解压缩。

今天是2月1日了,有很多事情要开始动手了,任务艰巨啊!坚持!

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