реклама на сайте
подробности

 
 
4 страниц V  « < 2 3 4  
Reply to this topicStart new topic
> Уточнение момента прихода сигнала
sup-sup
сообщение Sep 7 2009, 18:41
Сообщение #46


Знающий
****

Группа: Участник
Сообщений: 674
Регистрация: 26-08-05
Пользователь №: 7 997



Цитата(DMax @ Sep 4 2009, 22:25) *
Доброго времени суток всем!

Есть такая проблема: надо определить момент прихода сигнала с точностью выше, чем интервал сэплирования. Сигнал - заранее известная последовательность с хорошими корреляционными свойствами. Собственно для решения данной задачи я придумал следующий алгоритм.
1) Простым согласованным фильтром обнаруживаем то место в оцифрованном сигнале на удвоенной частоте, где пик достигает максимального значения.
2) Далее, берем и делаем БПФ на принятую последовательность и БПФ на эталонную последовательность и вычитаем из фаз первого преобразования соответствующие фазы второго.
3) Согласно теореме о задержке, если принятый сигнал был оцифрован точно в момент его начала, то все разности фаз будут иметь одинаковое значение. В противном случае если построить график phi(i), то он будет иметь вид наклоненной прямой и угол наклона определяет величину задержки прихода сигнала относительно первого сэмпла. Далее, применяя несложные формулы, я эту задержку и вычисляю.

Но тут не всё так хорошо как хотелось бы. Во-первых, начиная с какого-то соотношения сигнал-шум, наблюдается такая картина: коррелятор без проблем обнаружает эту последовательность (например, чёткий пик с корреляцией 0.5), но этот алгоритм уже выдает точно не правильные решения. Вопрос, как оценить то соотношение сигнал-шум, при котором данный алгоритм будет выдавать эту задержку хотя бы с точность в пол отсчета? Или в более общем виде, как оценить SNR, при котором точность будет заданной или выше?

Второй вопрос: может быть есть более продвинутые спобособы решения данной задачи? Ткните мордой в документацию, плиз.


При более внимательном прочтении обнаруживаются вопросы. Что значит, "на удвоенной частоте"? Это что, сигнал - пачка синуса? Тогда почему у него хорошие корреляционные свойства? Обыкновенный треугольник. И еще, удвоенная частота - это мы попадаем на частоту Найквиста? А она не берется ведь. Что-то тут не так. Дайте публике сигнал и шаблон, а мы ими поиграемся.
Go to the top of the page
 
+Quote Post
DMax
сообщение Sep 8 2009, 07:19
Сообщение #47


Частый гость
**

Группа: Свой
Сообщений: 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 - отсчетами. Или вообще это надо делать в частотной области, а потом обратное ДПФ делать?
Go to the top of the page
 
+Quote Post
alex_os
сообщение Sep 8 2009, 08:00
Сообщение #48


Знающий
****

Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030



Цитата(DMax @ Sep 8 2009, 11:19) *
У меня вопрос. Допустим я сделал такой цифровой фильтр, ИХ которого совпадает с ИХ передатчика. Теперь я хочу пропустить через него свою эталонную псевдослучайную последовательность, чтобы получить сглаженую. Как это правильно сделать? Ведь ежели я засуну её в фильтр проинициализированный нулями, то первые N отсчетов (где N - кол-во отводов) - это переходный процесс. То же самое и с последними N - отсчетами. Или вообще это надо делать в частотной области, а потом обратное ДПФ делать?

Ну что что переходной процесс? Фильтр длинной несколько символов, сама псевдослучайная последовательность много длиннее. Хотите используйте в качестве опоры фильтрованный сигнал с переходными процессами, хотите отрежте их. Разница наверняка будет не заметна.


--------------------
ну не художники мы...
Go to the top of the page
 
+Quote Post
petrov
сообщение Sep 8 2009, 08:00
Сообщение #49


Гуру
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
samurad
сообщение Sep 10 2009, 13:08
Сообщение #50


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 9-05-08
Из: Япония
Пользователь №: 37 385



