Huffman编码的matlab实现.docx

上传人:b****5 文档编号:3025182 上传时间:2022-11-17 格式:DOCX 页数:25 大小:135.94KB
下载 相关 举报
Huffman编码的matlab实现.docx_第1页
第1页 / 共25页
Huffman编码的matlab实现.docx_第2页
第2页 / 共25页
Huffman编码的matlab实现.docx_第3页
第3页 / 共25页
Huffman编码的matlab实现.docx_第4页
第4页 / 共25页
Huffman编码的matlab实现.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

Huffman编码的matlab实现.docx

《Huffman编码的matlab实现.docx》由会员分享,可在线阅读,更多相关《Huffman编码的matlab实现.docx(25页珍藏版)》请在冰豆网上搜索。

Huffman编码的matlab实现.docx

Huffman编码的matlab实现

 

题目Huffman编码的matlab实现

学生姓名刘莉学号1109064011

所在学院数学与计算机科学学院

专业班级信息与计算科学

指导教师权双燕

完成地点陕西理工学院

 

2015年06月05日

 

Huffman编码的matlab实现

作者:

刘莉

(陕西理工学院数学与计算机科学学院信息与计算科学专业1101班,陕西汉中723000)

指导老师:

权双燕

[摘要]通讯的实质是信息的传输,而高速度、高质量地传送信息却又是信息传输的问题.将信源信息通过信道传送给信宿,怎样才能做到既不失真而又快速呢?

这需要解决两个问题:

第一、在不失真或允许一定失真条件下,如何用尽可能少的符号来传送信源信息,以便提高信息传输率;第二、在信道受干扰的情况下,如何增加信号的抗干扰能力,同时又使得信息传输率最大.若接收端信宿要求无失真地精确复制信源输出的消息,这种表示是一一对应的,即保证信源产生的全部信息无失真地传送给信宿,这时的信源编码是无失真编码.

信源无失真编码主要有等长编码和变长编码两种.等长编码效率低,一般不采用.变长编码具有很高的效率,被广泛的使用.常用的变长编码有Shannon编码和Huffman编码.这些编码方法含有大量的重复劳动,若信源符号个数巨大时,编码的工作量将成百倍地增加,单靠人工来完成,工作效率和编码的精确度将大大地降低. 

matlab是一种高性能的用于工程计算的编程软件.其编程语言简洁、紧凑,运算符十分丰富,语法限制不严格,程序设计自由度大,使用极为方便灵活.应用matlab编程实现Shannon编码和Huffman编码,将人类从烦琐,重复的劳动中解脱出来,大大提高了工作效率,编码的精确度也得到大大提高.

本次毕业设计的意义在于使我们通过使用matlab工具来实现通信系统中霍夫曼编码的模拟设计,同时也使我们明白信源在调制前做编码的重要性.

[关键词]霍夫曼编码;matlab;信源

 

 

MatlabImplementationofHuffmanCoding

Author:

Liuli

(Grade11,Class1,InformationandcomputingscienceMajor,MathematicsandComputingScienceDept,ShaanxiUniversityofTechnology,Hanzhong723000,Shaanxi)

Tutor:

QuanShuangyan

Abstract:

Informationtransmissionistheessenceofthecommunication,however,highspeedandhighqualityoftransmittedinformationisaproblemofinformationtransmission.Howtosendinformationtoreceiverbothnodistortionandfastthroughthechannel?

Thisneedtosolvetwoproblems:

thefirst,undertheconditionofnodistortionorcertaindistortionallowing,howtousesymbolstoconveyinformationasfewaspossible,inordertoimprovetheinformationtransferrate;thesecond,undertheconditionofthechannelinterference,howtoincreasetheanti-interferenceabilityofthesignal,atthesametime,maketheinformationtransferrateisthelargest.Ifthereceiveraskforcopyingtheinformationofoutputmessageexactly,thisrepresentationisone-to-one,whichensurethatalltheinformationtransfertoreceiverwithoutdistortion,thenthesourcecodeisundistortedcode.

Sourceofundistortedcodingincludesisometriccodingandvariablelengthcoding.Isometriccodinghaslowefficiency,whichisnotused.Variablelengthcodinghashighefficiencyandhasbeenwidelyused.ShannoncodingandHuffmancodingarecommonlyusedinthevariablelengthcoding.Thesecodingmethodscontainalotofrepetitivelabor,ifthereisanumberofsourcesymbols,theworkloadwillbeincreasedbyahundredtimes,theworkefficiencyandaccuracyofthecodingwillbegreatlyreducedbytheartificialcompletion.

