2. Каждый сегмент умножается на используемую весовую функцию.
3. Для взвешенных сегментов вычисляются модифицированные периодограммы.
4. Периодограммы всех сегментов усредняются.
Так же как и для периодограммы Бартлетта, дисперсия оценки, получаемой методом Уэлча, уменьшается примерно пропорционально числу сегментов. Благодаря перекрытию в методе Уэлча используется больше сегментов, поэтому дисперсия оценки спектра плотности мощности оказывается меньше, чем для метода Бартлетта.
1.4.2 Весовые функции (окна)
Для уменьшения растекания спектра при ДПФ применяются весовые функции (weightingfunctions), которые также называют окнами (windows). В этом случае перед расчетом ДПФ сигнал умножается на весовую функцию w(k),которая должна спадать к краям сегмента. Формула прямого ДПФ при использовании весовых функций принимает следующий вид:
Роль весовой функции в этой формуле можно рассматривать с различных точек зрения. Сначала проанализируем ситуацию во временной области. Если мы используем весовую функцию, которая имеет максимум в середине (при k = N/2)и плавно спадает к краям (k= 0 и k = N-1), то это приведет к ослаблению эффектов, связанных с возникновением скачков сигнала при периодическом повторении анализируемой конечной последовательности, и, таким образом, к уменьшению растекания спектра.
Аналогичный вывод можно сделать, рассмотрев влияние весовой функции в частотной области. Умножение сигнала на весовую функцию соответствует свертке спектров сигнала и весовой функции. Это приводит к тому, что пики, содержащиеся в спектре сигнала, несколько расширяются. Однако при этом становится возможно уменьшить уровень боковых лепестков спектральной функции, что и является целью применения весовых функций.
Если трактовать ДПФ как фильтрацию, при использовании весовой функции w(k)получаются частотные характеристики фильтров следующего вида:
Выбирая весовую функцию w(k) определенным образом, можно уменьшить уровень боковых лепестков частотой характеристики фильтров, соответствующих отдельным каналам ДПФ. Естественно, платой за это является расширение центрального лепестка частотной характеристики.
Текст программы.
-----------------------------------
kurs.m
-----------------------------------
loadEEG1.txt %загрузка исходного файла
k=input('Введите номер канала k='); %выбор каналов
l=input('Введите номер канала l=');
m=input('Введите номер канала m=');
x(:,1)=EEG1(:,k); %запись выбранных каналов
x(:,2)=EEG1(:,l); %в отдельную матрицу
x(:,3)=EEG1(:,m);
clc;
st %переход в меню
-----------------------------------
st.m
-----------------------------------
%меню выбора задания
functionst
disp('Выберите задание')
disp('<ahref="matlab:z1(x)">Задание 1. Оценка статистических характеристик реализации случайного процесса</a>')
disp('<a href="matlab:z2(x)">Задание 2. Оценка плотности распределения реализации случайного процесса</a>')
disp('<a href="matlab:z3(x)">Задание 3. Оценка корреляционных характеристик реализации случайного процесса</a>')
disp('<a href="matlab:z4(x)">Задание 4. Оценка спектральных характеристик реализации случайного процесса</a>')
-----------------------------------
z1.m
-----------------------------------
%Функция расчета математического ожидания и дисперсии
%для выбранных компонент реализации СП
function z1(x)
formatshortg
%Следующий цикл формирует 4 массива:
%mx - c мат.ожиданием
%varx - c дисперсией
%sostmx – вариативность мат. ожидания
%sostvarx – вариативность дисперсии
%1 столбец массива - временные интервалы
%2,3,4 столбцы соответствуют разным каналам
for ii=1:3
dlit=64;
for jj=1:4
for kk=1:4
a=(kk-1)*dlit+1;
b=kk*dlit;
tmpmx(kk)=mean(x(a:b,ii))
tmpvarx(kk)=var(x(a:b,ii))
end;
mx(jj,1)=dlit;
mx(jj,ii+1)=mean(tmpmx);
varx(jj,1)=dlit;
varx(jj,ii+1)=mean(tmpvarx);
sostmx(jj,1)=dlit;
sostmx(jj,ii+1)=var(tmpmx);
sostvarx(jj,1)=dlit;
sostvarx(jj,ii+1)=var(tmpvarx);
dlit=dlit*2;
end;
end
%Выводданных
disp('-----------------------------------------------------');
disp(' | N канала ');
disp(' Длит. ------------------------------------')
disp(' интервала | 1 | 2 | 3 ');
disp('-----------------------------------------------------');
disp('Математическое ожидание');
disp(mx);
disp('Дисперсия');
disp(varx);
disp('Дисперсия оценки математического ожидания');
disp(sostmx);
disp('Дисперсия оценки дисперсии');
disp(sostvarx);
grafik=input('Хотите построить графики дисперсии оценок? (1 - Да, 2 - Нет) ');
if grafik == 1
figure;
subplot(2,1,1);
plot(sostmx(:,2:4));
title('Графики дисперсии оценки математического ожидания для разных временных интервалов','FontName','Times New Roman');
k=legend('Канал 1','Канал 2','Канал 3');
set(k,'FontName','Times New Roman');
subplot(2,1,2);
plot(sostvarx(:,2:4));
title('Графикидисперсииоценкидисперсиидляразныхвременныхинтервалов','FontName','Times New Roman');
k=legend('Канал 1','Канал 2','Канал 3');
set(k,'FontName','Times New Roman');
end;
st
-----------------------------------
z2.m
-----------------------------------
%Функция построения гистограмм для заданных компонент
functionz2(x)
disp('Введите количество интервалов (не менее 5)');
disp('0 - автоматический выбор');
nbins=input('Количество интервалов = ');
figure;
for ii=1:3
subplot(3,1,ii);
if nbins<5
hist(x(:,ii));
else
hist(x(:,ii),nbins);
end;
title(['Гистограмма',num2str(ii),'-го канала'],'FontName','Times New Roman');
end
st
-----------------------------------
z3.m
-----------------------------------
%Функция оценки корреляционных характеристик
functionz3(x)
N=50; %размер корреляционной матрицы
[temp1, R1]=corrmtx(x(:,1) ,N); %Расчет АКФ (корреляционных
[temp2, R2]=corrmtx(x(:,2) ,N); %матриц)
[temp3, R3]=corrmtx(x(:,3) ,N);
k=0:N;
subplot(3,1,1);
stem(k, R1(1,:));
title('АКФ 1-го канала','FontName','Times New Roman');
subplot(3,1,2);
stem(k, R2(1,:));
title('АКФ 2-го канала','FontName','Times New Roman');
subplot(3,1,3);
stem(k, R3(1,:));
title('АКФ 3-го канала','FontName','Times New Roman');
R4 = xcorr(x(:,1),x(:,2)); %Расчет ВКФ
R5 = xcorr(x(:,1),x(:,3));
R6 = xcorr(x(:,2),x(:,3));
figure;
subplot(3,1,1);
stem(R4(2048:2098));
title('ВКФ 1-го и 2-го каналов','FontName','Times New Roman');
subplot(3,1,2);
stem(R5(2048:2098));
title('ВКФ 1-го и 3-го каналов','FontName','Times New Roman');
subplot(3,1,3);
stem(R6(2048:2098));
title('ВКФ 2-го и 3-го каналов','FontName','Times New Roman');
st
-----------------------------------
z4.m
-----------------------------------
%Функция расчета СПМ методом Уэлча
function z4(x)
nxt=1;
ur=input('Введите уровень боковых лепестков =');
dlit=input('Введите длительность сигнала =');
while nxt>0
long=input('Введите длину окна n=');
w=chebwin(long,ur); %окноЧебышева
figure;
plot(w);
figure;
for ii=1:3
subplot(3,2,(2*ii-1))
pwelch(x(1:dlit,ii),boxcar(dlit),[],[],100); %СПМбезвыделяющейфункции
title(['СПМ ',num2str(ii),' каналабезвыделяющейфункции'],'FontName','Times New Roman');
subplot(3,2,2*ii)
pwelch(x(1:dlit,ii),w,[],[],100); %Сглажено с помощью окна Чебышева
title(['СПМ ',num2str(ii),' канала с использованием окна Чебышева'],'FontName','Times New Roman');
end;
nxt=input('Изменить длину окна и продолжить расчет? (1-Да, 0-Нет) ');
end;
st
Результаты выполнения программы
Оценка статистических характеристик реализации случайного процесса
С увеличением размера выборки вариативность оценок уменьшается. Следовательно, оценка состоятельная.
Оценка плотности распределения реализации случайного процесса.
Оценка производится методом гистограмм. Рассмотрим гистограммы при количестве интервалов n =15.
Сигнал имеет распределение, близкое к Гауссовому в диапазоне примерно -500..500. Математическое ожидание стремится к нулю. Такое распределение характерно для помех в каналах связи.
Оценка корреляционных характеристик реализации случайного процесса
Отсчеты сигнала коррелированны слабо.
Оценка спектральных характеристик реализации случайного процесса
Длина окна n=32
Длина окна n=64
При использовании непараметрических методов оценка СПМ получается смещенной и несостоятельной. Но такие методы легко реализовать. А для уменьшения несостоятельности оценки применяют сглаживание (усреднение нескольких оценок). В результате дисперсия оценки СПМ уменьшается. Чем меньше, тем больше число сегментов, на которые разбивается сигнал, и тем больше сглаживание.
Список литературы
1. Дженкинс Г., Ваттс Д. Спектральный анализ и его приложения. Т. 1. М.: Мир, 1971. 316 с.
2. Марпл-мл. С.Л. Цифровой спектральный анализ и его приложения. М.: Мир, 1990. 584 с.
3. Сергиенко А.Б. Цифровая обработка сигналов. - СПб.: Питер, 2002.
4. Шелухин О.И., Лукьянцев Н.Ф. Цифровая обработка и передача речи.- М.: Радио и связь, 2000.