matlab-注水算法子函数,希望得到注释

问题描述

注水算法子函数,希望得到注释

讲清一下重要的步骤,程序意义及物理意义,只程序意义也可
function [Capacity PowerAllo] = WaterFilling_alg(PtotA,ChA,B,N0);
%
% WaterFilling in Optimising the Capacity
%===============
% Initialization
%===============
ChA = ChA + eps;
NA = length(ChA); % the number of subchannels allocated to

H = ChA.^2/(B*N0); % the parameter relate to SNR in subchannels
% assign the power to subchannel
PowerAllo = (PtotA + sum(1./H))/NA - 1./H;
while(length(find(PowerAllo < 0 ))>0)
IndexN = find(PowerAllo <= 0 );
IndexP = find(PowerAllo > 0);
MP = length(IndexP);
PowerAllo(IndexN) = 0;
ChAT = ChA(IndexP);
HT = ChAT.^2/(B*N0);
PowerAlloT = (PtotA + sum(1./HT))/MP - 1./HT;
PowerAllo(IndexP) = PowerAlloT;
end
PowerAllo = PowerAllo.';

Capacity = sum(log2(1+ PowerAllo.' .* H));

解决方案

http://www.docin.com/p-192393246.html
http://wenku.baidu.com/link?url=-W3Noey9R9P-PAoCD186RxZaU-KmKtVzmNKDrT7uNztRpQgM0ik7pzTK9tw6D4OLEsxqn5Kjv4i6czqQdzzNKk2FdQHrl3nZqdL-Xp1Vqle
http://www.docin.com/p-648576372.html

解决方案二:

你程序%那都是解释呀,看来你对注水算法不了解呀
基本原理:
信噪比(即信号功率谱与噪声功率谱之和)为常数时,系统才能达到总信道容量最大的要求。
当SNR很大时,Pi等功率分配,注水算法功效消失。
在功率分配的问题中,只有满足注水定理时,才能达到信道容量最大化。
也就是说信噪比大的信道分得的功率多,信噪比小的信道分得的功率少。
使用拉格朗日乘子分配信道功率Pi使得信道容量最大。
Pi=( 1/(lambda)i—u )+
编程仿真:
先对池底进行排序,然后分段求解拉格朗日乘子(lambda)i。

时间: 2024-10-22 21:07:42

matlab-注水算法子函数,希望得到注释的相关文章

利用window API实现matlab屏幕抓取函数

摘要:结合如何用window API实现matlab屏幕抓取函数,介绍了在matlab中如何利用matlab与C/C++的接口,调用操作系统API,扩展matlab功能. 引言 MATLAB 产品家族是美国 MathWorks公司开发的用于概念设计,算法开发,建模仿真,实时实现的理想的集成环境.由于其完整的专业体系和先进的设计 开发思路,使得 MATLAB 在多种领域都有广阔的应用空间. 尽管MATLAB在科学研究以及工业技术开发方面有着极为广泛的应用,但是它也不是万能的.在某些场合下,MATL

编程-【MATLAB】未定义函数或变量 &amp;amp;quot;d_k&amp;amp;quot;

问题描述 [MATLAB]未定义函数或变量 "d_k" function y = rsc_encode(g, x, end1) [n,K] = size(g); m = K - 1; if end1>0 L_info = length(x); L_total = L_info + m; else L_total = length(x); L_info = L_total - m; end state = zeros(1,m); for i = 1:L_total if end10

MATLAB中的round函数

MATLAB中的round函数 函数简介 调用格式:Y = round(X) 在matlab中round也是一个四舍五入函数.在matlab的命令窗口中输入doc round或者help round即可获得该函数的相关帮助信息. 相关函数:ceil.floor.fix 程序示例 >>a = [-1.9, -0.2, 3.4, 5.6, 7.0, 2.4+3.6i] a = Columns 1 through 4 -1.9000 -0.2000 3.4000 5.6000 Columns 5 t

MATLAB图像配准 imregtform函数报错

问题描述 MATLAB图像配准 imregtform函数报错 新手一枚,本想照着MATLAB里的示例学习,结果出现这种错误,不懂了...求解答,谢谢.我使用的是MATLAB2014a. 解决方案 你先看看图片的值有没有取到,windows里面路径不是要双斜杠么?

matlab round-matlab中round函数0.5不进位

问题描述 matlab中round函数0.5不进位 for i=1:h O(i,4)=round(O(i,1)+O(i,2)+O(i,3)); if O(i,4)>=180 P{i,1}='合格'; else P{i,1}='不合格'; end end 循环做出来的67.5.100.72三个和取整是239,但是单独在命令窗口执行round(67.5+100+72),结果是240. 这是为什么? 有什么解决的办法,让循环做出来的是真正的四舍五入?跪求大神指教......

asp之自动闭合HTML/ubb标签函数 附简单注释_应用技巧

这最近在PJ的function库里看到的这个函数,感觉思路差了点,不过相对比较完美,只是闭合标签时的顺序问题,呵呵 修改一下数组arrTags里的各元素内容,可以达到闭合任何标签的功能. 在此,我给增加了一些注释,方便大家一起学习学习 复制代码 代码如下: Function closeUBB(strContent) '************************************* '自动闭合UBB '************************************* Dim

asp之自动闭合HTML/ubb标签函数附简单注释_应用技巧

Function closeUBB(strContent) '************************************* '自动闭合UBB '************************************* Dim arrTags, i, OpenPos, ClosePos, re, strMatchs, j, Match Set re = New RegExp '申明re对象 re.IgnoreCase = True '设置是否区分字符大小写 re.Global =

asp之自动闭合HTML/ubb标签函数 附简单注释

这最近在PJ的function库里看到的这个函数,感觉思路差了点,不过相对比较完美,只是闭合标签时的顺序问题,呵呵 修改一下数组arrTags里的各元素内容,可以达到闭合任何标签的功能. 在此,我给增加了一些注释,方便大家一起学习学习 复制代码 代码如下: Function closeUBB(strContent) '************************************* '自动闭合UBB '************************************* Dim

Matlab计算矩阵和函数梯度

一.差分与微分 我自己的理解. 二.求解 2.1 矩阵 这就是matlab的计算结果.太小的话放大些: c = 4 5 9 7 2 1 5 2 6 >> [x,y]=gradient(c) x = 1.0000 2.5000 4.0000 -5.0000 -3.0000 -1.0000 -3.0000 0.5000 4.0000 y = 3.0000 -3.0000 -8.0000 0.5000 -1.5000 -1.5000 -2.0000 0 5.0000 先看x,x就是矩阵的横向梯度,怎