реклама на сайте
подробности

 
 
> Глупый вопрос по Simulink Matlab?, Не могу понять идеологию моделирования.
inco
сообщение Jan 25 2014, 08:45
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 161
Регистрация: 26-08-05
Из: Российская Империя
Пользователь №: 7 984



Хотелось бы понять, как происходит моделирование в 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.





Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 06:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01354 секунд с 7
ELECTRONIX ©2004-2016