Примери за изобразяване на спектрален анализ scilab

Използвайки бързото преобразуване на Фурие, намерете дискретния спектър на сигнала.

За да извършим тази работа, ще използваме заслужено популярната програма за работа с числени данниSciLab. Програмата се разпространява свободно, за разлика от също мощната, но комерсиална среда MATLAB.

SciLab се актуализира редовно. Актуална версия на програмата: 5.4.1.

Графика на честотната характеристика и фазовата характеристика

Ние четем wav - вариантния файл в масив, получавайки дълбочината на цифровизация (в битове) и честотата на семплиране на сигнала

[ y , Fs , bits ]= wavread("N1 V3.wav");Fs,bits

Размерът на масиваyе: 220397 Нека изградим времева диаграма на сигнала:

Фигура 1 Времева диаграма на сигнала

Резултатът - броят на спектралните (комплексни) проби съответства на първоначалния брой времеви проби.

За да се извърши бързо преобразуване на Фурие според класическия алгоритъм, е необходимо да се допълни броят на показанията до 2 N с нули, най-близката е262144, или да се намали извадката до 2N, ако резолюцията по отношение на честотните компоненти ни устройва. Нека вземем 217= 131072 проби, за да изградим спектъра.

Нека направим бързо преобразуване на Фурие:-->Y=fft(y(1: 131072));ASF спектралните проби са огледални: AFS :-->plot(abs(Y));Добавяне на мрежа:-->xgrid(100);

Фигура 2 Амплитудно-честотен спектър ( A FS)

Фигура 3 Фазово-честотен спектър (PFS)

Амплитудните спектрални компоненти са концентрирани близо до нулевата честота, т.е. спектърът е относително нискочестотен.

Нека да разгледаме амплитудните и честотните спектри в областта на ниските честоти и да представимос x към честотите (честота на дискретизация 44000 Hz).

ASF честоти, започващи от нула:

Fn = 0, Fs/N, 2*Fs/n… Fs/2-1.

Фигура 4 Приближение на ASF, по-долу - честоти (Hz)

За фазовия спектър:

Фигура 5 Приближение на FFS, най-долу - честоти (Hz)

Привеждането на амплитудата е по-трудно, т.к честотата на дискретизация не е кратна на честотите на сигнала и спектърът е размазан.

За да намалим този ефект (амплитудното изкривяване в този случай е така нареченият „ефект на палисада“), използваме функцията на прозореца Flat Top.

Нека създадем прозорец с помощта на библиотеката tftb_window.sci

Фигура 6 Теглова функция FlatTop

Коефициент на нормализиране на показанията:

--> K =1/( сума (abs( H ))/(2^17));

--> yw = y(1:2^17).* H ; % поелементно умножение -->plot(yw) ; -->xgrid(100);

Фигура 7 Сигнал, претеглен по прозорец

Фигура 8 ASF за показания, в долната част на честотата (Hz.)

След премахване на „ефекта на палисадата“ може да се види, че някои честотни компоненти всъщност имат приблизително равни амплитуди.

AFS е еквивалентен на удвоената амплитуда на частта от положителните честоти (отляво на Fs /2).

Следователно, за да получите нормализиране на амплитудата в единиците за квантуване на ADC, трябва да ги умножите по

където N е броят на елементите в извадката.

Фигура 9. Нормализирана ASF

Успех със спектралния анализ!