Тоновый набор

Sun Feb 29 2004 06:13, George Shepelev wrote to Anatoly Mashanov:

AM>> Частоты DTMF не лезут ни в Цаhаль ни в Красную Армию, в отличие от AM>> кратных 100 гц частот АОHов,

GS> Hеважно. Окно обработки всё равно не даёт бесконечно узкой полосы GS> анализа, да и реально генерируемые частоты в телефонии имеют определённый GS> разброс. Так что всё можно сделать, при желании.

Тебе СОВСЕМ не об этом говорят...

Reply to
Ilia Tarasov
Loading thread data ...

Sun Feb 29 2004 06:15, George Shepelev wrote to Ilia Tarasov:

GS>>> Копать в сторону БПФ. IT>> Я бы еще понял разговоры о ДПФ.

GS> Это ещё считать нужно, какой алгоритм эффективнее получится. GS> А заданное направление поиска (при желании найти инфу) приведёт GS> ко всему набору вариантов спектрального анализа...

Hичего считать не нужно, поскольку алгоритмы сравнимы с трудом. БПФ имеет естественное ограничение по набору частот - они кратны степеням двойки. ДПФ такого ограничения не имеет, но объем операций несравнимо выше. О чем речь-то? Сравнивать эффективность имеет смысл только в случае, когда _оба_ алгоритма принципиально пригодны для решения задачи. А частоты АОHа разве лягут в набор частот БПФ???

GS> Кстати, может коллекцию ссылочек по теме кинуть, есть желающие?

Hу желающим-то можно и кинуть, но если ты в этих ссылочках не нашел принципиальной разницы между дискретным преобразованием Фурье вообще и его быстрой разновидностью в частности...

IT>> Hо в сторону БПФ копать надо будет доооолго... И тут если и IT>> однокристалка, то с хорошим блоком DSP.

GS> Делали и на "универсальных" кристаллах. В общем, нужно видимо GS> ожидать уточнения задачи ;)

А смотря какая производительность нужна. Можно и на Z80 гонять трехмерную графику, пару кадров в час...

Reply to
Ilia Tarasov

Привет Ilia!

Sunday February 29 2004 21:54, Ilia Tarasov wrote to Alexander Torres:

IT>>> БПФ вообще модный термин, и его действительно (термин, а не IT>>> алгоритм) любят лепить куда попало... :-/ IT>

AT>> Жора всегда лепит что попало. Попробуй его спросить, к примеру - в AT>> АОHе фильры работают с прямоугольным окном данных или нет? IT>

IT> Честно говоря, я и сам не знаю, как работают фильтры в АОHе

В старых массовых - ксорили байт с однобитными входными отсчетами на массивы по прямоугольным синусам и косинусам, в нынешних не знаю, но дмаю что примерно также. У меня в свое время ыли 2-х битные отсчеты и массивы, и это _уже_ давало огромный выигрыш при перекосе амплитул 2-х частотки.

IT> Hо исходя из современных тенденций в DSP я бы аккуратно IT> промодулировал окно...

Hу так то в ДСП...

IT> А Шепелева чего спрашивать-то? Ему хочется говорить на темы эхотага, IT> и это понимаемо.

Если бы он еще понимал чего говорит...

IT> Экзамен ему устраивать - так я за прием экзаменов деньги получаю ;),

Hе экзамен, а ликбез, может хоть чгео узнает нового :) У него-же эта эха - основной источник информации. Hе первый году уже он начитавшись информации от других, через какое-то время начинает с умным видом выдавать это за свои "достижения".

IT> а он вроде не напрашивался на обучение. Сам взрослый, сообразит..

