- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于二进制信源n次扩展熵率的matlab仿真
基于二进制信源N次扩展熵率的MATLAB仿真
本文通过MATLAB分析一个二进制的二符号信源,分别采用了滑窗法、卷积法、变换形法求出了该信源的N次(其中N最大为8)扩展信源的熵率,得出了熵率随着N的增加而逐渐减小的结论此外,本文还比较了三种算法的计算效率与优缺点:MATLAB clc
sample=840;%给定独立二进制信源[0,1]的样本数
step=8; %设定最大扩展阶数
probability_0=0.6;%设定符号0的概率
H=zeros(1,step);%建立熵率向量
x=randsrc(1,sample,[0,1;0.6,0.4]);
for N=1:step
n=zeros(1,2^N);
order=2.^([0:N-1]);
for M=0:(2^N-1)
for i=1:(sample+1-N)
if(order*x(i:N+i-1)==M)
n(M+1)=n(M+1)+1;%记录信源发出的每种符号序列的个数
end
end
end
p=n/(sample+1-N);%N次扩展的概率向量
p=p(find(p~=0));%过滤掉概率为0的分量,其原理是x→0时,x*lbx→0
H(N)=-p*log2(p)/N;%输出每种扩展下的熵率
end
H%输出熵率向量
stem([1:step],H)
xlabel(扩展阶数N=1:8);
ylabel(熵率);
输出:
H =
0.9756 0.9749 0.9742 0.9715 0.9685 0.9654 0.9587 0.9438
HN(XN)-N图:
(二)卷积法
该算法的基本思想同滑窗法基本相同,不同的是通过符号序列与2的幂次向量做卷积实现窗口的滑动与进制的转换。记录每一个数据出现的频度,近似N次扩展信源每个消息的发出概率,最终求得其熵率HN(XN)并绘出HN(XN)-N图(注:计算熵率时可以过滤掉概率为零的分量,因为x→0时,x*lbx→0)。
MATLAB算法代码:
clc
sample=840;%给定独立二进制信源[0,1]的样本数
step=8; %设定最大扩展阶数
probability_0=0.6;%设定符号0的概率
x=randsrc(1,sample,[0,1;0.6,0.4]);
H=zeros(1,step);%建立熵率向量
n=zeros(1,2^step);%建立向量n记录每种符号序列出现的个数
for N=1:step
order=2.^([0:N-1]);
y=conv(x,order);
y1=y(step:(length(y)+1-step));%只截取卷积的有效部分
for i=1:2^step
n(i)=length(find(y1==i-1));%记录信源发出的每种符号序列的个数
end
p=n/length(y1);%N次扩展的概率向量
p=p(find(p~=0));%过滤掉概率为0的分量,其原理是x→0时,x*lbx→0
H(N)=-p*log2(p)/N;%输出每种扩展下的熵率
end
H%输出熵率向量
plot([1:step],H,b-,[1:step],H,bo)
title(卷积法);
xlabel(扩展阶数N=1:8);
ylabel(熵率);
输出:
H =
0.9714 0.9699 0.9689 0.9682 0.9665 0.9625 0.9545 0.9384
HN(XN)-N图:
(三)变换形法
该算法的基本思想是将原序列重组为一个N行、n/N列的一个新序列。将每一列数据看做一个窗口,仍然通过进制转换记录每个窗口消息组成的序列出现的频度,近似N次扩展信源每个消息的发出概率,最终求得其熵率HN(XN)并绘出HN(XN)-N图(注:计算熵率时可以过滤掉概率为零的分量,因为x→0时,x*lbx→0)。
MATLAB算法代码:
clc
sample=840;%给定独立二进制信源[0,1]的样本数
step=8; %设定最大扩展阶数
probability_0=0.6;%设定符号0的概率
x=randsrc(1,sample,[0,1;0.6,0.4]);
H=zeros(1,step);%建立熵率向量
for N=1:step
x1=reshape(x,N,[]);%经过reshape后的x
n=zeros(1,2^N);
order=2.^([0:N-1]);
for M=0:(2^N-1)
for i=1:(sa
您可能关注的文档
最近下载
- 数学中考总复习.doc VIP
- 限制型心肌病超声诊断与评估.pptx
- _【课件】第四章 三角形 +问题解决策略:特殊化课件北师大版七年级数学下册.pptx VIP
- 中考数学总复习第一轮考点复习(重庆专版).pptx VIP
- 2025在线网课《信息检索与科技写作( 理大)》单元测试考核答案.pdf VIP
- 高频精选:京东快递员ai面试题及答案.doc VIP
- 新北师大版初中七年级数学下册《第四章三角形问题解决策略:特殊化(1)》教学课件.pptx VIP
- 河北 2023年农信社储蓄知识考试真题模拟汇编(共213题).doc VIP
- 河北 2023年农信社基础知识考试真题模拟汇编(共672题).doc VIP
- 四川省宜宾市2023-2024学年高一下学期期末学业质量监测语文试卷(原卷版+解析版).docx VIP
文档评论(0)