Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: из matlab в DSP
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Вопросы системного уровня проектирования
maxis
Вообщем синтезировал фильтр Калмана в матлабе, теперь всё это необходимо перенести в сигнальник С6713 от TI. Так как весь расчёт проводится через матрицы и вектора а также очень страшные операции то если честно у меня нет желания переносить код руками( Слышал что можно получить из матлаба код непосредственно для внедрения его на ДСПшник или ПЛИСину. Неподскажете в какую сторону копать, где можно почитать об этом?
Иван Панченко
оптимальный местом копания по матлабу - является хэлп по матлабу=)
>>doc
затем fdatool.
еще хорошее место прочитать про матлаб:
matlab.exponenta.ru
Хотя я бы на вашем месте, сделал это ручками, через экспорт коэффициентов фильтра в матлаб и приведение их там в нужный мне вид
(ну для fpga делаю именно так)
maxis
Цитата(Иван Панченко @ Apr 12 2011, 17:18) *
оптимальный местом копания по матлабу - является хэлп по матлабу=)
>>doc
затем fdatool.
еще хорошее место прочитать про матлаб:
matlab.exponenta.ru
Хотя я бы на вашем месте, сделал это ручками, через экспорт коэффициентов фильтра в матлаб и приведение их там в нужный мне вид
(ну для fpga делаю именно так)

Насколько я знаю фильтра Калмана нет в fdatool. И вообще его там быть не может) Данный фильтр нужен для получения максимально точной оценки смешивая несколько неточных.
Математика данного фильтра у меня описана в *.m файле. Этот код нужно перенести на си. Написание функций для транспортирования матриц, умножения матриц на вектор, нахождения обратной матрицы и т.д. займёт крайне много времени. Соответственно и возник вопрос можно ли сгенерировать си код для сигнальника из m-файла.
1lliivv1
Пройдите по ссылкам из второго сообщения этой темы, может поможет

http://electronix.ru/forum/index.php?showtopic=88786
maxis
Цитата(1lliivv1 @ Apr 12 2011, 21:51) *
Пройдите по ссылкам из второго сообщения этой темы, может поможет

Там по интересующей теме ничего нет, только ссылки на несуществующие ссылки.
Цитата(1lliivv1 @ Apr 12 2011, 21:51) *

Это всё есть и в предыдущих версиях, вот только документацию на Real-Time Workshop в свободном доступе не найти.
shf_05
из м файла в С вроде легко перегоняется, если код не использует ряд тулбоксов.
см. хелп на mcc - матлаб компилер.
Oldring
Цитата(maxis @ Apr 12 2011, 12:23) *
Вообщем синтезировал фильтр Калмана в матлабе, теперь всё это необходимо перенести в сигнальник С6713 от TI. Так как весь расчёт проводится через матрицы и вектора а также очень страшные операции то если честно у меня нет желания переносить код руками( Слышал что можно получить из матлаба код непосредственно для внедрения его на ДСПшник или ПЛИСину. Неподскажете в какую сторону копать, где можно почитать об этом?



Поищите библиотеки "очень страшных операций" (каких же? Холецкий что-ли, для корневой реализации Калмана?) в плавучке, и через них уже перенесите. но если потребуется оптимизация, чтобы выжать максимальную скорость - то возможно придется поработать и ручками, если вдруг не найдете реализации этих очень страшных операций для процессора у самого TI.
EIN ENGEL
в 32х версии Матлаба есть тулбоксы для синтеза кода под ЦСП. В хелпе они помечены зелёной книжкой. Посмотрите Target Support Package и Embedded IDE Link.

в 64х версии их нет. Или я просто не смог найти дистрибутива Матлаба с ними. :-)
Enthusiast
2 maxis: Как говорится, лучше один раз увидеть, чем сто раз услышать или прочитать: во вложении я прилагаю простейшую модель под микроконтроллер TMS320F28335. Си-код с модели можно получить следующим образом: Tools -> Real-Time Workshop -> Build model. Сгенерится Си-код, вызовется Code Composer, проект соберётся сам и загрузится в микроконтроллер на исполнение через внутрисхемный эмулятор. Вуаля!
По теме я читал пдфки из документации "Матлаба". На мой взгляд, там есть всё, что необходимо. Удачи!
Enthusiast
2 maxis: Наверное стоит добавить, что необходимое преобразование расчётов из m-файла в Си-код наиболее просто можно сделать путём вставки содержимого m-файла в блок "Embedded MATLAB function", который затем следует подключить к общей модели в "Симулинке". Внутри встроенной матлабовской функции расчёты будут производиться в дробных числах. Я делал явное приведение типов к целым внутри неё. В отличие от встроенных функций, S-функции требуют предвательной сборки перед общей сборкой модели, что слегка напрягает. По своему опыту могу сказать, что избыточности Си-кода, полученного из "Матлаба", я не ощутил, ручками написал бы так же, да и мощности микроконтроллера хватило с запасом. Успехов!
Alex-GTU
Цитата(Enthusiast @ Apr 18 2011, 17:24) *
2 maxis: Как говорится, лучше один раз увидеть, чем сто раз услышать или прочитать: во вложении я прилагаю простейшую модель под микроконтроллер TMS320F28335. Си-код с модели можно получить следующим образом: Tools -> Real-Time Workshop -> Build model. Сгенерится Си-код, вызовется Code Composer, проект соберётся сам и загрузится в микроконтроллер на исполнение через внутрисхемный эмулятор. Вуаля!
По теме я читал пдфки из документации "Матлаба". На мой взгляд, там есть всё, что необходимо. Удачи!




