21.11.11, Добавление в измеритель отношения сигнал-шум когерентного накопления
Лог разработки
Что сделано к 22.11.11
Уже несколько лет с переменной интенсивностью разрабатывается алгоритм оценивания сигнал-шум. К нему периодически предъявляются новые требования, выдвигаются идеи по улучшению и доработки.
Возникла идея написать алгоритм, имитирующий внешнюю среду, в которой бы исполнялся алгоритм оценивания сигнал/шум.
На модель возлагаются следующие функции:
- Имитировать поведение квадратурных сумм с учетом динамики отношения сигнал/шум, навигационной информации, ошибок следящих систем и т.п. (с помощью matlab-модели или телеметрии работы реального приемника)
- Передавать результат имитации (квадратурные суммы с заданной разрядностью) в Си-программу, имитирующую поток исполнения в соответствующем приемнике, которая бы использовала универсальные функции блока оценивания сигнал/шум, а так же передавала в Матлаб результат вычислений.
- С помощью матлаба обрабатывать результаты оценивания сигнал/шум, выводить характеристики по точности и т.п.
Алгоритм блока измерения отношения сигнал/шум предлагается максимально унифицировать.
Для этого:
- Выделить блок когерентного накопления
- Выделить блок некогерентного накопления
- Выделить блок измерений квадратов по некогерентным суммам
- Выделить блок фильтрации
- Выделить блок расчета необходимых параметров и управления (платформозависимый).
В этом случае, в первые четыре блока оказываются платформонезависимыми. Им в качестве параметров нужно передавать разрядность когерентных накоплений.
Предлагается приводить когерентные накопления к единой дисперсии квадратур - делить сумму их квадратов на число когерентных накоплений. Тогда в узкополосный фильтр дисперсии при переключении режим не требуется переключать + сохраняется вся отработанная структура некогерентных накоплений. Тут сложность с ГЛОНАСС СТ - до выделения метки времени придется делить на 10, что не реализуется сдвигом. Оценки же квадратов стоит интерпретировать как оценки квадратов для корреляторов с соответствующим временем когерентного накопления, а для выдачи наружу приводить к 1мс значениям.
К 22 числу в некотором виде данный алгоритм реализован. На коленке добавлено когерентное накопление, написана внешняя модель, программы обмена и т.п.
22.11.11
Исправлена ошибка с начальными выбросами амплитуды - при инициализации не обнулялись две аккумулятора.
ToDo:
- Реализовать синхронизацию накопления с флагом начала символа, сформировать оный ненулевой в модели
- Привести все переменные к общему виду для удобства чтения программы
- Разбить на отдельные функции в соответствии с первоначальным замыслом
- Отладить оставшиеся артефакты: смещения при больших отношениях с/ш, начальный переходной процесс
- Вектор оценки квадрата амплитуды можно сделать сдвинутым. Значение меняется от единиц до десятков тысяч, в итоге на низких энергетиках сильное необоснованное огрубление.
[ Хронологический вид ]Комментарии
Войдите, чтобы комментировать.