Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.1 - Русский

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function

Справка Scilab >> Signal Processing > spectral_estimation > pspect

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 определяется как

S_xy(ω) = (∑{n=0…N-1} x(n) exp(-iωn)) . (∑{n=0…N-1} 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 0*ones(1:max(size(x))-1)];
x1 = [x 0*ones(1:max(size(h))-1)];
hf = fft(h1,-1);
xf = fft(x1,-1);
y = real(fft(hf.*xf,1));

// строим АЧХ фильтра
h2 = [h 0*ones(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');
rand('unif');

Смотрите также

  • cspect — двусторонняя кросс-спектральная оценка между 2 дискретными во времени сигналами, используя метод корреляции.
  • pspect — двусторонняя кросс-спектральная оценка между 2 дискретными во времени сигналами, исполmзуя метод усреднения периодограммы Уэлча.
  • mese — maximum entropy spectral estimation
  • window — compute symmetric window of various type
Report an issue
<< mese spectral_estimation transforms >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jan 03 14:39:55 CET 2022