MIMOFilter

PURPOSE ^

Y = MIMOfilter(H,X);

SYNOPSIS ^

function Y = MIMOFilter(H,X);

DESCRIPTION ^

Y = MIMOfilter(H,X);

  Performs a filtering of an N-channel input with 
  a KxN channel MIMO system.
  
  Input parameters:
       H     K x N x L MIMO system matrix
                 K   output dimension
                 N   input dimension
                 L1   lenght of FIR filters
       X     N x L2   N channel input of length L2

  Output parameter:
       Y     K x L2   K channel output of length L2

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function Y = MIMOFilter(H,X);
0002 %Y = MIMOfilter(H,X);
0003 %
0004 %  Performs a filtering of an N-channel input with
0005 %  a KxN channel MIMO system.
0006 %
0007 %  Input parameters:
0008 %       H     K x N x L MIMO system matrix
0009 %                 K   output dimension
0010 %                 N   input dimension
0011 %                 L1   lenght of FIR filters
0012 %       X     N x L2   N channel input of length L2
0013 %
0014 %  Output parameter:
0015 %       Y     K x L2   K channel output of length L2
0016   
0017 %  S Weiss, Univ of Southampton, 15/7/2004
0018   
0019 [M,N1,L1] = size(H);
0020 [N2,L2] = size(X);
0021 if N2 ~= N1,
0022   error('MIMOfilter: dimensions do not agree');
0023 end;
0024 Y = zeros(M,L2);
0025 for m = 1:M,
0026   for n = 1:N1,
0027     Y(m,:) = Y(m,:) + filter(shiftdim(H(m,n,:)),1,X(n,:));  
0028   end;  
0029 end;
0030

Generated on Mon 03-Jul-2023 19:45:57 by m2html © 2005