2015-01-21 3 views
0

Я использую модель commdvbs для целей моделирования.Simulink Matlab функциональный блок многомерный сдвиг матрицы

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

Итак, я делаю это, вставляя функциональный блок и используя circshift (вы более чем можете предложить альтернативные подходы).

Теперь, когда время моделирования увеличивается до более чем минимальной точки (где используемые матрицы используются для остановки 2-мерного размера), больше «страниц» (третье, четвертое, пятое ... размеры) поворачиваются для размещения генерируемые данные. Затем, в точке, где находится моя функция, симуляция каким-то образом «блокируется», что означает, что она входит в функциональный блок и выполняет циклическое перемещение в течение нескольких раз (равное числу 3-го измерения) с разницей, которая ТОЛЬКО для первый входной вектор первого измерения (страницы), без обновления к вектору второго измерения и т. д.

Например, если у меня есть матрица 3 размера, содержащая 3 векторов А (3,1,3), который должен быть обработана как:

First: circshift(A(:,:,1),2,2) 

Second: circshift(A(:,:,2),2,2) 

third: circshift(A(:,:,3),2,2) 

Instead it does: 

First: circshift(A(:,:,1),2,2) 

Second: circshift(A(:,:,1),2,2) 

third: circshift(A(:,:,1),2,2) 

Кто-нибудь знает какой-либо обход этой проблемы? George

ответ

0

Проблема заключается в том, что модель i используется для моделирования на основе кадра, поэтому функциональный блок должен следовать одному и тому же подходу. Это делается путем изменения вывода функционального блока на фрейм, основанный на режиме редактирования данных -> вывод -> выборки. Thanks

Смежные вопросы