


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

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