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

 
 
> Непонятки с моделью в симулинке, Гуру прошу вашей помощи
des00
сообщение Mar 5 2009, 05:56
Сообщение #1


Вечный ламер
******

Группа: Модераторы
Сообщений: 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 раза, сначала нарисовать все в симулинке, потом ручками перебить в хдл.

Спасибо.
Прикрепленные файлы
Прикрепленный файл  cable_05.zip ( 42.58 килобайт ) Кол-во скачиваний: 41
Прикрепленный файл  cable_06.zip ( 120.94 килобайт ) Кол-во скачиваний: 37
 


--------------------
Go to the top of the page
 
+Quote Post
2 страниц V   1 2 >  
Start new topic
Ответов (1 - 14)
litv
сообщение Mar 5 2009, 07:39
Сообщение #2


Местный
***

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



Прикольно Вас читать. Обычно сначала делаю модель на simulink , затем в Xilinx System generator(от тоже в Simulinke но своя библиотека и транслятор в Xilinx). Затем сразу ВСЁ работает. Если у Вас сначала Vhdl и работает - нафиг Вам simulink?
"Сделал все на double" - чисто идеальное моделирование. В жизни разрядность и шумы.
Модели АЦП (а может и ЦАП) есть на сайте analog device. Их можно вставить в матлаб.
При моделировании вместо Normal нажмите Accelerator - будет быстрее.
Чем меньше пишите в Scopы и чем меньше scopov- быстрее скорость моделирования.
Медленно моделируется - а куда спешить и где моделировать быстрее - только на С.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 5 2009, 08:00
Сообщение #3


Вечный ламер
******

Группа: Модераторы
Сообщений: 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 обновления ошибки в петле, это уже слишком, быстрее в железе посмотреть.


--------------------
Go to the top of the page
 
+Quote Post
disel
сообщение Mar 5 2009, 08:25
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(litv @ Mar 5 2009, 10:39) *
Модели АЦП (а может и ЦАП) есть на сайте analog device. Их можно вставить в матлаб.


А можно поподробнее? Какого типа модель можно вставить в матлаб? Я только ибисы на сайте аналога видел.
Go to the top of the page
 
+Quote Post
litv
сообщение Mar 5 2009, 08:29
Сообщение #5


Местный
***

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



"решил начать работать как правильные люди, но когда через неделю не получилось добиться результатов, отложил матлаб и запустил систему в железе."
Неделю - то вовсе немного. Матлаб можно учить всю жизнь biggrin.gif
Я матлаб учу с 2000 года и не считаю что хорошо разобрал.
По поводу того что можно смотреть быстрее в железе - это был бы лучший способ - Но это когда проект уже работает. Тогда быстрее.
А если отлаживать и КАЖДЫЙ раз компилить новый VHDL - то это тоже занимает скока минут, а может и час?
Так что все относительно.
Про АЦП сюда: http://www.analog.com/en/analog-to-digital....html#ADIsimADC

Нужно скачать http://www.analog.com/Analog_Root/static/t...mple_Matlab.zip и к нему *.adc модель вашего АЦП.
Go to the top of the page
 
+Quote Post
disel
сообщение Mar 5 2009, 08:59
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(litv @ Mar 5 2009, 11:29) *
Про АЦП сюда: http://www.analog.com/en/analog-to-digital....html#ADIsimADC

Нужно скачать http://www.analog.com/Analog_Root/static/t...mple_Matlab.zip и к нему *.adc модель вашего АЦП.


То что доктор прописал!!! Спасибо!
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 5 2009, 09:09
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



ИМХО симулинк для обкатки идей а не для 100% соответствия аппаратуре. Ессно потом ручками на VHDL переводить всё. И это не двойная работа, симулинк для разработки алгоритма, математики, нет смысла там тупо АЦП моделировать или фиксированную точку если с принципом работы эквалайзера есть вопросы.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 5 2009, 09:50
Сообщение #8


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(litv @ Mar 5 2009, 02:29) *
"решил начать работать как правильные люди, но когда через неделю не получилось добиться результатов, отложил матлаб и запустил систему в железе."
Неделю - то вовсе немного. Матлаб можно учить всю жизнь biggrin.gif


думаю что для такой простой вещи (модулятор 4 тригера и табличка, демодулятор счетчик + 2 регистра) уж слишком долго %)

Цитата
По поводу того что можно смотреть быстрее в железе - это был бы лучший способ - Но это когда проект уже работает. Тогда быстрее.
А если отлаживать и КАЖДЫЙ раз компилить новый VHDL - то это тоже занимает скока минут, а может и час?


в данном конкретном примере 1 минута, все коэффициенты и прочее могу на лету менять, это пересборки не требует. %)


Цитата(petrov @ Mar 5 2009, 03:09) *
ИМХО симулинк для обкатки идей а не для 100% соответствия аппаратуре. Ессно потом ручками на VHDL переводить всё. И это не двойная работа, симулинк для разработки алгоритма, математики, нет смысла там тупо АЦП моделировать или фиксированную точку если с принципом работы эквалайзера есть вопросы.


