ПРОЦЕСИ Цел на спектралния анализ на сигналите е определянето на : хармоничния (честотен) спектър т.е. честотите на различните хармонични компоненти на сигнала. амплитуден спектър т.е. амплитудите на тези компоненти фазов спектър т.е. началните фази на компонентите.
В основата на спектралний анализ лежи теорията на Фурие за възможноста да се разложи всеки периодичен процес в безкраен, но изброим ред от хармонични компоненти. Ще разгледаме някои положения от теорията на спектралния анализ.
Всеки периодичен процес с период T=1/f=2/w може да се представи като комплексен ред на Фурие:
(1)
при което числата X*(m), наричани комплексни амплитуди на хармоничните компоненти се изчисляват по формулите:
(2)
Така честотния спектър на периодическия процес се състои от честоти, които са кратни на основната честота т.е. от честоти
fm=mf (m=0,1,2,...) (3)
Реалните и имагинерни части на комплексните амплитуди X*(m) образуват съответно реалните и имагинерни спектри на периодическия процес. Можем да представим комплексната амплитуда (2) в експоненциална форма:
(4)
Тук am представлява амплитудата на m-тата хармоника, а m е началната фаза на тази хармоника имаща форма на косинусоида. Така изходния процес може да се представи по следния начин, което собствено е ред на Фурие:
(5)
За реални процеси са валидни следните зависимости:
ReX(-m)=ReX(m); ImX(-m)=-ImX(m) (6)
Реалната част на спектъра е четна функция на честотата, докато имагинерния спектър е нечетна функция на честотата. Разложенията (1)и (5) позволяват да се разглежда съвкупноста на комплексните амплитуди (2) като изображение на периодическия процес в честотната област.
Желанието да се разшири този подход и за непериодични процеси е довело до т. нар. преобразование на Фурие (или Фурие-изображение), задавано от израза:
(7)
Този интеграл, въпреки външната си прилика с формула (2) за комплексните коефициенти в реда на Фурие, се различава съществено от тях.
Първо, ако физическата размерност на комплексната амплитуда съвпада с размерноста на самата физическа величина x(t), то размерноста на Фурие-изображението е равна на размерноста на x(t), умножена по размерноста на времето.
Второ, интегралът (7) съществува само за двустранно затихващи процеси (т.е. такива които клонят към нула както при t->, така и при t->- ). Оттук следва, че той не може да се прилага към т. нар. стационарни трептения.
Обратното преобразование на Фурие се определя от следния интеграл, който донякъде е аналог на комплексния ред на Фурие (1):
(8)
Тези различия и противоречия до известна степен се изглаждат при числените изчисления, тъй като при тях процесът винаги се разглежда в краен интервал, а самият процес е зададен в краен брой точки. Интегрирането се замества със сумиране и вместо интеграла (7) можем да запишем сумата:
(9)
Тук има следните разлики в сравнение с представянето чрез интеграл (7).
-
безкрайния интеграл е заменен с ограничена сума от правоъгълници.
-
непрекъснатото време t е заменено с дискретни значения (m-1)t, където m е номера на точката от началото на процеса.
-
непрекъсната честота f е заменена с дискретното и значение (k-1)f, където к е номера на значението на честотата, а честотната стъпка f=1/T, където Т е интервала от време в който е зададен процеса.
-
диференциалът dt е заменен с времевата стъпка t.
Ако въведем обозначенията:
(10)
и ако отчетем, че броя на точките, в които е зададен процеса е равен на:
(11)
тогава съотношение (7) може да се представи в следния вид:
(12)
Обаче библиотечните функций fft (Fast Fourier Transfer) и ifft (Inverse Fast Fourier Transfer), които извършват право и обратно числови Фурие преобразования,
извършват изчисленията по следните формули:
(13)
Ако сравним формулите (12) и (13) виждаме, че процедурата fft фактически намира дискретното Фурие-изображение на зададен във времето дискретен процес x(t), разделено на времевата стъпка т.е.:
(14)
Ако дискретизираме по аналогичен начин равенство (2) за комплексната амплитуда X*(k) получаваме:
(15)
От тук следва, че комплексния спектър в разложението на Фурие се получава като приложим процедурата fft към вектора на измерения процес и след това разделим на броя на измерванията.
Прилагане на процедурата fft
За да извършем процедурата fft трябва да извършим следните стъпки:
1) От зададената времева стъпка t изчисляваме горната граница в честотния диапазон Fmax=1/t;
2) От интервала време Т, в който е зададен разглеждания процес определяме честотната стъпка f=1/T;
3) От получените данни формираме вектора на дискретните значения на честотите, например f=0 : f : Fmax ;
В резултат на прилагане на процедурата fft се получава представяне на процеса в
честотната област. Но резултата не е точното Фурие изображение. За да се получи Фурие изображение след прилагането на fft трябва допълнително да се извършат следните операции:
1) Към резултата от fft да се приложи процедурата fftshift, която разменя местата на първата и втората половина на получения вектор.
2) Векторът на честотите да се преобразува по алгоритъма
f= -Fmax/2 : f : Fmax/2 (16)
Фурие изображение на правоъгълен импулс
Ще формираме процес, състоящ се от единичен правоъгълен импулс. Ще зададем времева стъпка Ts=0.01, продължителност на процеса Т=100, амплитуда и ширина на импулса съответно A=0.75 и w=0.5.
Ts=0.01;T=100; A=0.75; w=0.5;
t=0:Ts:T; y=A*rectpuls(t,w);
plot(t(1:100), y(1:100)); grid
Ще приложим към вектора у процедурата fft и ще построим графика на абсолютната стойност от честотата като използваме графичната процедура stem, която дава стойностите на амплитудите във вид на стълбове.
x=fft(y); df=1/T; Fmax = 1/Ts;f=0 :df :Fmax;
a=abs(x); stem(f,a); grid
Ще построим графика на абсолютната стойност на Фурие-изображението от честотата.
xp=fftshift(x); f1=-Fmax/2:df:Fmax/2; a=abs(xp);
stem(f1,a); grid
Накрая ще построим графики на реалната и имагинерната части на Фурие-изображението:
rch=real(xp); imch=imag(xp);
plot(f1,rch,'.',f1,imch);grid
Ще разгледаме пример на тричестотни хармонични трептения – с честоти 1/, 1 и 3 Hz и амплитуди съответно 0.6, 0.3 и 0.7. Ще намерим Фурие изображението на този процес и ще изведем графично както процеса така и модела на неговото Фурие-изображение, а също реалната и имагинерна части.
Първо ще изведем графиката на процеса:
Ts=0.01;T=100;
t=0:Ts:T; y=0.6*cos(2*t)+0.3*sin(2*pi*t)+0.7*cos(6*pi*t+pi/4);
plot(t, y); grid
Ще намерим комплексния спектър на процеса (това е модула на Фурие-изображението разделено на броя на точките на наблюдение, вж.(15)) и ще го покажем графично:
df=1/T; Fmax = 1/Ts; dv=length(t);f=-Fmax/2 :df :Fmax/2;
x=fft(y)/dv; xp=fftshift(x); A=abs(xp);
s1=dv/2 - 400; s2= dv/2 + 400;
stem(f(s1:s2), A(s1:s2)); grid
Накрая ще отделим на отделни графики реалния и имагинерния спектър:
real_part=real(xp); imag_part=imag(xp);
subplot(2,1,1), plot(f(s1:s2),real_part(s1:s2)); grid
subplot(2,1,2), plot(f(s1:s2),imag_part(s1:s2)); grid
От получените графики може да се съди не само за амплитудите и
честотите на отделните хармонични кампоненти, но също и за техните начални фази.
Сподели с приятели: |