MIMO_ML_DvecZ2DvecZH

PURPOSE ^

SYNOPSIS ^

function DvecZH = MIMO_ML_DvecZ2DvecZH(DvecZ, rows, columns);

DESCRIPTION ^

 function DvecZH = MIMO_ML_DvecZ2DvecZH(DvecZ, rows, columns);

       Given the derivative of vec(Z) w.r.t. to a vector param, calculate the derivative of vec(Z^H) w.r.t. param
       where Z has dimensions rows x columns x number of frequencies.
       Note: size(DvecZ, 1) = rows*columns

   Output parameter
       DvecZH  =   derivative of vec(Z') w.r.t. parameter vector, dimension rows*columns x dim(param) x number of frequencies
                   where Z has dimensions rows x columns x number of frequencies

   Input parameter
       DvecZ   =   derivative of vec(Z) w.r.t. parameter vector, dimension rows*columns x dim(param) x number of frequencies
                   where Z has dimensions rows x columns x number of frequencies


 Copyright (c) Rik Pintelon, Vrije Universiteit Brussel - dept. ELEC, November 2009
 All rights reserved.
 Software can be used freely for non-commercial applications only.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function DvecZH = MIMO_ML_DvecZ2DvecZH(DvecZ, rows, columns);
0002 %
0003 % function DvecZH = MIMO_ML_DvecZ2DvecZH(DvecZ, rows, columns);
0004 %
0005 %       Given the derivative of vec(Z) w.r.t. to a vector param, calculate the derivative of vec(Z^H) w.r.t. param
0006 %       where Z has dimensions rows x columns x number of frequencies.
0007 %       Note: size(DvecZ, 1) = rows*columns
0008 %
0009 %   Output parameter
0010 %       DvecZH  =   derivative of vec(Z') w.r.t. parameter vector, dimension rows*columns x dim(param) x number of frequencies
0011 %                   where Z has dimensions rows x columns x number of frequencies
0012 %
0013 %   Input parameter
0014 %       DvecZ   =   derivative of vec(Z) w.r.t. parameter vector, dimension rows*columns x dim(param) x number of frequencies
0015 %                   where Z has dimensions rows x columns x number of frequencies
0016 %
0017 %
0018 % Copyright (c) Rik Pintelon, Vrije Universiteit Brussel - dept. ELEC, November 2009
0019 % All rights reserved.
0020 % Software can be used freely for non-commercial applications only.
0021 %
0022 
0023 F = size(DvecZ, 3);
0024 np = size(DvecZ, 2);
0025 DvecZH = zeros(size(DvecZ));
0026 
0027 % intermediate matrix with singleton dimension to calculate DvecZH for each column of DvecZ seperately
0028 dummy = zeros(rows*columns, 1, np, F); 
0029 dummy(:,1,:,:) = DvecZ;                          % derivative vec(Z) w.r.t. param
0030 dummy = reshape(dummy, rows, columns, np, F);    % derivative Z w.r.t. param
0031 dummy = conj(permute(dummy,[2, 1, 3, 4]));       % derivative Z' = Z^H w.r.t. param
0032 dummy = reshape(dummy, rows*columns, 1, np, F);  % derivative vec(Z^H) w.r.t. param
0033 dummy = permute(dummy, [1, 3, 4, 2]);
0034 
0035 DvecZH = dummy;

Generated on Thu 07-Jun-2012 11:58:58 by m2html © 2005