Преобразуване на Фурие

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

Преобразуването на Фурие на функцията x(t) се дава от формулата

Преобразуване на Фурие

Обратното преобразуване на Фурие

Обратно преобразуване на Фурие

Дискретизираното преобразуване на Фурие на функцията x(k) се определя с формулата

Дискретизирано преобразуване на Фурие

и съответното обратно преобразуване е

Обрано дискретизирано преобразуване на Фурие

Преобразуването на Фурие в дискретизирано време се определя с формулата

Преобразуване на Фурие в дискретизирано време

и съответното обратно преобразуване, обикновено описано с ω = 2π f, е

Обратно преобразуване на Фурие в дискретизирано време

За тези три преобразувания понякога се използват съкращенията FT, DFT и DTFT (от англ., "Fourier transform", "discrete Fourier transform" и "discrete-time Fourier transform").

Интерпретация

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

Вземи например дискретизираното преобразуване на Фурие и приложи формулата на Ойлер.

Формула на Ойлер при дискретизираното преобразуване на Фурие

за n = 0, 1, …, N – 1. Да предположим, че x(k) е един сигнал с реални стойности. Анализа на Фурие ни казва, че

Коефициенти в анализа на Фурие

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

Амплитуда и фаза в анализа на Фурие

на честотата n в сигнала x(k).

Така, преобразуването на Фурие е едно естествено разширение на редовете на Фурие. Имаме три причини за използването на преобразуването на Фурие вместо редовете на Фурие. Първо, преобразуването ан Фурие позволява по-кратки записи на изчисленията / уравненията. Второ, комплексните числа позволяват на преобразуването на Фурие да произведе една функция с комплексни стойности, което означава две различни стойности, които могат да се използват за амплитудата и фазата на сигнала. Комплексните числа ни позволяват едновременно да изчислим коефициентите Bn и Cn и да произведем една единствена функция H(n) – една функция, която ни дава (не директно) амплитудата и фазата. Трето, преобразуването на Фурие има обратно преобразуване, което може лесно да се изпише и което има своите употреби.

Един прост пример с дискретизираното преобразуване на Фурие

Да предположим, че имаме една проста дискретизирана вълна с честота f, амплитуда A и фаза m и с N проби за един период от време равен на 1. Стойностите на тази проста вълна ще са

Премахване на фазата

където B = -A sin(2π f m / N) и C = A cos(2π f m / N). Можем да изчислим дискретизираното преобразуване на Фурие по следния начин.

Дискретизирано преобразуване на Фурие за една проста вълна

за n = 0, 1, …, N – 1. Използваме пак формулата на Ойлер

Формулата на Ойлер при дискретизираното преобразуване на Фурие

и отбелязваме, че повечето от тези функции са ортогонални в дадения интервал с изключение на два случая – при n = f и при N – n = f. Във втория случай имаме

Дискретизирано преобразуване на Фурие в излишния случай

Преобразуването, като функция на f, е

Опростяване на дискретизираното преобразуване на Фурие при простата вълна

Двете суми, при достатъчно голяма пробна честота N, са приблизително равни на N / 2 и следователно, преобразуването е просто

Краен вариант на дискретизираното преобразуване на Фурие на една проста вълна

Така, дискретизираното преобразуване на Фурие на една проста вълна с честота f дава една функция H(n), която показва нещо за вълната при компоненти n = f и n = N – f и е нула в останалите случаи. По-точно, при n = f и n = N – f.

Амплитуда и фаза след дискретизираното преобразуване на Фурие на една проста вълна

Това са амплитудата (умножена по N / 2) и фазата на оригиналната проста вълна. Ако оригиналната вълна беше един сложен сигнал, състоящ се от много вълни с различни амплитуди и честоти, резултатът щеше да бъде подобен, защото синусите и косинусите с различни честоти са ортогонални.

Така, дискретизираното преобразуване на Фурие H(n) на сигнала с реални стойности x(k), с аргумент честотата n, показва амплитудата на n-товата проста вълна в сигнала x(k)

Амплитуда на n-товият компонент в дискретизирания сложен сигнал с дискретизираното преобразуване на Фурие

и фазата на n-товата вълна в x(k) е

Фаза на n-товия компонент в дискетния сложен сигнал с дискретизираното преобразуване на Фурие

Да предположим например, че изчисляваме дискретизираното преобразуване на Фурие за простата вълна с честота 10 Hz, като използваме дискретизираното преобразуване на Фурие със 100 точки над 2 секунди от вълната. Амплитудите на дискретизираните компоненти на преобразуването на Фурие ще бъдат както в графиката по-долу.

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

