Модель окружения алгоритма оценивания отношения сигнал-шум — различия между версиями
Korogodin (обсуждение | вклад) (→Описание модели) |
Korogodin (обсуждение | вклад) (→Ключевые элементы архитектуры) |
||
Строка 69: | Строка 69: | ||
* Скрипт <code>testbench.m</code> запускает форму-интерфейс, в которой можно выбрать требуемый сценарий и передать его на выполнение в алгоритм оценивания отношения сигнал/шум. | * Скрипт <code>testbench.m</code> запускает форму-интерфейс, в которой можно выбрать требуемый сценарий и передать его на выполнение в алгоритм оценивания отношения сигнал/шум. | ||
+ | |||
+ | |||
+ | == Алгоритм оценивания == | ||
+ | |||
+ | === Описание алгоритма оценивания === | ||
+ | |||
+ | Исследования показали эффективность [[Blog:Korogodin/24.01.2012,_Оценивание_SNR_-_Beaulieu's_Method_vs_Moment_Method|скалярного метода оценивания]] отношения/сигнал шум. В данный момент его реализация заменила реализацию метода моментов. | ||
+ | |||
+ | [[File:20120124_Scalar_Scheme.png|thumb|600px|center|Эквивалентная "Схема Beaulieu", если нам нужно посчитать только амплитуду - усредненное скалярное произведение векторов]] | ||
+ | |||
+ | Все оценки, для общности, приводятся к 1мс квадратурам. Оценка дисперсии квадратур устанавливается извне и дополнительно не оценивается - её ошибка не влияет на оценку квадрата амплитуды, а вклад в ошибку оценивания SNR мал. | ||
+ | |||
+ | Оценка квадрата амплитуды описывается моделью: | ||
+ | ::<math>A^2_{IQ1, est} = A^2_{IQ1, effcos} + n_A,</math> | ||
+ | где | ||
+ | ::<math>A^2_{IQ1, effcos} = A^2_{IQ1} sinc^2 \left( \delta \omega T_{1ms} K_c / 2 \right) cos \left( \delta \omega T_{1ms} K_c \right) \rho^2 \left( \delta \tau \right)</math> | ||
+ | - эффективная амплитуда (приведенная к 1 мс) квадратур с учетом полного когерентного накопления (<math>K_c</math> - число 1мс когерентных накоплений) и разницы между скалярным произведением и квадратом, <math>A_{IQ1} = AL_{1ms}/2</math>, <math>n_A</math> - СВ с нулевым математическим ожиданием и дисперсией | ||
+ | ::<math>D_{SM} = \frac{4 A^2_{IQ1} \sigma^2_{IQ1} }{K_n K_c} + \frac{2 \sigma^4_{IQ1} }{K_n K^2_c}</math>. | ||
+ | |||
+ | Скалярный метод дает смещенные оценки эффективной амплитуды. Смещение это вызвано тем, что мы измеряем не средний квадрат амплитуды квадратур, а среднее скалярное произведение векторов в соседние моменты времени. Отсюда возникает множитель в виде косинуса. Уменьшение эффективной амплитуды примерно такое же, как если бы мы увеличивали время когерентного накопления в 2.7 раза. | ||
+ | |||
+ | [[File:20120124_EffCoeff.png|thumb|600px|center|Уменьшение среднего скалярного произведения при расстройке частоты]] | ||
+ | |||
+ | Тем не менее, даже при таком уменьшении можно было бы работать по 20мс отсчетам, если бы не цифровая информация и большие ошибки по частоте. | ||
+ | |||
+ | |||
+ | === Реализация алгоритма === | ||
+ | |||
+ | Для использования алгоритма к проекту следует подключить файлы <code>PowerMeasure.cpp</code> и <code>PowerMeasure.h</code>, а так же добавить команды вызова функции инициализации, когерентного накопления и управления приемником по результатам измерений в проект. | ||
== Пример исполнения == | == Пример исполнения == | ||
== См. также == | == См. также == |
Версия 08:03, 26 января 2012
Модель окружения алгоритма оценивания отношения сигнал-шум | |
---|---|
Описание | Тестбенч для алгоритма оценивания сигнал/шум + реализация алгоритма на Си |
Автор(ы) | Korogodin (Korogodinобсуждение) |
Последняя версия | 1.0 (11.10.2011) |
Загрузить | no link |
Хранилище | Google Code |
Категории | Коррелятор, Сигнал-шум, НИИ КП |
Содержание |
Описание модели
Уже несколько лет с переменной интенсивностью разрабатывается алгоритм оценивания сигнал-шум. К нему переодически предъявляются новые требования, выдвигаются идеи по улучшению и доработки.
Возникла идея написать алгоритм, имитирующий внешнюю среду, в которой бы исполнялся алгоритм оценивания сигнал/шум.
На модель возлагаются следующие функции:
- Имитировать поведение квадратурных сумм с учетом динамики отношения сигнал/шум, навигационной информации, ошибок следящих систем и т.п. (с помощью matlab-модели или телеметрии работы реального приемника)
- Передавать результат имитации (квадратурные суммы с заданной разрядностью) в Си-программу, имитирующую поток исполнения в соответствующем приемнике, которая бы использовала универсальные функции блока оценивания сигнал/шум, а так же передавала в Матлаб результат вычислений.
- С помощью матлаба обрабатывать результаты оценивания сигнал/шум, выводить характеристики по точности и т.п.
Алгоритм блока измерения отношения сигнал/шум предлагается максимально унифицировать.
Для этого:
- Выделить блок установки режима и параметров
- Выделить блок когерентного накопления
- Выделить блок некогерентного накопления
- Выделить блок расчета необходимых параметров и управления (платформозависимый).
В этом случае, первые три блока оказываются платформонезависимыми. Им в качестве параметров нужно передавать когерентные накопления и флаг символьной синхронизации.
Ключевые элементы архитектуры
- Скрипт
scen_gen.m
запускает генерацию указанных в нем сценариев. Генераторы сценариев представляют представляют собой отдельные скрипты, лежащие в каталогеscen_gen_cores
. Результатом работы генератора сценариев становятся.mat
-файлы, содержащие выборки квадратурных компонент и набор прочих полезных векторов:- Вектор I размера 1xK;
- Вектор Q размера 1xK;
- Параметр K - размер векторов;
- InSync - флаг наличия синхронизации для каждого k-го такта;
- FirstSync - импульс символьной синхронизации на первом такте символа;
- LastSync - импульс символьной синхронизации на последнем такте символа;
- Параметр SyncTemp - длительность одного символа в тактах;
- Description - текст описания сценария;
- qcno_ist - вектор отношения сигнал/шум, при которых производилось моделирование;
- EpsW - вектор ошибок по частоте;
- A_IQ - вектор значение амплитуды квадратур без учета рассогласований по параметрам;
- A_IQ_eff - вектор значение амплитуды квадратур с учетом рассогласований по параметрам;
- stdn_IQ - СКО шума квадратур;
- Tc - интервал накопления в корреляторе;
- Tf - интервал работы фильтра;
- H - полоса СС за доплером.
- Скрипт
testbench.m
запускает форму-интерфейс, в которой можно выбрать требуемый сценарий и передать его на выполнение в алгоритм оценивания отношения сигнал/шум.
Алгоритм оценивания
Описание алгоритма оценивания
Исследования показали эффективность скалярного метода оценивания отношения/сигнал шум. В данный момент его реализация заменила реализацию метода моментов.
Все оценки, для общности, приводятся к 1мс квадратурам. Оценка дисперсии квадратур устанавливается извне и дополнительно не оценивается - её ошибка не влияет на оценку квадрата амплитуды, а вклад в ошибку оценивания SNR мал.
Оценка квадрата амплитуды описывается моделью:
где
- эффективная амплитуда (приведенная к 1 мс) квадратур с учетом полного когерентного накопления ( - число 1мс когерентных накоплений) и разницы между скалярным произведением и квадратом, , - СВ с нулевым математическим ожиданием и дисперсией
- .
Скалярный метод дает смещенные оценки эффективной амплитуды. Смещение это вызвано тем, что мы измеряем не средний квадрат амплитуды квадратур, а среднее скалярное произведение векторов в соседние моменты времени. Отсюда возникает множитель в виде косинуса. Уменьшение эффективной амплитуды примерно такое же, как если бы мы увеличивали время когерентного накопления в 2.7 раза.
Тем не менее, даже при таком уменьшении можно было бы работать по 20мс отсчетам, если бы не цифровая информация и большие ошибки по частоте.
Реализация алгоритма
Для использования алгоритма к проекту следует подключить файлы PowerMeasure.cpp
и PowerMeasure.h
, а так же добавить команды вызова функции инициализации, когерентного накопления и управления приемником по результатам измерений в проект.