Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
scilab.pdf
Скачиваний:
201
Добавлен:
21.03.2016
Размер:
1 Мб
Скачать
☆

6.2 Вычисление спектральной функции

79

 

 

6.2Вычисление спектральной функции

Спектральная функция детерминированного конечного дискретного сигнала ( ) определяется как квадрат модуля изображения Фурье этого сигнала:

( ) =

 

( ) −

2

.

1

−1

 

 

 

 

=0

 

 

 

∑

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим несколько способов расчета спектра сигнала с использованием среды Scilab.

6.2.1Вычисление спектра случайного сигнала методом периодограмм

Первый метод – метод I периодограмм. Периодограмма конечной последовательности определяется как

( ) =

 

( ) ( ) −

2

,

1

−1

 

 

 

 

=0

 

 

 

∑

 

 

 

 

 

 

 

 

 

 

 

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

спектра ^

 

 

является средним значением периодограмм:

^

1

−1

 

 

∑

( ) =

 

,

 

 

=0

Эти периодограммы усреднены и нормализованы для достижения требуемой оценки спектральной функции сигнала.

Вычисление спектральной функции методом периодограмм осуществляется функцией pspect.

В качестве примера рассмотрим случайный сигнал, полученный пропусканием белого шума с единичной дисперсией через фильтр низких частот.

rand(’normal’);

rand(’seed’,0);

80

Функции обработки сигналов

 

 

x=rand(1:4096-33+1); nf=33;

bedge=[0 .1;.125 .5]; des=[1 0];

wate=[1 1]; h=eqfir(nf,bedge,des,wate); y=convol(h,x); sm=pspect(100,200,’tr’,y); [hf,fr]=frmag(h,100); xsetech([0 0 1 .5])

plot2d(fr,20*log10(hf)), xgrid();

xtitle(’Squared magnitude of the filter response’,...

’freq (Hz)’,’magnitude (db)’) xsetech([0 .5 1 .5]) plot2d(fr,20*log10(sm(1:100))), xgrid(); xtitle(’Estimate of the spectrum’,...

’freq (Hz)’,’magnitude (db)’)

Для вызова функции pspect необходимо передать следующие параметры: сдвиг сегмента данных, длина каждого сегмента данных, тип окна (в данном примере используется треугольное окно) и вектора данных, задающих сигнал. В функцию можно передать вектор второго сигнала, тогда будет найдена оценка их взаимного спектра. Результат показан на рис. 6.6.

6.2.2Вычисление спектра случайного сигнала методом корреляции

Второй метод, метод корреляции, заключается в вычислении преобразования Фурье усредненной оценки автокорреляционной функ-

ции. Для каждого -точечного сегмента данных, ( ), оценка 2

точек автокорреляционной функции вычисляется следующим образом:

 

−1−

^ ( ) =

∑

( + ) *( )

 

=0

6.2 Вычисление спектральной функции

81

 

 

 

1.2

 

 

 

Elliptic low−pass filter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(dB)

1.0

 

 

 

 

 

 

 

 

 

 

 

0.8

 

 

 

 

 

 

 

 

 

 

 

Amplitude

 

 

 

 

 

 

 

 

 

 

 

0.6

 

 

 

 

 

 

 

 

 

 

 

0.4

 

 

 

 

 

 

 

 

 

 

 

0.2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.0

 

 

 

 

 

 

 

 

 

 

 

 

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45

0.50

freq (Hz)

1.0

 

 

 

Chebyshev band−pass filter

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0.9

 

 

 

 

 

 

 

 

 

 

0.8

 

 

 

 

 

 

 

 

 

 

(dB)

 

 

 

 

 

 

 

 

 

 

0.7

 

 

 

 

 

 

 

 

 

 

0.6

 

 

 

 

 

 

 

 

 

 

0.5

 

 

 

 

 

 

 

 

 

 

0.4

 

 

 

 

 

 

 

 

 

 

0.3

 

 

 

 

 

 

 

 

 

 

Amplitude0.2

 

 

 

 

 

 

 

 

 

 

0.1

 

 

 

 

 

 

 

 

 

 

0.0

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45

0.50

0.00

 

 

 

 

Butterworth stop−band filter

 

 

 

 

freq (Hz)

1.1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.0

 

 

 

 

 

 

 

 

 

 

 

0.9

 

 

 

 

 

 

 

 

 

 

 

(dB)0.8

 

 

 

 

 

 

 

 

 

 

 

