|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
10.10.2013, 21:26 | #1 |
Пользователь
Регистрация: 21.10.2009
Сообщений: 10
|
DTMF
Добрый день.
Как же меня уже замучал данный вопрос. Собственно, задание - сгенерировать 2 синусоидальных сигнала (с заданными частотами) (тут в принципе, все описано: http://ru.wikipedia.org/wiki/DTMF) и сделать (например), 320 отсчетов суммы этих синусоид с частотой дискретизации (например, 8000Гц). Затем записать полученные отсчеты в массив и посчитать 7 частот (по википедии, 8, но я кодирую только цифры, * и #, буквы А, B, C, D не нужны.) Вопрос вот в чем: правильно, ли я делаю 320 отсчетов? И как 7 нужных частот получить? (Я понимаю, что при помощи алгоритме Герцеля (http://ru.wikipedia.org/wiki/%D0%90%...B5%D0%BB%D1%8F) ), но не получается. Мне действительно нужно разобраться, я уже неделю лажу по Интернету, читаю всевозможные статьи на данную тематику, но пока не разобрался. Вот сегодня наткнулся на очень маленькую статью, которая в принципе, все объясняет (не сочтите за рекламу): http://www.rid.mv.ru/dsp/dtmf/dtmf.htm Но даже с ней найти своих ошибки я не смог. Теперь собственно, код: На форму кинул 12 кнопок (0-9 * #) и при нажатии на них: Код:
Код:
Код:
Собственно потом, пытаюсь получить частотную характеристику, но еще один вопрос: какие номера отсчетов брать (где находятся те 7 отсчетов? с какими индексами??) Код:
|
10.10.2013, 21:27 | #2 |
Пользователь
Регистрация: 21.10.2009
Сообщений: 10
|
Вот пример, генерация при нажатии на 1 (320 отсчетов, 8000Гц - частота дискретизации), график во вложении. Как из гарфика можно узнать, какая цифра была нажата?
|
10.10.2013, 21:47 | #3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
1. Быстрое преобразование Фурье. Практика использования http://pblog.ru/?p=658
2. Модуль DTMF (кодер-декодер-спектроанализатор). Компонент http://raxp.radioliga.com/cnt/s.php?p=dt.zip 3. Виртуальные приборы. Спектроанализатор своими руками http://raxp.radioliga.com/cnt/s.php?p=v3.djvu
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
10.10.2013, 21:53 | #4 |
Пользователь
Регистрация: 21.10.2009
Сообщений: 10
|
Спасибо за столь быстрый ответ, попробую конечно разобраться с компонентом, но мне хотелось бы найти ошибку в своем коде, так как его пиал все-таки я)
И там кстати исходник закрытый, только dcu... Последний раз редактировалось V1S; 10.10.2013 в 22:01. |
10.10.2013, 22:30 | #5 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Кстати, закрытый потому-что много чего добавлено с тех пор, но свободный для некоммерческого использования.
А тут http://pblog.ru/?p=658 вы невнимательны, разобраться вполне сможете.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
10.10.2013, 23:40 | #6 | |
Пользователь
Регистрация: 21.10.2009
Сообщений: 10
|
Цитата:
|
|
11.10.2013, 09:04 | #7 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
Пробуйте, пробуйте, тем паче все разжевано до мелочей.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |