Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: алгоритмы определения времени м\у испущенным и
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
AlexDark
перекопал кучу литературы, но что-то не нашел то что мне нужно sad.gif
задача: испускаем конечный звуковой сигнал (все фиксировано у него: частота, мощность...), он проходит ч\з какой - то материал на приемник (приобретая при этом шум). Нужно определить время, затраченное сигналом, пока он проходил ч\з материал. временной точкой отсчета считаем время схода первого сигнала. требования: высочайшая точность, скорость smile.gif
на ум приходят БПФ и вейвлет-анализ. Но как их по умному применить??? (особенно интересует вейвлет-преобразования) как с помощью вейвлетов выяснить фазовый сдвиг???... может кто богат литературкой на эту тему???
blackfin
Цитата(AlexDark @ Feb 22 2007, 13:31) *
на ум приходят БПФ и вейвлет-анализ.

Мне почему-то на ум приходит аппроксимация МНК измеренного в полосе частот
комплексного коэффициента передачи S12 с помощью коэффициента передачи S12[эквив]
эквивалентной схемы в виде трех последовательно соединенных отрезков
длинной линии с волновыми сопротивлениями Z0,Z1,Z0.
NickNich
Цитата(AlexDark @ Feb 22 2007, 13:31) *
на ум приходят БПФ и вейвлет-анализ. Но как их по умному применить??? (особенно интересует вейвлет-преобразования) как с помощью вейвлетов выяснить фазовый сдвиг???... может кто богат литературкой на эту тему???

Корреляция переданного и приянятого сигналов.
Если форма переданного сигнала известна, то строите согласованный фильтр (импульсная реакция которого равна вывернутой во времени форме переданного сигнала) и пропускаете через него принимаемый сигнал. Момент обнаружения максимума, относительно начала передачи, соответствует задержке распространения сигнала. Ищите по названиям "согласованный фильтр" "корреляционный прием". Кстати, корреляция - это произведение ПФ принятого и переданного сигналов в частотной области...
blackfin
Цитата(NickNich @ Feb 22 2007, 14:20) *
Кстати, корреляция - это произведение ПФ принятого и переданного сигналов в частотной области...

Поправочка: ПФ корреляции "- это..." далее по тексту.
NickNich
Цитата(blackfin @ Feb 22 2007, 14:24) *
Поправочка: ПФ корреляции "- это..." далее по тексту.

Не понял...
Если уж чего и поправлять так это корреляция - это произведение ПФ принятого и вывернутого во времени переданного сигналов в частотной области...
Sergey manuchin
Цитата(AlexDark @ Feb 22 2007, 13:31) *
перекопал кучу литературы, но что-то не нашел то что мне нужно sad.gif
задача: испускаем конечный звуковой сигнал (все фиксировано у него: частота, мощность...), он проходит ч\з какой - то материал на приемник (приобретая при этом шум). Нужно определить время, затраченное сигналом, пока он проходил ч\з материал. временной точкой отсчета считаем время схода первого сигнала. требования: высочайшая точность, скорость smile.gif
на ум приходят БПФ и вейвлет-анализ. Но как их по умному применить??? (особенно интересует вейвлет-преобразования) как с помощью вейвлетов выяснить фазовый сдвиг???... может кто богат литературкой на эту тему???

С вейвлейтами лучше не связываться в отношении звуковых сигналов. ИМХО фикция это - высокая сложность алгоритмов для современных DSP. Можно попробовать, короме корреляционного анализа. Поточный скочкообразный БПФ. Типо квантовать с большой частотой и маленькими порциями делать перекрещивающийся БПФ. таким образом точность будет свзязана с колличеством точек для БПФ. Можно не парясь сделать преобразование Гильберта и получить огибающую принятого сигнала. Если делать огибающую через БПФ то можно заодно и ввести АЧХ микрофона.
ЗЫЖ для точности эксперимента рекомендую снимать звук с двух микрофонов (до и после преграды) и сравнивать уже эти два сигнала, не трогая аналитический сформированый сигнал. тогда точность будет просто зашибенная...
blackfin
Цитата(NickNich @ Feb 22 2007, 14:43) *
Не понял...

См.Г.Корн,Т.Корн, Справочник по математике.1984г.
1. Теорема Бореля о свертке:
Если:
X(f) - ПФ от x(t), а
Y(f) - ПФ от y(t), то
S(f) = X(f)*Y(f), где:
S(f) - ПФ от s(t) - свертки функций x(t) и y(t), т.е.
s(t) - Взаимная Корреляционная Функция (ВКФ ака корреляция), а
S(f) - её СПЕКТР.
blackfin
Цитата(blackfin @ Feb 22 2007, 14:01) *
..аппроксимация МНК измеренного в полосе частот..

Пардон, просмотрел. Частота то - фиксированная. blink.gif
Если склероз не изменяет, для более точного определения
расстояния лучше использовать широкополосные сигналы.
NickNich
Цитата(blackfin @ Feb 22 2007, 15:20) *
См.Г.Корн,Т.Корн, Справочник по математике.1984г.
1. Теорема Бореля о свертке:
Если:
X(f) - ПФ от x(t), а
Y(f) - ПФ от y(t), то
S(f) = X(f)*Y(f), где:
S(f) - ПФ от s(t) - свертки функций x(t) и y(t), т.е.
s(t) - Взаимная Корреляционная Функция (ВКФ ака корреляция), а
S(f) - её СПЕКТР.

Как это противоречит тому, что я написал?
Кстати, Вы привели цитату названную "теорема о свертке". Определение ВКФ отличается от определения свертки знаком переменной интегрирования. Поэтому одному из сомножителей нужно написать -t (вместо t в независимой переменной).
blackfin
Цитата(NickNich @ Feb 22 2007, 15:52) *
Как это противоречит тому, что я написал?

