Jump to content

    

Рисование в реальном времени в Matlab

Здравствуйте.

Имеется устройство на atmega16, которое оцифровывает два сигнала (два канала ацп), и один за другим передает их по usart. Формат данных простой: сначала char одного канала, потом char другого. Необходимо отрисовывать эти два сигнала в реальном времени в матлабе.

Как лучше это дело реализовать?

Share this post


Link to post
Share on other sites

Не знаю, как лучше, но я когда-то делал так:

Terminal.rar

Принимал, правда, три 16-битные переменные (названные мной R, G и B ). Посмотрите, может, пригодится.

Share this post


Link to post
Share on other sites
Здравствуйте.

Имеется устройство на atmega16, которое оцифровывает два сигнала (два канала ацп), и один за другим передает их по usart. Формат данных простой: сначала char одного канала, потом char другого. Необходимо отрисовывать эти два сигнала в реальном времени в матлабе.

Как лучше это дело реализовать?

 

Ну насколько у вас реальное время получится - не знаю. Но главное - не использовать перевызов функций вывода графика типа plot, stem и т.д. Эти функции вызываются один раз, фиксируются оси (xlim, ylim), а все последующие данные выводятся перегрузкой матрицы данных (в свойствах объекта-графика 'XData' и 'YData'). Т.е. в последущие разы вызываете не h=plot(...), а set(h,'YData', ваши данные); Проверено - самый быстрый спсоб вывода в матлабе. Мы похожим способом выводили в реальном времени (!) данные на ИКО, написанный в Матлабе с реального радиолокатора!

Share this post


Link to post
Share on other sites

Что заставляет использовать для таких целей именно Matlab? Я, например, использую Delphi+TeeChart.

Share this post


Link to post
Share on other sites
Что заставляет использовать для таких целей именно Matlab? Я, например, использую Delphi+TeeChart.

А таки я объясню. Я, как раз, тоже "дельфист". Но, в Матлабе вы всё тоже сделаете в 10 раз быстрее, программируя на несравнимо более удобном языке (Паскаль рядом не лежал!). При этом в вашем распоряжении мощнейщий инструментарий Матлаба. Хотите по полученным данным получить спектр? Вычислить моменты? Дать аппроксимацию? В Матлабе для этого даже не нужно никакого кода писать! Кроме того управление (масштабирование, сдвиг и т.д.) в TeeChart в подмётки не годится Матлабовской графике.

 

Поверьте мне, сейчас правильная тенденция - это именно затаскивать данные прямо из аппаратуры в Матлаб. Разработка алгоритмов сокращается в разы!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this