Rectangular pulse shaping
y = rectpulse(x,nsamp)
y = rectpulse(x,nsamp) applies
rectangular pulse shaping to
x to produce an output
nsamp samples per symbol. Rectangular
pulse shaping means that each symbol from
nsamp times to form the output
x is a matrix with multiple rows, the function
treats each column as a channel and processes the columns independently.
To insert zeros between successive samples of
of repeating the samples of
x, use the
upsample function instead.
An example in Combine Pulse Shaping and Filtering with Modulation uses this function in conjunction with modulation.
The code below processes two independent channels, each containing
three symbols of data. In the pulse-shaped matrix
each symbol contains four samples.
nsamp = 4; % Number of samples per symbol nsymb = 3; % Number of symbols s = RandStream('mt19937ar', 'Seed', 0); ch1 = randi(s, [0 1], nsymb, 1); % Random binary channel ch2 = [1:nsymb]'; x = [ch1 ch2] % Two-channel signal y = rectpulse(x,nsamp)
The output is below. In
y, each column corresponds
to one channel and each row corresponds to one sample. Also, the first
four rows of
y correspond to the first symbol,
the next four rows of
y correspond to the second
symbol, and the last four rows of
to the last symbol.
x = 1 1 1 2 0 3 y = 1 1 1 1 1 1 1 1 1 2 1 2 1 2 1 2 0 3 0 3 0 3 0 3