Main Content

rectpulse

Rectangular pulse shaping

Syntax

y = rectpulse(x,nsamp)

Description

y = rectpulse(x,nsamp) applies rectangular pulse shaping to x to produce an output signal having nsamp samples per symbol. Rectangular pulse shaping means that each symbol from x is repeated nsamp times to form the output y. If x is a matrix with multiple rows, the function treats each column as a channel and processes the columns independently.

Note

To insert zeros between successive samples of x instead of repeating the samples of x, use the upsample function instead.

Examples

To see this function in conjunction with modulation, see Modulation with Pulse Shaping and Filtering Examples.

The code below processes two independent channels, each containing three symbols of data. In the pulse-shaped matrix y, 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 y correspond 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

Version History

Introduced before R2006a

See Also

|