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

 
 
10 страниц V  « < 3 4 5 6 7 > »   
Reply to this topicStart new topic
> Реализация GPS приемника, не работает
khach
сообщение Nov 22 2008, 09:16
Сообщение #61


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Станислав, спасибо за схемы и даташиты, а то читал про это чудо МАХ и немог понять, из-за чего такой шум. Обычный квадратурный фронтенд, разве что малошумящий. Ничего военного. Но вот по поводу приема GPS с нулевой ПЧ я что-то непонял. На какой канал нуль настраивать? Летит куча спутников, у всех допплер разный, работают 6-12 корреляторов, пытаются найти сигналы. А если обьект еще и подвижный (свой допплер относительно альманаха)? На нулевой ПЧ такая каша будет.. Может все таки лучше низкую ПЧ и прямую оцифровку, а потом сдвигать частоты (учитывать допплер) в цифре?

Может кто-нибудь привести ссылку на оптимальный алгоритм поиска сигнала при колд-старте? Чтобы не перебором частоты, а как-то более научно и быстрее?
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 22 2008, 12:48
Сообщение #62


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(khach @ Nov 22 2008, 12:16) *
Станислав, спасибо за схемы и даташиты, а то читал про это чудо МАХ и немог понять, из-за чего такой шум. Обычный квадратурный фронтенд, разве что малошумящий. Ничего военного. Но вот по поводу приема GPS с нулевой ПЧ я что-то непонял. На какой канал нуль настраивать? Летит куча спутников, у всех допплер разный, работают 6-12 корреляторов, пытаются найти сигналы. А если обьект еще и подвижный (свой допплер относительно альманаха)? На нулевой ПЧ такая каша будет.. Может все таки лучше низкую ПЧ и прямую оцифровку, а потом сдвигать частоты (учитывать допплер) в цифре?
А чем лучше низкая ПЧ и "прямая оцифровка"? Или думаете, что на ней "каши" не будет? wink.gif

Цитата(khach @ Nov 22 2008, 12:16) *
...Может кто-нибудь привести ссылку на оптимальный алгоритм поиска сигнала при колд-старте? Чтобы не перебором частоты, а как-то более научно и быстрее?
"Просто" оптимальных не бывает. Бывают только оптимальные в каком-то смысле.
Я бы сначала, методами несинхронного приёма, засинхронизировался по коду, потом снял бы его с сигнала, а потом в сигнале появилась бы "палка", частота которой и будет равна дельте генераторов+допплер, т.е., несущая.
Конкретных реализаций может быть множество.


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
khach
сообщение Nov 22 2008, 13:50
Сообщение #63


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



Цитата(Stanislav @ Nov 22 2008, 15:48) *
А чем лучше низкая ПЧ и "прямая оцифровка"? Или думаете, что на ней "каши" не будет? wink.gif

Отражений от нуля небудет.
Цитата
"Просто" оптимальных не бывает. Бывают только оптимальные в каком-то смысле.
Я бы сначала, методами несинхронного приёма, засинхронизировался по коду, потом снял бы его с сигнала, а потом в сигнале появилась бы "палка", частота которой и будет равна дельте генераторов+допплер, т.е., несущая.
Конкретных реализаций может быть множество.

Палок то 6-8 штук бывает. Сколько спутников видим, столько и палок. А вообще без указания типа применяемого коррелятора тема несколько расплывчатая. Если применять старый хардверный коррелятор типа GP2021 или GP4020 то там мы жестко привязанны к структуре коррелятора и нечто новое выдумать сложно. А если эта прямая оцифровка и софтовый коррелятор, то тут возможны варианты. Вплоть до десятков-сотен виртуальных корреляторов, каждый из которых ищет сигнал со сдвигом. Вариант с хардверным коррелятором на ПЛИС рассматривать небудем- жрет много.
А вот сотворить проектик типа МАХ плюс мелкий АРМ общего назначения, коррелятор софтовый- было бы интересно.
К сожалению современные коммерческие GPS приемники упаковались в автономные модуля, практически недоступные извне для модификации. А иногда хочется странного- например кросс-корреляция двух приемников GPS для подавлнеия направленной помехи или система управления УЛА на основе 2-3 антенн GPS на концах крыльев с когерентным приемом.
Кстати, надеюсь никто не предлагает использовать МАХ по принципу- на каждый спутник свой фронтенд?
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 22 2008, 14:09
Сообщение #64


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(khach @ Nov 22 2008, 16:50) *
Отражений от нуля небудет.
??? 07.gif
Невежество, видимо, заразно... sad.gif

