Обнаружение сигнала на основе языка R

Автор работы: Пользователь скрыл имя, 13 Февраля 2013 в 22:34, курсовая работа

Описание работы

задания на курсовую работу:
Изучить язык программирования R.
Исследовать алгоритмы обнаружения сигнала

Содержание работы

Задание на курсовую работу…………………………………………………3
Введение………………………………………………………………….…….4
Раздел 1. Основы языка R……………………………………………..…….6
Раздел 2. Обнаружение сигнала……………………………………………..13
Приложение 1

Файлы: 1 файл

Обнаружение сигналов.docx

— 75.94 Кб (Скачать файл)

Каждый объект имеет ряд атрибутов, характеризующих его свойства. Основные атрибуты это тип объекта и  его длина. Под типом объекта  понимается тот тип данных, к которому принадлежат его компоненты. Например, вектор, содержащий числовые значения типа numeric, является объектом типа numeric. В свою очередь длина объекта - это количество элементов, которые он содержит. Для определения типа и длины объектов используются функции mode() и length() соответственно. Функция length() позволяет еще и задавать размер объекта, так строка length(x) <- 3 задает вектору x размер в три единицы. Если ранее в векторе x было более трех компонентов, то данное действие удалит все остальные значения, если же длина вектора была менее трех, то функция добавит недостающее количество NA-значений. Следует отметить, что даже пустой вектор принадлежит определенному типу, так пустой символьный вектор обозначается character(0).

Оба описанных атрибута называют внутренними  свойствами объекта. Для того, чтобы  получить все остальные, если они  есть, необходимо использовать функцию attributes(). В том случае, когда мы хотим получить определенные атрибуты объекта не являющиеся внутренними  используется функция attr().

Классы  объектов

 

 

Один из атрибутов любого объекта - это класс. Принадлежность к тому или иному классу определяет способ представления данных пользователю, а также их обработку некоторыми функциями. Данный атрибут является символьным вектором, содержащим список классов, к которым относится данный объект. Пользователь может изменять значения этого вектора без каких-либо ограничений, при этом проверка на соответствие содержания этого атрибута и фактической принадлежность объекта некоторому классу не производится. Другими словами, можно задать любое, даже ничего не значащее, строковое значение атрибуту class через функцию class(). Следовательно, пользоваться этой возможностью следует крайне осторожно.

 

 

 

Матрицы

 

Матрица - это вектор, представленный в виде двумерного массива. Следовательно, как и вектор, матрица может содержать значения только одного типа данных. Для создания матрицы можно использовать функции matrix() или array(), указав в качестве аргумента исходный вектор, а также размерность массива для array() либо количество столбцов и строк для matrix().

Факторы

 

 

Фактор – это специальный тип объектов, предназначенный для работы с категориальными или порядковыми данными. Категориальные данные, или данные измеренные в номинальной шкале, не имеют количественного выражения. Примером таких значений могут быть названия городов или имена людей. Порядковые переменные отличаются от категориальных тем, что позволяют упорядочивать объекты. Типичный пример порядковой или ординальной переменной – уровень доходов человека: низкий, средний, высокий. Очевидно, что низкий ниже среднего, а средний ниже высокого. Однако величину различий порядковая шкала измерений, как и номинальная, установить не позволяет.

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

Может показаться, что факторы – это излишество, поскольку в R уже есть тип строковых данных character. Тем не менее, это не так. Объекты данного класса позволяют эффективно использовать категориальные и порядковые переменные. В отличие от строковых векторов, эти объекты имеют два аттрибута: levels и class. Аттрибут class содержит название класса factor, а levels – уровни фактора. Уровни фактора – это все уникальные значения переменной.

Списки

 

Список (list) – это класс, позволяющий хранить в одной переменной объекты одного или разных типов, в том числе и другие списки. Объекты, входящие в список, могут быть не только разных типов, но и разного размера.

Таблицы данных

 

Таблица данных (data.frame) – класс позволяющий представлять данные в табличном виде. Таблица представляет собой набор векторов одинаковой длины, где каждый вектор – это столбец таблицы. Столбцы могут содержать данные разных типов, но в пределах одного столбца допустимы только однотипные значения. По сути, таблица данных – это модифицированный список, в котором каждый элемент представлен в виде столбца таблицы, и все элементы одинаковой длины.

Функции

 

