|
|
  |
Уточнение момента прихода сигнала |
|
|
|
Sep 6 2009, 17:49
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729

|
Цитата(petrov @ Sep 6 2009, 12:57)  в чём проблема сделать согласованный фильтр в 2 отсчёта на символ, импульсная характеристика которого в точности повторяет импульс передатчика? А на самом деле как? Обычно при расчете фильтра его порядки получаются далеко не 2 отсчета?
|
|
|
|
|
Sep 7 2009, 04:29
|
Частый гость
 
Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729

|
Цитата(des00 @ Sep 7 2009, 07:14)  как я понял имелось ввиду расположение приемного фильтра в тактовом домене 2 отсчета на символ. Более наглядно можно?
|
|
|
|
|
Sep 7 2009, 05:17
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(GetSmart @ Sep 6 2009, 12:25)  Можно я тут сумничаю?  Надо сделать ещё одну "кореляцию" кореляционной функции с треугольником. Шумы могут исказить вершину треугольника и тогда три верхних точки будут врать. Поэтому нужно использовать в расчётах как можно больше точек в окресности вершины, принадлежащих треугольнику. Короче, алгоритм должен "спозиционировать" опорный треугольник на функции кореляции так, чтобы был минимум квадратов отклонений. При этом все шумы (неровности на треугольнике) сгладятся и не повлияют на точность. В простом виде такой алгоритм заключается в нахождении двух линий - сторон треугольника слева и справа от вершины, и уже точку пересечения линий можно посчитать с высокой точностью, гораздо выше одного сэмпла. Это не правильно, оптимальная оценка получается именно нахождением максимума коррелятора, это будет максимально правдоподобная оценка. Никакая дополнительная фильтрация и "корреляция корреляции" не нужна. Цитата(DMax @ Sep 6 2009, 12:37)  Она имеет вид треугольника в том случае, когда частота дискретизации совпадает с частотой манипулирования фазой. Попробуйте увеличить частоту дискретизации скажем раз в 10 и вы увидите, что (в зависимости от того как ляжет такт оцифровки) пик согласованного фильтра у вас расползется на 9-10 точек примерно одного уровня. Если считать корреляцию в непрерывном времени, то для фазовой модуляции с мгновенными скачками фазы будет треугольник. В дискретном времени должен наблюдаться дискретизированный треугольник. p.s. Вообще два отсчета на символ для "прямоугольно-треугольного" случая, наверное маловато будет ( тут вспоминается тов. Котельников  )
Код x = zeros(1000,1); for i=1:10:1000 if(randn()>0) x(i:i+9) = 1; else x(i:i+9) = -1; end end y=xcorr(x,x+1*randn(1000,1)); plot(y(950:1050))
--------------------
ну не художники мы...
|
|
|
|
|
Sep 7 2009, 08:31
|
Частый гость
 
Группа: Свой
Сообщений: 161
Регистрация: 19-01-08
Из: Питер
Пользователь №: 34 234

|
Цитата(petrov @ Sep 6 2009, 12:57)  Надо не дублировать, эталонная последовательность должна быть так же сглажена как и последовательность в передатчике, в чём проблема сделать согласованный фильтр в 2 отсчёта на символ, импульсная характеристика которого в точности повторяет импульс передатчика? Мне уже приходила в голову такая мысль. Но как узнать импульс передатчика? С какой точностью он должен быть измерен? Я просто понятия не имею про аналоговую часть передачтика.
|
|
|
|
|
Sep 7 2009, 09:08
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(alex_os @ Sep 7 2009, 11:17)  Это не правильно, оптимальная оценка получается именно нахождением максимума коррелятора, это будет максимально правдоподобная оценка. Никакая дополнительная фильтрация и "корреляция корреляции" не нужна. Моя версия ближе к истине чем у других. Я навёл справки у ребят, которые занимались аналогичной задачей. Только они находили период (то есть расстояние между пиками кор.функции) сложного сигнала методом кореляции с точностью намного выше одного сэмпла. В присутствии больших шумов вершина треугольника становится размазанной. От этого не избавиться никакой разумной фильтрацией. Алгоритм точного нахождения вершины заключается в следующем. Когда вершина размазана, как ни странно, но стороны треугольника на их средних уровнях очень прямые. Так вот требуется найти две точки на одинаковых (допустим правых) сторонах треугольника на одном горизонтальном уровне (примерно посередине высоты треугольника) и по этим точкам вычислить расстояние между ними для определения точного периода. Разумеется, две точки не будут иметь одинаковый уровень, поэтому одну из точек нужно будет интерполировать до соседней, при этом как раз позиция по Х второй точки на втором треугольнике будет дробной. Так вот, расстояние между точками (X2-X1) будет точным периодом. Применительно к этой поставленной задаче - нужно искать не пик корреляции, там неверное значение.
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Sep 7 2009, 09:10
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(DMax @ Sep 7 2009, 12:31)  Мне уже приходила в голову такая мысль. Но как узнать импульс передатчика? С какой точностью он должен быть измерен? Я просто понятия не имею про аналоговую часть передачтика. Спектр сигнала можете измерить? Если да, сделайте коротенький sqrt raised cosine фильтр с похожим ачх, коэффициент скругления(rolloff) подбирать чтобы было примерно похоже. Matlab fdatool Вам поможет. Особая точность не нужна.
--------------------
ну не художники мы...
|
|
|
|
|
Sep 7 2009, 09:21
|
Гуру
     
Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937

