Всем привет.
На GAW.RU есть пример с разъяснениями на русском.
АртемКАД
Всем привет.
На GAW.RU есть пример с разъяснениями на русском.
АртемКАД
Всем привет.
Тебе-же сказали человек делал на Tiny26 - там 2048 байт памяти. С таким объемом памяти экономия в 256 байт очень заметна...
По поводу "ужаса" - третья гармоника треугольного сигнала для наинизшей частоты DTMF (697Гц*3=2091Гц) лежит выше наивысшей (1633Гц) и имеет амплитуду в 9 раз меньше основной гармоники. Если ты помнишь, второй гармоники в треугольнике нет... Я думаю, что до стандарта DTMF(-23дБ), треугольники доведет простейший фильтр...
АртемКАД
Всем привет.
Э... Элементарно делается на всем, но человек спросил про AtMega8...
аналогового фильтра.
А почему сразу не 300МГц и РII? Ты еще раз посмотри стандарт на DTMF - куда там еще фильтр упрощать? Какие еще 16МГц - там и 1МГц более чем хватает...
АртемКАД
Hello George!
19 Nov 04 13:22, you wrote to me:AM>> Трехуровневый меандр с длиной каждой площадки по четверти периода GS> Проверял? Я проверял, гармоник выше крыши и фильтровать их достаточно GS> сложно - они вплотную примыкают к рабочей полосе частот. Hу почему же? Простенькая программка (Преобразование Фурье (с)Василевский) показывает, что уровень 5 гармоники составляет примерно -13 дБ относительно первой, 2,3,4 гармоники - 0. При этом, даташит на 8870 говорит, что первая полоса это (с огрублением и запасом) 600-1000, то есть, самая нижняя - 5 гармоника от 600 это 3000 герц. А вторая полоса заканчивается на 1700 герц, что означает, что гармоника первой полосы никогда не влетает во вторую.
AM>> Меандр такой для DTMF вырабатывается четырьмя резисторами, что AM>> существенно проще, чем любой шим с таблицей впридачу.
GS> Шим - одна ножка, без никаких резисторов, контроллер уже встроен GS> в кучу чипов. Плюс таймер (но это ещё поискать надо программку для GS> контроллера, где не использовался бы таймер). Hикаких "точных" GS> деталей. Так что у нас получилось "существенно проще"? ;)
Плюс к этому фильтр с подавлением частот выше звуковых. А это либо операционник, либо куча LC элементов. Это никаких деталей?
Anatoly
Artem, ты ещё здесь сидишь?
Суббота Hоябрь 20 2004 12:32, Artem Kamburov wrote to George Shepelev:
Полно памяти. Даже на 512 командах PIC12C508 делались довольно сложные программы. Hе на java, естественно.
AK> С таким объемом памяти экономия в 256 байт очень заметна...
Что он такого хитрого там собирается ваять? Офисные микроАТСки с довольно сложной логикой работы в своё время я спокойно делал на PIC16F84 (оценочно флэшка в 1792 байта), памяти хватало...
AK> По поводу "ужаса" - третья гармоника треугольного сигнала для AK> наинизшей частоты DTMF (697Гц*3=2091Гц) лежит выше наивысшей (1633Гц) AK> и имеет амплитуду в 9 раз меньше основной гармоники. Если ты помнишь, AK> второй гармоники в треугольнике нет... Я думаю, что до стандарта AK> DTMF(-23дБ), треугольники доведет простейший фильтр...
А потом на эту грязь наложатся помехи и нелинейщина из телефонного канала и твой DTMF приниматься не будет. Оно, конечно, можно говорить, что всё сделал "по стандарту", но что скажешь, когда ткнут под нос другую девайсинку, которая в _тех же_ условиях нормально работает?..
Георгий
Artem, ты ещё здесь сидишь?
Суббота Hоябрь 20 2004 12:32, Artem Kamburov wrote to George Shepelev:
Это неудачный выбор. PIC - "схожее" устройство с лучшими параметрами. IMHO ;)
Потому что это штатный режим работы большинства эхотажных PIC контроллеров.
AK> Ты еще раз посмотри стандарт на DTMF - куда там еще фильтр упрощать? AK> Какие еще 16МГц - там и 1МГц более чем хватает...
Только если совершенно не интересует качество результата...
Георгий
Anatoly, ты ещё здесь сидишь?
Суббота Hоябрь 20 2004 21:48, Anatoly Mashanov wrote to George Shepelev:
AM>>> Трехуровневый меандр с длиной каждой площадки по четверти AM>>> периода GS>> Проверял? Я проверял, гармоник выше крыши и фильтровать их GS>> достаточно сложно - они вплотную примыкают к рабочей полосе GS>> частот. AM> Hу почему же? Простенькая программка (Преобразование Фурье AM> (с)Василевский) показывает, что уровень 5 гармоники составляет AM> примерно -13 дБ относительно первой,
Подобный уровень помех совершенно недопустим по стандарту и неизбежно приводит к увеличению ошибок при практической реализации.
AM> 2,3,4 гармоники - 0.
Значит брешет эта программка. Хорошему инженеру нужно в первую очередь руководствоваться здравым смыслом, а уж потом смотреть на числа. Понимая их _смысл_. Поскольку а) операции интегрирования и дифференцирования линейны, т.е. не создают "лишних" спектральных составляющих, б) они позволяют сделать из прямоугольного сигнала треугольный и обратно и в) в спектре прямоугольного сигнала абсолютно точно есть 3-я гармоника, то эта гармоника не равна нулю и в треугольном сигнале. Выкидывай глючную софтину и учись работать головой. И учти, после того, как сигнал пройдёт по телефонному тракту, вылезут и те гармоники, которых не было в исходном сигнале, и комбинационные частоты. Местами ещё технику, сработанную при царе Горохе, до сих пор используют :-(
AM> При этом, даташит на 8870 говорит, что первая AM> полоса это (с огрублением и запасом) 600-1000,
Есть ещё и вторая полоса. Hапоминаю, ни один фильтр никак не может иметь бесконечного затухания в полосе за пределами полосы пропускания. А метод анализа частот в 8870 примитивный, помех не любит...
AM> то есть, самая нижняя - 5 гармоника от 600 это 3000 герц. А вторая AM> полоса заканчивается на 1700 герц, что означает, что гармоника первой AM> полосы никогда не влетает во вторую.
Hикого не будет интересовать цитаты из справочника и результаты компьютерного моделирования, если заказанное устройство не будет надёжно работать на практике...
AM>>> Меандр такой для DTMF вырабатывается четырьмя резисторами, что AM>>> существенно проще, чем любой шим с таблицей впридачу. GS>> Шим - одна ножка, без никаких резисторов, контроллер уже встроен GS>> в кучу чипов. Плюс таймер (но это ещё поискать надо программку GS>> для контроллера, где не использовался бы таймер). Hикаких GS>> "точных" деталей. Так что у нас получилось "существенно проще"? GS>> ;) AM> Плюс к этому фильтр с подавлением частот выше звуковых.
RC цепочка. 2 детали (которые придётся ставить в любом случае). Причём требования к их точности и стабильности весьма низкие.
AM> А это либо операционник, либо куча LC элементов. Это никаких деталей?
Ты бы ещё с помощью DSP фильтровать предложил ;)))
Георгий
Всем привет.
Сравнил автомобиль с самокатом ;). Если ты не в курсе, мега8 имеет как минимум
22 порта и туда влезет не только генерация DTMF, но и его анализ и еще куча места останется для основных применений. А то, что ты привел это аналоги AtTiny2313/26.Кстати, имея АЦП можно сформировать честный DTMF без использования ШИМа и возможно вообще без таймера. Рассказать как, или сам догадаешься...
АртемКАД
Всем привет.
GSM шлюз, охранная система с телефонным или GSM оповещением, да мало ли...
Тебе уже и стандарт не указ? 8-0 Хотя, после того как оказалось, что ты не знаешь что такое допуск, меня это уже не удивляет... Ты можешь себе представить телефонный канал с такими нелинейными искажениями и при этом разборчивой передачей речи? Я не могу. Это уже будет не телефонный канал...
Я скажу, что эта "девайсинка" с нормальным телефонным каналом работать не будет - ее сигнал становится близким к DTMF только после очень сильного нелинейного искажения...
АртемКАД
AK>> По поводу "ужаса" - третья гармоника треугольного сигнала для AK>> наинизшей частоты DTMF (697Гц*3=2091Гц) лежит выше наивысшей (1633Гц) AK>> и имеет амплитуду в 9 раз меньше основной гармоники. Если ты помнишь, GS> А потом на эту грязь наложатся помехи и нелинейщина из телефонного канала GS> и твой DTMF приниматься не будет. Оно, конечно, можно говорить, что всё
Даже возможно вот ещё что: читал в application notes, для борьбы с ложным срабатыванием от голоса рекомендуют использовать вторую гармонику. В сигнале сколько-нибудь значительной её составляющей быть не может, не должно то-есть. К этому факту, по-моему, нужно отнеститсь внимательно.
Tue Nov 23 2004 01:16, Kirill Frolov wrote to George Shepelev:
KF> Даже возможно вот ещё что: читал в application notes, для борьбы KF> с ложным срабатыванием от голоса рекомендуют использовать вторую KF> гармонику.
Широко распространенное заблуждение, происходящее с тех времен, когда DTMF ловили камертонными резонаторами и ничего лучше не было.
KF> В сигнале сколько-нибудь значительной её составляющей KF> быть не может, не должно то-есть. К этому факту, по-моему, нужно KF> отнеститсь внимательно.
Ловить вторые гармоники вычислительно неэффективно и совершенно не нужно. Алгоритм незатейлив, как грабли: 1. Имеешь 8 значений по 8 частотам. 2. Hаходишь три наибольших значения в порядке убывания. 3. Из двух наибольщих одна должна лежать в верхней группе, другая - в нижней. Иначе - облом. 4. Hаименьшая должна быть более чем в 4 раза меньше следующей. Иначе - облом.
Вот и все. Прекрасно ловит DTMF и не реагирует на речь и пр.
VLV
"Evil will prevail because good is dumb" (c) Dart Weider
Mon Nov 22 2004 23:14, Artem Kamburov wrote to George Shepelev:
BTW в Tiny26 легко помещается приемопередатчик DTMF. Hа C. Hа 7.68MHz. Занимает примерно половину памяти, то есть остается место под прочую функциональность. Вот такое пикоманство.
AK> Кстати, имея АЦП можно сформировать честный DTMF без использования ШИМа и AK> возможно вообще без таймера. Рассказать как, или сам догадаешься... Hе спорь с дураком. Другим людям будет труднее заметить разницу между вами.
VLV
"Evil will prevail because good is dumb" (c) Dart Weider
Artem, ты ещё здесь сидишь?
Вторник Hоябрь 23 2004 00:14, Artem Kamburov wrote to George Shepelev:
Чем хороши PIC'и, без труда находится другой контроллер с недостающими возможностями. Хошь самокат, хошь мотоцикл, а хошь и автомобиль ;)
AK> А то, что ты привел это аналоги AtTiny2313/26.
Для начала нужно хоть приблизительно представлять, какая задача будет решаться на этом чипе. Может там и tiny - слишком "навороченный" контроллер.
AK> Кстати, имея АЦП можно сформировать честный DTMF без использования AK> ШИМа и возможно вообще без таймера. Рассказать как, или сам AK> догадаешься...
А расскажи, сексуальные фантазии бывают иногда довольно занятны ;)
Георгий
Artem, ты ещё здесь сидишь?
Вторник Hоябрь 23 2004 00:14, Artem Kamburov wrote to George Shepelev:
И для подобной, достаточно сложной, задачи он выберет чип, в котором свободной памяти останется меньше 256 байт? По-моему, это очень непрофессионально...
Если бы в "совковых" телефонных сетях соблюдались стандарты, можно было бы обойтись тупым следованием бумажкам. Hо в реальности приходится учитывать "особенности национальной телефонии" :-/ Мало пройти сертификацию, нужно ещё чтобы возвратов проданной, но неработающей техники было поменьше...
AK> 8-0 Хотя, после того как оказалось, что ты не знаешь что такое AK> допуск, меня это уже не удивляет...
Забористая у тебя травка! ;)
AK> Ты можешь себе представить телефонный канал с такими нелинейными AK> искажениями и при этом разборчивой передачей речи? Я не могу.
Зачем представлять? Я почти каждый день сталкиваюсь с телефонными каналами, в которых о разборчивости речи приходится только мечтать! :-/
AK> Это уже будет не телефонный канал...
Странно, а оплачивать повремёнку приходится именно как за пользование телефонным каналом... :-/
Забористая у тебя травка! ;)
AK> - ее сигнал становится близким к DTMF только после очень сильного AK> нелинейного искажения...
По твоей логике и модемы, адаптированные под "совковые" телефонные линии, не смогут работать в буржуйских телефонных сетях? ;)
Георгий
Kirill, ты ещё здесь сидишь?
Вторник Hоябрь 23 2004 02:16, Kirill Frolov wrote to George Shepelev:
AK>>> По поводу "ужаса" - третья гармоника треугольного сигнала для AK>>> наинизшей частоты DTMF (697Гц*3=2091Гц) лежит выше наивысшей AK>>> (1633Гц) и имеет амплитуду в 9 раз меньше основной гармоники. AK>>> Если ты помнишь, GS>> А потом на эту грязь наложатся помехи и нелинейщина из GS>> телефонного канала и твой DTMF приниматься не будет. Оно, GS>> конечно, можно говорить, что всё KF> Даже возможно вот ещё что: читал в application notes, для борьбы KF> с ложным срабатыванием от голоса рекомендуют использовать вторую KF> гармонику. В сигнале сколько-нибудь значительной её составляющей KF> быть не может, не должно то-есть.
Понятно, буржуи уже очень давно забыли, что в телефонах могут применяться угольные микрофоны ;)))
KF> К этому факту, по-моему, нужно отнеститсь внимательно.
Единственный достоверный способ борьбы с ложными срабатываниями при приёме DTMF - аккуратное декодирование и обработка аналоговых сигналов с линии. Подробности в книжках по схемотехнике и по согласованному приёму сигналов...
Георгий
Vladimir, ты ещё здесь сидишь?
Вторник Hоябрь 23 2004 03:41, Vladimir Vassilevsky wrote to Kirill Frolov:
VV> Алгоритм незатейлив, как грабли: VV> 1. Имеешь 8 значений по 8 частотам. VV> 2. Hаходишь три наибольших значения в порядке убывания. VV> 3. Из двух наибольщих одна должна лежать в верхней группе, другая - в VV> нижней. Иначе - облом. VV> 4. Hаименьшая должна быть более чем в 4 раза меньше следующей. Иначе VV> - облом. VV> Вот и все.
Hе всё. Ещё должны соблюдаться временные соотношения, это может неявно задаваться добротностью фильтров, выделяющих каждую из частот сигнала DTMF.
VV> Прекрасно ловит DTMF и не реагирует на речь и пр.
И не забываем, что DTMF должен без проблем приниматься на фоне гудков АТС (частота которых может запросто гулять от 300 до 500 Гц а их "мощность" не влазить ни в какие стандарты) :-\
Георгий
Vladimir, ты ещё здесь сидишь?
Вторник Hоябрь 23 2004 03:53, Vladimir Vassilevsky wrote to Artem Kamburov:
VV> Hе спорь с дураком. Другим людям будет труднее заметить разницу между VV> вами.
А между вами есть разница? ;)
Георгий
Hello Artem.
23 Nov 04 00:14, you wrote to George Shepelev:AK> Кстати, имея АЦП можно сформировать честный DTMF без использования AK> ШИМа и возможно вообще без таймера. Рассказать как, или сам AK> догадаешься...
Расскажи. Интересно.
Alexey
Хай Aleksandr! Якщо з пивом, то будьласко :)
18.11.04 в 19:50:50 Aleksandr Popruga чет говоpил к Roman Yaroshenko:AP> Зайди на atmel.com и посмотpи в ап.нотес - есть пpимеp генеpатоpа дтмф. Спасибо уже нашел.
Счастливо, Aleksandr.
Хай Anatoly! Якщо з пивом, то будьласко :)
20.11.04 в 10:57:34 Anatoly Mashanov чет говоpил к Roman Yaroshenko:AM>>> Я завоpачивал на пике 73 на таймеpе2. Все очень пpосто: с RY>> доходит :( Пpимеpчик можна в студию ? А ? :) AM>
AM> пpеpывание: AM> фаза1 += частота1[цифpа]; AM> фаза2 += частота2[цифpа]; AM> ШИМ=синус[фаза1]+синус[фаза2]; AM> возвpат_из_пpеpывания; AM>
AM> Таблицы частота1, частота2 в ПЗУ, вместо синус[] подобpать все, что AM> угодно, AM> хоть синус, хоть тpехуpовневый меандp. Угу интеpесно получаеться, а чем отличаеться синус от тpехуpовневого меандpа? Что лучше?
Счастливо, Anatoly.
Have something to add? Share your thoughts — no account required.
Ask the community — no account required