收藏 分销(赏)

计算给定失真矩阵及与之对应的信道参数.doc

上传人:pc****0 文档编号:7423048 上传时间:2025-01-03 格式:DOC 页数:8 大小:85.50KB 下载积分:10 金币
下载 相关 举报
计算给定失真矩阵及与之对应的信道参数.doc_第1页
第1页 / 共8页
计算给定失真矩阵及与之对应的信道参数.doc_第2页
第2页 / 共8页


点击查看更多>>
资源描述
信息论与编码 课程设计报告 专 业: 组 长: 组 员: 日 期: 1.所选题目 计算给定失真矩阵的 及与之对应的信道参数 2.题目要求 1) 进行理论分析 2) 判断输入矩阵满足该失真矩阵条件 3) 计算 4) 计算与 对应的信道参数 3.核心算法描述 1)对失真矩阵的判断:从一个死循环while(1)开始,根据失真矩阵该矩阵判断条件(即题目要求)逐一判断是不是失真矩阵,当跳出死循环的时候,判断完成,即该矩阵是失真矩阵。 2)计算 :用公式 利用了矩阵的相乘。 3)计算与对应的信道参数:针对上面核心算法思想,找到最小的后,根据对应的 (若i=m),将失真矩阵 中第m列全部变为1,其余列全部变为0 。 4.算法步骤 1)先定义一个是真矩阵判定函数即:function pand(D)其中D为输入的失真矩阵 2)死循环开始 根据失真矩阵判定条件逐个判断: (1)if n>m 即列数大于行数不是失真矩阵 (2)for i=1:1:n for j=1:1:m if D(i,j)<0 即双重循环判定是不是每个值大于零 (3)用二重循环判定每行至少一个零每列最多有一个零 即行判断for i=1:1:n a=0; for j=1:1:m if D(i,j)==0 a=a+1;列判断for j=1:1:m a=0; for i=1:1:n if D(i,j)==0 a=a+1; (4)死循环结束 3)计算与对应的信道参数 (1)定义函数function Dmax(D,p) 功能为计算其中p为输入概率行数为1可以为多列 (2)[x,y]=size(p)返回x,y的数值即矩阵行值和列值 (3)A=p*D此为矩阵的相乘,即输入概率矩阵p和失真矩阵D的乘积 (4)for j=1:1:a if min>A(1,j) min=A(1,j); b=j; 按照公式计算 b为计算结果中失真矩阵的列数 (5)把重步骤4中的是真矩阵的列数p全部数值赋予1其他的为零,最后输出该矩阵,次矩阵即为信道参数 5.程序核心代码 判定函数代码: function pand(D) %D为输入的失真矩阵,pand()为判定函数 [n,m]=size(D); %返回D的行数和列数 b=0;c=1; while (c==1) %死循环从此处开始 if n>m %列数大于行数 disp('不是失真矩阵!!!') b=1; end if b==1 break end for i=1:1:n %各值非负 for j=1:1:m if D(i,j)<0 disp('不是失真矩阵!!!') b=1; break end if b==1 break end end if b==1 break end end if b==1 break end for i=1:1:n %每行至少有一个0 a=0; for j=1:1:m if D(i,j)==0 a=a+1; end end if a==0 disp('不是失真矩阵!!!') b=1; break end if b==1 break end end if b==1 break end for j=1:1:m %每列最多有一个0 a=0; for i=1:1:n if D(i,j)==0 a=a+1; end end if a>1 disp('不是失真矩阵!!!') b=1; break end if b==1 break end end if b==1 %跳出死循环 break end disp('这是失真矩阵!!!') break end 计算及其对应的信道参数: function Dmax(D,p) %p为输入概率 [n,m]=size(D); [x,y]=size(p); %返回p的行数和列数 z=1; while z==1 %死循环从此处开始 if x>1|y>m|y<m %判断p是否满足条件 disp('p不满足条件') break end A=p*D; % 矩阵相乘 a=length(A); % a为矩阵的列数 min=1; for j=1:1:a %按照公式,求 if min>A(1,j) min=A(1,j); b=j; end end disp('Dmax=') %输出 disp(min) disp('所在列数:') disp(b) for i=1:1:n % 算转移概率矩阵 for j=1:1:m if j==b D(i,j)=1; else D(i,j)=0; end end end disp('转移概率矩阵为:') disp(D) break end 6.程序运行结果截图 (1)错误的输入和运行结果 (2)错误的输入和运行结果 (3)错误的输入和运行结果 (4)正确的输入及其对应的运行结果
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 百科休闲 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服