Описание некоторых команд MATLAB



Функции окон

 

Функции окон:

window – открывает Window Design and Analysis Tool (wintool).

 

Окна во временной и частотной областях можно посмотреть с помощью утилиты wvtool (Window Visualization Tool).

Синтаксис:

wvtool(winname(n))

wvtool(winname1(n),winname2(n),...winnamem(n))

wvtool(w)

h = wvtool(...)

 

Пример: Сравнение окон Хэмминга Ханна и Гаусса

wvtool(hamming(64),hann(64),gausswin(64))

 

Расчет периодограммы

Для вычисления периодограммы в MATLAB предназначена функция periodogram. Синтаксис ее вызова следующий:

[Pxх, f] = periodogram(x, window, Nfft, Fs, 'range')

Единственным обязательным входным параметром является х — вектор отсчетов сигнала. Остальные параметры имеют значения по умолчанию, которые используются, если в качестве параметра указана пустая матрица [] или если некоторое количество параметров (начиная споследнего) опущены при вызове.

Вектор window должен содержать коэффициенты используемого окна. При этом вычисляется модифицированная периодограмма по формуле:

 

.

 

По умолчанию используется прямоугольное окно, то есть периодограмма вычисляется по формуле:

 

.

 

Параметр Nfft задает размерность БПФ, используемого для вычисления периодограммы. По умолчанию этот параметр равен max(256, 2^nextpow2(length(x))). Входной сигнал, умноженный на окно, приводится к размеруNfft (обрезается либо дополняется нулями).

Параметр Fs – частота дискретизации в герцах. Эта величина используется в формулах, а также для оцифровки графика и расчета возвращаемого вектора частот f. Значение по умолчанию равно 2π.

Строковый параметр 'range' определяет частотный диапазон для возвращаемого вектора Рхх. Возможны два значения:

- 'twosided' – векторы Рхх и f имеют длину Nfft и соответствуют полному диапазону частот 0... Fs. Этот вариант используется по умолчанию, если х содержит комплексные отсчеты;

- 'onesided' – векторы Рхх и f имеют длину ceil((Nfft +1)/2) и соответствуют половинному диапазону частот 0... Fs/2. Этот вариант используется по умолчанию в случае вещественного вектора х.

Параметр 'range' может быть указан в списке параметров в любом месте после window.

Возвращаемые параметры: Рхх – вектор значений спектральной плотности мощности, f – вектор значений частот, использованных для расчета. Шаг между соседними элементами этого вектора равен Fs/Nfft, первый элемент равен нулю.

Если выходные параметры при вызове не указаны, функция строит график спектральной плотности с помощью функции psdplot.

Пример 1.Используя прямоугольное окно (окно по – умолчанию) рассчитаем периодограмму сигнала с частотой 200 МГц дополненного аддитивным шумом.

randn('state',0);

Fs = 1000;  

t = 0:1/Fs:.3;

x = cos(2*pi*t*200)+0.1*randn(size(t));

periodogram(x,[],'twosided',512,Fs)

 

Рис. 7. Оценка спектральной плотности мощности с помощью периодограммы

Реализация метода Уэлша

Функция pwelch предназначена для определения спектра мощности случайного сигнала методом Уэлша (методом усреднения модифицированных периодограмм – averaged modified periodogram method). Синтаксис вызова функции следующий:

[Рхх, f] = pwelch(x, Nwin, Noverlар, Nfft, Fs, 'range')

Единственным обязательным входным параметром является х – вектор отсчетов анализируемого сигнала. Все остальные параметры имеют значения по умолчанию, которые используются, если при вызове в качестве параметра указана пустая матрица ([]) или если несколько последних параметров опущено.

Параметр Nwin управляет выбором окна, используемого для анализа. Если Nwin – число, используется окно Хэмминга указанной длины, если вектор, то данный вектор используется в качестве окна. По умолчанию используется окно Хэмминга, длина которого выбирается так, чтобы с учетом заданного перекрытия (см. ниже) сигнал оказался разделенным на 8 фрагментов.

Параметр Noverlар задает (в отсчетах) перекрытие соседних фрагментов сигнала, для которых вычисляются периодограммы. По умолчанию перекрытие равно половине длины окна.

Параметр Nfft задает размерность БПФ, используемого для вычисления периодограммы. По умолчанию Nfft = max(256, 2^nextpow2(Nwin)), где Nwin – длина фрагмента сигнала (длина используемого окна).

Параметр Fs указывает частоту дискретизации сигнала. Это значение используется для нормировки рассчитанного спектра мощности, а также при расчете возвращаемого вектора f и для оцифровки графика. По умолчанию значение этого параметра равно 2π.

Строковый параметр 'range' определяет частотный диапазон для возвращаемого вектора Рхх. Возможны два значения:

- 'twosided' – векторы Рхх и f имеют длину Nfft и соответствуют полному диапазону частот 0... Fs. Этот вариант используется по умолчанию, если х содержит комплексные отсчеты;