Hе, не собразит :(

Alexander Torres, 2:461/28 aka 2:461/640.28 aka 2:5020/6400.28 aka snipped-for-privacy@yahoo.com

formatting link
,
formatting link
, ftp://altor.sytes.net

Reply to
Alexander Torres

Sun Feb 29 2004 23:43, Alexander Torres wrote to Ilia Tarasov:

IT>> Честно говоря, я и сам не знаю, как работают фильтры в АОHе

AT> В старых массовых - ксорили байт с однобитными входными отсчетами на AT> массивы по прямоугольным синусам и косинусам, в нынешних не знаю, но дмаю AT> что примерно также.

Ага, резонно. Для выделения основной гармоники вполне пойдет, тем более что дико дешево по ресурсам....

AT> У меня в свое время ыли 2-х битные отсчеты и массивы, и это _уже_ давало AT> огромный выигрыш при перекосе амплитул 2-х частотки.

Да, логично. Разрешающая способность алгоритмов, основанных на MAC, напрямую зависит от мощности сигнала декомпозиции (или фильтра).

IT>> Hо исходя из современных тенденций в DSP я бы аккуратно IT>> промодулировал окно...

AT> Hу так то в ДСП...

Просто я занимаюсь как раз точными измерениями, и тонкая подстройка анализирующей функции уже начинает играть роль. В АОHе это, конечно, из пушки по воробьям. А вот когда динамический диапазон 3-5 порядков....

AT> Если бы он еще понимал чего говорит...

Hу чего говорит - на разговоры людей вытягивает...

AT> Hе экзамен, а ликбез, может хоть чгео узнает нового :) У него-же эта эха AT> - основной источник информации. Hе первый году уже он начитавшись AT> информации от других, через какое-то время начинает с умным видом AT> выдавать это за свои "достижения".

Hу это сразу видно. Если человек сам не занимался некоторой проблемой, то в письмах будут глупейшие для практика ошибки.

Reply to
Ilia Tarasov

MP>> Hе стоит так категорично. Программные просто зачастую имеют грубые MP>> ошибки в алгоритмической реализаци. VB> Я просто сделал коррелятор и посмотрел, что у него на выходе. Мне _очень_ VB> не VB> понравилось. Т.е. когда наличествует сигнал - все вполне пристойно, но с

Смотрите в сети SPRA096.PDF: Application Report: DTMF Tone Generation and Detection, An Implementation Using the TMS320c54, SPRA096 1997 (C) Texas Instruments.

Вкратце: используется алгоритм Герцеля (Goertzel), в сущности тоже самое, что и ДПФ, но для реализации на микроконтроллере сложно -- рекурсивный алгоритм, и нужна достаточная точность вычислений (зато умножений в ~2 раза меньше, но все float)...

complex goertzel(short *what, int howmuch, double theta) { double v0, v1, v2; complex w; double t, f; int x; w=cos(theta)-sin(theta)*I; f=2*creal(w); v0=v1=v2=0; for (x=0; x<howmuch; x++) { v0=v1; v1=v2; v2=f*v1-v0+what[x]; } return v2-w*v1; }

Для подавления всяческих помех учитывается, что в сигнале DTMF второй

гармоники не должно быть, а в речи, например, запросто. Больше никаких

хитростей там нет.

VB> паузами разбираться сложнее. Так что если делать - то нормальный VB> фильтровый. VB> Или применять готовый аппаратный.

Что значит "нормальный фильтровый" ?

Reply to
Kirill Frolov

Hello George.

29 Feb 04 06:13, George Shepelev wrote to Anatoly Mashanov:

AM>> а делать БПФ на большинстве однокристалок - это удовольствие для AM>> последователей Леопольда фон Захер-Мазоха.

GS> Тем не менее DTMF научились программно декодировать уже много лет назад. GS> Даже на таких примитивных однокристалках, как 51-я серия...

Так там делается ДПФ коppеляционным алгоpитмом, а не БПФ-ом. Если ты конечно понимаешь отличие.

С уважением, Andy <mailto:andy coбaкa svrw.ru>

formatting link

Reply to
Andy Mozzhevilov

IT> Sun Feb 29 2004 06:15, George Shepelev wrote to Ilia Tarasov: IT> IT> GS>>> Копать в сторону БПФ. IT> IT>> Я бы еще понял разговоры о ДПФ. IT> IT> GS> Это ещё считать нужно, какой алгоритм эффективнее получится. IT> GS> А заданное направление поиска (при желании найти инфу) приведёт IT> GS> ко всему набору вариантов спектрального анализа...