Цитата(bahurin @ Sep 7 2009, 20:16) *
Думаю, что если шум аддитивный с нулевым среднем, то можно получить любую точность оценки временного положения корреляционного пика если частота дискретизации была выбрана по Найквисту. Все упирается в возможную длительность наблюдения. При бесконечном наблюдении можно получить истинную оценку времени задержки.

Я бы уточнил: при максимально длительном усреднении корреляционной функции (главный пик) принятого периодического стационарного сигнала, шум на выходе коррелятора будет минимальным, и, соответственно, максимальной будет точность определения задержки пика. Для динамически изменяемого сигнала, которые часто на практике имеют место быть, скорость принятия решений схемой слежения должна превышать скорость изменения параметров сигнала. Разумеется, сигнал должен повторяться достаточное число раз, т.е. быть "бесконечно-периодическим" на всем промежутке измерения.

Это теория, а на практике все рассогласования, будь то тривиальное несоблюдение теоремы Котельникова (которое может быть намеренным), незнание точной фильтрационной характеристикм на выходе передатчика, незнание канала и пр. (о чем умалчивает данное задание), будут в общем случае увеличивать ошибку измерения, т.к. используемый в корреляторе эталонный (местный) сигнал будет отличаться от принятого, искажая истинную корреляционную функцию. Это уже было подмечено выше, а я обращаю внимание, что оценка того, что неизвестно требует дополнительных аппаратных затрат (поэтому так догоро стоят самые точные геодезические приемники), однако критерий таких затрат в данной задании не указан, что не позволяет его оптимально решить.

Далее, если интересует не абсолютная оценка времени прихода сигнала, которая требует привязку к абсолютному времени со всеми вытекающими, а относительная, напр., по сравнению с моментом времени первого отчета (решения), то принципиально большую точность (многократно) даст интерферометрия, т.е. измерение разности фаз несущей, а не огибающей. К тому же, такие измерения даже на несложной PLL 2-ого порядка будут "шуметь" много меньше из-за возможности выбрать очень узкую полосу PLL-фильтра (несколько Гц). Естественно, опорный генератор должен быть достаточно стабильным, что впрочем требуется в большей или меньшей степени при любом методе измерения.

Есть несколько дополнительных мелких хитростей в навигационных приемниках на этот счет. Напр., указанная в предыдущих постах интерполяция корр. функции, но она "работает" только при больших выходных сигнал/шум. Еще подбирают частоту дискретизации немного отличной от ближайшей кратной частоте следования импульсов принятого сигнала или "играют" расстройкой генератора в смесителе. Тогда момент взятия отчета какого-л. фиксированного импульса из периода последовательности "плывет" с шагом много меньше шага дискретизации, пока не достигнет следующего импульса, а вместе с ним "пульсирует" сигнал/шум на выходе коррелятора, проходя через свой пик, который можно измерить довольно стандартным способом. Иначе его практически не "видно". Это, как я помню, описано в некоторых книжках по радионавигации.

Ну и БПФ я бы не стал использовать, по крайней мере на этапе слежения, из-за дополнительного сглаживания (округления) корр. функции.
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 10 2009, 17:33
Сообщение #51


Местный
***

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



Цитата(samurad @ Sep 10 2009, 17:08) *
Есть несколько дополнительных мелких хитростей в навигационных приемниках на этот счет. Напр., указанная в предыдущих постах интерполяция корр. функции, но она "работает" только при больших выходных сигнал/шум. Еще подбирают частоту дискретизации немного отличной от ближайшей кратной частоте следования импульсов принятого сигнала или "играют" расстройкой генератора в смесителе. Тогда момент взятия отчета какого-л. фиксированного импульса из периода последовательности "плывет" с шагом много меньше шага дискретизации, пока не достигнет следующего импульса, а вместе с ним "пульсирует" сигнал/шум на выходе коррелятора, проходя через свой пик, который можно измерить довольно стандартным способом. Иначе его практически не "видно". Это, как я помню, описано в некоторых книжках по радионавигации.