Цитата(khach @ Nov 22 2008, 16:50) *
...Палок то 6-8 штук бывает. Сколько спутников видим, столько и палок.
...................................................
и т.д...
А если хорошо подумать?


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 22 2008, 14:22
Сообщение #65


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
А вот сотворить проектик типа МАХ плюс мелкий АРМ общего назначения, коррелятор софтовый- было бы интересно.


А я нечто такое и хочу попробовать. Вот посему и интересуюсь максовским сериалайзером - мне бы, с точки зрения софта и железа, было бы лучше, если бы ко мне влетело 16 однобитовых семплов I, потом 16 однобитовых семплов Q. Я бы выгреб их, ну скажем, через один SPI, и при помощи банального XOR перемножил бы сразу всех на нужные опорные сигналы по коду (дальше бы посчитал количество единиц в регистре и прибавил их к интегратору, ну и т.д., конечно, все с учетом каналов опережения и отставания ну и т.д.). Если просто биты ловить, то нужно 2 SPI использовать.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 22 2008, 14:45
Сообщение #66


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Rst7 @ Nov 22 2008, 17:22) *
А я нечто такое и хочу попробовать. Вот посему и интересуюсь максовским сериалайзером - мне бы, с точки зрения софта и железа, было бы лучше, если бы ко мне влетело 16 однобитовых семплов I, потом 16 однобитовых семплов Q. Я бы выгреб их, ну скажем, через один SPI, и при помощи банального XOR перемножил бы сразу всех на нужные опорные сигналы по коду (дальше бы посчитал количество единиц в регистре и прибавил их к интегратору, ну и т.д., конечно, все с учетом каналов опережения и отставания ну и т.д.). Если просто биты ловить, то нужно 2 SPI использовать.
Для приёма сигналов навигационных спутников софтверные методы не пляшут - частота дискретизации нужна большая, минимум мегагерца 3-4 для квадратур (в дорогих приёмниках - до 30), а обработка довольно сложная. Думаю, мелкого ARMа для сопровождения даже одного спутника не хватит. sad.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 22 2008, 15:22
Сообщение #67


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Для приёма сигналов спутников софтверные методы не пляшут


Возражаю я smile.gif Точнее, кажется мне, что можно асилить. Сразу говорю - это никакой не коммерческий проект, а так, "конструкция выходного дня".

Давайте я расскажу ход своих мыслей, а Вы меня поправите.

Для упрощения будем делать одноканальный приемник (в смысле, в данный момент времени будем следить только за одним спутником).

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

Пусть приемник будет с нулевой ПЧ. При этом слежение по частоте будем осуществлять достаточно медленно, используя для перестройки именно синтезатор макса. На самом деле, даже неточность установки частоты в 500Гц будет равносильна, грубо говоря, потери чувствительности на 3дБ (это если время накопления в корреляторе будет 1мс, т.е. один период кода, грубо говоря, полоса 500Гц по уровню 0.7). Реально мы сможем обеспечить куда более точную установку. Т.е. с этой стороны мы особо не лимитированны.

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

Теперь давайте посмотрим, что у нас есть по требуемой производительности. Выберем частоту дискретизации 4*Fкода.

Да, забыл, пусть семплы будут однобитные.

Один канал коррелятора представляет из себя следующий код

Код
integrator+=bits_in_byte[sample^*generator++];


integrator - собственно накопитель
bits_in_byte - таблица длинной 256 байт, которая содержит количество бит в индексе.
sample - байт, который содержит 8 семплов по одному биту
generator - указатель на табличку с кодом.

Для ARM7 один такой канал будет весить примерно 8 тактов
Код
//    4   integrator+=bits_in_byte[(sample^*generator++)];  
        LDRB     R4,[R2, #+0]
        EORS     R4,R4,R3
        LDRB     R4,[R1, R4]
        ADDS     R0,R0,R4


Нужно нам будет, ну скажем, для простоты 4 канала (по науке надо 6, но обойдемся только отстающим и опережающим)

Итого имеем 32 такта, за которые мы обрабатываем 8 семплов в 4х каналах. Ну пусть будет 40 тактов с накладными расходами. Итого, 5 тактов на семпл. Необходимая тактовая частота - 20МГц. Даже если не 40 тактов, а 64 - все равно производительности валом.

После того, как мы миллисекунду понакапливали значения, мы производим другие необходимые нам расчеты и опять накапливаем (а по какому-то таймеру узнаем точное время входа в коррелятор и подстраиваем указатель на таблицу согласно требуемому вычисленному фазовому сдвигу и собственно поправки на время вычислений).

Вот как-то так мне все это видится...


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 22 2008, 16:34
Сообщение #68


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Rst7 @ Nov 22 2008, 18:22) *
Возражаю я smile.gif Точнее, кажется мне, что можно асилить. Сразу говорю - это никакой не коммерческий проект, а так, "конструкция выходного дня".
Что ж, попробуйте.
Только, сдаётся, за один выходной день справиться будет тяжко. smile.gif


Цитата(Rst7 @ Nov 22 2008, 18:22) *
...Давайте я расскажу ход своих мыслей, а Вы меня поправите.
.................................
Вот как-то так мне все это видится...
Честно, говоря, считать сейчас лень... smile.gif
С корреляцией, вроде, всё правильно. Если заложиться на подстройку синтезатора MAX-а - выигрыш, конечно будет. Но тогда больше одного спутника не видать, как своих ушей. Но это ладно.
На замыкание петель ФАП не должно уйти слишком уж много времени. Только сообщение (50 бит/с) нужно не забыть снять кроме C/A кода.
Кстати, количество корреляторов можно и уменьшить, по-моему.

В любом случае, не забудьте обнародовать достигнутые результаты - они могут оказаться весьма интересными и поучительными. smile.gif


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 22 2008, 17:13
Сообщение #69


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата
Только, сдаётся, за один выходной день справиться будет тяжко.


За выходной день должен справиться тот, кто попробует повторить то, что я хочу сделать smile.gif

Цитата
Но тогда больше одного спутника не видать, как своих ушей. Но это ладно.


Ну так на это и закладываемся изначально. Зато в корреляторе не надо будет умножать на несущую.

Цитата
Только сообщение (50 бит/с) нужно не забыть снять кроме C/A кода.


Дык безусловно.

Цитата
Кстати, количество корреляторов можно и уменьшить, по-моему.


Давайте обсудим - как. Потому как от количества корреляторов напрямую зависит количество мегагерцев smile.gif

В классической схеме имеется 6 корреляторов - по 3 в каждой квадратуре. Два из трех - опережающая и отстающая ПСП для организации S-образной характеристики в канале слежения за кодом. Плюс к этому собственно ПСП со сдвигом 0 для вытаскивания информационных битов. Без этого канала можно обойтись, взяв вместо него сумму результатов опережающего и отстающего коррелятора (для слежения по коду используется разность). Я не готов навскидку сказать, что там будет с шумами при выбрасывании одного коррелятора, но интуитивно вроде кажется, что большого проигрыша не будет.

Ну разве что могу предложить одну миллисекунду накапливать только опережение, следующую - только отставание. Тогда будет всего 2 коррелятора. Или Вы предлагаете как-то по другому?

Цитата
В любом случае, не забудьте обнародовать достигнутые результаты - они могут оказаться весьма интересными и поучительными.


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


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 22 2008, 18:59
Сообщение #70


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(Rst7 @ Nov 22 2008, 20:13) *
Давайте обсудим - как. Потому как от количества корреляторов напрямую зависит количество мегагерцев
Один коррелятор делаем "честным", т.е., сворачиваем сигнал с опорной ПСП.
Другой же нужно сделать хитрее - сворачивать сигнал не с ПСП, а с early-late стробом.
Вот иллюстрация.
Прикрепленное изображение
Сверху - принимаемая или опорная ПСП (+/-). Внизу - early-late стробирующий сигнал (трёхуровневый вариант). Устроен таким образом, чтобы в окрестностях нарастающего фронта принимаемой ПСП строб был положительным, спадающего - отрицательным, а при отсутствии перехода на границе чипа и в остальное время - равным 0.
Для однобитного варианта стробы нужно сооружать только в окрестностях перехода одного знака. В остальных случаях стробирующий сигнал должен быть равен 0. Можно, правда, придумать и другой эквивалентный вариант, но суть будет та же.
Таким образом, получаем с первого коррелятора оценку пика КФ, а со второго - величину, пропорциональную временнОму сдвигу (всё это после НЧ фильтрации, или интегрирования, ессно).
В канале Q (и почему ему не везёт всегда - вроде, идеологически равноправный biggrin.gif ) величину тактового сдвига вычислять не нужно. Правда, это верно только если есть фазовая синхронизация по несущей.
В результате, имеем лишь 3 коррелятора против 6.
Если что непонятно - не стесняйтесь спросить. smile.gif
ЗЫ. Без фазовой синхронизации по несущей не слишком хорошо получится, по-моему... sad.gif

Цитата(Rst7 @ Nov 22 2008, 20:13) *
...Конечно обнародую. В полном объеме. Кстати, я надеюсь на то, что Вы (да и другие профессионалы, обитающие на Электрониксе) не откажете мне в консультациях по вопросам, которые могут возникнуть в процессе работы?
Постараюсь, если время будет.
Сам я конкретно приёмниками не занимаюсь, так что буду писать весчи по собственному разумению. smile.gif