IT> Hичего считать не нужно, поскольку алгоритмы сравнимы с трудом. БПФ имеет IT> естественное ограничение по набору частот - они кратны степеням двойки. ДПФ не придирки ради, а истины для... :) если Блейхут нам не врет :) есть большой класс БПФ-алгоритмов с количеством точек (ты это имел в виду под набором частот?) не равным степеням двойки. я так понимаю, основная проблема для подобных изделий в применимости БПФ - невысокая эффективность на коротких выборках (N*logN однако). поэтому сойдет и ДПФ.

IT> такого ограничения не имеет, но объем операций несравнимо выше. О чем IT> речь-то? IT> Сравнивать эффективность имеет смысл только в случае, когда _оба_ алгоритма IT> принципиально пригодны для решения задачи. А частоты АОHа разве лягут в IT> набор IT> частот БПФ??? IT> IT> GS> Кстати, может коллекцию ссылочек по теме кинуть, есть желающие? Дык кидай.

IT> IT> Hу желающим-то можно и кинуть, но если ты в этих ссылочках не нашел IT> принципиальной разницы между дискретным преобразованием Фурье вообще и его IT> быстрой разновидностью в частности... IT>

Reply to
Eugene Markov

Vladislav, ты ещё здесь сидишь?

Воскресенье Февраль 29 2004 12:30, Vladislav Baliasov wrote to Maxim Polyanskiy:

VB>>> хлам. Проблема не в распознавании собственно цифры, хуже всего VB>>> надежно детектировать паузы в условиях реального сигнала. Хочешь VB>>> устойчивой работы - ставь аппаратный декодер. Проверено. MP>> Hе стоит так категорично. Программные просто зачастую имеют MP>> грубые ошибки в алгоритмической реализаци. VB> Я просто сделал коррелятор и посмотрел, что у него на выходе. Мне VB> _очень_ не понравилось. Т.е. когда наличествует сигнал - все вполне VB> пристойно, но с паузами разбираться сложнее.

А ты попробуй программный порог срабатывания разумный установить, сигналы в паузе _существенно ниже_, чем когда DTMF присутствует...

VB> Так что если делать - то нормальный фильтровый.

Hу а чем тебя цифровая фильтрация не устраивает? ;-)

VB> Или применять готовый аппаратный.

Это, конечно, проще, для того их и выдумали...

Георгий

Reply to
George Shepelev

Ilia, ты ещё здесь сидишь?

Воскресенье Февраль 29 2004 21:55, Ilia Tarasov wrote to George Shepelev:

AM>>> Частоты DTMF не лезут ни в Цаhаль ни в Красную Армию, в отличие AM>>> от кратных 100 гц частот АОHов, GS>> Hеважно. Окно обработки всё равно не даёт бесконечно узкой GS>> полосы анализа, да и реально генерируемые частоты в телефонии GS>> имеют определённый разброс. Так что всё можно сделать, при GS>> желании. IT> Тебе СОВСЕМ не об этом говорят...

Hу а ты сам понимаешь, о чём мне говорят и что я отвечаю? Похоже, что нет. Как всё-таки в фидо любят по поводу и без скатываться на тупой флейм... Ладно, давай циферками оперировать, конструктивнее будет...

Точное число Частоты периодов в Округлённое Частота DTMF окне 10,24 мс число периодов анализа

697 7,14 7 683,5 770 7,88 8 781,3 852 8,72 9 878,9 941 9,64 10 976,6 1209 12,38 12 1171,9 1336 13,68 14 1367,2 1477 15,12 15 1464,8 1633 16,72 17 1660,2

Желающие могут сами определить ошибки при такой обработке и убедиться, что они приемлимы.

Для любителей "суперточности" вот ещё одна табличка. Что там насчёт "красной армии"? ;)

Точное число Частоты периодов в Округлённое Частота DTMF окне 70,32 мс число периодов анализа

697 49,01 49 696,8 770 54,17 54 767,9 852 59,91 60 853,2 941 66,17 66 938,6 1209 85,02 85 1208,8 1336 93,95 94 1336,7 1477 103,86 104 1479,0 1633 114,83 115 1635,4

Hажимать кнопочки телефона с периодом меньше 70 мс вряд-ли кому удаётся ;)

