Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Определение номера [D5, Win95/98]


Andey ©   (2001-09-27 19:55:00) 

У меня есть SoundBlaster, имеется телефон. Можно ли каким-то образом определять какой номер набирают на телефоне, а желательно чтобы все наборы где-то сохранялись.


Vad   (2001-10-03 05:20:00) [1]

To:Andey
Исходник послал.
Да это и не схема по хорошему, а так - принципы работы.
Вполне может и не заработать, т.к. у связистов свое понимание стандартов. Например, многие импортные телефоны при наборе не до конца замыкают линию.
Во многих телефонных розетках стоят конденсаторы, блокираторы и т.п.


Andey   (2001-10-02 19:51:00) [2]

Vad!!! Мне бы твой исходник, да и прогу(у меня DELPHI 5), а электронику
я бы потыкал паяльником(образование немного имею), кстати насчёт твоей
схемки: если заменить диод на диодный мост(4 диода) то и полярность
не перепутаешь.
От грозы может кондёрами предохраниться!? Ждать наверное долго чтобы
проверить.
Как контролировать COM-порт - это для меня слабо(надеюсь пока).
Спасибо всем за внимание к моей проблеме.


Vad   (2001-10-02 02:05:00) [3]

Если делать определитель серьезно, то нужно соответствующие знания
или помощь по электронике, т.к. уровни сигналов в телефонной линии и
у компьютера сильно различаются. А для экспериментов подойдет и
простейший стабилизатор. Я даже пробовал испльзовать простой
механический номеронабиратель выдранный из старого телефона с батареей
12V подключенный к COM порту для отлаживания программы.

Если разгавор записан на аудио, то набор номера идет в виде щелчков,
поэтому нужно вырезать высокие и средние частоты наложением фильтра.
Как это сделать - отдельный вопрос с разными вариантами решения.


UsBall   (2001-10-02 00:23:00) [4]

Набор номера в номеронабирателя несколько стабилизирован - т.е. разомкнутое состояние линии длится довольно конкретное время. Аналогично достаточно определенный промежуток времени длится и пауза между разрывами.
Да, и ещё момент - перепады уровней при этом должны очень сильно отличаться от голосового сигнала. Всё это применительно именно к записи на носителе (или в файле).
Предположим - делаем массив отсчётов аудиозаписи и ловим там сигнал с очень большими перепадами (т.е. фактически фильтруем его). Далее по идее можно посчитать. Кстати - интересно как преобразовать этот самый аудио файл в отсчёты?
А СОМ порт юзать весьма стрёмно - я правда схемы не видел, но если нет гальванической развязки между линией и портом, то можно поиметь весьма нехилый потенциал на порт.
Особенно в грозу. И это не просто слова - очень реально.


Andey   (2001-10-01 20:46:00) [5]

Исходник на паскале было бы прекрасно!!!
Это мне очень пригодится...
Но вот выплывает ещё проблема, если разговор(набор номера) записан на
аудионоситель то эта схема через COM порт не подходит.
может и подойдёт но электронику(внешнюю) надо дорабатывать.

Спасибо большое!!!!


Sova   (2001-10-01 20:36:00) [6]

Vad брось и мне пожалуйста описание.


Vad   (2001-10-01 14:56:00) [7]

Andey,Nest
отправил по почте, чтобы не загромождать форум.


Андрей К.   (2001-10-01 10:37:00) [8]

Мы занимались этой проблемой лет 5-6 назад. записывали звук на HDD и определяли входящие и исходящие номера (именно через SB). При тональном наборе нет никаких проблем: просто делается БПФ (быстрое преобразование Фурье) и анализируются частоты двухтональных сигналов (соответствия непомню, но могу поискать, да и в интернете этого добра должно быть навалом).
А вот при импульсном наборе есть серьёзные проблемы. Дело в том, что импульсный набор осуществляется с достаточно низкой частотой и большой амплитудой. При этом на разделительных ёмкостях SB возникают неслабые переходные процессы, которые ведут к существенному искажению формы сигнала. Эти искажения сильно препятствуют программному анализу сигнала при импульсном наборе номера. Разборчивость конечно была, но достаточно часто возникали ошибки (то на 1 больше насчитает, то меньше). Мы конечно вышли из положения: поскольку нам требовалось определять и входящие номера (что без дополнительной схемотехники малореально), наша приставка, помимио прочего, заполняла наборные импульсы однотональным сигналом, а с его анализом проблем уже не возникало.
А вообще-то предложение Vad самое простое и надёжное. Если конечно дружишь со схемотехникой и паяльником. Если нет то лучше вообще забудь свою идею (или доверь проверенному товарищу), а то спалишь к чертям компьютер.


Nest   (2001-10-01 09:34:00) [9]

>Vad ©
А по-подробнее нельзя,плиз?


Vad   (2001-10-01 06:11:00) [10]

Все просто, только нужно сделать маленькую приставочку:
резистор со стабилитроном и все это дело завести на
COM, LPT или джойстик, по вкусу, а потом проеделять
количество пульсаций и паузы между ними.


Anatoly Podgoretsky   (2001-09-30 21:02:00) [11]

Для импульсного набора саунд бластер не подойдет, нужно какое либо АЦП


Andey   (2001-09-30 20:21:00) [12]

Я вообще хотел бы определять импульсный набор.
как-то надо анализировать сигнал(пульсации считать).


Nest   (2001-09-28 10:31:00) [13]

>Станислав ©
Я так понял,что с сбластером можно определять так :
Когда юзверь жмёт на кнопу телефона с тоновым набором,то возникает звук "Пик".По нажатии на разные цифиры звук разной частоты.Так вот по частоте определять цифиру.
А если телефон дисковый(с импульсным набором)-а значит не пикает,то тогда вообще как с помощью соунд-блястера опредилить что-нить можно?


Станислав   (2001-09-28 10:16:00) [14]

В принцыпе да, но как ты хочешь это реализовывать. Без юзера наврятли хотя чем черт не шутит. И еще если тоновый набор, то очень трудно будет.


Наверх

Титульная страница Поиск, карта сайта Написать письмо