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

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

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

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

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

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

Файлы: 1 файл

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

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

Содержание

Задание на курсовую работу…………………………………………………3

Введение………………………………………………………………….…….4

Раздел 1.  Основы языка  R……………………………………………..…….6

Раздел 2. Обнаружение сигнала……………………………………………..13

Приложение 1

Приложение 2

Литература

 

 

Задание на курсовую работу:

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

 

Введение

 

 

Обнаружение полезных сигналов на фоне шума и помех является одной  из основных проблем обработки сигналов во многих информационных системах. Задача обнаружения обычно решается на первой стадией приема сигналов в радиолокационных, гидроакустических и радиосвязных системах. В простой (двухальтернативной) постановке задача обнаружения сводится к принятию решения о наличии или отсутствии полезного сигнала в наблюдённой реализации входного процесса.

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

1.Метод усредненного отношения  правдоподобия. В этом методе, для решения задачи обнаружения используется отношение правдоподобия, дополнительно усредненное по априорному распределению неизвестных параметров. В качестве приближенных априорных плотностей вероятности неизвестных параметров в этом случае часто используются равномерные распределения в ожидаемом интервале изменения параметров или другие достаточно "широкие" плотности вероятности. В радиотехнике этот метод применяется по отношению к таким параметрам, как амплитуда и время появления радиоимпульса, а также другим параметрам, которые на этапе обнаружения рассматриваются как неинформативные. Например, неинформативными параметрами на этом этапе обнаружения, характеризующими цель, могут являться размер, форма, отражающая поверхность, а характеризующими характер ее движения - скорость, дальность, ускорение.

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

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

2. Метод обобщенного отношения  правдоподобия. При использовании  этого метода по имеющимся  наблюдениям предварительно отыскиваются  максимально правдоподобные оценки  всех или части неизвестных  параметров сигналов и шумов  и эти оценки подставляются  в отношение правдоподобия в  качестве "истинных" значений  неизвестных параметров. После этого задача сводится к классической задаче обнаружения или различения детерминированных сигналов, в которых вместо истинных значений сопутствующих параметров фигурируют их оценки. Этот метод наиболее эффективен в том случае, когда по принятой реализации можно получить достаточно хорошую оценку неизвестного параметра (то есть в случае большого отношения сигнал/шум или большого объема выборки). Решающие статистики, получаемые на основе обобщенного отношения правдоподобия, мы будем для краткости называть GLR (Generalized Likelihood Ratio) статистиками.

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

 

 

 

РАЗДЕЛ 1. ОСНОВЫ ЯЗЫКА R

 

 

 

    1. Что из себя представляет пакет R

 

 

R — язык программирования для статистической обработки данных и работы с графикой, а также свободная программная среда вычислений с открытым исходным кодом в рамках проекта GNU. Язык создавался как аналогичный языку S, разработанному в Bell Labs и является его альтернативной реализацией, хотя между языками есть существенные отличия, но в большинстве своём код на языке S работает для среды R. Изначально R был разработан сотрудниками статистического факультета Оклендского университета Россом Айхэкой (англ. Ross Ihaka) и Робертом Джентлменом (англ. Robert Gentleman) (первая буква их имён — R), на момент 2011 года язык и среда поддерживаются и развиваются организацией R Foundation.

R широко используется  для статистического программного  обеспечения и анализа данных  и фактически стал стандартом  для статистических программ.

R доступен под лицензией  GNU GPL. Распространяется в виде  исходных кодов, а также откомпилированных  приложений под ряд операционных  систем: некоторые дистрибутивы Linux, FreeBSD, Microsoft Windows, Solaris, Mac OS X и некоторые другие Unix.

В R используется интерфейс  командной строки, хотя доступны и  несколько графических интерфейсов  пользователя.

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

Ещё одной особенностью R являются графические возможности, заключающиеся в возможности  создания качественной графики, которая  может включать математические символы.

 

 

1.2 «Плюсы» и «Минусы» R

 

 

Перечислим достоинства и недостатки пакета R.

«Плюсы»:

 

– R является свободно распространяемым  программным обеспечением (ПО), каждый может его бесплатно скачать с сайта http://www.r- project.org;

 

– достаточно просто устанавливается под Windows, MacOS X, Linux;

 

– базовая комплектация R занимает немного  места на жёстком диске и включает в себя все функции, необходимые для статистического анализа;

