comm.MultiplexedDeinterleaver

Устраните чередование символов с помощью набора сдвиговых регистров с заданными задержками

Описание

comm.MultiplexedDeinterleaver Система object™ устраняет чередование символов во входной последовательности при помощи набора сдвиговых регистров, каждого с его собственной заданной задержкой. deinterleaver использует сдвиговые регистры N, где N является числом элементов в векторе, заданном свойством Delay. Когда новый вводимый символ вводит deinterleaver, Системный объект переключает коммутатор на новый регистр и переключает новый символ на нижний регистр при переключении самого старого символа на верхний регистр в том регистре. Когда коммутатор достигает N th регистр на следующий новый вход, Системный объект возвращается к первому регистру. Мультиплексированный deinterleaver, который сопоставлен с comm.MultiplexedInterleaver Системный объект имеет то же количество регистров как interleaver. Задержка конкретного регистра deinterleaver зависит от различия между самой большой задержкой interleaver и задержкой interleaver данного регистра. Для получения дополнительной информации смотрите Перемежение.

Устранять чередование символов во входной последовательности:

  1. Создайте comm.MultiplexedDeinterleaver объект и набор его свойства.

  2. Вызовите объект с аргументами, как будто это была функция.

Чтобы узнать больше, как Системные объекты работают, смотрите то, Что Системные объекты?

Создание

Описание

muxdeinterleaver = comm.MultiplexedDeinterleaver создает мультиплексированный deinterleaver Системный объект значения по умолчанию.

пример

muxdeinterleaver = comm.MultiplexedDeinterleaver(Name,Value)устанавливает Свойства при помощи одних или нескольких аргументов name-value. Например, 'InitialConditions',1 устанавливает начальные условия сдвиговых регистров к 1.

Свойства

развернуть все

Если в противном случае не обозначено, свойства являются ненастраиваемыми, что означает, что вы не можете изменить их значения после вызова объекта. Объекты блокируют, когда вы вызываете их, и release функция разблокировала их.

Если свойство является настраиваемым, можно изменить его значение в любое время.

Для получения дополнительной информации об изменении значений свойств смотрите Разработку системы в MATLAB Используя Системные объекты.

Interleaver задерживаются в виде вектор-столбца целых чисел. Значения в этом векторе задают длины сдвиговых регистров.

Типы данных: double

Начальные условия сдвиговых регистров в виде одной из этих опций.

  • Числовой скаляр — значением по умолчанию является 0. Заданный скаляр применяется ко всем сдвиговым регистрам.

  • Вектор-столбец — длина этого вектора должна быть равна длине значения свойства Задержки. i th начальное условие применяется к i th сдвиговый регистр.

Типы данных: double

Использование

Описание

deintrlvseq = muxdeinterleaver(intrlvseq) устраняет чередование входной последовательности символов, deintrlvseq, при помощи набора сдвиговых регистров с задержками, заданными свойством Delay. Системный объект возвращает устраненную чередование последовательность, deintrlvseq.

Входные параметры

развернуть все

Чередованная последовательность символов в виде вектор-столбца. Эта последовательность должна быть той, которая была чередована с помощью comm.MultiplexedInterleaver Системный объект.

Типы данных: double | logical | fi

Выходные аргументы

развернуть все

Устраненная чередование последовательность символов, возвращенных как вектор-столбец с совпадающим типом данных и размером как intrlvseq аргумент.

Типы данных: double | logical | fi

Функции объекта

Чтобы использовать объектную функцию, задайте Системный объект как первый входной параметр. Например, чтобы выпустить системные ресурсы Системного объекта под названием obj, используйте этот синтаксис:

release(obj)

развернуть все

stepЗапустите алгоритм Системного объекта
releaseВысвободите средства и позвольте изменения в значениях свойств Системного объекта и введите характеристики
resetСбросьте внутренние состояния Системного объекта

Примеры

свернуть все

Создайте мультиплексированный interleaver Системный объект, задав задержку interleaver.

interleaver = comm.MultiplexedInterleaver('Delay',[1; 0; 2; 1]);

Создайте мультиплексированный deinterleaver Системный объект, задав задержку interleaver.

deinterleaver = comm.MultiplexedDeinterleaver('Delay',[1; 0; 2; 1]);

Сгенерируйте случайную последовательность данных. Передайте последовательность данных через interleaver и затем deinterleaver.

[dataIn,dataOut] = deal([]); % Initialize data arrays

for index = 1:50
    data = randi([0 7],20,1);
    intrlvSequence = interleaver(data);
    deintrlvSequence = deinterleaver(intrlvSequence);
    % Save original data and deinterleaved data
    dataIn = cat(1,dataIn,data);
    dataOut = cat(1,dataOut,deintrlvSequence);
end

Определите задержку через interleaver и deinterleaver.

delay = finddelay(dataIn,dataOut)
delay = 8

После составления задержки подтвердите, что исходные и устраненные чередование последовательности идентичны.

isequal(dataIn(1:end-delay),dataOut(delay+1:end))
ans = logical
   1

Copyright 2012 The MathWorks, Inc.

Ссылки

[1] Heegard, Крис и Стивен Б. Викер. Турбокодирование. Бостон: Kluwer академические издатели, 1999.

Расширенные возможности

Представленный в R2012a