Channelization: frequency multiplexing of m input signals into a single signal (but with bandwidth multiplied by m)

Séquence d'appel

y = channelize(X)



input matrix, size [n x m], with n: n samples / channel, and m: number of channels. Each column of X is a different signal. The number of columns (m) is the number of channels.


output vector, size [nm x 1]


Merge m different signals into a single vector, by frequency multiplexing. The signals are shifted at the following normalized frequencies: 0, 1/m, 2/m, ..., (m-1)/m. Note: this could be done more effectively using a modulated filter bank (Harris method, reciprocal algorithm of the unchannelize function).

fs = 1e3;
mod = mod_init("bpsk", fs=1e3,fi=0,fsymb=50);
[mod,x] = mod_process(mod,prbs(1000));
nchn = 8;
// In this example, just duplicate the same channel 8 times
X = repmat(x,1,nchn);
y = channelize(X); // output sample rate is 8 times higher
clf(); plot_psd(y,8*fs,'b');