– для более серьёзной работы всегда можно дополнительно установить вспомогательные пакеты с необходимыми функциями;

 

– на данный момент разработаны пакеты, применимые практически во в всех областях знания, где используется статистика;

 

– можно работать с большими массивами данных (несколько сотен тысяч наблюдений);

 

– встроенная система помощи и подсказок;

 

– хорошие графические возможности представления результатов исследо- ваний;

 

– возможность самостоятельного написания необходимых функций;

 

– много свободной литературы по R.

 

Недостатки:

– в отличие от большинства коммерческих программ R имеет не графиче- ский интерфейс, а интерфейс командной строки, таким образом нужно знать необходимые для работы функции и синтаксис языка программи- рования;

 

– нет коммерческой поддержки (но есть международная система рассылки сообщений об обновлениях);

 

– довольно мало литературы по R на русском языке (в основном литера- тура на английском), но при желании можно найти в Интернете.

 

 

    1. Объекты и типы данных языка R

 

 

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

Все манипуляции с данными  в языке R основаны на векторах. Вектор представляет собой структуру, содержащую последовательность значений одного типа. На первый взгляд, может показаться странным такой подход к программированию, однако на практике он оказывается  очень удобным. Если же возникает  необходимость использования в  программе скаляров, то их можно  заменить единичными векторами, т. е. векторами содержащими только одно значение.

Элементы вектора могут  принадлежать к одному из типов данных, определенных в языке R:

  • numeric - числовой тип, который включает в себя как целые числа, так и дроби;
  • integer - целочисленный тип;
  • character - символьный тип данных, каждый элемент в таком векторе является последовательностью из одного или более символов. Следует отметить, что совокупность элементов символьного вектора не является единой строкой;
  • complex - комплексный тип;
  • logical - логический тип, принимает значения TRUE или FALSE.

Numeric

Объекты этого типа могут содержать  только числа. Эквивалентные обозначения: double или real, последнее существует только для сохранения обратной совместимости  со старым кодом. Таким образом, в  языке R имеют место три варианта обозначения векторов, содержащих числа  с плавающей точкой. Очевидно, что  объекты данного типа созданы  для выполнения математических операций. Проверка на принадлежность переменной типу numeric выполняется функцией is.numeric()

Integer

Этот тип создан для того, чтобы  обеспечивать совместимость с кодом, на языках C или Fortran таким образом, чтобы  представить целочисленные данные наиболее компактно. Следует отметить, что в актуальной на сегодня реализации R используется 32-битный тип integer, разброс  значений которого ограничен +/- 2*10^9. В свою очередь, объекты типа double могут вмещать целые числа из более широкого диапазона. Чтобы убедиться, что некоторый вектор содержит целые числа можно использовать функцию is.inetger().

Character

Тип данных character создан для выполнения операций с символами. Символом может  быть что угодно: буквы алфавита, доступные в той или иной кодировке, цифры, а так же любой другой символ, который пользователь сможет найти  на своей клавиатуре. Понятно, что  со строковыми векторами невозможно проводить никаких вычислений, даже если в них содержатся цифры. В  языке R есть предопределенные константы 'letters' и 'LETTERS' которые содержат соответственно строчные и прописные буквы английского  алфавита.

В тех случаях, когда с цифрами, содержащимися в строковых векторах необходимо провести вычисления их следует преобразовать в числовой тип функциями as.integer() или as.numeric(). Соответственно, если мы хотим преобразовать число в строку, то используется функция as.character(), а для выяснения типа переменной - is.character().

Complex

Комплексные векторы содержат комплексные  числа. Больше об этом типе данных мне  сказать нечего.

Logical

Логические переменные могут принимать  только два значения TRUE (истина) и FALSE (ложь). TRUE и FALSE - зарезервированные слова языка R, обозначающие логические константы. Эти обозначения в программном коде можно заменять символами 'T' и 'F'. Если попытаться конвертировать логический вектор в вектор типа integer, то в результате все значения TRUE будут заменены на 1, а FALSE - на 0.

Объекты языка R

 

Вектор является объектом языка R и, как уже было сказано, может содержать  компоненты только одного типа, а так  же NA-значения, т. е. пропущенные значения, которые могут быть в векторе любого типа. Однако в R есть и другие объекты: матрицы, списки, таблицы, функции, факторы. Тем не менее, в основе всех этих типов объектов лежит базовый объект - вектор.

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