gusucode.com > 非线性BD-GMD均分功率用户排序误码率源码程序 > 非线性BD-GMD均分功率用户排序误码率源码程序/code/gmd_zcy_streamreduce.m
% Matlab implementation of the "Geometric Mean Decomposition" % version of Hager, December 3, 2003 % slightly modified by Yi, April 19, 2004 % Copyright 2003, University of Florida, Gainesville, Florida % %A = U*S*V' is the singular value decomposition of A % U, V unitary, S diagonal matrix with nonnegative % diagonal entries in decreasing order % = Q*R*P' is the geometric mean decomposition of A % P, Q unitary, R real upper triangular with r_ii = % geometric mean of the positive singular values of A, % 1 <= i <= p, p = number of positive singular values % All singular values smaller than tol treated as zero function [Q1, R1, P1] = gmd_zcy_streamreduce (h,streamnum) %reducednum为减少流数,小于等于h的行数,减少后的流数不小于2 %"Uesr order and subchannel selection for power minimization in mimo broadcast channels using BD-GMD" [m n]=size(h); if streamnum==m [Q1 R1 P1]=gmd_zcy(h); else [U,S,V]=svd(h); T1=[eye(m,m);zeros(n-m,m)]; S=S*T1; V=V*T1; [u s v]=gmd_zcy(S(1:streamnum,1:streamnum)); Q1=U(:,1:streamnum)*u; R1=s; P1=V(:,1:streamnum)*v; end