Нет ну это нормально если вы ставите задачу получить высокую точность оценки то должны здраво оценивать возможности и обеспечить требуемое отношение сигнал-шум или ждите долго пока шум скомпенсируется. Динамика сигнала в этом случае не имеет значения если временное положение пика не меняется, так как шум некоррелирован с сигналом, то его мощность уменьшается независимо от значения корреляционного пика.
Цитата
Это теория, а на практике все рассогласования, будь то тривиальное несоблюдение теоремы Котельникова (которое может быть намеренным)

Это извините как вы собираетесь обрабатывать если оцифровали не по Котельникову, тем более намерено? В советские времена несоблюдение теоремы отсчетов назвалось вредительством! smile3009.gif

Цитата
Далее, если интересует не абсолютная оценка времени прихода сигнала, которая требует привязку к абсолютному времени со всеми вытекающими, а относительная, напр., по сравнению с моментом времени первого отчета (решения), то принципиально большую точность (многократно) даст интерферометрия, т.е. измерение разности фаз несущей, а не огибающей. К тому же, такие измерения даже на несложной PLL 2-ого порядка будут "шуметь" много меньше из-за возможности выбрать очень узкую полосу PLL-фильтра (несколько Гц). Естественно, опорный генератор должен быть достаточно стабильным, что впрочем требуется в большей или меньшей степени при любом методе измерения.


К сожалению тут есть момент. При шумоподобном сигнале например BPSK до того как фапч завести надо снять манипуляцию чтобы спектр стал узким и можно было очень узкополосный фильтр использовать. А потом уже вести когерентное сопровождение и по задержке и по фазе одновременно. А что касается абсолютного времени, то согласно теории относительности... laughing.gif
Go to the top of the page
 
+Quote Post
GetSmart
сообщение Sep 11 2009, 03:04
Сообщение #52


.
******

Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753



Цитата(bahurin @ Sep 10 2009, 23:33) *
Это извините как вы собираетесь обрабатывать если оцифровали не по Котельникову, тем более намерено? В советские времена несоблюдение теоремы отсчетов назвалось вредительством! smile3009.gif

Возможно имелось ввиду оцифровывать на ВЧ/ПЧ когда оцифровка идёт с частотой не самого сигнала, а с частотой полосы сигнала. В каком-то смысле не по Котельникову.
DRUID3 тоже упоминал эффект стробоскопа.


--------------------
Заблуждаться - Ваше законное право :-)
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 11 2009, 06:39
Сообщение #53


Местный
***

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



Цитата(GetSmart @ Sep 11 2009, 07:04) *
Возможно имелось ввиду оцифровывать на ВЧ/ПЧ когда оцифровка идёт с частотой не самого сигнала, а с частотой полосы сигнала. В каком-то смысле не по Котельникову.
DRUID3 тоже упоминал эффект стробоскопа.


Это называется оцифровка комплексной огибающей полосового сигнала. Только до АЦП должен стоять квадратурный гетеродин, который ваш сигнал умножит на exp(j*w0*t), где w0 - частота сигнала, а потом еще 2 аналоговых ФНЧ на полосу сигнала, причем от идентичности характеристик ФНЧ зависит очень много. И только после ФНЧ можно оцифровать с частотой дискретизации равной полосе сигнала. При этом верхняя частота реальной и мнимой частей комплексной огибающей (I и Q составляющих) равна половине полосы сигнала,и теорема отсчетов для каждого из квадратурных каналов все равно соблюдается laughing.gif
Эффект стробоскопа можно применить только для периодических сигналов, когда спектр строго линейчатый. Если же периодичность нарушается (в реале скорее всего так и есть) получится каша.
Go to the top of the page
 
+Quote Post
samurad
сообщение Sep 11 2009, 10:20
Сообщение #54


Частый гость
**

Группа: Свой
Сообщений: 121
Регистрация: 9-05-08
Из: Япония
Пользователь №: 37 385



