pspect
двусторонняя кросс-спектральная оценка между 2 дискретными во времени сигналами, исполmзуя метод усреднения периодограммы Уэлча.
Синтаксис
sm = pspect(sec_step, sec_leng, wtype, x) sm = pspect(sec_step, sec_leng, wtype, x, y) sm = pspect(sec_step, sec_leng, wtype, nx) sm = pspect(sec_step, sec_leng, wtype, nx, ny) [sm, cwp] = pspect(.., wpar)
Аргументы
- x
вектор, отсчёты во временной области первого сигнала.
- y
вектор, отсчёты во временной области второго сигнала. Если
y
пропущен, то он предполагается равнымx
(автокорреляция). Если он имеется в наличии, то он должен иметь то же количество элементов, что иx
.- nx
скаляр: количество отсчётов в сигнале
x
. В этом случае сегменты сигналаx
загружены пользовательской функцией с именемgetx
(см. ниже).- ny
скаляр: количество отсчётов в сигнале
y
. В этом случае сегменты сигналаy
загружены пользовательской функцией с именемgety
(см. ниже). Если указан, тоny
должен быть равенnx
.- sec_step
смещение каждого окна данных. Перекрытие
D
определяется какsec_leng -sec_step
. Еслиsec_step==sec_leng/2
, то перекрытие составляет 50%.- sec_leng
Количество точек в окне.
- wtype
Тип окна
're'
: прямоугольное'tr'
: треугольное'hm'
: Хэмминга'hn'
: Хана'kr'
: Кайзера, в этом случае должен быть указан аргументwpar
'ch'
: Чебышева, в этом случае должен быть указан аргументwpar
- wpar
необязательный параметр для окон Кайзера и Чебышева:
'kr':
wpar
должен быть строго положительным числом'ch':
wpar
должен быть двухэлементным вектором[main_lobe_width, side_lobe_height]
где0<main_lobe_width<.5
иside_lobe_height>0
- sm
Двусторонняя оценка спектральной мощности в интервале
[0,1]
нормированных частот. Это вектор-строка сsec_len
элементов. Массив является вещественным в случае автокорреляции и комплексным в случае кросскорреляции.Соответствующий массив нормированных частот
linspace(0,1,sec_len)
.- cwp
неопределённый параметр окна Чебышева в случае Чебышевской оконной обработки, либо пустая матрица.
Описание
Вычисляет кросс-спектральную оценку двух сигналов x
и y
если указаны оба, и автоспектральную оценку
для x
в противном случае. Спектральная оценка,
получена с помощью модифицированного метода периодограммы.
Кросс-спектр двух сигналов x
и y
определяется как
Модифицированный метод периодограммы спектральной оценки повторно оценивает
периодограмму взвешеных подсекций данных, содержащихся в x
и y
. Эти периодограммы затем вместе усредняются и нормируются
соответствующей константой для получения окончательной спектральной оценки. Это
процесс усреднения, который уменьшает дисперсию в оценке.
Для пакетной обработки данные x
и y
могут быть прочитаны сегмент за сегментом с помощью функций
getx
и gety
, определённых пользователем.
Эти функции имеют следующий синтаксис:
xk = getx(ns,offset)
и
yk = gety(ns,offset)
где ns
- это
размер сегмента, и offset
- это индекс первого элемента
сегмента в полном сигнале.
Сcылка
Oppenheim, A.V., and R.W. Schafer. Discrete-Time Signal Processing, Upper Saddle River, NJ: Prentice-Hall, 1999
Примеры
rand('normal');rand('seed',0); x = rand(1:1024-33+1); // делаем фильтр нижних частот с помощью eqfir nf = 33; bedge = [0 .1;.125 .5]; des = [1 0]; wate = [1 1]; h =eqfir(nf, bedge, des, wate); // фильтруем белые данные для получения цветных данных h1 = [h zeros(1:max(size(x))-1)]; x1 = [x zeros(1:max(size(h))-1)]; hf = fft(h1,-1); xf = fft(x1,-1); y = real(fft(hf.*xf,1)); // строим АЧХ фильтра h2 = [h zeros(1:968)]; hf2 = fft(h2,-1); hf2 = real(hf2.*conj(hf2)); hsize = max(size(hf2)); fr = (1:hsize) / hsize; plot(fr, log(hf2)); // пример pspect sm = pspect(100,200,'tr',y); smsize = max(size(sm)); fr = (1:smsize) / smsize; plot(fr, log(sm),'r');
Смотрите также
- cspect — двусторонняя кросс-спектральная оценка между 2 дискретными во времени сигналами, используя метод корреляции.
- pspect — двусторонняя кросс-спектральная оценка между 2 дискретными во времени сигналами, исполmзуя метод усреднения периодограммы Уэлча.
- mese — maximum entropy spectral estimation
- window — compute symmetric window of various type
Report an issue | ||
<< mese | spectral_estimation | transforms >> |