тогда посоветуйте как мне промоделировать вот что : сигнал с частотой 2*fверхнее формируется на 8*fверхнее и идет в кабель, в котором вносятся искажения, затем сигнал из кабеля нарезается на 4*fверхнее и на временном детекторе детектируется на 2*fверхнее.

Как я понимаю мне нужно промоделировать именно нарезку аналогового сигнала, частотой от перестраиваемого ГУНА, передать сигнал как это сделано у вас в моделях модемов не получиться.

Или я смотрю на задачу слишком уж аналогово ? И есть другой подход к моделированию таких систем ?

Помимо нарезки я хочу промоделировать работу петли выделения тактовой и эквалайзера. Или можно собрать систему без фазовой и частотной ошибки и тестировать только эквалайзер?

Спасибо


--------------------
Go to the top of the page
 
+Quote Post
disel
сообщение Mar 5 2009, 10:02
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(petrov @ Mar 5 2009, 12:09) *
ИМХО симулинк для обкатки идей а не для 100% соответствия аппаратуре. Ессно потом ручками на VHDL переводить всё. И это не двойная работа, симулинк для разработки алгоритма, математики, нет смысла там тупо АЦП моделировать или фиксированную точку если с принципом работы эквалайзера есть вопросы.


Систем генератор от ксалинкса, про который уже писалось выше, рулит. Перевод ручками это не только двойная работа, но и источник ошибок. С систем генератором же что промоделировал в матлабе, то получил в железе.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 5 2009, 11:12
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 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 ручками плёвое дело.
Go to the top of the page
 
+Quote Post
disel
сообщение Mar 5 2009, 11:30
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



Цитата(petrov @ Mar 5 2009, 14:12) *
Речь о другом. Вы видели статьи IEEE например посвящённые принципам работы тех же эквалайзеров, это результат исследований, сложной работы по сравнению с которой кодирование на VHDL ручками плёвое дело.


Как сложность разработки эквалайзеров мешает применять систем генератор и получать сразу готовый результат без дополнительного труда и ошибок? Впрочем дело хозяйское, спорить не буду.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 5 2009, 11:55
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(disel @ Mar 5 2009, 14:30) *
Как сложность разработки эквалайзеров мешает применять систем генератор и получать сразу готовый результат без дополнительного труда и ошибок? Впрочем дело хозяйское, спорить не буду.


Да разная это работа, чтоб до железки добраться надо кучу теории перелопатить, причём тут сиcтем генератор, зачем усложнять работу мишурой не нужной на данном этапе? В Цифровой связи Прокиса нету ни одного упоминания ни VHDL ни систем генератора. Кроме того хоть я и не использовал систем генератор но что-то большие сомнения в качестве результата его работы, ну там фильтр или FFT он сгенерит ясное дело, а вот что-то посложнее да с последовательной обработкой думаю всёравно ручками надо делать и не в симулинке.
Go to the top of the page
 
+Quote Post
disel
сообщение Mar 5 2009, 12:29
Сообщение #13


Знающий
****

Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410



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


Можно делать на этапе разработке алгоритмов в симулинке, а потом положить рядом модель сделанную в систем генераторе и сравнить результаты. Это гарантирует что реализация будет соответсвовать разработанному алгоритму. Качество же работы систем генератор определяется кривизной рук разработчика, там тоже нужно ручами все паралелить, фактически это схематик.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 5 2009, 12:40
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(disel @ Mar 5 2009, 15:29) *
Можно делать на этапе разработке алгоритмов в симулинке, а потом положить рядом модель сделанную в систем генераторе и сравнить результаты. Это гарантирует что реализация будет соответсвовать разработанному алгоритму. Качество же работы систем генератор определяется кривизной рук разработчика, там тоже нужно ручами все паралелить, фактически это схематик.


Тупо в параллель делать не сложно, сложнее последовательно обсчитывать. От схематика как раз и уходят все потому-что более-менее сложное на нём не сделать. Думается мне что систем генератор очень ограниченное применение может иметь и не заменит ручную писанину на HDL.
Go to the top of the page
 
+Quote Post
des00
сообщение Mar 6 2009, 03:47
Сообщение #15


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(petrov @ Mar 5 2009, 05:12) *
Конечно если моделировать аналоговые цепи в лоб то потребуется слишком высокая частота отсчётов по сравнению с символьной и это будет слишком медленно работать. Моделировать нужно с фиксированной частотой дискретизации, такой чтобы просто было осуществлять интерполяцию. Я так понимаю что у вас взятие правильного отсчёта осуществляется аналоговым образом с помощью управления генератором тактирующим АЦП, можно сделать модель этого процесса на фиксированной частоте дискретизации с помощью интерполятора Farrow как в моих моделях.

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


понял зайдем с этой стороны. спасибо.


--------------------
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 24th July 2025 - 10:34
Рейтинг@Mail.ru


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