Хотелось бы понять, как происходит моделирование в Simulink. Вот уже несколько раз пытался в нём что нибудь промоделировать но ничего не получается, а тут как раз возникла подходящая задачка. Требуется промоделировать работу приёмо-передающего тракта. Для начала решил попробовать пример по ссылке:
http://matlab.exponenta.ru/communication/book5/index.php В теории вроде всё понятно, но ступор наступает после первых же двух блоков. Вставляю блок Bernoulli Binary Generator и блок Scrambler. Настраиваю у блока Scrambler полином на 23 разряда. Когда моделируеш работу ПЛИС в Квесте или пишеш программу для микроконтроллера, всё понятно, процессы идут либо параллельно либо последовательно во времени по сигналу CLK. Тут же, вообще не понятно как оно работает. Вот настроил я скрамблер и пытаюсь подать на него с генератора случайный бит (устанавливаю у генератора тип переменной boolean) раз в миллисекунду. Тут же получаю ошибку симулинка, что длина посылки к скрамблеру должна быть не меньше длины полинома (вопрос почему, если это простой сдвиговый регистр и вход/выход у него однобитовый). Ладно, устанавливаю ширину слова генератора uint32 и подаю на скрамблер. Проект собирается и моделируется. Пытаюсь с помощью simout посмотреть входные и выходные значения скрамблера, при этом время моделирования устанавливаю 5 сек. Получаю в матлабе два массива из 5000 элементов (вроде понятно, так и должно быть), но входной массив скрамблера состоит только из единиц и нулей (однобитных данных), а выходной из значений в диапазоне от 0 до 22. Собственно я и не могу понять, почему на входе битовый поток если я установил слова по 32 бита, куда делись остальные 31 бит. Как я понимаю, я должен увидеть два 32 битных массива по 5000 элементов каждый, в одном 32 битные входные данные, в другом 32 битные выходные данные, прошедшие через скрамблер? Теперь дальше. Выходные данные со скрамблера я должен разбить на части по 6 бит. Но 32 на 6 не делится. Если бы я это делал в Квесте, всё понятно, ставим делитель на 6 (так как там на входе сплошной битовый поток) и по каждому его срабатыванию кодируем шестибитные слова с выхода скрамблера согласно алгоритму. А что делать в симулинке, тут делитель на 6 не сделаешь, кого собственно делить если сигнала CLK нет. Я понимаю что симулинк работает не так, но не понимаю как он работает?
Собственно тут возникает идеологический ступор. Как всё таки работает симулинк? Может кто разъяснит в общих чертах, как им собственно пользоваться, иначе не возможно что либо промоделировать не понимая как работает среда моделирования?
Фух, много букв! Да забыл, Matlab2013b.