Восстановите упорядоченное расположение символов входа путем заполнения матрицы по диагоналям
Сублибрарий перемежения блоков
Блок Matrix Helical Scan Deinterleaver выполняет перемежение блоков, заполняя матрицу входными символами по спирали и затем отправляя содержимое матрицы в строку выходного порта по строкам. Параметры Number of rows и Number of columns являются размерностями матрицы, которую блок использует внутренне для своих расчетов.
Спиральный режим означает, что блок помещает входные символы вдоль диагоналей матрицы. Количество элементов в каждой диагонали соответствует параметру Number of columns, после того, как блок при необходимости проходит мимо ребер матрицы. Блок пересекает диагонали так, что индекс строки и индекс столбца оба увеличиваются. Каждая диагональ после первой начинается на одну строку ниже первого элемента предыдущей диагонали.
Параметром Array step size является наклон каждой диагонали, то есть величина, на которую индекс строки увеличивается, когда индекс столбца увеличивается на единицу. Этот параметр должен быть целым числом от нуля до Number of rows параметра. Если параметр Array step size равен нулю, то блок не перемежается, и выход аналогичен входу.
Этот блок принимает вектор-столбец входной сигнал. Количество элементов входного вектора должно быть продуктом Number of rows и Number of columns.
Блок принимает следующие типы данных: int8
, uint8
, int16
, uint16
, int32
, uint32
, boolean
, single
, double
, и с фиксированной точкой. Сигнал выхода наследует свой тип данных от входного сигнала.
Количество строк в матрице, которое блок использует для своих расчетов.
Количество столбцов в матрице, используемое блоком для своих расчетов.
Наклон диагоналей, которые записывает блок.