|
Непонятки с моделью в симулинке, Гуру прошу вашей помощи |
|
|
|
Mar 5 2009, 05:56
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
добрый день! Гуру симулинка просветите что я делаю не так. Стоит задача сделать простой кабельный модем. Функциональная схема следующая: плис передатчик (генератор потока - скремблер - формирователь фронтов - цап-фильтр) - кабель 100-300 метров - плис приемник (фильтр - ацп - дециматор - LMS эквалайзер - временной декодер - петля по тактовой/дескремблер - VCO/ИКО) в железе собрал проект за 1 день (кроме LMS эквалайзера), все работает данные передаются корректно, петля в захвате, полоса петли 1кгц. для не слепой разработки эквалайзера начал осваивать симулинк, перенес туда аппаратный проект как есть. сделал все на double типах, время дискретное фиксированное. Опорная частота работы 179.2МГц. Но модель 05 моделируется очень медленно(вот это не понятно) и контроль поведения модели в разных точках проекта идет в разнос с тем, что происходит в аппаратуре(этом может быть сам где накосячил). Если вам не сложно дайте ответ на следующие вопросы: 1. Почему модель моделируется очень медленно? 2. Как корректно в симулнике моделировать аналоговые цепи вида ЦАП-фильтр - модель кабеля (фильтр) - фильтр - АЦП? 3. Как корректно моделировать АЦП, который работает от подстаиваемого ГУН (Zero Order Hold в Enable Subsytem все равно требует задания Sample Time)? 4. Как перенести корректно типы в модели с double в типы, которые используются в проекте. Особенно интересуют петли, иначе такая модель не показательна. В модели 06 я изменил все типы на типы проекта, но так и не понял как корректно выкусить 12 старших бит из 32 на выходе петлевого фильтра, что бы матлаб считал результат как sint12? 5. Как корректно описывать временные декодеры, на подобие тех, что у меня в проекте? Копаюсь уже вторую неделю и все больше прихожу к мысли что для аппаратной разработки модемов нужно использовать мосты ХДЛ симулятор-симулинк, а не чистый симулинк. А то тривиальные временные вещи (тот же временной декодер) описываются через одно место. И ведь по сути модем разрабатывается 2 раза, сначала нарисовать все в симулинке, потом ручками перебить в хдл. Спасибо.
--------------------
|
|
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 14)
|
Mar 5 2009, 08:00
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(litv @ Mar 5 2009, 01:39)  Прикольно Вас читать. Обычно сначала делаю модель на simulink , затем в Xilinx System generator(от тоже в Simulinke но своя библиотека и транслятор в Xilinx). Затем сразу ВСЁ работает. Если у Вас сначала Vhdl и работает - нафиг Вам simulink? решил начать работать как правильные люди, но когда через неделю не получилось добиться результатов, отложил матлаб и запустил систему в железе. Поняв что система спроектирована правильно, решил вернуться к симулинку что бы обкатать адаптивный эквалайзер. Цитата Модели АЦП (а может и ЦАП) есть на сайте analog device. Их можно вставить в матлаб. При моделировании вместо Normal нажмите Accelerator - будет быстрее. спасибо посмотрю Цитата Чем меньше пишите в Scopы и чем меньше scopov- быстрее скорость моделирования. Медленно моделируется - а куда спешить и где моделировать быстрее - только на С. 5 минут на 2-4 обновления ошибки в петле, это уже слишком, быстрее в железе посмотреть.
--------------------
|
|
|
|
|
Mar 5 2009, 08:29
|

Местный
  
Группа: Свой
Сообщений: 401
Регистрация: 6-10-04
Из: Воронеж
Пользователь №: 806

