реклама на сайте
подробности

 
 
> Вопросы по DTMF/DSP/алгоритму Герцеля, Вопросы от начинающего программиста DSP
megadocent
сообщение Dec 11 2009, 09:02
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 36
Регистрация: 20-11-09
Из: Пермь
Пользователь №: 53 747



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

Недавно начал работать над программированием DSP и столкнулся с рядом трудностей, появились вопросы, на которые не смог найти/понять ответа. sad.gif

Основная трудность - то, что в институте, в программе подготовки инженера-конструктора РЭА не было ЦОС. 07.gif
Самому с 0 приходится изучать весь этот огромный раздел, в частности цифровые фильтры/преобразования фурье и все связанное с этим, перерывая десятки сложных книг и сотни форумных сообщений.

Имеется вроде бы простое задание - сделать детектор DTMF сигналов + еще 1 частоты (итого 9 частот) на 30 каналов процессоре TMS320С672x (плавающая запятая, мощный достаточно, должен легко справиться).
Сначала хотел сделать это набором фильтров (это ведь называется банк фильтров?) фильтруя сигнал ЦФ/подсчитывая длительность сигнала, если его амплитуда после фильтрации имеет достаточный уровень. Выходило... не очень. В процессе изучения информации наткнулся на алгоритм герцеля, начал его изучать. Возник ряд вопросов.

1) Имеются требования, чтобы детектирование соответствовало ОСТ 45.54-95 - программа должна точно детектировать сигнал выше -20дб, и отклонением частоты менее 1.8% и не реагировать на сигнал слабее -37дб и с отклонением частоты более 3%. Ну и куча других параметров.

Из описания алгоритма не ясно, что будет, если мне надо определить, например, 697Гц и я подам, например, на 40 мс частоту 709 гц при уровне -19дб и суммарном уровне помех -40дб. Он ее должен различить, согласно госту. unsure.gif
Хочется узнать, если кто-то делал декодирование DTMF, или разбирается в этом хорошо, если сделаю по стандартному алгоритму (Например, реализации той же TI), то насколько соответствовать госту будет?

2) Насколько хорош вообще данный алгоритм? Есть альтернативы? Вопрос больше в плане точности детектирования, детектирование на фоне речи/музыки, хотя, конечно, какой-то жутко точный алгоритм, для реализации которого нужно будет по DSP на канал тоже практически непригоден. Как я понял, это самое оптимальное решение, к которому пришли за годы?

3) Встречаются разные варианты, различные модифицированные алгоритмы Герцеля, немного разные коэффициенты. Какой из выложенных в свободном доступе алгоритмов вы считаете наилучшим?

4) Хочу не просто программировать то, что придумали другие, а, самому разбираться в этом, а с опытом и придумывать свое. Со временем, конечно, разберусь в любом случае, но, если посоветуете хорошую литературу, это будет проще и приятнее. rolleyes.gif
Какую литературу посоветуете почитать, где подробно и, желательно, доступно описаны преобразования фурье, свертки и все с этим связанное? В методах проектирования ЦФ, аппроксимациях, Z преобразованиях я уже в общих чертах разобрался, а вот фурье пока неясен. В литературе ЦОС преобразования фурье чаще всего все даются либо в виде конечных формул, с комментариями типа "это сложно, детально разбирать не будем, но надо делать так", либо так, будто читатель разбуженный в полвторого ночи с ходу скажет в чем преобразование фурье заключается. Что-то типа "Дальнейшие действия исключительно просты, если помнить определение преобразования Фурье и формулу комплексного умножения" с последующими гигантскими формулами с одними "отсюда видно" и "это очень просто".

Буду благодарен любым ответам.

Сообщение отредактировал megadocent - Dec 11 2009, 09:16
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
thermit
сообщение Dec 11 2009, 12:27
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 781
Регистрация: 3-08-09
Пользователь №: 51 730



Цитата
Основное требование - соответствие ОСТ-у. Про временное разрешение там указано <20мс не принимать, >40мс принимать, от 20 до 40 не определено. Применяться будет в АТС.


Там и других требований вагон. Рекомендация itu-t q24. Как показывает практика, лучше иметь более грубый приемник как с точки зрения допусков на частоты, так и на длительность сигналов и на перекосы амплитуд.
Более серьезное требование - ложные срабатывания (детект цифр на речи). Рекомендую найти в сети набор тестовых сигналов фирмы Mitel. Приемник, удовлетворяющий этим тестам будет приемлемо работать в реальной сети с большой вероятностью.

Цитата
AR-оценивание спектра - а как оно называется по-другому, в отечественной литературе? В литературе у себя что-то не нашел такого.


Авторегрессионное оценивание спектра - синтез рекурсивного фильтра без нулей. Частотная характеристика полученного фильтра в той или иной степени будет аппроксимировать спектр анализируемого сигнала.
Широко применяется для сжатия речи (lpc vocoder levinson-durbin )


