Модель окружения алгоритма оценивания отношения сигнал-шум — различия между версиями

Материал из SRNS
Перейти к: навигация, поиск
(Описание модели)
(Ключевые элементы архитектуры)
Строка 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

Список всех моделей
Crystal Clear action run.png
Модель окружения алгоритма оценивания отношения сигнал-шум
20111122 SNR1.png
Описание Тестбенч для алгоритма оценивания сигнал/шум + реализация алгоритма на Си
Автор(ы) 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 запускает форму-интерфейс, в которой можно выбрать требуемый сценарий и передать его на выполнение в алгоритм оценивания отношения сигнал/шум.


Алгоритм оценивания

Описание алгоритма оценивания

Исследования показали эффективность скалярного метода оценивания отношения/сигнал шум. В данный момент его реализация заменила реализацию метода моментов.

Эквивалентная "Схема Beaulieu", если нам нужно посчитать только амплитуду - усредненное скалярное произведение векторов

Все оценки, для общности, приводятся к 1мс квадратурам. Оценка дисперсии квадратур устанавливается извне и дополнительно не оценивается - её ошибка не влияет на оценку квадрата амплитуды, а вклад в ошибку оценивания SNR мал.

Оценка квадрата амплитуды описывается моделью:

A^2_{IQ1, est} = A^2_{IQ1, effcos} + n_A,

где

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)

- эффективная амплитуда (приведенная к 1 мс) квадратур с учетом полного когерентного накопления (K_c - число 1мс когерентных накоплений) и разницы между скалярным произведением и квадратом, A_{IQ1} = AL_{1ms}/2, n_A - СВ с нулевым математическим ожиданием и дисперсией

D_{SM} = \frac{4 A^2_{IQ1} \sigma^2_{IQ1} }{K_n K_c} + \frac{2  \sigma^4_{IQ1} }{K_n K^2_c}.

Скалярный метод дает смещенные оценки эффективной амплитуды. Смещение это вызвано тем, что мы измеряем не средний квадрат амплитуды квадратур, а среднее скалярное произведение векторов в соседние моменты времени. Отсюда возникает множитель в виде косинуса. Уменьшение эффективной амплитуды примерно такое же, как если бы мы увеличивали время когерентного накопления в 2.7 раза.

Уменьшение среднего скалярного произведения при расстройке частоты

Тем не менее, даже при таком уменьшении можно было бы работать по 20мс отсчетам, если бы не цифровая информация и большие ошибки по частоте.


Реализация алгоритма

Для использования алгоритма к проекту следует подключить файлы PowerMeasure.cpp и PowerMeasure.h, а так же добавить команды вызова функции инициализации, когерентного накопления и управления приемником по результатам измерений в проект.

Пример исполнения

См. также

Персональные инструменты
Пространства имён

Варианты
Действия
SRNS Wiki
Рабочие журналы
Приватный файлсервер
QNAP Сервер
Инструменты