Matlabisakindofprogrammingsoftwareforengineeringcalculation.Theprogramminglanguageissimple,compactandabundant,grammarlimitisnotstrict,thedegreeoffreedomofprogramdesignisverylarge,andtheuseoftheprogramisconvenientandflexible.UsingmatlabtorealizeShannoncodingandHuffmancoding,mankindwillbefreefromthetedious,repetitivework,theworkefficiencyandtheaccuracyofthecodearegreatlyimproved.

ThesignificanceofthisgraduationprojectisthatweusethematlabtoolstoachievesimulationdesignoftheHuffmancodingincommunicationsystem,atthesametime,makeusunderstandtheimportanceofsourcemodulationbeforemodulation.

keywords:

Huffmancoding;matlab;source

目录

1绪论1

1.1项目开发的背景1

1.2项目发展的现状1

1.3项目开发的目的1

2编码的相关概念1

2.1信息论基本概念1

2.2编码的基本概念2

3常用编码方法的介绍3

3.1香农编码3

3.2霍夫曼编码3

3.3费诺编码4

3.4各种编码方法的比较4

4霍夫曼编码5

4.1二元霍夫曼编码原理5

4.1.1二元霍夫曼编码编码方法5

4.1.2二元霍夫曼树的构造规则5

4.2多元霍夫曼编码规则5

4.3扩展信源霍夫曼编码5

5用matlab实现Huffman编码7

5.1常用的matlab函数和基本运算7

5.1.1常用的matlab函数7

5.1.2matlab中的基本运算7

5.2二元Huffman编码的程序流程图9

5.3二元Huffman编码的过程说明9

5.4程序模块及相应程序代码10

5.4.1数据输入10

5.4.2数据排序10

5.4.3编码赋值10

5.4.4分配码字10

5.4.5输出结果11

5.5程序设计结果及分析11

结论12

致谢13

参考文献14

附录15

 

1绪论

1.1项目开发的背景

在通信的数字化过程中,对于连续的原始语音图像等模拟信号,如果要以数字化的方式进行传输,在发送端必须进行模/数(A/D)转换[1],将原始信号转变为离散的数字信号.模拟信号在数字化之后一般会导致传输信道带宽明显增加,这样就会占用更多的信道资源,传输效率也会随之较低,有时甚至无法实现实时传输.

为了提高传输效率,一方面需要采用压缩编码技术,在保证一定信号质量的前提下,尽可能地去除信号中的冗余信息,从而减少信号速率和传输所用带宽.另一方面,即使是原本就以数字形式存在的数据和文字信息,也同样存在一个需要通过压缩编码降低信息冗余提高传输效率的问题.由于这些处理都是针对信源发送信息所进行的,因此一般将其称为信源编码. 

信源编码的基本目的是提高码字序列中码元的平均信息量,那么,一切旨在减少剩余度而对信源输出符号序列所施行的变换或处理,都可以在这种意义下归入信源编码的范畴,例如过滤、预测、域变换和数据压缩等.作为现代数据无损压缩的灵魂算法,霍夫曼编码广泛应用于各种图像、音频、视频及各种多媒体信息的压缩环境中. 

1.2项目发展的现状

在当今信息爆炸时代,随着多媒体技术的迅猛发展,压缩技术也快速发展起来.数据压缩技术能够有效减少数据的大小,能够更快的传输数据.由于数字化的多媒体信息尤其是数字视频、音频信号的数据量特别大,如果不对其进行有效压缩就难以得到实际的应用.因此,数据压缩技术已经成为当今数字通信、广播、存储和多媒体娱乐中的一项关键的技术.由于如何采用有效的数据压缩技术来节省数据文件的存储空间和计算机网络的传送时间已经越来越引起人们的重视.Huffman编码正是一种应用广泛且非常有效的数据压缩技术.它高效率压缩编码,其压缩程度很高,目前在很多领域已经开始广泛应用,具有良好的市场前景.

Huffman编码是一种可变字长编码,即编码后信源符号的码长是不一样的,一般而言,出现概率高的信源符号码长较短,而出现概率小的信源符号码长较长.该编码是由Huffman于1952年所提出的,它完全依照信源符号出现的概率决定其对应的码长,又可称之为最佳编码,经常应用于数据压缩领域,已达到无损压缩的目的.作为现代数据无损压缩的灵魂算法,由于该编码的冗余度小,目前已广泛应用于各种图像、音频、视频及各种多媒体信息的压缩环境中.

1.3项目开发的目的

在当今信息化时代,数字信号充斥着各个角落.在数字信号的处理和传输中,信源编码是首先遇到的问题,一个信源编码的好坏优直接影响到了后面的处理和传输.如何无失真地编码,如何使编码的效率最高,成为了大家研究的对象.

Huffman编码属于信源编码,由于信源符号之间存在分布不均匀和相关性,致使信源存在冗余度,因

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1