|
Определение передаваемых частот |
|
|
|
May 8 2015, 05:15
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 8-05-15
Из: Санкт-Петербург
Пользователь №: 86 575

|
Всем доброго времени суток! Задача: есть DTMF метка, необходимо определить частоты которые передавались, с точностью до 3го знака после запятой. (DTMF - передается сумма двух гармоник, НЧ и ВЧ) Что проделано: выделяю из сигнала DTMF, fd=44100 Гц, для того, чтобы N была кратна двум, и равнялась 2048, немного обрезаю сигнал до 0.046 секунд (было 0.05 сек), таким образом T=1/fd=2.268*10^5. Беру БПФ, строю график зависимости уровня(?)(20 log(sqwr(ReБПФ^2+ImБПФ^2)/fd-N), дБ от частоты, Гц (прикрепляю скрин, freqn=n*fd/N, n=0,...,N-1).
Пики приходятся на 947,46Гц и 1205,9Гц, хотя должны быть 941Гц и 1209Гц. такая разница по видимому из-за огромного ШАГА по частоте, в 21,55 Гц, то есть передаваемые частоты не кратны нашему "шагу". Что делать дальше - не понимаю. Пробовала инетрполяцию Лагранжа - чушь полная, не получается. Есть предложение использовать коэффициенты корреляции, относительно синусоидального и косинусоидального сигналов, но результатов пока не дал, да и не до конца понятно, что с этими коэф делать. вопрос: Как математически можно определить частоты?
--------------------
Век живи, век учись...
|
|
|
|
|
 |
Ответов
|
May 18 2015, 08:08
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата я вот какой выход нашла, и без всякого БПФ... если ошибаюсь - подправьте пожауйста, если Вы именно это и советовали, то я пропустила - прошу прощения... имеем сигнал s(x), далее находим составляющие коэф корреляции по синусу и по косинусу, и коэф корреляции, строим график, определяем максимумы, видно, что небольшая погрешность есть, но результат очень близок к истине. ... шаг меняла, от шага зависит только график, а значения Xmax не изменяются. Приведенные вами формулы не что иное как сэмплирование DTFT вашего сигнала. DFT и FFT тоже сэмплированный DTFT только с другими параметрами сэмплирования. Почитать можно например здесь. Если вы будете уменьшать частотный шаг, вы будете получать все больше точек DTFT функции, но разрешающая способность определяется только длиной исходной выборки вашего сигнала. Интерполяция DFT(FFT) в окрестностях максимума для уточнения результата - это восстановление значений функции DTFT в окрестностях этого самого максимума. Так что приведенные формулы корреляций не дадут результата принципиально иного в сравнении с Фурье преобразованием, т.к. математика там абсолютно одинаковая (внимательно сравните ваши формулы с формулировкой преобразования Фурье). Окно у вас действительно прямоугольное, т.к. данные перед преобразованием вы никак не взвешиваете.
|
|
|
|
|
May 18 2015, 12:10
|
Участник

Группа: Участник
Сообщений: 31
Регистрация: 8-05-15
Из: Санкт-Петербург
Пользователь №: 86 575

|
Цитата(serjj @ May 18 2015, 11:08)  Приведенные вами формулы не что иное как сэмплирование DTFT вашего сигнала. DFT и FFT тоже сэмплированный DTFT только с другими параметрами сэмплирования. Почитать можно например здесь. Если вы будете уменьшать частотный шаг, вы будете получать все больше точек DTFT функции, но разрешающая способность определяется только длиной исходной выборки вашего сигнала. Интерполяция DFT(FFT) в окрестностях максимума для уточнения результата - это восстановление значений функции DTFT в окрестностях этого самого максимума. Так что приведенные формулы корреляций не дадут результата принципиально иного в сравнении с Фурье преобразованием, т.к. математика там абсолютно одинаковая (внимательно сравните ваши формулы с формулировкой преобразования Фурье). Окно у вас действительно прямоугольное, т.к. данные перед преобразованием вы никак не взвешиваете. спасибо, пересчитала с оконной функцией. В данном случае возникает другая проблема. Если я ЗНАЮ какая частоты была при формировании, то я могу подобрать альфа, НО подобранная альфа для одного сигнала - не подходит для другого сигнала (опять же мною сформированного), что уж тогда говорить о сигнале, который я получу извне? еще вопрос, то что для сумм гармонических сигналов лучше использовать окно Гаусса, я прочитала, но почему? Правильно ли я понимаю, что Гаусса выбираем, так как при окне Гаусса мы имеем наименьшую величину смещения оценки основной частоты напряжения? Но так ведь она зависит от альфа... Поясните пожалуйста. на счет окон, близка ли мое предположение к реальности, как думаете? В DTMF может быть 16 вариантов позиций (от 697 и 1209 до 941 и 1633), если я создам 16 символов, для них подберу лучшую альфа, то можно ли в дальнейшем применить это значение альфа к другим образцам, извне? насколько это может быть полезным? с учетом что у меня, в моем дтмф нет шума, а он, насколько я понимаю, должен быть...
--------------------
Век живи, век учись...
|
|
|
|
|
May 19 2015, 05:00
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(Kseniia @ May 18 2015, 16:10)  Правильно ли я понимаю, что Гаусса выбираем, так как при окне Гаусса мы имеем наименьшую величину смещения оценки основной частоты напряжения? Но так ведь она зависит от альфа... Поясните пожалуйста. Окно Гаусса, помимо всего прочего, хорошо ещё и тем, что для случая непрерывного времени и в предположении, что максимумы спектра смещаются незначительно: Δf << f, можно найти верхнюю оценку для смещения частоты Δf в зависимости от ширины окна причем, чисто аналитически и в явном виде. Это позволяет выбрать минимально возможную для заданной точности Δf ширину окна (без учета шума, есс-но). На практике, для окна Гаусса заданного формулой: g(t) = exp(-t 2/T 2), и для взвешенной суммы гармоник заданной формулой: s(t) = g(t)*[cos(2*pi*f 1*t) + cos(2*pi*f 2*t)], получаем верхнюю оценку для смещения частоты Δf = f max - f 1, равную: Δf = exp(-pi 2*(f 2 - f 1) 2*T 2)*(f 2 - f 1). Для относительного смещения Δf/f 1 это дает: Δf/f 1 = exp(-pi 2*(f 2 - f 1) 2*T 2)*(f 2 - f 1)/f 1. Для относительного смещения равного Δf/f 1 = 10 -6, это дает: T min = {1/[pi*(f 2 - f 1)]} * sqrt(ln[f 1/Δf] + ln[(f 2 - f 1)/f 1]), или: T min ~= {1/[pi*(1209 - 941)]} * sqrt(ln[284803]) = {1/[pi*(1209 - 941)]} * 3,544 = 4,21 [мс].
|
|
|
|
Сообщений в этой теме
Kseniia Определение передаваемых частот May 8 2015, 05:15 Ruslan1 Прикрепите файл с вычисленными бинами БПФ и покажи... May 8 2015, 06:22 Kseniia Цитата(Ruslan1 @ May 8 2015, 09:22) Прикр... May 8 2015, 06:53 serjj Какие стоят ограничения на вычислительную сложност... May 8 2015, 07:13 Kseniia Цитата(serjj @ May 8 2015, 10:13) Какие с... May 8 2015, 07:41 Ruslan1 Kseniia,
Попробуйте Гаусса (я до alpha = 4.05 дох... May 8 2015, 07:41 serjj Цитатаданные непарметрические методы - функции в м... May 8 2015, 07:43 Kseniia Цитата(serjj @ May 8 2015, 10:43) В матла... May 8 2015, 07:56 serjj Марпл-мл. С.Л. "Цифровой спектральный анализ ... May 8 2015, 08:00 Kseniia Цитата(serjj @ May 8 2015, 11:00) Марпл-м... May 8 2015, 08:06 blackfin Цитата(Kseniia @ May 8 2015, 08:15) Задач... May 8 2015, 08:07 Kseniia Цитата(blackfin @ May 8 2015, 11:07) А Ва... May 8 2015, 09:26  petrov Цитата(Kseniia @ May 8 2015, 12:26) именн... May 13 2015, 12:08   Kseniia Цитата(petrov @ May 13 2015, 15:08) А зач... May 13 2015, 12:32    petrov Цитата(Kseniia @ May 13 2015, 15:32) дело... May 13 2015, 12:41  blackfin Цитата(Kseniia @ May 8 2015, 12:26) именн... May 13 2015, 13:27   petrov Цитата(blackfin @ May 13 2015, 16:27) Ну ... May 13 2015, 14:22 serjj Цитатав DTMF передается 2 частоты: НЧ и ВЧ, то мал... May 8 2015, 10:33 Kseniia Цитата(serjj @ May 8 2015, 13:33) Зачем в... May 8 2015, 11:15 serjj Размер выборки кстати ограничен? Или можно копить ... May 8 2015, 11:25 _pv вместо быстрого преобразования, посчитайте обычные... May 8 2015, 11:55 serjj Цитатавместо быстрого преобразования, посчитайте о... May 8 2015, 12:08 Alex11 Кроме всего прочего, при Гауссовском окне чтобы ис... May 8 2015, 15:33 Hose В самом начале рассуждений вы назначили что будет ... May 9 2015, 15:02 Alex11 Это отличный совет, но там две частоты не кратные ... May 11 2015, 23:11 Kseniia Цитата(serjj @ May 8 2015, 14:25) Размер ... May 13 2015, 05:22 _pv Цитата(Kseniia @ May 13 2015, 12:22) разм... May 13 2015, 09:50  Kseniia Цитата(_pv @ May 13 2015, 12:50) про авто... May 13 2015, 10:48 _pv я там руками столбец со временем добавил. Чтобы с ... May 13 2015, 12:14 Kseniia Цитата(_pv @ May 13 2015, 15:14) я там ру... May 13 2015, 12:43 GeGeL Мне показалось, что суть задачи TC - в скрытой иде... May 13 2015, 15:35 Hose Бпф=быстрое преобразование Фурье
Есть еще просто П... May 14 2015, 02:56 Kseniia Цитата(blackfin @ May 13 2015, 16:27) Кас... May 14 2015, 06:20 GeGeL Цитатаблизко к телу...
Тут есть два варианта разви... May 14 2015, 12:50 Alex11 Цитатана сечт коэф, у нас же амплитуда меняется, к... May 14 2015, 14:17 Fourier Вам тут уже советовали алгоритм MUSIC. Он дает оче... May 15 2015, 20:19 serjj ЦитатаВам тут уже советовали алгоритм MUSIC. Он да... May 15 2015, 20:43 blackfin Цитата(serjj @ May 15 2015, 23:43) .. хор... May 16 2015, 04:09 Fourier ЦитатаА книжкой не поделитесь?)
Книжка May 15 2015, 22:10 GeGeL ЦитатаТочную оценку обеих частот f1 и f2 в этом сл... May 17 2015, 19:12 Kseniia всем спасибо за советы, на счет книги, скачала, бу... May 18 2015, 06:05 blackfin Цитата(Kseniia @ May 18 2015, 10:05) ..ес... May 18 2015, 06:55 serjj А какие частоты у вас в WavDataS? Там точно 941 и ... May 18 2015, 06:24 Kseniia Цитата(serjj @ May 18 2015, 09:24) А каки... May 18 2015, 07:28 blackfin Цитата(Kseniia @ May 18 2015, 11:28) А гд... May 18 2015, 07:48 serjj ЦитатаВ DTMF может быть 16 вариантов позиций (от 6... May 18 2015, 12:50 Kseniia Цитата(serjj @ May 18 2015, 15:50) Вы раз... May 21 2015, 06:09  blackfin Цитата(Kseniia @ May 21 2015, 09:09) не м... May 22 2015, 04:28   Kseniia Цитата(blackfin @ May 22 2015, 07:28) Что... May 22 2015, 05:13 serjj Цитатане могу понять, что есть fmax и как получена... May 21 2015, 06:30 Kseniia Цитата(serjj @ May 21 2015, 09:30) fmax -... May 21 2015, 09:14
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|