Использование системы Matlab для задач спектрального оценивания

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

>> t = (0:.01: 2.55);

Эта команда задает изменение t от 0 до 2.55 с шагом 0.01, что соответствует частоте дискретизации 100 Гц (). Знак; (точка с запятой) блокирует вывод вектора на экран. Если необходимо просмотреть столбец с элементами вектора t, этот знак нужно просто убрать.

Теперь зададим вектор функции y(t), которая представляет собой сумму синусоиды с амплитудой 10 и частотой 7 Гц с синусоидой, имеющей амплитуду 3 и частоту 3 Гц:

>> y = 10*sin(2*pi*7*t) + 3*sin(2*pi*3*t);

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

>> randn(‘state’, sum(100*clock));

Получим шумовую компоненту со средним значением 1.5 и дисперсией 2, для этого используем команду:

>> yn = 1.5 + sqrt(2)*randn(size(t));

Наложим ее на «чистый» сигнал:

>> sig = y + yn;

Для просмотра полученных сигналов и оценивания спектра воспользуемся встроенной в систему Matlab утилитой sptool. Используем команду:

>> sptool

Откроется окно, состоящее из трех списков и управляющих кнопок. В настоящий момент нас интересует только первый и третий – Signals и Spectra. В первом отображаются загруженные в утилиту сигналы. По умолчанию в нем уже присутствуют три встроенных – mtlb, chirp и train.

Добавим в этот список два сгенерированных нами сигнала – y и sig. Для этого необходимо выбрать пункт Import в меню File. В появившемся окне необходимо выбрать нужный сигнал – y и нажать кнопку со стрелкой, дополнительно необходимо ввести частоту дискретизации – sampling frequency, в нашем случае – 100 Гц. Также в этом окне вводится имя нашего сигнала, по умолчанию используются имена sig1, sig2 и так далее. После нажатия кнопки “ОК” в первом списке утилиты появится новый сигнал – sig1. Просмотреть его можно, нажав кнопку View, находящуюся снизу списка Signals. Аналогично добавим сигнал sig. Возможен одновременный просмотр нескольких сигналов данных. Для этого удерживая нажатой клавишу ctrl, выбираем нужные с помощью мыши и нажимаем кнопку View. При просмотре сразу двух сигналов можно проследить изменения в зашумленных данных.

Для получения спектральной оценки необходимо выбрать нужный сигнал из списка Signals и нажать кнопку Create – откроется окно Spectrum Viewer. В нем задается тип спектральной оценки и ее параметры. В текущей работе мы рассмотрим периодограммный метод спектрального оценивания. В системе Matlab ему соответствует функция pwelch или метод Welch в окне Spectrum Viewer.

Параметры этой ценки:

Nfft – число отсчетов в итоговой оценке спектра.

Nwind – число отсчетов на сегмент данных – соответствует ранее введенному параметру D.

– Window – тип окна с помощью которого производится взвешивание отсчетов на каждом сегменте – w.

– Overlap – число перекрывающихся отсчетов между соседними сегментами – соответствует разности параметров D и S.

Расчет спектральной оценки осуществляется по нажатию кнопки Apply.

Аналогично выводу отсчетов сигналов данных возможен вывод нескольких спектральных оценок на одном графике. В меню Options утилиты можно выбрать тип масштаба по каждой из осей – линейный или логарифмический, а также диапазон выводимых частот [0, Fдиск/2],
[-Fдиск/2, Fдиск/2], [0, Fдиск].



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: