|
Определение передаваемых частот |
|
|
|
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 15 2015, 20:43
|
Знающий
   
Группа: Участник
Сообщений: 527
Регистрация: 4-06-14
Из: Санкт-Петербург
Пользователь №: 81 866

|
Цитата Вам тут уже советовали алгоритм MUSIC. Он дает очень хороший результат по точности. Для него не надо генерировать базисных функций, сетка частот заранее не задана. Процедура БПФ тоже не требуется. В матлабе функция music возвращает оценку частот. Алгоритм основан на разложении оценки автокорреляционной матрицы на собственные вектора, по-моему есть быстрые алгоритмы. Посмотрите в сторону него. Так же можно попробовать модернизированный ковариационный метод, который есть так же в матлабе - функция armcov. Она возвращает оценку АР-параметров модели сигнала, чтобы посчитать частоты надо вычислить комплексные корни характеристического полинома построенного по АР-параметрам, а потом посчитать их аргумент. Процедура БПФ так же не требуется, сетка частот не задана. Если у вас две комплексные экспоненты, то этот метод может быть эффективнее, чем БПФ и в плане точности и в плане быстродействия.
Однако, следует помнить, что параметрические методы могут быть неустойчивыми к помехам, с которыми не согласуется выбранная модель сигнала.
Насчет точности измерения. В книге Кея "Kay S.M. Fundamentals of Statistical Signal Processing: Estimation Theory (v.1). Prentice Hall, Upper Sadle River, NJ, 1998. 595 p." на 542 странице есть выражение границы Крамера-Рао для оценки частоты комплексной экспоненты на фоне шума. Попробуйте подставить в формулу Ваши условия, может быть такая точность и теоретически то не достижима))) У меня знакомый копал в свое время в сторону АР-моделей и метода Юли-Уолкера, дают хороший результат для малого количества спектральных компонент, это как раз примеры параметрических методов. Из непараметрических еще ESPRIT можно глянуть. Фурье имеет фундаментальное ограничение в точности, связанное с размером выборки и тут как ни крути, это ограничение никуда не денется. Не знаю, зачем себя ограничивать в данном случае, оговаривая именно примение Фурье. Речь ведь идет не о жестком реальном времени с ограниченными ресурсами. А книжкой не поделитесь?) ЗЫ: хорошая идея по поводу Крамера-Рао, как раз с этого и стоило бы начинать дискуссию
|
|
|
|
|
May 16 2015, 04:09
|
Гуру
     
Группа: Свой
Сообщений: 3 106
Регистрация: 18-04-05
Пользователь №: 4 261

|
Цитата(serjj @ May 15 2015, 23:43)  .. хорошая идея по поводу Крамера-Рао, как раз с этого и стоило бы начинать дискуссию  Так шума нет! Причем тут граница Крамера-Рао? У Kseniia идеальный сферический DTMF в MATLAB'е! И тем не менее, даже в отсутствии шума оценки частот неверны! Но они и не будут верны, пока не придет понимание того, что реально существующий спектр суммы двух гармоник умноженных на любое окно ограниченной длительности, имеет максимумы отнюдь не на тех частотах из которых эта сумма гармоник была сформирована! Достаточно наглядно это можно увидеть уже просто сложив спектры двух радиоимпульсов имеющих близкие частоты несущих. При таком сложении максимум в спектре каждого из радиоимпульсов сместится в сторону максимума соседнего радиоимпульса. Чтобы продемонстрировать это формально, можно воспользоваться разложением спектров обоих радиоимпульсов в ряд вблизи максимума спектра одного из радиоимпульсов. Разложив эти спектры в ряд в окрестности точки f 1 и отбросив все члены ряда Тейлора выше второй степени, находим: S 1(f) = A*(f - f 1) 2 + C + ... S 2(f) = B*(f - f 1) + ... В этих разложениях предполагается, что спектр S 1(f) имеет максимум в точке f 1, а спектр S 2(f) представлен в точке f 1 линейным членом, так как максимум его спектра находится в точке f 2. Сложив оба спектра, находим суммарный спектр вблизи точки экстремума функции S 1(f): S сум(f) = A*(f - f 1) 2 + B*(f - f 1) + С. Теперь, чтобы найти максимум функции S сум(f), мы находим её производную и приравниваем её нулю: S' сум(f) = 2*A*(f - f 1) + B = 0. Откуда: f max = f 1 - B/(2*A). Из этой формулы видно, что каждый из максимумов суммы спектров уже не совпадает с максимумом каждого из спектров по отдельности, он сместился в направлении соседнего максимума. Поэтому, если частота несущей из которой был получен сигнал DTMF равнялась f 1, тем не менее любой спектральный метод оценивания даст в результате смещенную оценку f 1±Δf даже и при отсутствии шума вообще. Точную оценку обеих частот f 1 и f 2 в этом случае можно получить только лишь зная амплитуды и фазы обеих гармоник из которых был получен сигнал DTMF..
|
|
|
|
Сообщений в этой теме
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 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 Цитатая вот какой выход нашла, и без всякого БПФ..... May 18 2015, 08:08 Kseniia Цитата(serjj @ May 18 2015, 11:08) Привед... May 18 2015, 12:10  blackfin Цитата(Kseniia @ May 18 2015, 16:10) Прав... May 19 2015, 05:00 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
|
|
|