【媒体信号处理】No.1 哈夫曼编码
来源:互联网 发布:数据库的导入和导出 编辑:程序博客网 时间:2024/05/21 21:43
第一次用matlab啥也不会= =
差不多全是抄助教的代码(躺
实验内容:
– 随机生成一个离散信号序列
– 计算该信源的熵
– 利用matlab内嵌函数进行huffman编码
– 利用matlab内嵌函数进行huffman解码
【calculate_source_entropy.m】function Hs=calculate_source_entropy(probs) %create a functionmps=1e-7;probs(probs==0)=mps; %avoid zero valueif min(probs(:))<=0 %avoid value that is less than zero error('some probability value is less than zero!');endif sum(probs)~=1 probs=probs/sum(probs); %calculate the frequencyendHs=sum(probs.*log(1./probs)); %calculate the frequencyentropyend【demo_call_matlab_huffman.m】function demo_call_matlab_huffmanclc; %clear the screendigits=0:9; %distinct digit symbols that the data source can produceprobs=rand(1,10); %set the probability for each symbols randomlyprobs=probs./sum(probs); %noromalize the sum to 1digitSeq=randsrc(500,1,[digits;probs]); %create digit sequenceHs=calculate_source_entropy(probs);[dict,avglen]=huffmandict(digits,probs); %create dictionarycomp=huffmanenco(digitSeq,dict); %Encode the sequencedeDigitSeq=huffmandeco(comp,dict); %Decode the sequencefigure; %create a windowsubplot(3,1,1),plot(digitSeq);title('The original data'); %show the result in the new windowsubplot(3,1,2),plot(deDigitSeq);title('The decoded resule');subplot(3,1,3),plot(deDigitSeq-digitSeq);title('The difference value');end
0 0
- 【媒体信号处理】No.1 哈夫曼编码
- 【媒体信号处理】No.2 一维DCT变换
- 媒体与媒体处理
- 嵌入式媒体处理(EMP)中的编码和解码
- 使用信号处理linux文件系统监视,(if no inotify)
- LinuxC信号及信号处理(1)
- 【LabVIEW信号处理】加速度信号到速度信号(1)
- 浅谈语音信号处理系列之三 语音编码
- 伪随机编码冲雷达信号处理仿真
- 二相伪随机脉冲编码雷达-信号处理仿真
- QT QML 信号 处理 1
- 信号处理小结(1)
- linux 信号&信号处理
- 信号和信号处理
- linux 信号&信号处理
- linux 信号&信号处理
- 信号及信号处理
- 信号及信号处理
- 电磁学重整之电学(1)
- Spark Streaming 中使用 zookeeper 保存 offset 并重用 Java版
- Spring Boot基础教程8-web应用开发-模板引擎jsp
- 求Sn=a+aa+aaa+aaaa+a^n算法问题(输出界面优化一下(●ˇ∀ˇ●))
- R-swirl无法正确载入问题
- 【媒体信号处理】No.1 哈夫曼编码
- 第一讲 Kali的安装与基本配置
- HDU ACM 11 2037 今年暑假不AC
- 图片服务器
- 控制角色转身之后进行运动以及使角色转弯
- 310. Minimum Height Trees
- 快速排序
- Linux设置Gnome终端半透明方案
- css3制作魔方