Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Нахождение используемой ПСП в принимаемом ШПС
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Andakad
Приветствую, уважаемые коллеги!

Столкнулся вот с такой проблемой:

Принимаем ШПС, частота его известна точно (пилот выделяется четко), фазовая и временная синхронизация тоже определяются. Сигнал в данной полосе частот один. В общем все есть, неизвестна только используемая двоичная ПСП. Ширина ее известна - 100 бит. Модуляция 0,180 ФМ. С/Ш<<1.

Вопрос - есть ли алгоритм быстрого определения используемой ПСП ???
Оценка выигрыша по сравнению с простейшим перебором ???

Иначе я умру перебирая 2 в степени 100 комбинаций...

Дайте хоть какую-нибудь наводку, в сети только материалы по теме временной-фазовой синхронизации известных ПСП или алгоритмы построения оптимальных фильтров для известных ПСП...
jojo
Это одна и та же последовательность?
Много ли реализаций зарегистрировано?
Если есть синхронизация, то можно усрединить реализации сигнала и попробовать найти последовательность. Шум должен уменьшиться при накоплении.
А известные ПСП есть с длиной около 100 не подходят?
Andakad
Последовательность предположительно меняется во времени. Известные ПСП не подходят, да и какой смысл, каждый бит может быть передан разной ПСП, так что условно считаем, что у нас только 1 реализация. Может еще какая инфа появиться - сообщу, но в общем задача стоит вот так сложно.

Должна же быть какая-нибудь оптимальная обработка, или как?!
:-)
Уж не знаю на сколько в тему. Но в приложении статья, в которой описывается как была раскрыта структура сигнала, используемого в СРНС Compass (аналог GPS).
Stanislav
Цитата(Andakad @ Oct 29 2008, 22:12) *
Последовательность предположительно меняется во времени. Известные ПСП не подходят, да и какой смысл, каждый бит может быть передан разной ПСП, так что условно считаем, что у нас только 1 реализация...
Вопрос в том, сколько ПСП укладывается в 1 бит передаваемой информации, и каково именно отношение С/Ш.
Andakad
Цитата(Stanislav @ Oct 29 2008, 22:21) *
Вопрос в том, сколько ПСП укладывается в 1 бит передаваемой информации, и каково именно отношение С/Ш.


1 ПСП - 1 бит, С/Ш где-то -10 дБ. Я так понимаю что база у сигнала около 100, и СФ дает где-то +20дБ.
Stanislav
Понятно. Всё не так уж плохо.
Думается, предложенный ниже алгоритм будет работать.

1. Прежде всего, выбираем частоту дискретизации случайного процесса. Она должна быть не меньшей удвоенной частоты чипов ПСП (я бы взял для начала четырёхкратный оверсэмплинг: N=4). Разрядность АЦП при таком отношении С/Ш не имеет особого значения (можно в качестве АЦП использовать даже стробируемый компаратор - потери при этом составят величину около 1 дБ относительно АЦП с бесконечным числом разрядов). Представление чисел желательно сделать знаковым (в случае простого компаратора это будет 1 и -1).

2. Синхронизируем выборку сигнала с частотой передачи ПСП (как я понимаю, уже сделано).

3. Определяем точные границы символов сообщения.
Могу предложить такой способ: выделяем в исходной последовательности два участка длиной в 1 ПСП, идущие один за другим без промежутков. Находим оценку взаимной энергии (0-го корреляционного терма: R00) между ними.
Далее, сдвигаем обе подпоследовательности на один отсчёт. Находим следующий 0-й корреляционный терм, и т.д., до получения оценки КФ процесса длиной в 1 ПСП (100 чипов). Строго говоря, это будет не корр. функция, но название используем для краткости.
Эту операцию нужно делать многократно, усредняя оценки КФ, вычисленные по каждой подпоследовательности длиной в 1 ПСП. При этом нужно учитывать знак среднего (или максимального) значения получаемых оценок - если он разнится с накопленным значением, кандидат на суммирование нужно инвертировать (умножить на -1). Операция не столь уж трудоёмка, как может показаться на первый взгляд, если использовать при вычислении метод коррекции начальных и конечных точек.
Выполнив необходимое количество усреднений, и получив "хорошую" оценку КФ, находим положение максимума её модуля. Оно будет соответствовать смещению начала символа относительно начала анализируемого участка - задача поиска границ ПСП решена.

4. Отсчитав нужное количество выборок, "становимся" на начало ПСП. Заводим "аккумулятор" - знаковый 16...32-разрядный массив памяти длиной 100* N, где N - коэффициент передискретизации. Инициализируем его первой реализацией сигнала длиной в 1 символ (100 чипов ПСП). Находим единственный корреляционный терм R00 между аккумулятором и следующей реализацией сигнала длиной в 1 символ. Если он со знаком "+", прибавляем подпоследовательность к аккумулятору поэлементно, если со знаком "-" - вычитаем. Это называется операцией "накопления со снятием сообщения". Выполняя такую операцию рекуррентно, накапливаем в аккумуляторе достаточное количество реализаций со снятым сообщением.

5. Накопленная в аккумуляторе функция - это и есть оценка ПСП! Для увеличения достоверности оценки её следует обработать фильтром скользящего среднего порядка N-1 (длиной N), выделить из результата фильтрации N подпоследовательностей длиной 100 отсчётов с шагом выборки N, выбрать из них имеющую максимальную энергию, и найти знак каждого из её элементов.

Усё. smile.gif

ЗЫ. Если где ошибся - поправьте, плиз. ФормУлы счас писать лень; оценивать необходимое количество операций накопления - тоже, но если непонятно - можно забабахать.
ЗЗЫ. Предложенный метод - не единственный. Придумался вот ещё один, эквивалентный по степени достоверности результата, так что приводить его не буду.
Естественно, ПСП данным методом определяется с точностью до знака. Восстановить знак можно только декодировав сообщение, и выбрав один из 2-х вариантов.smile.gif
Andakad
To Stanislav.

Спасибо, прочитал. Занят другими делами, пока времени мало разбираться.
пункты 1-3 пропустил, все везде засинхронизировано уже.
А вот пункт 4:
то есть просто перемножаем соседние последовательности и находим знак результата, а зачем потом это все суммировать или вычитать? Может легче пару формул этого процесса записать?
Оценку сильно считать не требуется, проще просто ответить: сложность (время) оценки линейно зависит от N или какая-то степенная зависимость от N или может быть логарифмическая?
Чтобы просто понять, громадная эта работа типа 2 в степени 100, или это все-таки осуществимый современной техникой процесс, учитывая скорости передаваемой информации ~Мбит/с.
RadioJunior
Stanislav, весьма любопытный алгоритм. Не могли бы вы привести результаты его моделирования?
Stanislav
Цитата(Andakad @ Nov 13 2008, 10:43) *
To Stanislav.

Спасибо, прочитал. Занят другими делами, пока времени мало разбираться...
Когда найдёте время - поговорим.


Цитата(RadioJunior @ Nov 14 2008, 11:00) *
Stanislav, весьма любопытный алгоритм. Не могли бы вы привести результаты его моделирования?
Какого ещё моделирования?
Уважаемый, он был придуман за меньшее время, чем потребовалось его здесь описать. Я вам его подарил, если хотите - моделируйте, сколько заблагорассудится.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.