Прямоугольное формирование импульсов
y = rectpulse(x,nsamp)
y = rectpulse(x,nsamp) применяет прямоугольное импульсное формирование к x для формирования выходного сигнала, имеющего nsamp выборок на символ. Прямоугольное формирование импульса означает, что каждый символ от x повторяется nsamp время формирования выхода y. Если x является матрицей с несколькими строками, функция обрабатывает каждый столбец как канал и обрабатывает столбцы независимо.
Примечание
Чтобы вставить нули между последовательными выборками x вместо повторения выборок x, использовать upsample вместо этого функция.
Пример в Объединении Формирования Импульсов и Фильтрации с Модуляцией использует эту функцию в сочетании с модуляцией.
Приведенный ниже код обрабатывает два независимых канала, каждый из которых содержит три символа данных. В импульсообразной матрице yкаждый символ содержит четыре выборки.
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)
Ниже приведен выход. В yкаждый столбец соответствует одному каналу, и каждая строка соответствует одной выборке. Кроме того, первые четыре строки y соответствуют первому символу, следующим четырем строкам y соответствуют второму символу и последним четырем строкам y соответствуют последнему символу.
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