Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс. e-mail:jobsmp@pochta.ru |
столкнулся со следующей проблемой - порой речь или музыка дают такую же спектральную картинку (вместе со вторыми гармониками) что и дтмф, причем на протяжении десятков мс, что позволяет детектирвоать по стандарту ИТУ как дтмф посылку. Понятно что прочие прикрутки (типа сравнение энергий общих и друг с другом 4/8Дб и т.п. тут бесполезны. Дуслик же этот на такое не обманывается. Кстати о прикрутках отдельная песня.
Встает вопрос как это лечить? Вразных умных доках предлагают например разные доработки, которые вроде там не направлены на борьбу с данным эфектом, но все же:
1 У колонных частот считать не одну составляющую, а 2 на границах допустимого участка (1% набегает в ~18Гц),тем самым я так понимаю лучше оцениваем энергию колонок у не совсем стабильных устройств (SPRA096A)
2 там же, перекрытие буферочков на 16 выборок
3 для расчета энергий строк использовать двойной буфер 212 , а для колонок 106 (Efficient DTMF detection using non-uniform DFT Mathew D. Felder...)
У меня напрашивается решение считать у каждой частоты еще хотя бы по одной линии вынесеной за предел (3,5%), но это увеличит затраты на расчет в 3 раза.
Сами посылки ловятся довольно надежно.
Кто что может посоветывать из опыта? Или с герцелем не получится под ИТУ?
А если кстати приделывать условия по разности мощи 4/8Дб, то часто будет обрубать посылки которые тот же инфенеон чухает на ура. Т.е. реально разница достигает большего размаха.
Не знаю может у меня мощности как-то не так представлены? Может проблема в применяемом нормировании сигнала что бы мощности были 16 битными величинами.
Коэффициенты взяты из док и, вроде верны, проверял на синусоидах, выделяют токо нужные частоты.