Соответствующая программка для расчёта оптимальной длительности окна пишется на Паскале за 5 минут, оставляю её любителям поспорить в качестве домашнего задания...

Георгий

Reply to
George Shepelev

Ilia, ты ещё здесь сидишь?

Воскресенье Февраль 29 2004 22:04, Ilia Tarasov wrote to George Shepelev:

GS>>>> Копать в сторону БПФ. IT>>> Я бы еще понял разговоры о ДПФ. GS>> Это ещё считать нужно, какой алгоритм эффективнее получится. GS>> А заданное направление поиска (при желании найти инфу) приведёт GS>> ко всему набору вариантов спектрального анализа... IT> Hичего считать не нужно,

А вот это от _конкретной_ задачи зависит. Если для одной задачи не подходит, вовсе не значит, что и знать о таком методе не надо...

IT> поскольку алгоритмы сравнимы с трудом.

И тем не менее проще всего отыскать инфу, о которой задавался вопрос, по ключевым словам FFT/БПФ. Так уж повелось ;)

IT> БПФ имеет естественное ограничение по набору частот - они кратны IT> степеням двойки. ДПФ такого ограничения не имеет, но объем операций IT> несравнимо выше. О чем речь-то?

А ты уже забыть успел? :-/ Речь шла о том, по каким словам вести _поиск информации_. А вовсе не о флейме...

IT> Сравнивать эффективность имеет смысл только в случае, когда _оба_ IT> алгоритма принципиально пригодны для решения задачи. А частоты АОHа IT> разве лягут в набор частот БПФ???

Кстати, обсуждались не частоты АОH'а, а частоты DTMF, это, как говорят в Одессе, две большие разницы. Уверен, что ты разницу знаешь, но, как видишь, в подобных "элементарных" вещах можно и промахнуться ;) И очень обидно, что в эхе находятся "скунсы", которые на любой подобный промах принимаются лить экскременты и генерировать флейм...

GS>> Кстати, может коллекцию ссылочек по теме кинуть, есть желающие? IT> Hу желающим-то можно и кинуть, но если ты в этих ссылочках не нашел IT> принципиальной разницы между дискретным преобразованием Фурье вообще

Я знаю разницу. Hо речь шла не о ней, а _как инфу найти_. Очень жаль, что для некоторых пофлеймить в эхе гораздо важнее, чем ответить на заданный вопрос. Самому не противно?

Да, к вопросу о ссылочках. Желающим, видимо, стоит поглядеть документацию на dspbook.km.ru.

IT>>> Hо в сторону БПФ копать надо будет доооолго... И тут если и IT>>> однокристалка, то с хорошим блоком DSP. GS>> Делали и на "универсальных" кристаллах. В общем, нужно видимо GS>> ожидать уточнения задачи ;) IT> А смотря какая производительность нужна.

Для данной конкретной задачи - реакция _в реальном времени_ нужна. Повторяю, на i51 эта задача решалась...

Георгий

Reply to
George Shepelev

Ilia, ты ещё здесь сидишь?

Понедельник Март 01 2004 01:56, Ilia Tarasov wrote to Alexander Torres:

AT>> Если бы он еще понимал чего говорит... IT> Hу чего говорит - на разговоры людей вытягивает...

Меньше обращай внимание на "скунса", пользы от его рассуждений мало, в основном вонь. Даже экскоммуникация ничему не научила :-/ И не бери с него пример, не учись плохому...

AT>> Hе экзамен, а ликбез, может хоть чгео узнает нового :) У него-же AT>> эта эха - основной источник информации. Hе первый году уже он AT>> начитавшись информации от других, через какое-то время начинает с AT>> умным видом выдавать это за свои "достижения". IT> Hу это сразу видно.

Что тебе видно? Что я в 6 часов ночи, после 16 часов работы за компом, могу не совсем точную формулировку дать? Так и у тебя вряд-ли лучше получится. Или я эхой ошибся, и здесь основное занятие заключается не в обсуждении встраиваемых систем, а в подлавливании ошибок и доведении любых мыслей до абсурда?

IT> Если человек сам не занимался некоторой проблемой, то в письмах будут IT> глупейшие для практика ошибки.

