N=input('N=')%输入信源符号的个数
s=0l=0H=0
for i=1:N
fprintf('第%d个',i)
p(i)=input('p=')%输入信源符号概率分布矢量,p(i)<1
if p(i)<=0
error('不符合概率分布')
end
s=s+p(i)
H=H+(- p(i)*log2(p(i)))%计猛茄陪算信源信息熵
end
if (s<=0.999999||s>=1.000001)
error('不符合概率分布')
end
tic
for i=1:N-1 %按概率分布大小对信源排序
for j=i+1:N
if p(i)<p(j)
m=p(j)p(j)=p(i)p(i)=m
end
end
end
x=f1(1,N,p,1)
for i=1:N %计算平均码长
L(i)=length(find(x(i,:)))
l=l+p(i)*L(i)
end
n=H/l%计算编码效枝蠢率
fprintf('按概率降序排列的码字:\n')
disp(x) %显示按概率降序排列的码字
fprintf('平均码长:\n')
disp(l)% 显示平均码长
fprintf('信源信息熵:\n')
disp(H)%显示信源信息熵
fprintf('编码效率:\n')
disp(n) %显示编码效率
fprintf('计算耗时time= %f\n',toc)
再建立两个M文件:%函数f1存放于f1.m
function x=f1(i,j,p,r)
global x
x=char(x)
if(j<=i)
return
else
q=0
for t=i:j %对于区间[i,j]自上而下求累加概率值
q=p(t)+qy(t)=q
end
for t=i:j%把所有自上而下的累加概率值与该区间总概率值减该累加概率值之差取绝对值存在一数组
v(t)=abs(y(t)-(q-y(t)))
end
for t=i:j
if(v(t)==min(v)) %求该数组中最小的一个值来确定分界点位置
for k=i:t%赋值码字
x(k,r)='0'
end
for k=(t+1):j
x(k,r)='1'
end
d=t
f1(i,d,p,r+1)%递归调用及相互调用
f2(d+1,j,p,r+1)
f1(d+1,j,p,r+1)
f2(i,d,p,r+1)
else
end
end
end
return第二个:%函数f2存放于f2.m
function x=f2(i,j,p,r)
global x
x=char(x)
if(j<=i)
return
else
q=0
for t=i:j %对于区间[i,j]自上而下求累加概率值
q=p(t)+qy(t-i+1)=q
end
for t=1:j-(i-1)%把所有自上而下的累加概率值与该区间总概率值减该累加概率值之差取绝对值存在一数组
v(t)=abs(y(t)-(q-y(t)))
end
for t=1:j-(i-1)
if(v(t)==min(v)) %求该数组中最小的一个值来确定分界点位置
d=t+i-1
for k=i:d %赋值码字
x(k,r)='0'
end
for k=(d+1):j
x(k,r)='1'
end
f2(d+1,j,p,r+1)%递归调用及相互调用
f1(i,d,p,r+1)
f2(i,d,p,r+1)
f1(d+1,j,p,r+1)
else
end
end
end
return
姓 名:张倩楠 学 号:20181214266 学 院:广研院【嵌牛导读】:1962 年,R.G.Gallager 在其博士论文中提出了规则 LDPC 码的概念[1]。然而由于当时的理论水平以及硬件技术条件的限制,LDPC 码在几十年的时间内并没有引起人们的关注和重视。直到 90 年代 Turbo 码的热潮中,MacKay 和 Neal 等人重新研究了LDPC 码[2],并且提出了可行的译码算法,进一步发现了 LDPC 码所具有的良好的性能,使得 LDPC 码重新被人们重视,成为研究的热点。众多研究结果表明 LDPC 码性能良好,更加适合未来通信系统对数据传输的有效性和可靠性的要求,所以越来越多的通信标准都使用 LDPC 码作为其信道编码方案。DVB 组织发布的 DVB-S2、DVB-T2、DVB-C2、DVB-NGH 及 DVB-S2X 等标准中均采用了 LDPC 码,其他标准如 CCSDS 标准、802.11n(WiFi)、802.16e(WiMAX)等也都使用了 LDPC 码。
【嵌牛鼻子】:QC-LDPC码,IRA-LDPC码
【嵌牛提问】:LDPC码构造方法?
【嵌牛内容】
什么是LDPC码:
LDPC 码可以通过校验矩阵 H 来唯一确定,校验矩阵 H 是大小为m*n 的稀疏矩阵,其中m 为校验位长度,n 为 LDPC 码码长,信息位长度为 k =n-m 。LDPC 码可以分为规则 LDPC 码和非规则 LDPC 码两种[3]。规则 LDPC 码的校验矩阵中不仅每一行中非零元素的个数是相同的,而且每一列中非零元素的个数也是相同的,而非规则LDPC码则不受到该条件的限制。下图给出的是一种规则LDPC码的校验矩阵。
除了使用校验矩阵的方式来表示 LDPC 码之外,Tanner 在 1981 年提出的用 Tanner图来描述码字的方法可以形象的表示 LDPC 码的特性[4]。下图中表示的 Tanner 图与上图中的校验矩阵相对应。
Tanner 图显示了 LDPC 码中校验节点和变量节点之间的连接关系。图中的校验节点对应校验矩阵 H 的行,变量节点对应校验矩阵 H 的列。与节点相连的边的数目被称为节点的度,从一个节点开始出发后又回到该节点时所经过的边的数目称之为循环长度,最短的循环长度被谨薯培称为图的围长。
QC-LDPC码:
QC-LDPC码的校验矩阵是由全零阵,单位矩阵和循环右移的单位阵的子矩阵构成的。
QC-LDPC码校验矩阵的子矩阵具有如下特点:
(1) 每个子矩阵是一个方阵;
(2) 循环子矩阵的任一行(列)都是上一行(列)向右移动一位得到的,特别的,矩阵的第一行(列)由最后一行(列)循环右移一位得到;
(3) 循环矩阵完全可以由其第一行或者第一列决定。
根据这样的形式可以写出他的基矩阵,用来表示所构造的校验矩阵。(@百度百科)
IRA-LDPC码:
这里,我们介绍一下DVB标准的IRA-LDPC码。IRA-LDPC 码的校验矩阵可以表示成 H = [H1 H2]的形式。其中,子矩阵H1是一个稀疏矩阵,矩阵大小为 m*k ,其中 m 为校验比特的数量,k 为信息比特的数量,子矩阵 H2是一个满秩矩阵,矩阵大小为 m*m ,其格式是固定的,它的格式如祥唯下图所示。对于 IRA-LDPC 码来说,因为其子矩阵 H2的结构是固定的,所以校验矩阵的构造重点在于子矩阵 H1的构造。
H1可以表示成如下形式:
其中子矩阵 Hsub1,Hsub2,…,Hsub360的大小均为 q*k ,将子矩阵 Hsub1按列分为 k/360个 q*360的子矩阵,这些大小为 q*360子矩阵向右循环移位一位,即得到 Hsub2,依次向右循环移位,得到 Hsub3,…,Hsub360。利用校验矩阵子矩阵 H1的这一特点,可以用于改进 LDPC 译码器结构。
各标准中使用的LDPC码类手穗型不同,可根据需求选择更合适的LDPC码来译码。
最后,欢迎各位朋友交流探讨。
参考文献:
[1] Gallager R G. Low-Density Parity-Check Codes[J]. Ire Transactions on Information Theory, 1963, 8(1):21-&.
[2] Mackay D J C, Neal R M. Near Shannon limit performance of low density parity check codes[J]. Electronics Letters, 1997, 33(6):457-458.
[3] Jin H, Kh A D, Mceliece R. Irregular Repeat Accumulate Codes[J]. IEEE Int.symp.on Information Theory Yokohoma, 2000, 50(8):1711 - 1727.
[4] Tanner R. A recursive approach to low complexity codes[J]. IEEE Transactions on InformationTheory, 1981, 27(5):533-547.
人物的内心世界是很丰富的,心理描写就是要充分揭示出人物内心的喜、怒、哀、乐、爱慕、思念、苦闷、痛苦、怨恨、惊恐、嫉妒等等。常见的心理描写方式有内心独白、思忆联想、梦境幻觉姿如等。不是每篇文章都适合出现心理活动迹闹启的,我们在写心理弯陵活动的时候应该注意:
一、应写特定的人物在特定的环境中才会产生的心理活动
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)