香农编码基于C++语言的实现(共12页).doc
《香农编码基于C++语言的实现(共12页).doc》由会员分享,可在线阅读,更多相关《香农编码基于C++语言的实现(共12页).doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上香农编码基于C+语言的实现 摘要:1948年,美国工程师香农在贝尔实验室杂志上发表了长文通讯的数学原理,他用概率测度和数理统计的方法系统地讨论了通信的基本问题,得出了几个重要而带有普遍意义的结论,并由此奠定了现代信息论的基础。香农编码将信源编码后所得的二进制代码。编码是指为了达到某种目的而对信号进行的一种变换。根据编码的目的不同,编码理论有三个分支:信源编码。对信源输出的信号进行变换,包括连续信号的离散化,即将模拟信号通过采样和量化变成数字信号,以及对数据进行压缩,提高数字信号传输的有效性而进行的编码。信道编码。对信源编码器输出的信号进行再变换,包括区分通路、适应信道
2、条件和提高通信可靠性而进行的编码。保密编码。对信道编码器输出的信号进行再变换,即为了使信息在传输过程中不易被人窃取而进行的编码。本文介绍香农编码的编码过程和C+语言代码实现。Abstract: in 1948, American Engineer Shannon in the Baer lab magazine published the article the mathematical theory of communication, his method of probability and mathematical statistics systematically discussed
3、the basic problems of the communication, obtained several important and universal conclusions, and thus laid the foundation of modern information theory. The Shannon code into the binary code obtained after source coding. Coding refers to a transformation in order to achieve a certain purpose and th
4、e signal. According to the code for different purposes, the code theory has three branches: source code. The signal source to transform the output, including the continuous signal discretization, the analog signal into digital signal through the sampling and quantization, and compressing the data, t
5、o improve the validity of the digital signal transmission and coding. The channel coding. The source coder output signal to transform, including distinguishing pathways, adapting to the channel conditions and improve the reliability of communication and coding. The secret code. Signal on the output
6、of the channel encoder to transform, namely, in order to make the information in the transmission process is not easy to be stolen and coding. This paper introduced the Shannon code encoding process and C language code to achieve.关键词:累加概率、排序、熵、码长、二元码1 香农编码原理1.1信源编码器将信源符号序列按一定的数学规律映射成码符号的过程称为信源编码,完成编
7、码功能的器件,称为编码器。接受端有一个译码器完成相反的功能。图1-1 信源编码模型。信源编码器图 11信源编码器的输入是信源符号集,共有q个信源符号。同时存在另一个符号集,称为码符号集,共有r个码符号,码符号集中的元素称为码元或者码符号。编辑器输出的符号序列称为码。信源符号对应,须用个码符号来表示,称为码字长度,简称码长。能够获得最佳编码的方法主要有:香农(Shannon)、费诺(Fano)、哈夫曼(Huffman)编码等。1.2码的分类1. 分组码和非分组码将信源符号集中的每个信源符号固定的映射成一个码字,这样的码成为分组码,又称为块码。与分组码对应的分类是非分组码,又称树码。2. 奇异码和
8、非奇异码若一种分组码种的所有码字都不相同,则称此分组码为非奇异码,否则称为奇异码。3. 唯一可译码和非唯一可译码任意有限长的码元序列,只能够唯一地分割成一个个码字,便称为唯一可译码。4. 即时码和非即时码无需考虑后续码符号就可以从码符号序列译出码字,这样的唯一可译码称为即时码。一个唯一可译码称为即时码的充分必要条件是其中任何一个码字都不是其他码字的前缀。综上所述,可将码作如下分类:码非分组码分组码奇异码非奇异码非唯一可译码唯一可译码非即时码即时码 图 121.3香农第一定理设离散无记忆信源S的信源熵,它的N次扩展信源,其熵。并用码符号对信源进行变长编码,那么总可以找到一种唯一的可译,使每个信源
9、符号所需的平均码长满足 公式 1或者写成 公式 2式中,其中是扩展信源的信源符号所对应的码字长度,因此是扩展信源的信源符号的平均码长。平均码长满足 公式 3即 公式 41.4香农编码步骤香农第一定理指出了平均码长与信源熵之间的关系,同时也指出了可以通过编码使码长达到极限值。香农编码的方法是选择每个码长长度,满足 公式 5香农编码的具体如下:(1) 将所有q个信源符号按其概率的递减次序 排列。(2) 按下式依次计算每个信源符号的二元码码长。 公式 6(3) 计算每个信源符号的累加概率,并变换成二进制小数得到其码字。累加概率 公式 7(4) 将累加概率变换成二进制小数,取小数点后位数作为第i个信源
10、符号的码字。1.5香农编码的不足通过对香农码的编码算法进行分析研究,可以发现在香农编码过程中,由于先限定每个码字的码长,以至于在码字的选取中是以每个码字的码长作为先决条件而没有考虑各个码字之间的相关性,因此编出的码字往往存在较大的冗余,比如其中某个码字原本可以编为1111,但由于根据香农编码规则该码字的先定码长为7,于是该码字的码长必须为7.很显然由于码长先决条件的限制,而使得整个码字的平均码长变大,无形中降低了编码效率,增加了通信过程中的冗余,使得通信系统的有效性这一重要指标的提高得到了很大限制。1.6香农编码的优化 在编码过程中,忽略每个码字该有的码长限定,只需要根据最小概率计算出最小概率
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 香农 编码 基于 C+ 语言 实现 12
限制150内