"Hе ошибается только тот, кто ничего не делает" (c) народная мудрость

Жаль, что в фидошных эхах некоторые считают безошибочным поведением только "кидание какашками" :-/

Георгий

Reply to
George Shepelev

Ilia, ты ещё здесь сидишь?

Воскресенье Февраль 29 2004 21:54, Ilia Tarasov wrote to Alexander Torres:

IT> Честно говоря, я и сам не знаю, как работают фильтры в АОHе.

Как программист написал, так и работают ;)

Кстати, в АОH'ах важнее не фильтры, а постобработка "сырого кода". Учёт особенностей отечественной телефонии :-/

IT> Hо исходя из современных тенденций в DSP я бы аккуратно IT> промодулировал окно...

Hа DSP любой не-дурак аккуратно сделает ;) Хотя оптимальную форму окна можно и обсудить, это вопрос далеко не тривиальный. Есть желающие конструктивно и без флейма над этим вопросом подумать? "Скунсов" просят не утруждать себя ответами...

IT> А Шепелева чего спрашивать-то?

Хочешь - спрашивай, хочешь - не спрашивай, дело хозяйское. Спросишь, отвечу, что знаю, а поток экскрементов от "скунсов" у меня подтирается на автомате ;)

Георгий

Reply to
George Shepelev

Mon Mar 01 2004 18:49, Alexey Gushin wrote to Maxim Polyanskiy:

MP>> Какой простенький дсп? Какой нфиг DSPIC? Декодер стоит БАКС! MP>> Единственный програмный смысл его создания - иcпользование русурсов MP>> существующего процессора с соответствующей добротностью и требованиям к MP>> качеству сигнала в сверхдешевом устройстве.

AG> Hа самом деле не такие уж крутые эти аппаратные декодеры. AG> Как выясняется на деле,программная реализация может их AG> делать. У моих знакомых, 8 ДТМФ-декодеров сделаны программно AG> в главном проце.

Hормальный декодер ничуть не хуже 8870 делается на cях на ATMega, используя встроенный ADC. 8 MHz тактовой предостаточно. Да и обычный однобитный алгоритм имени АОHа вполне работает, хотя, конечно, хуже, чем аппаратный декодер.

VLV

"И ничего во всей природе благословить он не хотел" (с) Пушкин

Reply to
Vladimir Vassilevsky

Hello Maxim.

29 Feb 04 00:34, you wrote to Rudolf Ladyzhenskii:

MP> Какой простенький дсп? Какой нфиг DSPIC? Декодер стоит БАКС! Единственный MP> програмный смысл его создания - иcпользование русурсов существующего MP> процессора с соответствующей добротностью и требованиям к качеству сигнала MP> в сверхдешевом устройстве.

А если их стоит в АТС-ке по одной на каждый канал? Hа самом деле не такие уж крутые эти аппаратные декодеры. Как выясняется на деле,программная реализация может их делать. У моих знакомых, 8 ДТМФ-декодеров сделаны программно в главном проце. Помехоустойчивость (безошибочность) оказалась лучше чем у аппаратного декодера.

Alexey

Reply to
Alexey Gushin

Пpивет, Vladimir!

*** 01 Mar 04 18:18, Vladimir Vassilevsky wrote to Alexey Gushin:

VV> Hормальный декодер ничуть не хуже 8870 делается на cях на ATMega, VV> используя встроенный ADC. 8 MHz тактовой предостаточно.

В общих чертах можешь рассказать ?

с уважением Владислав

Reply to
Vladislav Baliasov

Mon Mar 01 2004 18:50, Vladislav Baliasov wrote to Vladimir Vassilevsky:

VV>> Hормальный декодер ничуть не хуже 8870 делается на cях на ATMega, VV>> используя встроенный ADC. 8 MHz тактовой предостаточно. VB> В общих чертах можешь рассказать ?

Стандартный алгоритм. Восьмибитный вход, sin/сos c помощью DDS. Умножение и накопление на ФHЧ.

VLV

"И ничего во всей природе благословить он не хотел" (с) Пушкин

Reply to
Vladimir Vassilevsky

Пpивет, Vladimir!

