Анализ на Фурие

Анализът на Фурие има много приложения, но тази тема е въведение в приложението на анализа на Фурие при работата с цифрови сигнали.

Да предположим, че един сложен сигнал x(t) е сумата на прости вълни

$$x(t)=\sum_{n=0}^{N-1} A_n \, \cos(2 \pi f_n (t-\tau_n))$$

с различни амплитуди An, честоти fn и фази τn. Използваме тригонометрични уравнения за да запишем

$$x(t)=\sum_{n=0}^{N-1} A_n \, \cos(2 \pi f_n (t-\tau_n))$$ $$=\sum_{n=0}^{N-1}A_n \, \cos(2 \pi f_n \tau_n) \, \cos(2 \pi f_n t)+A_n \, \sin(2 \pi f_n \tau_n) \, \sin(2 \pi f_n t)$$ $$=\sum_{n=0}^{N-1}B_n \, \cos(2 \pi f_n t)+C_n \, \sin(2 \pi f_n t)$$

за някакви коефициенти Bn = An cos(2π fn τn) и Cn = An sin(2π fn τn). Тъй като cos(2π fn t) и sin(2π fn t) са синусови и косинусови функции с нулева фаза, фазата на една проста вълна в сигнала x(t) е напълно определена от коефициентите Bn и Cn и можем да продължим да работим без фазата τn.

Ортогонални функции и реда на Фурие

Синусите и косинусите са ортогонални функции при внимателно избрани интервали и честоти. Ако m и n са две различни целочислени честоти, тогава

$$\int_0^{2\pi} \cos(m\,t) \, \cos(n\,t) \, dt = \int_0^{2\pi} \frac{1}{2}(\cos((m-n)t)+\cos((m+n)t)) \, dt$$ $$=\frac{1}{2} (-\frac{\sin(2\pi(m-n))-\sin(0)}{m-n}-\frac{\sin(2\pi(m_n))-\sin(0)}{m+n})=0$$

Тъй като m и n са цели числа и са различни, sin(2π (m – n)) и sin(2π (m + n)) са равни на нула. Можем по същия начин да докажем, че две синусови функции са ортогонални и че синуса и косинуса са ортогонални в дадения интервал и за целочислени стойности на m и n.

Резултатът не е същия, когато m = n. sin(m t) и cos(m t) все още са ортогонални, но sin(m t) и sin(m t) не са и cos(m t) и cos(m t) не са.

$$\int_0^{2\pi} \cos(m\,t) \, \cos(n\,t) \, dt = \int_0^{2\pi} \frac{1}{2}(\cos((m-n)t)+\cos((m+n)t)) \, dt$$ $$=\frac{1}{2} (2\pi-\frac{\sin(4\pi\,m)-\sin(0)}{m+n})=\pi$$

Този вид синуси и косинуси не е единствения, който можем да използваме. Ако заместим t с t 2π / T за някакъв интервал от време T, можем по същия начин да покажем, че синусови и косинусови функции от вида

$$\cos(\frac{2\pi\,n\,t}{T}), \, \sin(\frac{2\pi\,n\,t}{T})$$

са ортогонални, но този път в интервала от 0 до T. Ако T = 1 и сигнала x(t) се състои от само от целочислени честоти fn, можем да кажем, че x(t) е сумата на ортогонални функции

$$x(t)=\sum_{n=1}^{N} B_n \, \cos(2\pi\,n\,t)+C_n \, \sin(2\pi\,n\,t)$$

Простите вълни в x(t) са ортогонални в интервала между 0 и 1, разбира се, само ако x(t) се състои от прости вълни с целочислени честоти.

Това е важен резултат. Ако x(t) наистина се състои от целочислени честоти, тогава простите му вълни са ортогонални между 0 и 1 и можем да изчислим коефициентите Bn и Cn.

$$2 \int_0^1 x(t) \, \cos(2\pi\,n\,t) \, dt=2 B_n \, \int_0^1 \cos^2(2\pi\,n\,t) \, dt$$ $$=B_n \int_0^1 (1+\cos(4\pi\,n\,t)) \, dt=B_n(1-\sin(4\pi\,n)+\sin(0))=B_n$$ $$2 \int_0^1 x(t) \, \sin(2\pi\,n\,t) \, dt=C_n$$

Честотно съдържание (спектър) на един сигнал

Тъй като, по определение

$$B_n=A_n \, \cos(2\pi\,n\,\tau_n)$$ $$C_n=A_n \, \sin(2\pi\,n\,\tau_n)$$

за някакви амплитуди An и фази πn, тогава

$$|A_n|=\sqrt{B_n^2+C_N^2}$$ $$2\pi\,n\,\tau_n=\mathrm{atan2}(\frac{C_n}{B_n})$$

Знаем, че An е амплитудата на n-товата проста вълна сигнала и че 2π n τn е фазата на n-товата проста вълна, изразена в части от периода на вълната.

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

При дискретните сигнали, по-горните интеграли могат да се изчислят приблизително, като се вземат сумите от стойностите на функциите в, да кажем, N точки, умножени по интервала между точките (1 / N).