Дискретизираното преобразуване на Фурие не е нула – приблизително – при компоненти 20 и 80. Тъй като използваме 100 точки над 2 секунди, по принцип използваме пробната честота 50 Hz. Това означава, че използваме дискретизираното преобразуване на Фурие с компоненти 0.5 Hz, 1 Hz, 1.5 Hz, …, 49.5 Hz (Тези кратни на 0.5 Hz са ортогонални в интервала от 2 секунди.). 20-тият компонент е 10 Hz и е нормално да получим ненулева стойност за този компонент. Според дискусията по-горе, нормално е и да получим ненулева стойност за компонента 80 = 100 – 20. Амплитудите на дискретизираното преобразуване на Фурие при тези два компонента са 100 / 2 = 50. Резултатите са такива, каквито очаквахме. (Избрахме да изчислим дискретизираното преобразуване на Фурие с N равно разпределени точки над 2. Какви точки изберем за дискретизираното преобразуване на Фурие влияе на това, кои са неговите компоненти. Тук компонентите са честотите между 0 и N / 2. Дискретизираното преобразуване на Фурие най-често се изчислява с първите N на някакъв сигнал с пробната честота fs. В този случай, компонентите са честотите 0, fs / N, 2 fs / N, …, (N – 1) fs / N. Дискретизираното преобразуване на Фурие тогава поставя един интересен въпрос – какво означава компонента 0. Амплитудата на компонента при 0 на някакъв сигнал x(k) = A0 + A1 sin(2π k f / N) е N A0. Така, въпреки че компонента 0 при дискретизираното преобразуване на Фурие на цифровите сигнали е безсмислен, при аналоговите сигнали той представлява силата на постоянния ток.)

Когато входния сигнал в дискретизираното преобразуване на Фурие или в обратното дискретизирано преобразуване на Фурие има реални, а не комплексни стойности, преобразуването произвежда такива комплексни числа, че H(N – 1 – n) е комплексно спрегнатото на H(n). Информацията за n > N / 2 е излишна.

Фактът, че дискретизираното преобразуване на Фурие на един сигнал с реални стойности произвежда информация, която се повтаря и е излишна, притеснява. Имаме два избора. Първо, можем да пренебрегнем втората половина от резултатите от преобразуването. Второ, можем да дадем комплексни сигнали на преобразуването. Комплексната честота f с N проби например е

Проста вълна с комплексни стойности

Когато на дискретизираното преобразуване на Фурие се дават комплексни сигнали, обаче, резултатите са различни. Вземи простата вълна

Формулата на Ойлер за една проста вълна с комплексни стойности преди дискретизираното преобразуване на Фурие

Компонентът H(n) на дискретизираното преобразуване на Фурие при n = f ще бъде

Дискретизирано преобразуване на Фурие на една проста вълна с комплексни стойности

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

Дискретизираното преобразуване на Фурие H(n) на един сигнал x(k) с комплексни стойности показва амплитудата на n-товата проста вълна в сигнала x(k)

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

и фазата на n-товата проста вълна в x(k)

Фаза на една проста вълна с комплексни стойности изчислена с дискретизираното преобразуване на Фурие

Дискретизираното преобразуване на Фурие и филтрите с ограничени импулсни спектри

Един нискочестотен филтър с ограничен импулсен спектър е просто един сигнал, композиран от простите вълни с честоти, които са по-малки от преходната честота fc (виж Нискочестотен филтър). Би трябвало да можем да използваме дискретизираното преобразуване на Фурие за да изчислим честотния спектър (амплитудния спектър и фазовия спектър) на нискочестотния филтър. Както по-горе, отбелязваме, че нискочестотният филтър има реални стойности и следователно можем да отхвърлим половината от компонентите. Отбелязваме и, че нискочестотният филтър с дължина N в темата Нискочестотен филтър вече е умножен по 2 / N. Така, ще използваме стандартното дискретизирано преобразуване на Фурие с N точки, но при изчисляването на амплитудата, няма да умножаваме по 2 / N. Изчислението за амплитудния спектър на филтъра ще бъде

Амплитуден спектър на един филтър с ограничен импулсен спектър след дискретизираното преобразуване на Фурие

Тъй като дискретизираното преобразуване на Фурие е изчислено с малък брой компоненти – дължината на филтъра – означава, че амплитудният спектър ще бъде рядък и разпръснат в честотния диапазон, както в по-долната графика. Да предположим, че имаме пробната честота fs = 2000 Hz и създаваме един стандартен нискочестотен филтър с ограничен импулсен спектър с дължина N = 101 и с преходна честота fc = 40 Hz. Амплитудният спектър в графиката по-долу използва преобразуване с N = 101 точки, което е и дължината на филтъра. Преходната честота е между компоненти 2 и 3, което, при пробната честота fs = 2000 Hz, е между 39.6 Hz и 59.4 Hz (101 проби в 2000 Hz означава 19.8 Hz за всеки компонент). Забележи също, че графиката използва само първите 50 компонента, което е половината от N.