В языке R функции – это объекты, принадлежащие классу function. Создавая собственные функции пользователь может значительно облегчить свою работу. Следует отметить, что большинство функций, используемых в языке R на нем же и написаны.

 

РАЗДЕЛ 2. ОПТИМАЛЬНОЕ ОБНАРУЖЕНИЕ ПОЛНОСТЬЮ ИЗВЕСТНОГО СИГНАЛА

Пусть ожидаемый сигнал полностью известен, т.е. известны его форма, амплитуда, временное положение. Решающую функцию приемника обозначим через

Выберем решающую функцию так, чтобы  весовая разность была бы максимальна. Так как , а

где и - плотности вероятности шума и смеси сигнала с шумом, то

где - отношение правдоподобия, показывающее, насколько правдоподобнее предположение о приеме сигнала, чем альтернативное предположение об его отсутствии. Для максимального значения необходимо, чтобы подынтегральное выражение было бы неотрицательным, что возможно при условии:

Таким образом, оптимальный алгоритм принятия решения приемником сводится к вычислению отношения правдоподобия  и сравнения его с порогом .

Например, для белого гауссовского шума на интервале плотность вероятности равна

где - спектральная плотность мощности белого шума. Т.к. , то

и

Отношение правдоподобия 

Т.к. - энергия сигнала, выделяемая в сопротивлении 1 Ом, а - значение взаимной корреляционной функции сигнала с шумом при , то можно записать

Таким образом, алгоритмы обнаружения  полностью известного сигнала на фоне белого гауссовского шума таковы:

,

или

или

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

   Рис. 1. Структурная схема оптимального приемника.

 

 

ПРИЛОЖЕНИЕ 1

 

Текст программы

 

hits <- rbinom(100,25,.6)

fa <- rbinom(100,25,.2)

miss <- rbinom(100,25,.4)

cr <- rbinom(100,25,.7)

sdtout <- sdt(hits,fa,miss,cr)

sdtout[1:3,]

sdt(hits,fa,miss,cr,meas=c("d","A"))

sdt(hits,fa,miss,cr,meas=c("d","A"),flat=.5)

HC <- function(hits,fas,misses,cr)

   return((hits+cr-fas-misses)/(hits+cr+fas+misses))

HCsqrt <- function(hits,fas,misses,cr)

   return(sqrt((hits+cr-fas-misses)/(hits+cr+fas+misses)))

HCstats <- sdt(hits,fa,miss,cr, meas={},newst=c(HC,HCsqrt))

HCstats[1:3,]

sdt(hits,fa,miss,cr, meas=c("d","A"), pmeans=TRUE)

sdt(hits,fa,miss,cr,meas=c("d","A"), pmeans=TRUE,trim=.2)

sdt(hits,fa,miss,cr, meas=c("A"),pmeans=TRUE,trim=.2,runboot=TRUE,confl=.90)

 

Результаты:

>sdtout[1:3,]

 

HR                              

FAR

d

csdt

A

B

lnbeta

1

0.63333

0.217391

1.121728

0.220169

0.797058

0.154316

0.246970

2

0.548387

0.310344

0.616460

0.1866428

0.694809

0.0728363

0.11505

3

0.708333

0.230769

1.284838

0.0938968

0.823760

0.0757134

0.120642


 

 

beta                                    

OR 

lnOR 

kappa

phi

Q   

eta 

PC

1

1.28014

6.21818

1.82747

0.40365

0.41414

0.72292

0.401022

0.698113

2

1.12193

2.69841

0.99266

0.23672

0.24005

0.45922

0.608759

0.616666

3

1.12822

8.09523

2.09127

0.47833

0.47871

0.78010

0.351467

0.740000


 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ 2

 

Список использованной литературы

  1. Зарядов И.С. Введение в статистический пакет R: типы переменных, структура данных, чтение и запись информации, графика. Москва, 2010 год.
  2. Шипунов А.Б., Волкова П.А. Статистическая обработка данных в учебно-исследовательских работах. Москва, 2008 год.
  3. Шипунов А.Б. Справочная карта по R.
  4. http://r-analytics.blogspot.com/
  5. http://vkontakte.ru/club8142131
  6. http://cran.r-project.org/
  7. http://rss.acs.unt.edu/Rdoc/library/signal/html/00Index.html

 


Информация о работе Обнаружение сигнала на основе языка R