Я использую модель 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