非线性BD-GMD均分功率用户排序误码率源码程序 - matlab数学建模 - 谷速源码
下载频道> 资源分类> matlab源码> 数学建模> 非线性BD-GMD均分功率用户排序误码率源码程序

标题:非线性BD-GMD均分功率用户排序误码率源码程序
分享到:

所属分类: 数学建模 资源类型: 文件大小: 40.85 KB 上传时间: 2016-01-28 20:17:33 下载次数: 10 资源积分:1分 提 供 者: xiaopeng2 20160128081721551
内容:
非线性BD-GMD均分功率用户排序误码率源码程序,程序员在编程的过程中可以参考学习使用,希望对IT程序员有用,此源码程序简单易懂、方便阅读,有很好的学习价值!
function  [Q,R,P] =BD_GMD_5_stream(H,UserNum,UserAntennaNum,stream_num,flag) 
 
% H 为信道 Nr*Nt
% H 按行分成Num个字h对应每个用户,UserAntennaNum为向量,对应每用户的天线数
% flag标示是 真二用户 1 假二用户 0 主要为了减少计算量
 
 
 
%将H分成各子信道矩阵
[m,n]=size(H);
I=eye(n);
%Q_end=[];
%R_end=zeros(m);
%P_end=[];
%
 
if UserNum~=2
    
    [Q1,R1,P1] = BD_GMD_5_stream(H,2,[UserAntennaNum(1) sum(UserAntennaNum(2:end))],[stream_num(1) sum(stream_num(2:end))],0);%假二用户
    H2=H(UserAntennaNum(1)+1:end,:);
%    rank_of_rightmatrix=rank((I-P(:,1:stream_num(1))*P(:,1:stream_num(1))'));
%    rank_of_old_H=rank(H(UserAntennaNum(1)+1:end,:));   
%    rank_of_new_H=rank(H2);
    [Q2,R2,P2] = BD_GMD_5_stream(H2*(I-P1*P1'),UserNum-1,UserAntennaNum(2:end),stream_num(2:end),1);
 
%    合成最后分解矩阵
    Q=blkdiag(Q1,Q2);
    R=blkdiag(R1,R2);
    R(stream_num(1)+1:end,1:stream_num(1))=Q2'*H2*P1;
    P=[P1 P2];
%      Q(UserAntennaNum(1)+1:end,stream_num(1)+1:end)=Q2;
%      R(stream_num(1)+1:end,stream_num(1)+1:end)=R2;
%      R(stream_num(1)+1:end,1:stream_num(1))=Q2'*H(UserAntennaNum(1)+1:end,:)*P(:,1:stream_num(1));
%      P(:,stream_num(1)+1:end)=P2;
      
else
if flag==0% 假二用户,不必对H2进行分解,只对H1进行分解即可 
    H1=H(1:UserAntennaNum(1),:);
    %求BD-GMD
   [Q,R,P]=gmd_zcy_streamreduce(H1,stream_num(1));
   % Q:Nr1*r1, R:r1*r1,P:Nt*r1
    
    
else %真二用户 需要对H1和H2都要分解
    
%%求二分矩阵的BD-GMD
H1=H(1:UserAntennaNum(1),:);
H2=H(UserAntennaNum(1)+1:UserAntennaNum(1)+UserAntennaNum(2),:);
 
%求BD-GMD
[Q1,R1,P1]=gmd_zcy_streamreduce(H1,stream_num(1));
 
 
 
 
HH=H2*(I-P1*P1');
[Q2,R2,P2]=gmd_zcy_streamreduce(HH,stream_num(2));
r=(Q2)'*H2*P1;
R=blkdiag(R1,R2);
[row col]=size(R1);
R(stream_num(1)+1:stream_num(1)+stream_num(2),1:col)=r;
 
P=[P1  P2];
 
Q=blkdiag(Q1,Q2);
end
 
 
 
%%
 
 
end

关键词: 误码率 非线性 功率

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved