|
|
  |
Уточнение момента прихода сигнала |
|
|
|
Sep 7 2009, 18:41
|
Знающий
   
Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997

|
Цитата(DMax @ Sep 4 2009, 22:25)  Доброго времени суток всем!
Есть такая проблема: надо определить момент прихода сигнала с точностью выше, чем интервал сэплирования. Сигнал - заранее известная последовательность с хорошими корреляционными свойствами. Собственно для решения данной задачи я придумал следующий алгоритм. 1) Простым согласованным фильтром обнаруживаем то место в оцифрованном сигнале на удвоенной частоте, где пик достигает максимального значения. 2) Далее, берем и делаем БПФ на принятую последовательность и БПФ на эталонную последовательность и вычитаем из фаз первого преобразования соответствующие фазы второго. 3) Согласно теореме о задержке, если принятый сигнал был оцифрован точно в момент его начала, то все разности фаз будут иметь одинаковое значение. В противном случае если построить график phi(i), то он будет иметь вид наклоненной прямой и угол наклона определяет величину задержки прихода сигнала относительно первого сэмпла. Далее, применяя несложные формулы, я эту задержку и вычисляю.
Но тут не всё так хорошо как хотелось бы. Во-первых, начиная с какого-то соотношения сигнал-шум, наблюдается такая картина: коррелятор без проблем обнаружает эту последовательность (например, чёткий пик с корреляцией 0.5), но этот алгоритм уже выдает точно не правильные решения. Вопрос, как оценить то соотношение сигнал-шум, при котором данный алгоритм будет выдавать эту задержку хотя бы с точность в пол отсчета? Или в более общем виде, как оценить SNR, при котором точность будет заданной или выше?
Второй вопрос: может быть есть более продвинутые спобособы решения данной задачи? Ткните мордой в документацию, плиз. При более внимательном прочтении обнаруживаются вопросы. Что значит, "на удвоенной частоте"? Это что, сигнал - пачка синуса? Тогда почему у него хорошие корреляционные свойства? Обыкновенный треугольник. И еще, удвоенная частота - это мы попадаем на частоту Найквиста? А она не берется ведь. Что-то тут не так. Дайте публике сигнал и шаблон, а мы ими поиграемся.
|
|
|
|
|
Sep 8 2009, 07:19
|
Частый гость
 
Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234

|
Цитата(sup-sup @ Sep 7 2009, 22:41)  При более внимательном прочтении обнаруживаются вопросы. Что значит, "на удвоенной частоте"? Это что, сигнал - пачка синуса? Тогда почему у него хорошие корреляционные свойства? Обыкновенный треугольник. И еще, удвоенная частота - это мы попадаем на частоту Найквиста? А она не берется ведь. Что-то тут не так. Дайте публике сигнал и шаблон, а мы ими поиграемся. Прошу прощения если я не понятно выразился. Имеется ввиду, что есть сигнал с фазовой модуляцией, в котором символная скорость N бод. Мы его дискретизируем с частотой 2*N. Хорошие коррялционные свойства у него потому, что это M-последовательность. Конкретный случай здесь не имеет значения, поэтому приводить здесь всякие шаблоны не буду. Цитата(petrov @ Sep 6 2009, 12:57)  Надо не дублировать, эталонная последовательность должна быть так же сглажена как и последовательность в передатчике, в чём проблема сделать согласованный фильтр в 2 отсчёта на символ, импульсная характеристика которого в точности повторяет импульс передатчика? У меня вопрос. Допустим я сделал такой цифровой фильтр, ИХ которого совпадает с ИХ передатчика. Теперь я хочу пропустить через него свою эталонную псевдослучайную последовательность, чтобы получить сглаженую. Как это правильно сделать? Ведь ежели я засуну её в фильтр проинициализированный нулями, то первые N отсчетов (где N - кол-во отводов) - это переходный процесс. То же самое и с последними N - отсчетами. Или вообще это надо делать в частотной области, а потом обратное ДПФ делать?
|
|
|
|
|
Sep 8 2009, 08:00
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(DMax @ Sep 8 2009, 11:19)  У меня вопрос. Допустим я сделал такой цифровой фильтр, ИХ которого совпадает с ИХ передатчика. Теперь я хочу пропустить через него свою эталонную псевдослучайную последовательность, чтобы получить сглаженую. Как это правильно сделать? Ведь ежели я засуну её в фильтр проинициализированный нулями, то первые N отсчетов (где N - кол-во отводов) - это переходный процесс. То же самое и с последними N - отсчетами. Или вообще это надо делать в частотной области, а потом обратное ДПФ делать? Ну что что переходной процесс? Фильтр длинной несколько символов, сама псевдослучайная последовательность много длиннее. Хотите используйте в качестве опоры фильтрованный сигнал с переходными процессами, хотите отрежте их. Разница наверняка будет не заметна.
--------------------
ну не художники мы...
|
|
|
|
|
Sep 8 2009, 08:00
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(DMax @ Sep 8 2009, 11:19)  У меня вопрос. Допустим я сделал такой цифровой фильтр, ИХ которого совпадает с ИХ передатчика. Теперь я хочу пропустить через него свою эталонную псевдослучайную последовательность, чтобы получить сглаженую. Как это правильно сделать? Ведь ежели я засуну её в фильтр проинициализированный нулями, то первые N отсчетов (где N - кол-во отводов) - это переходный процесс. То же самое и с последними N - отсчетами. Или вообще это надо делать в частотной области, а потом обратное ДПФ делать? Никаких частотных областей не нужно. Пусть мы хотим обнаружить импульс представляющий собой BPSK сигнал модулировынный псевдослучайной последовательностью, каждый символ сглажен фильтром с импульсной характеристикой корень из приподнятого косинуса. На приёмной стороне дискретизируем с частотой 2 отсчёта на символ. Делаем согласованный фильтр на весь импульс. Сначала линия задержки с отводами(комплексная ессно, обрабатываем сигнал на нулевой частоте), отводы идут через каждые две задержки, умножаем отводы на +-1 в сотответствии со знаками нашей псевдослучайной последовательности и суммируем. Затем на выходе этого фильтра повышаем частоту дискретизации ну скажем в 3 раза добавлением нулей и подаём на фильтр корень из приподнятого косинуса согласованный со сглаживающим фильтром передатчика, разумеется всё это делаем в виде полифазного фильтра чтобы не работать не работать на повышенной частоте и не делать лишних операций умножения на ноль. Далее берём модуль комплексного числа, потом пороговое устройство(АРУ ессно должно быть), при превышении порога ищем максимум на выходе полифазного фильтра, таким образом определяем время прихода с точностью до 6-ти отсчётов на символ, если сигнал/шум позволяет определять время прихода точнее, то через максимальный и 2 ближайших соседних отсчёта проводим параболу и находим её максимум.
Сообщение отредактировал petrov - Sep 8 2009, 08:08
|
|
|
|
|
Sep 10 2009, 13:08
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 9-05-08
Из: Япония
Пользователь №: 37 385

|
Цитата(bahurin @ Sep 7 2009, 20:16)  Думаю, что если шум аддитивный с нулевым среднем, то можно получить любую точность оценки временного положения корреляционного пика если частота дискретизации была выбрана по Найквисту. Все упирается в возможную длительность наблюдения. При бесконечном наблюдении можно получить истинную оценку времени задержки. Я бы уточнил: при максимально длительном усреднении корреляционной функции (главный пик) принятого периодического стационарного сигнала, шум на выходе коррелятора будет минимальным, и, соответственно, максимальной будет точность определения задержки пика. Для динамически изменяемого сигнала, которые часто на практике имеют место быть, скорость принятия решений схемой слежения должна превышать скорость изменения параметров сигнала. Разумеется, сигнал должен повторяться достаточное число раз, т.е. быть "бесконечно-периодическим" на всем промежутке измерения. Это теория, а на практике все рассогласования, будь то тривиальное несоблюдение теоремы Котельникова (которое может быть намеренным), незнание точной фильтрационной характеристикм на выходе передатчика, незнание канала и пр. (о чем умалчивает данное задание), будут в общем случае увеличивать ошибку измерения, т.к. используемый в корреляторе эталонный (местный) сигнал будет отличаться от принятого, искажая истинную корреляционную функцию. Это уже было подмечено выше, а я обращаю внимание, что оценка того, что неизвестно требует дополнительных аппаратных затрат (поэтому так догоро стоят самые точные геодезические приемники), однако критерий таких затрат в данной задании не указан, что не позволяет его оптимально решить. Далее, если интересует не абсолютная оценка времени прихода сигнала, которая требует привязку к абсолютному времени со всеми вытекающими, а относительная, напр., по сравнению с моментом времени первого отчета (решения), то принципиально большую точность (многократно) даст интерферометрия, т.е. измерение разности фаз несущей, а не огибающей. К тому же, такие измерения даже на несложной PLL 2-ого порядка будут "шуметь" много меньше из-за возможности выбрать очень узкую полосу PLL-фильтра (несколько Гц). Естественно, опорный генератор должен быть достаточно стабильным, что впрочем требуется в большей или меньшей степени при любом методе измерения. Есть несколько дополнительных мелких хитростей в навигационных приемниках на этот счет. Напр., указанная в предыдущих постах интерполяция корр. функции, но она "работает" только при больших выходных сигнал/шум. Еще подбирают частоту дискретизации немного отличной от ближайшей кратной частоте следования импульсов принятого сигнала или "играют" расстройкой генератора в смесителе. Тогда момент взятия отчета какого-л. фиксированного импульса из периода последовательности "плывет" с шагом много меньше шага дискретизации, пока не достигнет следующего импульса, а вместе с ним "пульсирует" сигнал/шум на выходе коррелятора, проходя через свой пик, который можно измерить довольно стандартным способом. Иначе его практически не "видно". Это, как я помню, описано в некоторых книжках по радионавигации. Ну и БПФ я бы не стал использовать, по крайней мере на этапе слежения, из-за дополнительного сглаживания (округления) корр. функции.
|
|
|
|
|
Sep 10 2009, 17:33
|

Местный
  
Группа: Участник
Сообщений: 240
Регистрация: 20-09-08
Пользователь №: 40 347

|
Цитата(samurad @ Sep 10 2009, 17:08)  Есть несколько дополнительных мелких хитростей в навигационных приемниках на этот счет. Напр., указанная в предыдущих постах интерполяция корр. функции, но она "работает" только при больших выходных сигнал/шум. Еще подбирают частоту дискретизации немного отличной от ближайшей кратной частоте следования импульсов принятого сигнала или "играют" расстройкой генератора в смесителе. Тогда момент взятия отчета какого-л. фиксированного импульса из периода последовательности "плывет" с шагом много меньше шага дискретизации, пока не достигнет следующего импульса, а вместе с ним "пульсирует" сигнал/шум на выходе коррелятора, проходя через свой пик, который можно измерить довольно стандартным способом. Иначе его практически не "видно". Это, как я помню, описано в некоторых книжках по радионавигации. Нет ну это нормально если вы ставите задачу получить высокую точность оценки то должны здраво оценивать возможности и обеспечить требуемое отношение сигнал-шум или ждите долго пока шум скомпенсируется. Динамика сигнала в этом случае не имеет значения если временное положение пика не меняется, так как шум некоррелирован с сигналом, то его мощность уменьшается независимо от значения корреляционного пика. Цитата Это теория, а на практике все рассогласования, будь то тривиальное несоблюдение теоремы Котельникова (которое может быть намеренным) Это извините как вы собираетесь обрабатывать если оцифровали не по Котельникову, тем более намерено? В советские времена несоблюдение теоремы отсчетов назвалось вредительством! Цитата Далее, если интересует не абсолютная оценка времени прихода сигнала, которая требует привязку к абсолютному времени со всеми вытекающими, а относительная, напр., по сравнению с моментом времени первого отчета (решения), то принципиально большую точность (многократно) даст интерферометрия, т.е. измерение разности фаз несущей, а не огибающей. К тому же, такие измерения даже на несложной PLL 2-ого порядка будут "шуметь" много меньше из-за возможности выбрать очень узкую полосу PLL-фильтра (несколько Гц). Естественно, опорный генератор должен быть достаточно стабильным, что впрочем требуется в большей или меньшей степени при любом методе измерения. К сожалению тут есть момент. При шумоподобном сигнале например BPSK до того как фапч завести надо снять манипуляцию чтобы спектр стал узким и можно было очень узкополосный фильтр использовать. А потом уже вести когерентное сопровождение и по задержке и по фазе одновременно. А что касается абсолютного времени, то согласно теории относительности...
|
|
|
|
|
Sep 11 2009, 10:20
|
Частый гость
 
Группа: Свой
Сообщений: 121
Регистрация: 9-05-08
Из: Япония
Пользователь №: 37 385

|
Цитата(bahurin @ Sep 11 2009, 10:39)  Это называется оцифровка комплексной огибающей полосового сигнала. Только до АЦП должен стоять квадратурный гетеродин, который ваш сигнал умножит на exp(j*w0*t), где w0 - частота сигнала, а потом еще 2 аналоговых ФНЧ на полосу сигнала, причем от идентичности характеристик ФНЧ зависит очень много. И только после ФНЧ можно оцифровать с частотой дискретизации равной полосе сигнала. При этом верхняя частота реальной и мнимой частей комплексной огибающей (I и Q составляющих) равна половине полосы сигнала,и теорема отсчетов для каждого из квадратурных каналов все равно соблюдается Эффект стробоскопа можно применить только для периодических сигналов, когда спектр строго линейчатый. Если же периодичность нарушается (в реале скорее всего так и есть) получится каша. А к какой категории вы относите undersampling, да еще и без квадратурного детектора, ну или до него?
|
|
|
|
|
Sep 26 2009, 14:07
|
Частый гость
 
Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234

|
Прошу прощения, что пропал с этой темой. Был в отпуске. Цитата(petrov @ Sep 8 2009, 12:00)  Никаких частотных областей не нужно. Пусть мы хотим обнаружить импульс представляющий собой BPSK сигнал модулировынный псевдослучайной последовательностью, каждый символ сглажен фильтром с импульсной характеристикой корень из приподнятого косинуса. На приёмной стороне дискретизируем с частотой 2 отсчёта на символ. Делаем согласованный фильтр на весь импульс. Сначала линия задержки с отводами(комплексная ессно, обрабатываем сигнал на нулевой частоте), отводы идут через каждые две задержки, умножаем отводы на +-1 в сотответствии со знаками нашей псевдослучайной последовательности и суммируем. Именно так сейчас и сделано. Но модуль выхода с такого согласованного фильтра не является ни параболой, ни треугольником. О чем я уже писал. Могу попробовать поискать картинки того, что получается. Чтобы это работало путем интерполяции выхода согласованного фильтра, нужно чтобы в согласованном фильтре отводы (не нулевые) были на каждой задержке. Цитата(petrov @ Sep 8 2009, 12:00)  Затем на выходе этого фильтра повышаем частоту дискретизации ну скажем в 3 раза добавлением нулей и подаём на фильтр корень из приподнятого косинуса Простите, не совсем понял, чему надо повысить частоту дискретизации? Принятому сигналу или выходу соглосованного фильтра, через который принятый сигнал пропущен? Здается мне, что вы имели ввиду первый вариант, но если я не правильно понял, то поправте. Цитата(petrov @ Sep 8 2009, 12:00)  согласованный со сглаживающим фильтром передатчика, разумеется всё это делаем в виде полифазного фильтра чтобы не работать не работать на повышенной частоте и не делать лишних операций умножения на ноль. Далее берём модуль комплексного числа, потом пороговое устройство(АРУ ессно должно быть), при превышении порога ищем максимум на выходе полифазного фильтра, таким образом определяем время прихода с точностью до 6-ти отсчётов на символ, если сигнал/шум позволяет определять время прихода точнее, то через максимальный и 2 ближайших соседних отсчёта проводим параболу и находим её максимум. Мне кажется, что приведенная вами схема, если я её правильно понял, в итоге сильно эквивалентна той, что я привел в самом первом посте. Я проводил различные моделирования и опыты с псевдослучайными последовательностями различных длин. Так, например, при длине М-последовательности 1023 отсчета она успешно находится коррелятором, даже если уровень шума совпадает с уровнем сигнала или немного выше. Что же касается попыток проинтерполировать выход согласованного фильтра и найти его максимум для сигнала такого качества, то они (попытки) не воодушевляющие. Момент прихода сигнала, вычисленный таким образом, зачастую оказывался дальше от истинного момента, чем исходный (без повышения дискретизации) отсчет, на котором был достигнут максимум согласованного фильтра.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|