Графика на амплитудния спектър на един филтър с ограничен импулсен спектър след дискретизираното преобразуване на Фурие

С дискретизираното преобразуване на Фурие можем и да изчислим фазовия спектър на нашия нискочестотен филтър. Отбелязваме, че филтърът има коефициенти, които са симетрични спрямо средата, т.е. a(k) = a(N – 1 – K). Да предположим засега, че Re(H(n)) > 0. Тогава

Фазов спектър на един филтър с ограничен импулсен спектър след дискретизираното преобразуване на Фурие

Тъй като a(k) = a(N – 1 – k),

Опростяване на фазовия спектър на един филтър с ограничен импулсен спектър след дискретизираното преобразуване на Фурие

Фазовият спектър, ако предположим, че филтърът е с нечетна дължина, е следния.

ще опростяване на фазовия спектър на един филтър с ограничен импулсен спектър след дискретизираното преобразуване на Фурие

"1 +" в числителя и знаменателя е там, ако филтърът е с нечетна дължина. Ако филтърът има четна дължина N, изчисленията ще бъдат същите, но без "1 +". Така,

Краен вариант на фазовия спектър на един филтър с ограничен импулсен спектър след дискретизираното преобразуване на Фурие

Фазовият спектър на един филтър с ограничен импулсен спектър и с коефициенти, които са симетрични спрямо средата, е линеен спрямо честотата n и дава забавяне от (N – 1) / 2 проби. В тези изчисления предположихме, че Re(H(n)) > 0, но и в другите случаи изчисленията са подобни.

Използване на обратното дискретизирано преобразуване на Фурие

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

Един нискочестотен филтър изчислен като сума от прости вълни

Това уравнение може да се изпише като

Един нискочестотен филтър изчислен като сума от прости вълни – промени

където Bn е желания амплитуден спектър на филтъра, равен на 1 до преходната честота fc и на нула след това. Горната граница на сумата е fs / 2 според Теоремата за дискретизацията.

Тази формула е подобна на обратното дискретизирано преобразуване на Фурие, с изключение на това, че използва само реалната част от комплексното обратно дискретизирано преобразуване на Фурие (затова само косинусите), е ограничена до половината от преобразуването (затова сумата е само до fs / 2) и е умножена по 2. Така, тази формула използва проби с пробната честота в честотния диапазон и използва изчисления, подобни на обратното дискретизирано преобразуване на Фурие, за да създаде един филтър. Не е задължително да използваме проби само с пробната честота fs и можем да използваме каквато и да е пробна честота N. С други думи, този нискочестотен филтър може да бъде създаден с

Един нискочестотен филтър изчислен като сума от прости вълни – още промени

Знаем, че косинусите са симетрични спрямо нулата, и че филтърът a(k) би трябвало също да е симетричен спрямо нулата, ако искаме филтър с линеен фазов спектър. Можем да удължим сумата и да премахнем умножаването по 2 по следния начин.

Един нискочестотен филтър, изчислен като сумата от прости вълни – наподобяване на обратното дискретизирано преобразуване на Фурие

Забележи естественото добавяне на n = 0 към сумата. Тъй като Bn представлява желания амплитуден спектър на филтъра, този амплитуден спектър би трябвало да остане равен на 1, когато честотата клони към нула.

Накрая, ако искаме да направим филтъра симетричен спрямо (N – 1) / 2, можем да го изместим по следния начин.

Един нискочестотен филтър изчислен като сумата от прости вълни – след изместването

Тази формула за филтъра наподобява обратното дискретизирано преобразуване на Фурие, но не е обратното дискретизирано преобразуване на Фурие. Няма да използваме обратното дискретизирано преобразуване на Фурие за да създадем един филтър с ограничен импулсен спектър. Между обратното преобразуване и изчислението на филтъра има важни разлики. Първо, формулата по-горе използва само реалната част на обратното дискретизирано преобразуване на Фурие. Второ, формулата по-горе е изместена и спрямо n, понеже сумата е от–N / 2 до N / 2, и спрямо k, защото сумата използва k – (N – 1) / 2.

Формулата по-горе е реалната част на обобщеното или изместено обратно дискретизирано комплексно преобразуване на Фурие, което обикновено се записва с

Обобщено (изместено) обратно дискретизирано преобразуване на фурие

Забележи, че лесно можем да добавим имагинерната част на обратното дисретизирано преобразуване на Фурие по-горе. Понеже синусовите функции са нечетни (т.e., sin(-x) = -sin(x)), сумата от стойности на синусите за n = -N / 2, …, N / 2 ще бъде нула. С други думи, понеже избрахме желан амплитуден спектър Bn, който е симетричен спрямо нулата, създадохме едно обратно преобразуване, а и филтър, който съдържа само реални коефициенти.

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