$$\frac{2}{N}\sum_{k=0}^{N-1}x(k) \, \cos(\frac{2\pi\,n\,k}{N}) \approx B_n$$ $$\frac{2}{N}\sum_{k=0}^{N-1}x(k) \, \sin(\frac{2\pi\,n\,k}{N}) \approx C_n$$

Изчисленията на амплитудата и фазата са същите.

където, за някакви равно разпределени точки k = 0, 1, …, N

$$B_n=\frac{2}{N} \sum_{k=0}^{N-1} x(k) \, \cos(\frac{2\pi\,n\,k}{N})$$ $$C_n=\frac{2}{N} \sum_{k=0}^{N-1} x(k) \, \sin(\frac{2\pi\,n\,k}{N})$$

Остава един важен въпрос. Изчисленията по-горе могат да се приложат върху сложни сигнали x(k), които се състоят от прости вълни с честоти равни на цели числа. Не всички сложни сигнали обаче се състоят от вълни с честоти равни на цели числа. А и не всички сложни сигнали се състоят непременно от синусови и косинусови вълни. Даже и не знаем дали сигналите на практика наподобяват синусови и косинусови вълни. Оказва се обаче, че не е важно дали сигналите на практика наподобяват суми на прости синусови и косинусови вълни.

В 1807 Джоузеф Фурие показва, че всяка периодична функция f(x) с период 2π, която може да се интегрира в [-π, π], има приближение равно на (потенциално безкрайната) линейната сума от синусови и косинусови вълни.

$$f(x) \approx \sum_{n=1}^{N} B_n \, \cos(n\,x)+C_n \, \sin(n\,x)$$

Тази сума се нарича ред на Фурие на функцията f(x). Редът на Фурие не винаги е ограничен и не винаги клони към f(x) във всяка точка.

Коефициентите Bn и Cn се изчисляват с интегралите

$$B_n=\frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \, \cos(n\,x) \, dx$$ $$C_n=\frac{1}{\pi} \int_{-\pi}^{\pi} f(x) \, \sin(n\,x) \, dx$$

Ако изместим тези интеграли с π и заменим x с x = 2π t, ще получим подобен резултат – един сигнал x(t) може да бъде изчислен приблизително с една сума от синусови и косинусови функции на 2π t в интервала между 0 и 1. Можем и да произведем подобен резултат в дискретния случай.

Така, дали един сигнал на практика се състои от синусови и косинусови вълни или не, не е важно. В един определен интервал, можем да заменим сигнала със сума от синусови и косинусови вълни подобни на тези, които използвахме досега.

Честотен спектър на един примерен сложен сигнал

Вземи един сложен сигнал, който е сумата на три прости вълни с честоти 10 Hz, 25 Hz и 50 Hz и с амплитуди съответно 1, 0.8 и 0.9. Да предположим, че имаме стойностите на сигнала при някаква пробна честота fs и нямаме нищо друго. Ако изчислим амплитудите на различните честоти в честотния диапазон за този сигнал като използваме формулите по-горе върху интервала между 0 и 1 (от пробата 0 до пробната честота, което означава, че N = fs в тези формули), ще получим следната графика.

Примерен честотен (амплитуден) спектър на един сложен сигнал

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

Синята линия в графиката по-долу показва честотното съдържание на сигнала при честоти, които не са равни на цели числа, около 25 Hz. Както можем да очакваме, съдържанието при честоти, които не са равни на цели числа, не е непременно нула. Тези функции не са ортогонални спрямо простите вълни в сигнала за избрания интервал. Можем обаче да направим едно важно наблюдение. Простите вълни с честоти, които не са цели числа, са ортогонални спрямо простите вълни с честоти цели числа за правилно избрани интервали. Простите вълни с честоти 5 Hz и 5.5 Hz например са ортогонални в интервала между 0 и 4π, вместо в интервала между 0 и 2π както в предишните изчисления. Можем така да подобрим изчисленията на честотното съдържание на интервала, ако използваме по-дълги интервали. Червената линия в графиката по-долу показва честотното съдържание на сигнала около 25 Hz, изчислено в интервала между нула и два пъти пробната честота. Както можем да очакваме, когато удвоим интервала, ще получим нули при честотите 22.5 Hz, 23.5 Hz и така нататък.

Примерно честотно (амплитудно) съдържание на един сложен сигнал при честоти, които не са цели числа

Амплитуда на една проста вълна изчислена със средно квадратично (RMS)

Амплитудата RMS (англ., "root mean square" = "средно квадратично") на една проста вълна x(k) = cos(2π f k / fs) с честота f в интервала между 0 и fs е

$$A_{RMS}=\sqrt{\frac{1}{f_s} \sum_{k=0}^{f_s} x(k)^2}=\sqrt{\frac{1}{f_s} \sum_{k=0}^{f_s} x(k) \, \cos(\frac{2\pi\,f\,k}{f_s})}$$ $$=\sqrt{\frac{B_n}{2}}=\sqrt{\frac{1}{2}} \approx 0.707107$$

Това е така, защото една проста косинусова вълна има реда на Фурие, който е самата вълна и Bn = 1. Резултатът е същия за една проста синусова вълна.

Добави нов коментар

Filtered HTML

  • Freelinking helps you easily create HTML links. Links take the form of [[indicator:target|Title]]. By default (no indicator): Click to view a local node.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Enter the characters shown in the image.