|
"решил начать работать как правильные люди, но когда через неделю не получилось добиться результатов, отложил матлаб и запустил систему в железе." Неделю - то вовсе немного. Матлаб можно учить всю жизнь Я матлаб учу с 2000 года и не считаю что хорошо разобрал. По поводу того что можно смотреть быстрее в железе - это был бы лучший способ - Но это когда проект уже работает. Тогда быстрее. А если отлаживать и КАЖДЫЙ раз компилить новый VHDL - то это тоже занимает скока минут, а может и час? Так что все относительно. Про АЦП сюда: http://www.analog.com/en/analog-to-digital....html#ADIsimADCНужно скачать http://www.analog.com/Analog_Root/static/t...mple_Matlab.zip и к нему *.adc модель вашего АЦП.
|
|
|
|
|
Mar 5 2009, 09:50
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(litv @ Mar 5 2009, 02:29)  "решил начать работать как правильные люди, но когда через неделю не получилось добиться результатов, отложил матлаб и запустил систему в железе." Неделю - то вовсе немного. Матлаб можно учить всю жизнь  думаю что для такой простой вещи (модулятор 4 тригера и табличка, демодулятор счетчик + 2 регистра) уж слишком долго %) Цитата По поводу того что можно смотреть быстрее в железе - это был бы лучший способ - Но это когда проект уже работает. Тогда быстрее. А если отлаживать и КАЖДЫЙ раз компилить новый VHDL - то это тоже занимает скока минут, а может и час? в данном конкретном примере 1 минута, все коэффициенты и прочее могу на лету менять, это пересборки не требует. %) Цитата(petrov @ Mar 5 2009, 03:09)  ИМХО симулинк для обкатки идей а не для 100% соответствия аппаратуре. Ессно потом ручками на VHDL переводить всё. И это не двойная работа, симулинк для разработки алгоритма, математики, нет смысла там тупо АЦП моделировать или фиксированную точку если с принципом работы эквалайзера есть вопросы. тогда посоветуйте как мне промоделировать вот что : сигнал с частотой 2*fверхнее формируется на 8*fверхнее и идет в кабель, в котором вносятся искажения, затем сигнал из кабеля нарезается на 4*fверхнее и на временном детекторе детектируется на 2*fверхнее. Как я понимаю мне нужно промоделировать именно нарезку аналогового сигнала, частотой от перестраиваемого ГУНА, передать сигнал как это сделано у вас в моделях модемов не получиться. Или я смотрю на задачу слишком уж аналогово ? И есть другой подход к моделированию таких систем ? Помимо нарезки я хочу промоделировать работу петли выделения тактовой и эквалайзера. Или можно собрать систему без фазовой и частотной ошибки и тестировать только эквалайзер? Спасибо
--------------------
|
|
|
|
|
Mar 5 2009, 11:12
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(des00 @ Mar 5 2009, 12:50)  тогда посоветуйте как мне промоделировать вот что : сигнал с частотой 2*fверхнее формируется на 8*fверхнее и идет в кабель, в котором вносятся искажения, затем сигнал из кабеля нарезается на 4*fверхнее и на временном детекторе детектируется на 2*fверхнее.
Как я понимаю мне нужно промоделировать именно нарезку аналогового сигнала, частотой от перестраиваемого ГУНА, передать сигнал как это сделано у вас в моделях модемов не получиться.
Или я смотрю на задачу слишком уж аналогово ? И есть другой подход к моделированию таких систем ?
Помимо нарезки я хочу промоделировать работу петли выделения тактовой и эквалайзера. Или можно собрать систему без фазовой и частотной ошибки и тестировать только эквалайзер?
Спасибо Конечно если моделировать аналоговые цепи в лоб то потребуется слишком высокая частота отсчётов по сравнению с символьной и это будет слишком медленно работать. Моделировать нужно с фиксированной частотой дискретизации, такой чтобы просто было осуществлять интерполяцию. Я так понимаю что у вас взятие правильного отсчёта осуществляется аналоговым образом с помощью управления генератором тактирующим АЦП, можно сделать модель этого процесса на фиксированной частоте дискретизации с помощью интерполятора Farrow как в моих моделях. Можно для начала посмотреть работу эквалайзера без синхронизаций, но потом обязательно нужно моделировать совместную настройку эквалайзера и всех синхронизаций, обычно здесь куча косяков всплывет. Цитата(disel @ Mar 5 2009, 13:02)  Систем генератор от ксалинкса, про который уже писалось выше, рулит. Перевод ручками это не только двойная работа, но и источник ошибок. С систем генератором же что промоделировал в матлабе, то получил в железе. Речь о другом. Вы видели статьи IEEE например посвящённые принципам работы тех же эквалайзеров, это результат исследований, сложной работы по сравнению с которой кодирование на VHDL ручками плёвое дело.
|
|
|
|
|
Mar 5 2009, 12:29
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Цитата(petrov @ Mar 5 2009, 14:55)  Да разная это работа, чтоб до железки добраться надо кучу теории перелопатить, причём тут сиcтем генератор, зачем усложнять работу мишурой не нужной на данном этапе? В Цифровой связи Прокиса нету ни одного упоминания ни VHDL ни систем генератора. Кроме того хоть я и не использовал систем генератор но что-то большие сомнения в качестве результата его работы, ну там фильтр или FFT он сгенерит ясное дело, а вот что-то посложнее да с последовательной обработкой думаю всёравно ручками надо делать и не в симулинке. Можно делать на этапе разработке алгоритмов в симулинке, а потом положить рядом модель сделанную в систем генераторе и сравнить результаты. Это гарантирует что реализация будет соответсвовать разработанному алгоритму. Качество же работы систем генератор определяется кривизной рук разработчика, там тоже нужно ручами все паралелить, фактически это схематик.
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|