www.pudn.com > mimo_ofdm.rar > svd_decompose_channel.m, change:2004-11-20,size:520b


function [U, S, V] = svd_decompose_channel(Mt, Mr, h_f, N);
% [U S V] = svd_decompose_channel(Mt, Mr, h_f, N);
%
% Function decomposes the channel at each subcarrier into its SVD components
%
%   Mt - # Tx antennas
%   Mr - # Rx antennas
%   h_f - MIMO impulse response - Mr rows, Mt*L columns, where L is the number of
%         channel taps
%   N - # subcarriers

U = [];
S = [];
V = [];
for i = 1:N
    [Utmp Stmp Vtmp] = svd(h_f(:,(i-1)*Mt+1:i*Mt));
    U=[U Utmp];
    V=[V Vtmp];
    S=[S Stmp];
end

S = sum(S,1);