Вы используете плату езДСП, а если попробовать TE-TMS320F28335 + TE-XDS100? Будет работать? Вроде, процессоры одинаковые.
Enthusiast
Цитата(Alex-GTU @ May 26 2011, 11:19) *
Вы используете плату езДСП, а если попробовать TE-TMS320F28335 + TE-XDS100? Будет работать? Вроде, процессоры одинаковые.

Я использовал отладочную плату "TE-TMS320F28335" от "Терраэлектроники" с внутрисхемным эмулятором "SAU510-USB Plus JTAG" от "Sauris". Внутрисхемный эмулятор от "Терраэлектроники" я не пробовал использовать, только потому что у нас уже имелся в наличии саурисовский.
Между делом говоря, на этой отладочной плате напаян кварцевый генератор на 25 МГц. Внутри микроконтроллера рабочая частота получалась равной: 25 * 10 / 2 = 125 МГц вместо 150 МГц максимальных. Зачем терраэлектрониковские инженеры поставили генератор на 25 МГц вместо 30 МГц максимальных до сих пор для меня остаётся загадкой. Если бы вдобавок они установили штыревые разъёмы расширения торчащими штырями вниз, а не наверх, как сейчас, то эту отладочную плату можно было бы просто насадить на большую макетную плату, исключая жгуты при сопряжении плат. Цены бы плате не было. Ну да ладно, и так хорошо тоже.
Успехов!
Alex-GTU
Цитата(Enthusiast @ May 26 2011, 12:18) *
Я использовал отладочную плату "TE-TMS320F28335" от "Терраэлектроники" с внутрисхемным эмулятором "SAU510-USB Plus JTAG" от "Sauris". Внутрисхемный эмулятор от "Терраэлектроники" я не пробовал использовать, только потому что у нас уже имелся в наличии саурисовский.
Между делом говоря, на этой отладочной плате напаян кварцевый генератор на 25 МГц. Внутри микроконтроллера рабочая частота получалась равной: 25 * 10 / 2 = 125 МГц вместо 150 МГц максимальных. Зачем терраэлектрониковские инженеры поставили генератор на 25 МГц вместо 30 МГц максимальных до сих пор для меня остаётся загадкой. Если бы вдобавок они установили штыревые разъёмы расширения торчащими штырями вниз, а не наверх, как сейчас, то эту отладочную плату можно было бы просто насадить на большую макетную плату, исключая жгуты при сопряжении плат. Цены бы плате не было. Ну да ладно, и так хорошо тоже.
Успехов!


Планирую приобрести "TE-TMS320F28335", какие ещё недостатки замечены или проблемы с ней были у Вас?
Enthusiast
Цитата(Alex-GTU @ May 26 2011, 12:42) *
Планирую приобрести "TE-TMS320F28335", какие ещё недостатки замечены или проблемы с ней были у Вас?

Мы ведь говорим об одной и той же плате? Я спрашиваю, потому что приведённая выше ссылка у меня не открывается. К плате придётся докупить четыре стойки, чтобы печатная плата своей нижней стороной не касалась рабочего стола. В остальном вроде бы всё в порядке. Модель, которую я приводил выше, как раз вроде бы сделана под эту плату, авось поможет поначалу. Успехов!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.