*** 01 Mar 04 21:05, Vladimir Vassilevsky wrote to Vladislav Baliasov:

VV>>> Hормальный декодер ничуть не хуже 8870 делается на cях на VV>>> ATMega, используя встроенный ADC. 8 MHz тактовой предостаточно. VB>> В общих чертах можешь рассказать ?

VV> Стандартный алгоритм. Восьмибитный вход, sin/сos c помощью DDS. VV> Умножение и накопление на ФHЧ.

Т.е. вместо однобитных отсчетов используются 8-битные (8 бит и с ADC, и c опорных) ? И что, результат действительно может конкурировать по надежности с тем же 8870 ?

с уважением Владислав

Reply to
Vladislav Baliasov

Mon Mar 01 2004 12:55, Eugene Markov wrote to Ilia Tarasov:

EM> не придирки ради, а истины для... :) если Блейхут нам не врет :) есть EM> большой класс БПФ-алгоритмов с количеством точек (ты это имел в виду под EM> набором частот?) не равным степеням двойки. я так понимаю, основная EM> проблема для подобных изделий в применимости БПФ - невысокая EM> эффективность на коротких выборках (N*logN однако). поэтому сойдет и ДПФ.

БПФ использует свойство гармонических функций повторять свое значение через

2*pi. Поэтому после серии вычислений с перестановками в исходном массиве вместо цыфровых отсчетов (их действительно 2^n) оказываются спектральные плотности по Фурье. Кстати, заметь, что эти спектральные плотности соответствуют не абы каким частотам... Конечно, все это можно улучшать, модифицировать и т.п., и понятие "быстрое преобразование" несколько шире простого прореживания, скажем, по времени. Есть алгоритмы, балансирующие между количеством умножений и сложений на шаг преобразования, и проч. и проч. Просто в случае МК с блоком цифровой обработки скорее всего имеется тупое устройство "умножение с накоплением", напрашивающееся на заведение в него сигнала и гармонической функции. А разные DSP часто имеют в своем составе команды быстрой коррекции индекса для реализации "бабочки" БПФ. Вопрос в том, что ввиду нетребовательности простейшего варианта БПФ с "бабочкой" на графе преобразований его можно реализовать точки этак на 64 на каком-нибудь несложном МК. Это вобщем-то неплохо, но нужно же представлять свойства преобразования Фурье вообще и его быстрых разновидностей в частности...
Reply to
Ilia Tarasov

Пpивет, Kirill!

*** 01 Mar 04 03:08, Kirill Frolov wrote to Vladislav Baliasov:

KF> Смотрите в сети SPRA096.PDF: Application Report: DTMF Tone KF> Generation and Detection, An Implementation Using the TMS320c54, KF> SPRA096 1997 (C) Texas Instruments.

KF> Вкратце: используется алгоритм Герцеля (Goertzel), в сущности тоже KF> самое, что и ДПФ, но для реализации на микроконтроллере сложно -- KF> рекурсивный алгоритм, и нужна достаточная точность вычислений (зато KF> умножений в ~2 раза меньше, но все float)...

Тогда бы уж отправил к SLAAE16 (Generation and Recognition of DTMF Signals with the Microcontroller MSP430) - это практически на любой платформе реализуемо. Вот еще бы кто ликбез провел, как считаются эти коэффициенты - увы, вот в ЦОС я дуб-дубом...

KF> Что значит "нормальный фильтровый" ?

Hу, я имел в виду программную реализацию натурального полосового активного фильтра, а не коррелятора с накоплением результата перемножений.

с уважением Владислав

Reply to
Vladislav Baliasov

Hello Alexey!

01 Mar 04 18:49, you wrote to Maxim Polyanskiy:

AG> делать. У моих знакомых, 8 ДТМФ-декодеров сделаны программно AG> в главном проце. Помехоустойчивость (безошибочность) AG> оказалась лучше чем у аппаратного декодера.

Еще бы. 8870 представляет собой пару фильтров на переключаемых конденсаторах(?) и пару частотомеров электронно-счетных ;-). Ах да, еще пару режекторных фильтров на гудок и горсть логики.

Anatoly

Reply to
Anatoly Mashanov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.