|
Цитата(DMax @ Sep 7 2009, 12:31)  Мне уже приходила в голову такая мысль. Но как узнать импульс передатчика? С какой точностью он должен быть измерен? Я просто понятия не имею про аналоговую часть передачтика. Ну чтобы согласованный фильтр сделать надо знать как символы сглажены, не делать же на приёме прямоугольные, у них спектр широкий будете всякие помехи ловить по соседним каналам, в принципе можно примерно подобрать по ширине спектра какой нибудь корень из-приподнятого с достаточным подавлением по соседнему каналу. Цитата(GetSmart @ Sep 7 2009, 13:08)  Моя версия ближе к истине чем у других. Я навёл справки у ребят, которые занимались аналогичной задачей. Только они находили период (то есть расстояние между пиками кор.функции) сложного сигнала методом кореляции с точностью намного выше одного сэмпла. В присутствии больших шумов вершина треугольника становится размазанной. От этого не избавиться никакой разумной фильтрацией. Алгоритм точного нахождения вершины заключается в следующем. Когда вершина размазана, как ни странно, но стороны треугольника на их средних уровнях очень прямые. Так вот требуется найти две точки на одинаковых (допустим правых) сторонах треугольника на одном горизонтальном уровне (примерно посередине высоты треугольника) и по этим точкам вычислить расстояние между ними для определения точного периода. Разумеется, две точки не будут иметь одинаковый уровень, поэтому одну из точек нужно будет интерполировать до соседней, при этом как раз позиция по Х второй точки на втором треугольнике будет дробной. Так вот, расстояние между точками (X2-X1) будет точным периодом.
Применительно к этой поставленной задаче - нужно искать не пик корреляции, там неверное значение. Писали вам уже что неправильно это, если мксимум размазан то и не определить его точно никакими ухищрениями в принципе.
|
|
|
|
|
Sep 7 2009, 09:35
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(GetSmart @ Sep 7 2009, 13:08)  Моя версия ближе к истине чем у других. Я навёл справки у ребят, которые занимались аналогичной задачей. Только они находили период (то есть расстояние между пиками кор.функции) сложного сигнала методом кореляции с точностью намного выше одного сэмпла. В присутствии больших шумов вершина треугольника становится размазанной. От этого не избавиться никакой разумной фильтрацией. Алгоритм точного нахождения вершины заключается в следующем. Когда вершина размазана, как ни странно, но стороны треугольника на их средних уровнях очень прямые. Так вот требуется найти две точки на одинаковых (допустим правых) сторонах треугольника на одном горизонтальном уровне (примерно посередине высоты треугольника) и по этим точкам вычислить расстояние между ними для определения точного периода. Разумеется, две точки не будут иметь одинаковый уровень, поэтому одну из точек нужно будет интерполировать до соседней, при этом как раз позиция по Х второй точки на втором треугольнике будет дробной. Так вот, расстояние между точками (X2-X1) будет точным периодом. Так крутые фронты дрожат не меньше чем вершина. Просто чисто технически удобнее находить превышение некоего порога чем максимум, да интерполяция (т.е. определение периода с точностью до долей периода дискретизации) по фронтам треугольного импульса проще получается...
--------------------
ну не художники мы...
|
|
|
|
|
Sep 7 2009, 09:48
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(GetSmart @ Sep 7 2009, 13:33)  В том то и фишка, что определить. Люди тестировали свои алгоритмы на промышленном оборудовании. Я же не просто так рассказал.
Единственное отличие в том, что здесь у автора всего одна искомая последовательность в сигнале и не найти расстояние между двумя правыми сторонами двух треугольников. Дык, ни кто не говорит что это не работает, просто это не есть оптимальная оценка. Кстати у треугольника есть еще левая сторона  , можно находить время пересечения порога с левой стороной и момент пересечения с правой и усреднять.
--------------------
ну не художники мы...
|
|
|
|
|
Sep 7 2009, 09:53
|
.
     
Группа: Участник
Сообщений: 4 005
Регистрация: 3-05-06
Из: Россия
Пользователь №: 16 753

|
Цитата(alex_os @ Sep 7 2009, 15:35)  Так крутые фронты дрожат не меньше чем вершина. Это по-вашему, гипотетически. Ну а практически - реально меньше. Цитата(petrov) Почитайте книжки по радиолокации, максимум на выходе согласованного фильтра это и есть самый луший обнаружитель, лучше в принципе сделать невозможно что бы там ребята не говорили. Может оказаться так, что реализация подходящего согласованного фильтра будет черезмерно сложной (если не гипотетической), по сравнению с предложенным мной алгоритмом. Я говорю о том, что информация о пике/максимуме находится не только на вершине, но и на склонах треугольника. И просто взглянув на график кор.функции очень зашумлённого сигнала можно будет понять откуда проще и точнее вытащить информацию о максимуме. Цитата(alex_os @ Sep 7 2009, 15:48)  Кстати у треугольника есть еще левая сторона  , можно находить время пересечения порога с левой стороной и момент пересечения с правой и усреднять. Только у этого треугольника может быть ещё наклон, который всё подпортит  Но пораскинув мозгами можно и эту проблему решить.
Сообщение отредактировал GetSmart - Sep 7 2009, 10:27
--------------------
Заблуждаться - Ваше законное право :-)
|
|
|
|
|
Sep 7 2009, 10:13
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
По первой части вопроса, есть теоретически достижимая оценка максимального правдоподобия Крамера-Рао http://www.cplire.ru/joined/mac/lection5/text.htmlhttp://www.ndt.net/article/ultragarsas/63-...%20Dumbrava.pdfГрубо говоря стандартное отклонение позиционирования во времени не может быть для одиночного импульса лучше чем T / sqrt(SNR), T - продолжительность импульса, SNR - сигнал/шум Для псевдослучайной последовательности длиной N должно получиться что-то ~ T/sqrt(N*SNR) Поищите Крамера-Рао или CRLB в Гугле. Это в экзаменах есть ))
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|