Цитата(Scaner @ Jun 29 2010, 21:54)

Кто-нибудь сталкивался с реализацией приема DTMF с помощью модулей SIM900\SIM300D?
И вообще, стоит ли изобретать велосипед? Слышал, что прием DTMF будет одной из функций SIM900. Хотелось бы знать, так ли это...
То, что смог найти - "Алгоритм Герцеля", но как довести сигнал до АЦП процессора - остается для меня загадкой. Ведь там дифференциальный сигнал... Как его оцифровывать? При том сохранив возможность вести телефонный разговор...
И еще вопрос: на сколько ресурсозатрантый этот Аглоритм Герцеля?
Я реализовывал DTMF на PIC-е.
С выхода SIM300 через RC-фильтр сразу на АЦП микроконтроллера, использовал только один выход модуля (что с того, что выход дифференциальный, второй выход просто не используется).
В исходниках Линукса нашел готовый код Си алгоритма Герцеля (ДТМФ), адаптировал его под ПИК и всё заработало.
Но работает очень долго, при анализе 16 частот (8 частот и 8 вторых гармоник) интервал 20 мс обрабатывается около секунды!
Если анализировать только 2 кнопки 6 частот ( 3 частоты и 3 вторые гармоники ), то получалось быстрее...
Но главная проблема в том, что при большой загрузке сотовой сети происходит уплотнение сигнала и аудио сигнал передается с перерывами.
Человеческое ухо воспринимает такой сигнал нормально, а вот Микроконтроллер уже нет.