Adding channel effects to a signal I have a a channel matrix "H" that is circulant. 
I have data blocks.
I want to add the channel effects to the signal. 

When H was only a vector of channel coefficients I would say:

%Going Through The Channel 
After_channel= filter(H,1,Data);


but now that H is a matrix the line above wouldn't work. 

I'm not sure what to do
When you use the channel matrix (it is probably a convolution matrix), you just need to multiply it by the signal. Note that the output from this operation will not be equal the output from the filter function. The filter function generates an output from the same size of the input signal, so if your signal has a length of N, just the first N samples obtained from the multiplication will be the same. See the code posted by @Harris.