Вы написали, что "корреляция равна.." (если "это"=="равна")
Нужно было написать, что "спектр корреляции равен.."
Цитата(NickNich @ Feb 22 2007, 15:52) *
Кстати, Вы привели цитату названную "теорема о свертке". Определение ВКФ отличается от определения свертки знаком переменной интегрирования. Поэтому одному из сомножителей нужно написать -t (вместо t в независимой переменной).

Или в произведении для "ПФ принятого и переданного сигналов в частотной области"
использовать для одного из множителей комплексное сопряжение.
RVlad
Цитата
Нужно определить время, затраченное сигналом, пока он проходил ч\з материал. временной точкой отсчета считаем время схода первого сигнала. требования: высочайшая точность, скорость smile.gif
на ум приходят БПФ и вейвлет-анализ.

ребяты -- а как насчет групповой и фазовой скоростей , дисперсии ??
NickNich
Цитата(RVlad @ Feb 22 2007, 21:51) *
ребяты -- а как насчет групповой и фазовой скоростей , дисперсии ??

А никак...
Групповая скорость может быть рассчитана только при известных свойствах среды распространения. Если эти свойства неизвестны, остается только мерять задержку распространения (о чем обсно и спрашивается в начале) и поделив на нее измеренную длину пути распространения получить экспериментальное значение груповой скорости. А дисперсия - это просто слово...

Цитата(AlexDark @ Feb 22 2007, 13:31) *
перекопал кучу литературы, но что-то не нашел то что мне нужно sad.gif
задача: испускаем конечный звуковой сигнал (все фиксировано у него: частота, мощность...), он проходит ч\з какой - то материал на приемник (приобретая при этом шум). Нужно определить время, затраченное сигналом, пока он проходил ч\з материал. временной точкой отсчета считаем время схода первого сигнала. требования: высочайшая точность, скорость smile.gif
на ум приходят БПФ и вейвлет-анализ. Но как их по умному применить??? (особенно интересует вейвлет-преобразования) как с помощью вейвлетов выяснить фазовый сдвиг???... может кто богат литературкой на эту тему???

Альтернативный вариант для измерения задержки. Сравнивать сдвинутую копию исходного и принятого синалов, но не корреляционным методом, а по величине энеркгии ошибки (суммы квадратов ошибок). Сдвиг, при котором энергия минимальна соответстввет задержке распространения. При анализе задержек, внисимых НЧ-фильтрами в узкополосные сигналы (сконцентрироавнные вокруг нулевой частоты) этот метод дает лучшую точность, по сравнению с корреляцией. Но полоса пропускания фильтра (среда - это тоде фильтр) должна быть много больше ширины полосы сигнала.
AlexDark
спасибо
nsemenoff
И все равно есть доказательства того, что ничего оптимальнее согласованного фильтра для определения времени прихода сигнала нету... Ну как ни крутись, как ни прикручивай всякие ПФ, КФ, Хартли и так далее...
А вот как реализовать этот согласованный фильтр для твоей задачи - это уже интересно smile.gif
Либо в лоб во временной области, либо через спектральные умножения, либо через спектр автокорреляционной функции и так далее. Но все равно задача - построить согласованный фильтр...
fontp
Если есть возможность подобрать сигнал, то это тоже задача. Сигнал должен быть широкополосным по-максимуму. Не все йогурты одинаково полезны
el34
AlexDark>испускаем конечный звуковой сигнал (все фиксировано у него: частота, мощность...),

может не в тему....но вдруг, если возможно, сделать ЛЧМ в пачке а лучше непрерывный сигнал с модуляцией по пиле....
это могло б сильно упростить задачу....(измеряете частоту биений)
довольно помехоустойчиво....
SergeyX
Если период звукового сигнала больше чем время задержки, то достаточно сравнивать фазы (т.к. частота постоянна) исходного и задержанного сигналов (усреденение по нескольким периодам позволит увеличить точность). Если нет, то ни как не обойтись без сигналов параметры которого меняются во времени. В этом случае могу рекомендовать попытаться использовать ЛЧМ сигнал (как один из простейших). А задержку в этом случае вычислить по результатам корреляции.
AlexDark
нет, сигнал менять нельзя, ибо он обладает очень полезными свойствами, которые то мне и нужны smile.gif
и он, к сожалению, не является широкополосным sad.gif ...
el34
>нет, сигнал менять нельзя, ибо он обладает очень полезными свойствами, которые то мне и нужны

и оч вредными с точки зрения локализации сигнала....ищите компромисс....

разрешение будет определятся параметрами сигнала....
а уж потом возможностями обработки...
зная сигнал можно сказать чего можно добится в идеале...
вот и решайте....
L00b6
у нас науная группа этим вплотную занимается, есть четко определенные формулы для определения всего чего нужно по 2-м сигналам: исходящему и принятому сигналам, единстенное что необходимо, обеспечить доплеровский сдвиг фазы одного из сигналов, при этом неважно какого. Очень хорошо это описано в Пестрякове и его "Фазовых методах...." но книги в инете я не нашел, вернее нашел но платить не охота :D
anton
Если необходимо измерить прохождение сигнала (т.е. задержаный сигнал один, хотябы в пределах разрешения сигнала). То можно при хорошем сигнал/шуме произвести взвешивание. (точно не помню но чтото типа улучшения в корень из соотношения сигнал шум). При этом если задержка не меняется (или меняется медлено), то улучшить сигнал шум можно накоплением нескольких импульсов.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.