准对称DMC信道容量的C++实现,程序说明书

上传人:飞*** 文档编号:40519445 上传时间:2018-05-26 格式:DOC 页数:6 大小:59.50KB
返回 下载 相关 举报
准对称DMC信道容量的C++实现,程序说明书_第1页
第1页 / 共6页
准对称DMC信道容量的C++实现,程序说明书_第2页
第2页 / 共6页
准对称DMC信道容量的C++实现,程序说明书_第3页
第3页 / 共6页
准对称DMC信道容量的C++实现,程序说明书_第4页
第4页 / 共6页
准对称DMC信道容量的C++实现,程序说明书_第5页
第5页 / 共6页
点击查看更多>>
资源描述

《准对称DMC信道容量的C++实现,程序说明书》由会员分享,可在线阅读,更多相关《准对称DMC信道容量的C++实现,程序说明书(6页珍藏版)》请在金锄头文库上搜索。

1、准对称准对称 DMC 信道容量的信道容量的 C+实现实现程序说明书程序说明书山东山东*大学大学 *科学与技术学院科学与技术学院*工程工程 07041、程序功能概述程序功能概述本程序使用 C+程序语言编写,实现已知准对称 DMC 信道的转移矩阵求信道容量。已知: )|()|()|()|()|()|()|()|()|(21222211121121|21nmnnmmnXYmabpabpabpabpabpabpabpabpabpaaaPbbbLMMMMLLM求:准对称 DMC 的信道容量bit/符号 pppsHrM rMkkkks21n1)log()(C,2、程序结构概述程序结构概述本程序共分三部分:

2、主函数、类外函数、类。各部分功能:主函数:负责程序的启动,接收用户数据,创建对象,函数调用。类外函数:负责程序的初始化,接收用户输入的数据。类:完成数据计算,输出计算结果。3、程序功能分析程序功能分析 1.主函数主函数创建一个二维数组 y,用来存放转移矩阵。采用数组的传址方式调用函数:input() ,以实现对数组的初始化。创建 dmc 类对象,并以转移矩阵的元素个数和数组地址作为实参。依次调用 dmc 类的各成员函数,完成数值计算。均不返回计算结果,由成员函数直接输出到屏幕。2.类外函数类外函数用于接收用户输入的 input 函数:用 for 循环完成对主函数 y数组的赋值,因为采用传址方式

3、,可以直接完成对主函数数组的修改,无须返回值。用于初始化屏幕的 Start 函数。3.类:类:dmc 类内的成员函数有:构造函数 dmc(),析构函数dmc(),对矩阵进行列排序的函数 paixu();条件熵计算函数 H();子阵列计算分块、计算函数 HDMC()。(1)dmc():用主函数传递的参数对类的数据成员进行初始化,用数组 atob 代表集合 P(Y|X)。提取矩阵的第一行用 Y存放。for (int r1 = 0; r1 = a_br5n5) xx = a_br5n5;a_br5n5 = a_br6n5;a_br6n5 = xx;(3)H():实现公式的计算。ppppps1s21l

4、og),( iiiH void dmc:H() for (int n2 = 0; n2 n; n2+)if(Yn2!=0) h = h + Yn2 * log(Yn2) / log(2); cout “条件熵 H=“ -h endl;(4)HDMC():实现公式的计算。)log()(n1rM rMkkkks 算法:为二维矩阵每一列设置标号和计数器 oney2 = 0;My2 = 0。用某一列元素对比矩阵其他列元素,对比前将这一列标号设为 1,计数器设为 1,当其他列与该列完全相同时计数器增一,并将相同的该列标号置 1。进行下一列元素的对比,对比前先检测该列标号是否为 0,若不为 0,则认为该列

5、与之前扫描过的列相同,已经计入列计数器,不再进行对比。计数器存放的数值即为公式中的 Sk。for (int y1 = 0; y1 n; y1+) if (oney1 = 0) oney1 = 1;My1 = 1;for (int n3 = y1 + 1; n3 n; n3+) for (int r3 = 0; r3 r; r3+) if (a_br3y1 != a_br3n3) break; else if (r3 = r - 1) onen3 = 1;My1+;计算 Mk:for (int n5 = 0; n5 n; n5+) sumn5 = 0;for (int r5 = 0; r5 r; r5+) sumn5 = atobr5n5 + sumn5;计算:)log()(n1rM rMkkkks for (int n4 = 0; n4 n; n4+) if (Mn4 != 0) yyn4 = Mn4 * sumn4 / r * (log(sumn4 / r) / log(2);logs = logs + yyn4;4、结语结语 本程序用 C+程序语言实现了准对称 DMC 的信道容量的计算。可以满足替代人工计算的要求,提高了工作效率和计算精度。采用类封装和模块化设计可以实现程序功能的扩展和代码的重用。* 于 2010 年 5 月 1 日 起草

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 研究报告 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号