cspect
двусторонняя кросс-спектральная оценка между 2 дискретными во времени сигналами, используя метод корреляции.
Синтаксис
sm = cspect(nlags, npoints, wtype, x) sm = cspect(nlags, npoints, wtype, x, y) sm = cspect(nlags, npoints, wtype, nx) sm = cspect(nlags, npoints, wtype, nx, ny) [sm, cwp] = cspect(.., wpar)
Аргументы
- x
вектор, данные первого сигнала.
- y
вектор, данные второго сигнала сигнала. Если
yпропущен, то он предполагается равнымx(автокорреляция). Если он имеется в наличии, то он должен иметь то же количество элементов, что иx.- nx
скаляр: количество точек в сигнале
x. В этом случае сегменты сигналаxзагружены пользовательской функцией с именемgetx(см. ниже).- ny
скаляр: количество точек в сигнале
y. В этом случае сегменты сигналаyзагружены пользовательской функцией с именемgety(см. ниже). Если указан, тоnyдолжен быть равенnx.- nlags
количество сдвигов корреляции (положительное целое число)
- npoints
количество точек преобразования (положительное целое число)
- 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]нормированных частот. Это вектор-строка размеромnpoints. Массив является вещественным в случае автокорреляции и комплексным - в случае кросс-корреляции.- cwp
неопределённый параметр окна Чебышева в случае Чебышевской оконной обработки, либо пустая матрица.
Описание
Вычисляет кросс-спектральную оценку двух сигналов x
и y если указаны оба, и автоспектральную оценку
для x в противном случае. Спектральная оценка,
получена с помощью метода корреляции.
Кросс-спектр двух сигналов x и y
определяется как

Метод корреляции вычисляет спектральную оценку как преобразование Фурье модифицированной оценки функции авто/кросс-корреляции. Эта модифицированная оценка авто/кросс-корреляции состоит из повторно вычисляемых оценок функции автокорреляции из перекрытия под-сегментов данных, а затем усредняет эти оценки для получения результатов.
Количество точек окна равно 2*nlags-1.
Для пакетной обработки данные x и y
могут быть прочитаны сегмент за сегментом с помощью функций
getx и gety, определённых пользователем.
Эти функции имеют следующий синтаксис:
xk = getx(ns,offset) и
yk = gety(ns,offset) где ns - это
размер сегмента, и offset - это индекс первого элемента
сегмента в полном сигнале.
Предупреждение
Для версии Scilab до 5.0.2 возвращаемое значение было модулем текущего значения.
С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, bedge, des, wate] = (33, [0 .1;.125 .5], [1 0], [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); yf = hf .* xf; y = real(fft(yf,1)); sm = cspect(100, 200, 'tr', y); smsize = max(size(sm)); fr = (1:smsize)/smsize; plot(fr, log(sm))
Смотрите также
| Report an issue | ||
| << cepstrum | spectral_estimation | czt >> |