Цитата
То есть вы советуете не применять Герцеля, а применять ДПФ? А во сколько раз, примерно, возрастут требования к вычислительным мощностям и объемам памяти?


Зачем вычислять значения спектра на частотах, которые не интересуют? По этому и используют герцеля. Вычисляют оценку спектра тока на интересных частотах.


Цитата
И вопрос, если Герцель не так хорош, почему везде где упоминается DTMF сразу пихается Герцель? И для не очень-то слабых сигнальных процессоров у TI они тоже предлагают именно его. (У TI SPRAA096 для с54). И в практических применениях, и вообще, где бы то ни было, везде он? Всего раз в интернете мне встретился другой вариант.


Как самый распространенный. Вариантов сгородить приемник дтмф - вагон и тележка.

Цитата
Кроме того, нашел очень интересное высказывание http://www.microchip.su/showpost.php?p=425...mp;postcount=41.
Что вы скажете о написанном там?


Как человек, сделавший 4 различных приемника дтмф скажу, что аффтырь на 90 % прав.
Из этих 4-х, на реальной сети работает только 1.

Цитата
Опять же там советуют отказаться от Герцеля. И вообще, оно сильно меня расстроило, судя по тому, что там написано я еще полгода буду ковыряться над этой "простой задачей".


Совершенно пофигу, что будет выступать в качестве селективной цепи, герцель или эллиптический фильтр 22-го порядка. Важно получить достоверные мощности интересующих спектральных компонент. Если есть ресурс - расчитайте 8 пар рекурсивных фильтров (полосовых и режекторных) под максимальные отклонения частот. Фильтры должны иметь одинаковые характеристики гвз и достаточно короткую переходную характеристику (реакцию на ступенчатое воздействие). Исходный сигнал подается на 8 полосовых фильтров.
Для верхней и нижней группы выбираются частоты с максимальной мощностью. (Лучше мерять мощность т е sig^2 затем фнч. Фнч должен быть без комплексных полюсов, чтобы не было колебательных процессов в его переходной характеристике. Типа y(n) = y(n-1) + ( x(n) - y(n-1) )*k k = 0.0000 ... 0.9999999...) Затем исходный сигнал последовательно фильтруется режекторными фильтрами, соответствующими выбранным частотам. Меряется мощность результата. По соотношению этих 3-х мощностей и времени его постоянства принимается решение о наличии/отсутствии цифры. Можно добавить еще и режекторные фильтры, настроенные на частоты 2-х гармоник. Это понизит вероятность срабатывания приемника на голос/музыку.
Рабочий приемник сделан именно так.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- megadocent   Вопросы по DTMF/DSP/алгоритму Герцеля   Dec 11 2009, 09:02
- - fontp   Цитата(megadocent @ Dec 11 2009, 12:02) З...   Dec 11 2009, 09:19
|- - megadocent   Спасибо за ответ, fontp. Основное требование - со...   Dec 11 2009, 10:56
|- - fontp   Цитата(megadocent @ Dec 11 2009, 13:56) A...   Dec 11 2009, 11:05
|- - megadocent   Цитата(fontp @ Dec 11 2009, 16:05) ... С...   Dec 11 2009, 12:11
|- - fontp   Цитата(megadocent @ Dec 11 2009, 15:11) Т...   Dec 11 2009, 12:15
- - megadocent   Большое спасибо всем за ответы. Очень помогли. Реш...   Dec 21 2009, 10:32
- - megadocent   Решил не создавать новую тему, а продолжить эту. З...   Feb 26 2010, 09:01
|- - fontp   Цитата(megadocent @ Feb 26 2010, 12:01) П...   Feb 26 2010, 09:54
- - thermit   MITEL DTMF Receiver Test Cassette, CM7291 - обычна...   Feb 26 2010, 13:26
|- - fontp   Цитата(thermit @ Feb 26 2010, 16:26) MITE...   Feb 27 2010, 17:36
|- - fant   to fontp Если у Вас есть два файла, оцифровки СM7...   Oct 9 2013, 13:08
|- - fontp   QUOTE (fant @ Oct 9 2013, 17:08) to fontp...   Oct 13 2013, 11:10
- - megadocent   Про то, что в широком доступе нету, это нашел. Даж...   Mar 1 2010, 04:13
- - анатолий   DTMF характерен тем, что в нем периоды частот взаи...   Oct 11 2013, 16:28
- - Sudar1977   Это была моя первая серьезная задача (10 лет назад...   Nov 7 2013, 11:13
- - megadocent   Ух, что нашел. Краткие итоги. TMS320C6726 позво...   Jun 10 2014, 07:32


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd June 2025 - 20:38
Рейтинг@Mail.ru


Страница сгенерированна за 0.01516 секунд с 7
ELECTRONIX ©2004-2016