коммуникация. ConvolutionalDeinterleaver

Восстановите упорядоченное расположение символов с помощью сдвиговых регистров

Описание

Объект ConvolutionalDeinterleaver восстанавливает сигнал, который был чередован с помощью сверточного объекта Interleaver. Параметры в двух блоках должны иметь те же значения.

Восстановить convolutionally чередованные двоичные данные:

  1. Задайте и настройте свой сверточный объект deinterleaver. Смотрите Конструкцию.

  2. Вызовите step, чтобы convolutionally устранить чередование согласно свойствам comm.ConvolutionalDeinterleaver. Поведение step характерно для каждого объекта в тулбоксе.

Примечание

При запуске в R2016b, вместо того, чтобы использовать метод step, чтобы выполнить операцию, заданную Системой object™, можно вызвать объект с аргументами, как будто это была функция. Например, y = step(obj,x) и y = obj(x) выполняют эквивалентные операции.

Конструкция

H = comm.ConvolutionalDeinterleaver создает сверточный deinterleaver Системный объект, H. Этот объект восстанавливает исходное упорядоченное расположение последовательности, которая была чередована с помощью сверточного interleaver Системного объекта.

H = comm.ConvolutionalDeinterleaver(Name,Value) создает сверточный deinterleaver Системный объект, H, с каждым заданным набором свойств к заданному значению. Можно задать дополнительные аргументы пары "имя-значение" в любом порядке как (Name1, Value1..., NameN, ValueN).

Свойства

NumRegisters

Количество внутренних сдвиговых регистров

Задайте количество внутренних сдвиговых регистров как скаляр, положительное целое число. Значением по умолчанию является 6.

RegisterLengthStep

Полное различие в символе каждого регистра последовательного сдвига

Задайте различие в способности символа каждого регистра последовательного сдвига, где последний регистр содержит нулевые символы как положительное, скалярное целое число. Значением по умолчанию является 2.

InitialConditions

Начальные условия сдвиговых регистров

Задайте значения, которые первоначально хранятся в каждом сдвиговом регистре в виде числа или вектора, кроме последнего сдвигового регистра, который имеет нулевую задержку. Если вы устанавливаете это свойство на скаляр, то все сдвиговые регистры, кроме последнего, хранят то же заданное значение. Можно также установить это свойство на вектор-столбец с длиной, равной значению свойства NumRegisters. С этой установкой i-th сдвиговый регистр хранит (N–i+1)-th элемент заданного вектора. Значение первого элемента этого свойства неважно, потому что последний сдвиговый регистр имеет нулевую задержку. Значением по умолчанию является 0.

Методы

сбросСбросьте состояния сверточного объекта deinterleaver
шагВосстановите упорядоченное расположение символов с помощью сдвиговых регистров
Характерный для всех системных объектов
release

Позвольте изменения значения свойства Системного объекта

Примеры

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

Создайте сверточный interleaver и объекты deinterleaver.

interleaver = comm.ConvolutionalInterleaver('NumRegisters',2, ...
    'RegisterLengthStep',3);
deinterleaver = comm.ConvolutionalDeinterleaver('NumRegisters',2, ...
    'RegisterLengthStep',3);

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

data = (0:20)';
intrlvData = interleaver(data);
deintrlvData = deinterleaver(intrlvData);

Отобразите исходную последовательность, чередованную последовательность и восстановленную последовательность.

[data intrlvData deintrlvData]
ans = 21×3

     0     0     0
     1     0     0
     2     2     0
     3     0     0
     4     4     0
     5     0     0
     6     6     0
     7     1     1
     8     8     2
     9     3     3
      ⋮

Задержка через interleaver и deinterleaver пару равна продукту свойств NumRegisters и RegisterLengthStep. После составления этой задержки подтвердите, что исходные и устраненные чередование данные идентичны.

intrlvDelay = interleaver.NumRegisters * interleaver.RegisterLengthStep
intrlvDelay = 6
numSymErrors = symerr(data(1:end-intrlvDelay),deintrlvData(1+intrlvDelay:end))
numSymErrors = 0

Алгоритмы

Этот объект реализует алгоритм, входные параметры и выходные параметры, описанные на странице с описанием блока Convolutional Deinterleaver. Свойства объектов соответствуют параметрам блоков.

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

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