0.7

 

 

 

 

 

 

 

 

 

 

 

0.6

 

 

 

 

 

 

 

 

 

 

 

0.5

 

 

 

 

 

 

 

 

 

 

 

0.4

 

 

 

 

 

 

 

 

 

 

 

0.3

 

 

 

 

 

 

 

 

 

 

 

Amplitude

 

 

 

 

 

 

 

 

 

 

 

0.2

 

 

 

 

 

 

 

 

 

 

 

0.1

 

 

 

 

 

 

 

 

 

 

 

0.0

 

 

 

 

 

 

 

 

 

 

 

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45

0.50

freq (Hz)

Рис. 6.5: АЧХ БИХ-фильтров, полученных

при помощи функции eqiir

10

 

Squared magnitude of the filter response

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

(db)−10

 

 

 

 

 

 

 

 

 

 

−20

 

 

 

 

 

 

 

 

 

 

−30

 

 

 

 

 

 

 

 

 

 

magnitude−40

 

 

 

 

 

 

 

 

 

 

−50

 

 

 

 

 

 

 

 

 

 

−60

 

 

 

 

 

 

 

 

 

0.50 freq (Hz)

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45

 

10

 

 

Estimate of the spectrum

 

 

 

 

 

 

 

0

 

 

 

 

(db)

−10

 

 

 

 

−20

 

 

 

 

magnitude

 

 

 

 

−30

 

 

 

 

−40

 

 

 

 

−50

 

 

 

 

−60

 

 

 

 

 

 

 

 

 

 

−70

 

 

 

 

 

−80

0.05

0.10

0.15 0.20 0.25 0.30 0.35

0.40 0.45 0.50 freq (Hz)

 

0.00

Рис. 6.6: Cпектр сигнала, рассчитанный по pspect

82

Функции обработки сигналов

 

 

для = 0, ±1, ±2, ..., ± оценка спектральной функции принимает вид

{ }

^ ~

( ) = ( ) ( ) ,

где – оператор преобразования Фурье, ( ) – вырезающая функ-

ция, ~

 

 

( ) – среднее значение оценок:

~ 1

 

^

=

 

∑

.

 

=1

 

 

 

Корреляционный метод оценки спектра реализован функцией cspect. Рассмотрим применение этой фунции, используя сигнал из предыдущего примера:

rand(’normal’);

rand(’seed’,0); x=rand(1:4096-33+1); nf=33;

bedge=[0 .1;.125 .5]; des=[1 0];

wate=[1 1]; h=eqfir(nf,bedge,des,wate); y=convol(h,x); sm=cspect(33,200,’ch’,y,[.02,-1]); [hf,fr]=frmag(h,100);

xsetech([0 0 1 .5]) plot2d(fr,20*log10(hf)), xgrid();

xtitle(’Squared magnitude of the filter response’,...

’freq (Hz)’,’magnitude (db)’) xsetech([0 .5 1 .5]) plot2d(fr,20*log10(sm(1:100))), xgrid();

xtitle(’Estimate of the spectrum’,’freq (Hz)’,...

’magnitude (db)’)

Первые два параметра функции pspect – количество интервалов корреляции и количество преобразуемых точек, следующие параметры, как и в pspect, – выбор окна (в данном случае – окно Чебышева) и вектор, задающий сигнал. Последний аргумент – параметры выбранного окна. Результат показан на рис. 6.7.

6.2 Вычисление спектральной функции

83

 

 

10

 

Squared magnitude of the filter response

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

(db)−10

 

 

 

 

 

 

 

 

 

 

magnitude−40

 

 

 

 

 

 

 

 

 

 

−20

 

 

 

 

 

 

 

 

 

 

−30

 

 

 

 

 

 

 

 

 

 

−50

 

 

 

 

 

 

 

 

 

 

−60

 

 

 

 

 

 

 

 

 

0.50 freq (Hz)

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45

Estimate of the spectrum

 

10

 

 

 

(db)

0

 

 

 

−10

 

 

 

−20

 

 

 

magnitude

 

 

 

−30

 

 

 

−40

 

 

 

−50

 

 

 

 

 

 

 

 

−60

 

 

 

 

−70

 

 

0.40 0.45 0.50 freq (Hz)

 

0.00

0.05

0.10 0.15 0.20 0.25 0.30 0.35

Рис. 6.7: Спектр сигнала, рассчитанный по cspect

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]