Цитата(bahurin @ Sep 11 2009, 10:39) *
Это называется оцифровка комплексной огибающей полосового сигнала. Только до АЦП должен стоять квадратурный гетеродин, который ваш сигнал умножит на exp(j*w0*t), где w0 - частота сигнала, а потом еще 2 аналоговых ФНЧ на полосу сигнала, причем от идентичности характеристик ФНЧ зависит очень много. И только после ФНЧ можно оцифровать с частотой дискретизации равной полосе сигнала. При этом верхняя частота реальной и мнимой частей комплексной огибающей (I и Q составляющих) равна половине полосы сигнала,и теорема отсчетов для каждого из квадратурных каналов все равно соблюдается laughing.gif
Эффект стробоскопа можно применить только для периодических сигналов, когда спектр строго линейчатый. Если же периодичность нарушается (в реале скорее всего так и есть) получится каша.

А к какой категории вы относите undersampling, да еще и без квадратурного детектора, ну или до него?
Go to the top of the page
 
+Quote Post
bahurin
сообщение Sep 11 2009, 10:55
Сообщение #55


Местный
***

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



Цитата(samurad @ Sep 11 2009, 14:20) *
А к какой категории вы относите undersampling, да еще и без квадратурного детектора, ну или до него?

Ни к какой не отношу. Считаю, что это очень очень плохой метод если не ставить полосового фильтра. Потому что в реале при такой дискретизации основанной на алиасинге вы соберете все мыслимые и немыслимые шумы(они тоже попадут в вашу полосу с более высоких частот). А если ставить фильтр, то лучше уж сразу квадратурный гетеродин применить. К тому же там куда переместится спектр полезного сигнала при алиасинге тоже могут быть сигналы, а поскольку частота ниже, то мощность этих сигналов выше и фильтр нужен не хилый чтобы их подавить.

Сообщение отредактировал bahurin - Sep 11 2009, 10:58
Go to the top of the page
 
+Quote Post
DMax
сообщение Sep 26 2009, 14:07
Сообщение #56


Частый гость
**

Группа: Свой
Сообщений: 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 отсчета она успешно находится коррелятором, даже если уровень шума совпадает с уровнем сигнала или немного выше. Что же касается попыток проинтерполировать выход согласованного фильтра и найти его максимум для сигнала такого качества, то они (попытки) не воодушевляющие. Момент прихода сигнала, вычисленный таким образом, зачастую оказывался дальше от истинного момента, чем исходный (без повышения дискретизации) отсчет, на котором был достигнут максимум согласованного фильтра.
Go to the top of the page
 
+Quote Post
petrov
сообщение Sep 26 2009, 22:06
Сообщение #57


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Пусть имеем два отсчёта на символ. Согласованный фильтр для псевдослучайной последовательности можно представить в виде последовательного соединения фильтра согласованного с элементарным импульсом и фильтра с отводами через каждые две задержки с коэффициентами соответствующими знакам нашей псевдослучайной последовательности. Затем мы хотим интерполировать сигнал для повышения точности определения максимума на выходе согласованного фильтра, повышать частоту дискретизации до всего фильтра не выгодно т. к. потребуется избыточное количество памяти для реализации фильтра. Ставим фильтр с отводами через каждые две задержки первым, затем повышаем частоту дискретизации сигнала на выходе этого фильтра добавлением нулей и подаём на фильтр согласованный с элементарным импульсом, работающий уже на более высокой частоте дискретизации, он собственно и осуществляет интерполяцию, ессно его выгодно делать в полифазной форме. Повышаем частоту дискретизации ровно настолько(в 2-4 раза) чтобы хорошо работала дальнейшая интерполяция параболой которая легко позволяет находить максимум.

Сообщение отредактировал petrov - Sep 26 2009, 22:10
Go to the top of the page
 
+Quote Post

4 страниц V  « < 2 3 4
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th June 2025 - 21:25
Рейтинг@Mail.ru


Страница сгенерированна за 0.01461 секунд с 7
ELECTRONIX ©2004-2016