Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
2Quasy, SM - прошу помощи в БПФ для AVR
Отправлено
kan 25 января 2008 г. 11:06
Задача: нужно отлавливать синусоидальный сигнал 5 частот:
700 Гц
1000 Гц
1400 Гц
1450 Гц
2100 Гц
Радиопередатчик передает эти спецсигналы, соответственно радиоприемник - принимает и при принятии решения что спецсигнал присутствует - микроконтроллер должен выполнить определенные действия. Длительность сигнала - >0.3 секунд.
Я так понимаю - следует снимать сигнал с частотой 4200Гц, точек должно быть не менее 128... Думаю не обязательно чтобы сигнал "не рвался".
Микроконтроллер - AVR-8-16МГц, соответственно, требуется алгоритм рассчета без синусов, косинусов, а вместо них - таблицы. Операции только с целыми числами. Все это хозяйство я на IAR буду ложить. Было бы конечно супер, если бы еще алгоритм можно было бы выполнять частями, чтобы он не подвешивал надолго контроллер. Помогите плиз кто чем может...))
PS: в свое время понадобилось рассчитывать коэфф. полинома лагранжа, так ничего изящного не нашел и написал сам рекурсивный алгоритм на произвольную степень на стандартном Си (ANSI) - под любую платформу, памяти занимает минимум, так вот бы что нибудь подобное бы по фурье найти чтобы не делать с нуля..
Составить ответ | Вернуться на конференцию
Ответы
- Третья гармоника 700 мешать не будет? — Oldring (25.01.2008 12:54:26 91.77.100.158, пустое)
- Ачего тупо не льзя через компоратор частоты вроде не сильно бдизко лижат, интервалы времени взять и замерить. — PeterD (25.01.2008 12:22:50 83.69.107.179, пустое)
- см. мой пост - имхо, 128 достаточно. а больше - это уже далеко не в любой AVR влезет - ОЗУ много надо — ARV (25.01.2008 12:13:32 87.117.3.6, пустое, ссылка)
- По-моему, БПФ возможно... — ARV (25.01.2008 12:01:32 87.117.3.6, 624 байт)
- Квантованте в р-не 4.5 КГц, наложить окно(1400 и 1450 изолировать), число отсчетов при 4.5 КГц в р-не 400-500 точек, хотя зависит от окна. Если время реакции в 0.3 секунды некритично - взять число отсчетов= 0.3 с*Fdiskr и с перекрытием . И| [sum(x(n)*window(n)*exp(-j*w0*n)]|^2, которая превращается в алгоритм Герцеля, если чуть извернуться. — -=ВН=- (25.01.2008 11:46:11 193.125.71.140, пустое)
- Оченб похоже на DTMF или как там в телефоне называется? И у микрочипа, например, есть куча подробных описаний. — Крок (25.01.2008 11:38:15 62.118.59.14, пустое)
- Если без экзотики - 5 полосовых фильтров с детектором принятия решения. Полосу уменьшать максимально, исходя (+): — argus98 (25.01.2008 11:34:9 81.22.205.230, 88 байт)
- У БПФ есть Лайт-версии: "метод 5( а также 7,12) ординат"(+) — Quasy (25.01.2008 11:28:59 80.243.9.34, 305 байт, ссылка)
- Ответ: (+) — SM (25.01.2008 11:10:12 80.92.255.53, 202 байт)