Сообщение отредактировал Stanislav - Nov 22 2008, 20:19


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post
BADC0DE
сообщение Nov 23 2008, 01:53
Сообщение #71


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 25-05-06
Пользователь №: 17 435



Интересная тема, равно как и сама 2769.
Зажал вот только MAXIM все доки по поводу использования в глонасс-приемнике.
Как видится навскидку реализация на одной макс для всего созвездия?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Nov 23 2008, 10:02
Сообщение #72


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



Цитата(BADC0DE @ Nov 23 2008, 03:53) *
Как видится навскидку реализация на одной макс для всего созвездия?

Ну так все каналы Глонасса помещаются в фильтр ПЧ с полосой 18МГц (это которая самая широкая у макса). Как раз и максимальная частота дискретизации около 50МГц (так в даташите wink.gif ). Дальше в цифре для каждого спутника умножаете на несущую и на код с необходимой фазой. Сколько каналов асилите - столько Ваши.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
BADC0DE
сообщение Nov 23 2008, 11:16
Сообщение #73


Участник
*

Группа: Новичок
Сообщений: 18
Регистрация: 25-05-06
Пользователь №: 17 435



Цитата(Rst7 @ Nov 23 2008, 13:02) *
Ну так все каналы Глонасса помещаются в фильтр ПЧ с полосой 18МГц (это которая самая широкая у макса). Как раз и максимальная частота дискретизации около 50МГц (так в даташите wink.gif ). Дальше в цифре для каждого спутника умножаете на несущую и на код с необходимой фазой. Сколько каналов асилите - столько Ваши.


Да, это один из подходов, первым приходящим на ум, но даже боюсь представить себе цифровую часть wacko.gif

А что, если пожертвовать скоростью, и единицу времени перебирать поочередно каждый из 12 каналов, оперативно перестраивая макса?

зы.
Вышеупомянутый EV KIT от MAXIM не подходит для глонасс вообще, я сгородил плату , но , с моими скудными познаниями в области СВЧ , накосячил с разводкой ...

+ пришлось сгородить квадрифиллярную антенну, т.к. в здании до ближайшего окна 5 м по прямой , всякие passive patch не помогут вообще на этапе конструирования и отладки

+ опять же пришлось сделать МШУ на BFP640 по аппноуту от инфинеона....

Результатом всег потуг является отсутствие желаемого результата wink.gif

Первые выводы такие - без грамотно разведенной ПП РЧ, "ловить" ( в прямом и переносном смысле ) нечего, и сперва хорошо бы обсудить именно железо 1111493779.gif , т.к. совершенно справедливо заметил Stanislav, уровень сигнала есть Исчезающе малая величина...



Вообще хотелось бы спросить топикстартера, на чём он прототипирует ?
Использовать всякие имитаторы реального сигнала конечно гуд, но этот имитатор по сложности не уступает приемнику, а даже превосходит.
Go to the top of the page
 
+Quote Post
khach
сообщение Nov 23 2008, 11:58
Сообщение #74


Гуру
******

Группа: Свой
Сообщений: 3 439
Регистрация: 29-12-04
Пользователь №: 1 741



По поводу конструкции Глонасс-ГПС "на коленке" есть старинная конструкиця s53mv http://lea.hamradio.si/~s53mv/navsats/theory.html и далее по ссылкам в заголовке. Если бы не доисторический процессор, то можно было бы рекомендовать к повторению.
Софтверный коррелятор GPS существует. например http://ccar.colorado.edu/gnss/ там исходники USB драйвера глубоко в файле GN3Sv2.rar закопаны. Но фронтенд другой- SE4110L
А само софтовое ядро выколупывается из проектов OpenSourceGPS http://sourceforge.net/projects/osgps из последних релизов, там где SoftGPS есть в названии.
Go to the top of the page
 
+Quote Post
Stanislav
сообщение Nov 23 2008, 12:34
Сообщение #75


Гуру
******

Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987



Цитата(BADC0DE @ Nov 23 2008, 14:16) *
Вышеупомянутый EV KIT от MAXIM не подходит для глонасс вообще...
Почему не подходит?
Очень даже подходит. Фильтры РЧ только заменить нужно.

Цитата(BADC0DE @ Nov 23 2008, 14:16) *
...+ пришлось сгородить квадрифиллярную антенну, т.к. в здании до ближайшего окна 5 м по прямой , всякие passive patch не помогут вообще на этапе конструирования и отладки
А не проще ли готовую купить?


--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th July 2025 - 09:42
Рейтинг@Mail.ru


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