| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Разное (электроника) > Сигнальные процессоры и с чем их едят |
| Автор: Курсант 14.5.2011, 10:45 |
| Всем здравствуйте Пытаюсь срочно изготовить для дипломного проекта железяку. Идеология железяки - считывание входного сигнала и генерация выходного. Алгоритм обработки входного сигнала есть, схему на микроконтроллере в общем то сделаю, программу адаптирую. И вроде никаких трудностей, но есть подозрение, что лучше реализовать все на сигнальном процессоре... Но я ничего про них не знаю. Ни как их втыкать в схему, ни вообще что это такое, какие у них бывают входы и выходы. Разбираться по мануалам времени совсем нет - осталось только 1.5 месяца до сдачи, на работе график напряженный, дома приходится работать иногда. В связи с этим вопрос - сигнальные процессоры с точки зрения применения в схеме - это то же самое что микроконтроллеры? Им нужно только питание и аналоговый вход/выход? У них есть встроенные АЦП и ЦАП? Тактовые генераторы? Или это тоже самое что процессоры, и им нужен чипсет там и прочая фигня, и устройство по сложности рискует превратиться в материнскую плату... Намного ли сложнее программировать под сигнальный процессор по сравнению с программированием под микроконтроллер? Наверное, эти ответы и станут определяющими в выборе железа для реализации. Пока что собираюсь поставить Attiny 2313, в качестве входа юзать встроенный АЦП, на выходе поставить ЦАП, после ЦАП поставить усилитель. Но это мне кажется примитивным. |
| Автор: Mazzi 15.5.2011, 17:29 | ||
В этом микроконтроллере нет АЦП. |
| Автор: Курсант 16.5.2011, 21:08 | ||
Да, действительно, в нем нет АЦП, а мне в одном месте сказали что есть... Спасибо большое.
Алгоритм сейчас не могу расписывать - достаточно нудное дело... Он циклический, на каждом шаге высчитываются коэффициенты, один по формуле e^f(t), второй по формуле sin(wt+fi)... Потом эти коэффициенты участвуют в формуле типа ax+by... и так далее, в общем умножение и сложение... Про сигнальный процессор подумалось потому, что есть подозрение, что на нем за фиксированное время можно посчитать экспоненту или синус... Раз уж вычисления циклические, и на каждом шаге надо считать экспоненту и синус, и чем выше частота тем выше точность прибора... |
| Автор: Курсант 16.5.2011, 21:40 |
| впрочем, попозже сяду и распишу... сейчас не могу... |
| Автор: Курсант 21.5.2011, 22:01 | ||
Собственно расписываю...
Примерно такой код. Это код обработки входного сигнала. При эмуляции в AVR Studio для контроллера Atmega 16 получилось 80 000 тактов. То есть частота дискретизации и обработки - порядка 200 действий в секунду. Маловато будет... Можно конечно вынести за скобки экспоненту и синусы с косинусами. Но в общем то мало верится в результат. Еще ближе мне идея работать через ассемблер, но это получится нетехнологично - под си у меня даже моделирование сделано... Применение сигнального процессора принесет больший эффект? |
| Автор: xvr 21.5.2011, 22:27 |
| Непонятно, что из этого всего переменные, а что константы. Пока складывается впечатление, что все константы. Если так, то процессор вообще не нужен В противном случае AVR явно не потянет, тут надо что то типа ARM'а (как минимум). sin и exp считать табличным методом. DSP в данном случае IMHO перебор. |
| Автор: Курсант 21.5.2011, 22:47 |
| Да, точно |
| Автор: Курсант 22.5.2011, 09:52 | ||||
В продолжение темы... Скачал 5-ю студию, пытаюсь отладить программу на 32-разрядной архитектуре. Пишет что "undefined reference to sqrt, sin, cos, exp". Текст программы:
Файл math.h я нашел, во внутренностях какой то
прописан, дальше я не понял ничего... Можно ли для начала воспользоваться какими-то библиотечными синусами-косинусами-экспонентами, или сразу табличное вычисление реализовывать? |
| Автор: daemonaz 19.8.2011, 15:53 |
| На мой взгляд лучше заранее вычислить эти константы где-нибудь на ПК (mathlab), затем созадть таблицу констант, остается ввести исходные данные и вычислить. Лучше делать не в float, а в Int. предварительно преобразовав числа с плавающей точкой в целочисленные. |
| Автор: ТарасАтавин 23.11.2013, 17:04 |
| Целочисленный синус - это очень весело. И ну ка прикиньте, сколько будет весить таблица, например, синуса на весь период с шагом в нанорадиан? |