Проби на (недискретизираното) обратното преобразуване на Фурие

Преобразуването на Фурие в непрекъснато (недискретизирано) време превежда един сигнал x(t), който е функция на времето за определени амплитуди, честоти и фази, в един сигнал H(x(t)), който е функция на честотите и фазите за определени амплитуди и време. Обратното преобразуване на Фурие превежда функции на честотите и фазите в сигнали във времето. Един пример на как могат да се вземат проби от обратното преобразуване на Фурие в непрекъснато време за да се получи един нискочестотен филтър е даден в темата Нискочестотен филтър.

Връзка между преобразуването на Фурие и други преобразувания

Преобразуването на Фурие в дискретизирано време е специален случай на преобразуването Z. То е преобразуването Z със z = e = ej 2πf.

Преобразуването на Фурие (недискретизирано) е еквивалентно на двустранното преобразуване на Лаплас със s = j ω = j 2πf.

Свойства на преобразуването на Фурие

Следното са някои от основните свойства на преобразуването на Фурие. Нека преобразуването на Фурие на x(t) да бъде Hs, както в определението в началото на тази тема. Ако имаме интегруемите функции x(t) и y(t), комплексните числа a и b, реални числа T и S и реалното ненулево число c

Свойства на преобразуването на Фурие

Първото свойство разбира се е линейността на преобразуването на Фурие. Второто и третото уравнение дават свойствата на времевото изместване. Четвъртото свойство е за мащаба във времевия диапазон. Петото уравнение показва свойствата на комплексното спрягане (което обяснява и излишните резултати, които се появяват при преобразуването реални данни). Последното уравнение показва преобразуването на конволюцията, което е полезно при създаването на трансферни функции на цифрови филтри, които са подредени един след друг.

Бележка за бързото преобразуване на Фурие

Изчисленията с дискретизираното преобразуване на Фурие са доста тежки. Всяко дискретизирано преобразуване на Фурие с дължина N използва N2 умножения на комплексни числа. Това, че броят на изчисленията в дискретизираното преобразуване на Фурие е пропорционален на N2, означава, че самото преобразуване се нарича O(N2) алгоритъм.

Като алтернатива може да се използва бързото преобразуване на Фурие или FFT (от англ., "fast Fourier transform" или "бързо преобразуване на Фурие"). FFT не е преобразуване, а е един алгоритъм за по-бързи изчисляване на дискретизираното преобразуване на Фурие. Съществуват доста на брой, достъпни и добри програмни реализации на FFT и няма да представим такива тук. Тук просто ще дадем теоретичната база на FFT, която е доста проста.

FFT използва следното уравнение, което е познато като лемата на Даниелсън и Ланцош. Дискретизираното преобразуване на Фурие с N точки HN(x(k)), може да се запише по следния начин

Лема на Даниелсън и Ланцош

С други думи, дискретизираното преобразуване на Фурие с N точки може да се изчисли като сумата на две дискретизирани преобразувания на Фурие от по N / 2 точки, където първото преобразуване минава през четните компоненти на оригиналното преобразуване, а второто преобразуване минава през нечетните компоненти на оригиналното преобразуване. Второто преобразуване – с нечетните точки – трябва да се умножи с някаква константа.

Ако можем да разделим дискретизираното преобразуване на Фурие на две преобразувания с дължина N / 2, тогава можем и да разделим тези две нови преобразувания на четири преобразувания с дължина N / 4. Всъщност, ако изберем лесния случай, в който N е равно на 2 на някаква степен, можем да продължим да разделяме преобразуването на по-малки преобразувания, докато стигнем до няколко преобразувания с дължина 1.

При едно дискретизирано преобразуване на Фурие с дължина N, FFT ще използва N преобразувания с дължина едно и N комплексни изчисления заради константите, които се появяват пред преобразуванията с нечетна дължина. За FFT, обаче, ще трябват и log2(N) изчисления за да се извърши разделянето на дискретизираното преобразуване на Фурие на по-малки преобразувания. Така, броят на операциите във FFT е пропорционален на N log2(N), което означава, че FFT е един O(N log2(N)) алгоритъм. При голям брой данни, FFT ще бъде доста по-бързо от дискретизираното преобразуване на Фурие. Дискретизираното преобразуване на Фурие може да се използва например при транспониране на аудио. При транспонирането на една аудио писта с дължина три минути може да трябват около 8 трилиона изчисления с дискретизираното преобразуване на Фурие, но за същото транспониране с FFT ще трябват само 80 милиона изчисления.

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

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.