- 'onesided'– векторы Рхх и f имеют длину ceil ((Nfft + D/2) и соответствуют половинному диапазону частот 0... Fs /2. Этот вариант используется по умолчанию в случае вещественного вектора х.

Параметр 'range' может быть указан в списке параметров в любом месте после Noverlар.

Возвращаемые параметры: Рхх – вектор значений спектральной плотности мощности, f – вектор значений частот, использованных для расчета. Шаг между соседними элементами этого вектора равен Fs/Nfft, первый элемент равен нулю.

Если выходные параметры при вызове не указаны, функция строит график спектральной плотности мощности с помощью функции psdplot.

Расчет спектра производится следующим образом. Анализируемый сигнал х делится на перекрывающиеся фрагменты согласно параметрам Nwin и Noverlар. Для каждого фрагмента вычисляется модифицированная периодограмма с использованием заданных окна и размерности БПФ. Полученный набор модифицированных периодограмм усредняется, и результат делится на Fs.

 

Пример 2.Оценить СПМ сигнала состоящего из синусоиды с шумом, дискретизированного с частотой 1000 Гц. Использовать 33-точечное окно с 32-точечным перекрытием. ДлинаFFT по – умолчанию. Отобразить полный диапазон частот СПМ (режим 'twosided').

randn('state',0);

Fs = 1000; t = 0:1/Fs:.3;

x = cos(2*pi*t*200) + randn(size(t)); % 200Hz cosine plus noise

pwelch(x,33,32,[],Fs,'twosided')

 

Рис.8. Оценка спектральной плотности мощности методом Уэлша

 

Авторегрессионные методы

 

Функции авторегрессионного спектрального анализа

Синтаксис вызова функций, производящих расчет спектра мощности на основе авторегрессионной модели формирования сигнала, приведен ниже:

[Рхх,f]=рххх(х,р,Nfft,Fs,'range')

Здесь рххх – имя одной из функций, перечисленных в табл. 2.

 

 

Таблица 2

Функции авторегрессионных моделей

 

Название метода Функция спектрального анализа
Ковариационный метод pcov
Модифицированный ковариационный метод pmcov
Метод Бурга pburg
Авторегрессионный метод Юла-Уокера  pyulear

 

Обязательные входные параметры: х –вектор отсчетов сигнала, р – порядок авторегрессионной модели. Остальные входные параметры имеют значения по умолчанию, которые используются, если параметр представляет собой пустую матрицу ([]) или отсутствует.

Параметр Nfft задает число частотных точек для расчета спектра. По умолчанию его значение равно 256. Параметр Fs – частота дискретизации входного сигнала (используется при расчете возвращаемого вектора частот f и для оцифровки горизонтальной оси графика). Значение по умолчанию – 2π Гц.

Строковый параметр 'range' определяет частотный диапазон для возвращаемого вектора Рхх. Возможны два значения:

- 'twosided' – векторы Рхх и f имеют длину Nfft и соответствуют полному диапазону частот 0... Fs. Этот вариант используется по умолчанию, если х содержит комплексные отсчеты;

- 'onesided' – векторы Рхх и f имеют длину ceil ((Nfft + D/2) и соответствуют половинному диапазону частот 0... Fs /2. Этот вариант используется по умолчанию в случае вещественного вектора х.

Параметр 'range' может быть указан в любом месте списка параметров после р.

Возвращаемые параметры: Рхх – вектор значений спектральной плотности мощности, f – вектор значений частот, использованных для расчета. Шаг между соседними элементами этого вектора равен Fs/Nfft, первый элемент равен нулю.

Если выходные параметры при вызове не указаны, функции строят график спектральной плотности с помощью функции psdplot.

Пример 3.Метод Бурга оценивает спектральную плотность, подгоняя АР-модель заданного порядка к сигналу, таким образом, вначале генерируется сигнал из АР-модели этого порядка. Используем freqz для проверки амплитуды частотного отклика нашего АР-фильтра. Затем сгенерируем входной сигнал x путем обработки белого шума АР-фильтром.  

Оценка СПМ сигнала x основана на АР-модели 4-го порядка, потому что в данном случае мы знаем, что исходная АР-система была 4-го порядка.

 

a = [1 -2.2137 2.9403 -2.1697 0.9606]; % коэффициенты АР-фильтра

[H,w] = freqz(1,a,256); % частотная характеристика АР-фильтра

 

% масштабируем график для получения односторонней СПМ

Hp = plot(w/pi,20*log10(2*abs(H)/(2*pi)),'r');

hold on;

randn('state',1);

x = filter(1,a,randn(256,1)); % выход АР-системы

pburg(x,4,511);

xlabel('Normalized frequency (\times \pi rad/sample)')

ylabel('One-sided PSD (dB/rad/sample)')

legend('PSD of model output','PSD estimate of x')

 

Рис.9. Оценка СПМ методом Бурга.

 

 Существует множества методов для анализа спектральной плотности в зависимости от типа фильтра подробнее об этих методах, реализованных в матлабе можно прочитать ссылке 4 в списке литературы.

ЗАДАНИЯ ДЛЯ ВЫПОЛНЕНИЯ

 

1. Изучить теоретический материал по спектральному анализу.

2. Сигнал выбирается с частотой 8 кГц. Получены следующие уровни напряжения: [1.0; 1.0; 1.0; 1.0; 1.0; 1.0; 1.0; 1.0]; В. . Затем данные умножаются на весовую функцию, соответствующие дискретные значения которой – [0;  0.5; 1.0; 1.0; 1.0; 1.0; 0.5; 0] . Определите ДПФ – образ взвешенных данных.

3. Дискретизируется импульсный телекоммуникационный сигнал. В результате получаются такие выборки: 0; 1; 1; 1; 1; 1; 1; 0 В. Примените для взвешивания данных окно Бартлетта. Вычислите энергетический спектр взвешенного импульса с использованием восьмиточечного ДПФ.

4. Получите энергетический спектр дискретной последовательности данных 32 точечной выборки [0, 1, 0, 1, 0, 1, 0, 1, zeros(1, 24)] и сравните его со спектром сигнала прямоугольной формы [0, 1, 1, 1, 1, 1, 1, 0, zeros(1,24)]. (пользуйте фунцию periodogram). Получить энергетический спектр тех же данных но 128 точечной выборки. Сравнить результаты.

5. С помощью метода Бурга (порядок модели – 1) получите энергетический спектр данных из задачи 4.

6. С помощью метода модифицированных периодограмм Уэлша получите энергетический спектр данных из задачи 4, разбив на три последовательности равной длины с перекрытием 50%.

7.Для пунктов 4,5,6 проведите сравнение окон (Window Visualization Tool) и сделайте выводы для данной последовательности 32-х точечной выборки.

8. Пусть последовательность данных из задачи 4 искажается случайным шумовым компонентом и становится равной [0.736, 1.656, 0.424, 1.939, 0.133, 1.881, 0.328, 1.348, zeros(1,24)] Вычислите энергетический спектр зашумленных данных и сравните его со спектром исходных данных.

9. Повторно решите предыдущую задачу используя метод Бурга.

10. Повторно решите задачу 6, используя зашумленные данные из задачи 7.

11.Для пунктов 8,9,10 проведите сравнение окон (Window Visualization Tool) и сделайте выводы для данной последовательности 32-х точечной выборки.

12. Пусть последовательность данных из задачи 4 значительно искажена шумом и перешла в последовательность [6.03, 6.18, 3.35, 8.42, 1.05, 7.96, 2.59, 3.75 zeros(1, 24)]. Вычислите энергетический спектр зашумленных данных.

13. Получите улучшенную оценку энергетического спектра данных из задачи 10 используя метод Бурга.

14. Улучшите качество оценки энергетического спектра из задачи 10 используя метод модифицированных периодограмм Уэлша с тремя последовательностями равной длин с 50% перекрытием.

15. (По вариантам) Провести спектральный анализ сигнала (Табл.3). Постройте графики.

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

 

1. Определите назначение спектрального анализа?

2. На какие две группы делятся методы спектрального анализа?

3. Перечислите непараметрические методы оценки спектра.

4. Определите недостатки непараметрических методов.

5. Назовите методы улучшения оценки спектра.

6. Что такое гребешковое искажение?

7. Опишите эффекты просачивания спектральных составляющих и размывания спектра.

8. Как определяется ширина полосы шумового эквивалента?

9. Для чего используют перекрытие сегментов?

10. Опишите метод Уэлша.

11. Опишите метод Блэкмена-Тьюки.

12. Каковы достоинства параметрических методов оценки спектра.

13. Опишите авторегрессионная модель.

14. Каким образом производится выбор порядка авторегрессионной модели?

 

Требования к содержанию отчета:

Составьте отчет в электронном виде, включающий все команды, вводимые в командной строке MATLAB. Для некоторых заданий необходимо вывести графики.

 

Таблица 3

Исходные данные по вариантам

 

Вар. Оценка СПМ Сигнал
1 Бурга, Уэлша, Мод. ковариационный notifys
2 Уэлша, Ковариационный, Мод. ковариационный onestop
3 Бурга, Юла-Уокера, FFT tada
4 Юла-Уокера, Ковариационный, Бурга town
5 Мод. ковариационный, FFT, Уэлша balloon
6 FFT, Бурга, Ковариационный exclamation
7 Уэлша, Юла-Уокера, Мод. ковариационный restore
8 Бурга, Мод. ковариационный, FFT flourish

 

Примечание: Звуковые файлы находятся в папке с лабораторными работами.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

 

1. Айфичер Э.С., Джервис Б.У. Цифровая обработка сигналов: практический подход [Текст]: Пер. с анг. – М.: Издательский дом «Вильямс», 2004. – 992с.

2. Марпл.-мл С.Л. Цифровой спектральный анализ и его приложения [Текст]: Пер. с англ.: – М.: Мир, 1990г. – 584 с.

3. Сергиенко А.Б. Цифровая обработка сигналов [Текст] – СПб.: Питер, 2002. – 608с.

4. http://matlab.exponenta.ru/signalprocess/book2/index.php (электронный ресурс).


Дата добавления: 2018-04-05; просмотров: 3387; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!