Андрей Шелковенко. Един от разработчиците и основател на Vibromera.
Преводът на статията може да съдържа неточности.
- Преобразуване на Фурие и спектър на сигнала
В много случаи задачата за получаване (изчисляване) на спектъра на даден сигнал е следната. Има АЦП, който с честота на дискретизация Fd преобразува непрекъснатия сигнал, който постъпва на входа му за време T, в цифрови проби - N броя. След това този масив от образци се подава на някаква програма (например FourierScope), който извежда N/2 някои числови стойности.
За да проверим дали програмата работи правилно, формираме масив от извадки като сума от две sin(10*2*pi*x)+0,5*sin(5*2*pi*x) и го подаваме на програмата. Програмата извежда следното:
На графиката на спектъра има два хармоника - 5 Hz с амплитуда 0,5 V и 10 Hz с амплитуда 1 V, като всичко е както във формулата на оригиналния сигнал. Всичко е наред, грограмата работи правилно.
Това означава, че ако подадем реален сигнал от смес от две синусоиди на входа на АЦП, ще получим подобен спектър, състоящ се от два хармоника.
И така, нашият истински измерен сигнал с продължителност 5 сек., дигитализирани от АЦП, т.е. представени от дискретни проби, има дискретни непериодични спектър.
От математическа гледна точка - колко грешки има в тази фраза?
Сега нека се опитаме да измерим същия сигнал за 0,5 сек.
Нещо не е наред тук! Хармоникът с честота 10 Hz е начертан нормално, а вместо хармониката с честота 5 Hz има някои неясни хармоници.
В интернет се казва, че е необходимо да се добавят нули в края на извадката и спектърът ще бъде изготвен нормално.
Това съвсем не е така. Ще трябва да се справя с теорията. Нека да отидем на Уикипедия - източникът на знание.
2. Непрекъсната функция и представяне на редицата на Фурие
От математическа гледна точка нашият сигнал с продължителност T секунди е някаква функция f(x), зададена на интервала {0, T} (X в този случай е времето). Такава функция винаги може да се представи като сума от хармонични функции (синус или косинус) от вида:
k е числото на тригонометричната функция (числото на хармоничния компонент, числото на хармониката)
T - сегмент, в който е дефинирана функцията (продължителността на сигнала)
Ak - амплитуда на k-тия хармоничен компонент,
θk- началната фаза на k-тия хармоничен компонент
Какво означава "да представим функцията като сума от редовете"? Това означава, че като съберем стойностите на хармоничните компоненти на редицата на Фурие във всяка точка, ще получим стойността на нашата функция в тази точка.
(По-точно казано, средното квадратично отклонение на редицата от функцията f(x) ще клони към нула, но въпреки средната квадратична сходимост, редицата на Фурие на дадена функция не е задължително да се сходи към нея точка по точка. )
Тази поредица може да бъде записана и във вида:
където , к-тата комплексна амплитуда.
или
Връзката между коефициентите (1) и (3) се изразява със следните формули:
Обърнете внимание, че всички тези три представяния на редиците на Фурие са напълно еквивалентни. Понякога, когато се работи с редове на Фурие, е по-удобно да се използват експонентите на въображаемия аргумент вместо синусите и косинусите, т.е. да се използва трансформацията на Фурие в комплексна форма. Но за нас е удобно да използваме формула (1), където редицата на Фурие се представя като сума от косинуси със съответните амплитуди и фази. Във всеки случай е погрешно да се каже, че резултатът от преобразуването на Фурие на реалния сигнал ще бъдат комплексни хармонични амплитуди. Както правилно казва Уики: "Трансформацията на Фурие (ℱ) е операция, която съпоставя една функция на реална променлива с друга функция също на реална променлива."
Извод:
Математическата основа на спектралния анализ на сигналите е преобразуването на Фурие.
Преобразуването на Фурие позволява да се представи непрекъсната функция f(x) (сигнал), дефинирана на интервала {0, T}, като сума от безкраен брой (безкрайна редица) тригонометрични функции (синус и/или косинус) с определени амплитуди и фази, също разглеждани на интервала {0, T}. Такава редица се нарича редица на Фурие.
Обърнете внимание на още няколко точки, чието разбиране е необходимо за правилното прилагане на преобразуването на Фурие при анализа на сигнали. Ако разгледаме редицата на Фурие (сума от синусоиди) по цялата ос Х, ще видим, че извън интервала {0, Т} функцията на редицата на Фурие периодично ще повтаря нашата функция.
Например на графиката на фиг. 7 оригиналната функция е дефинирана върху интервала {-T\2, +T\2}, а редицата на Фурие представлява периодична функция, дефинирана върху цялата ос x.
Това е така, защото самите синусоиди са периодични функции, така че тяхната сума също ще бъде периодична функция.
По този начин:
Първоначалната ни функция е непрекъсната, непериодична функция, дефинирана върху някакъв участък с дължина T.
Спектърът на тази функция е дискретен, т.е. той се представя като безкрайна редица от хармонични компоненти - редица на Фурие.
Всъщност редицата на Фурие дефинира някаква периодична функция, която съвпада с нашата функция на интервала {0, T}, но за нас тази периодичност не е от съществено значение.
Следващия.
Периодите на хармоничните компоненти са кратни на интервала {0, T}, върху който е дефинирана началната функция f(x). С други думи, периодите на хармоничните компоненти са кратни на продължителността на измерването на сигнала. Например периодът на първия хармоник в редицата на Фурие е равен на интервала T, в който е дефинирана функцията f(x). Периодът на втория хармоник в редицата на Фурие е равен на интервала T/2. И така нататък (вж. Фигура 8).
Съответно честотите на хармоничните компоненти са кратни на 1/T. Тоест честотите на хармоничните компоненти Fk са Fk= k\T, където k има стойности от 0 до ∞, например k=0 F0=0; k=1 F1=1\T; k=2 F2=2\T;k=3 F3=3\T;.... Fk= k\T (при нулева честота, постоянна компонента).
Нека нашата начална функция е сигнал, записан по време на T=1 сек. Тогава периодът на първия хармоник ще бъде равен на продължителността на нашия сигнал T1=T=1 сек, а честотата на хармониката е равна на 1 Hz. Периодът на втория хармоник ще бъде равен на продължителността на нашия сигнал, разделена на 2 (T2=T/2=0,5 сек.), а честотата е равна на 2 Hz. За третия хармоник T3=T/3 сек. и честотата е 3 Hz. И така нататък.
Стъпката между хармониците в този случай е 1 Hz.
По този начин сигнал с продължителност 1 секунда може да бъде разложен на хармонични компоненти (за получаване на спектър) с честотна разделителна способност 1 Hz.
За да се увеличи разделителната способност 2 пъти до 0,5 Hz, е необходимо да се увеличи продължителността на измерването 2 пъти до 2 сек. Сигнал с продължителност 10 секунди може да се разложи на хармонични компоненти (спектър) с честотна разделителна способност 0,1 Hz. Няма други начини за увеличаване на честотната разделителна способност.
Съществува начин за изкуствено увеличаване на продължителността на сигнала чрез добавяне на нули към масива от проби. Но това не води до увеличаване на реалната честотна разделителна способност.
3. Дискретни сигнали и дискретно преобразуване на Фурие
С развитието на цифровата технология се промениха начините за съхранение на измервателните данни (сигнали). Докато преди сигналът можеше да се запише на магнетофон и да се съхрани на лента в аналогов вид, сега сигналите се цифровизират и се съхраняват във файлове в паметта на компютъра като набор от числа (бройки).
Обичайната схема за измерване и цифровизация на сигнала изглежда по следния начин.
Измервателен преобразувател -- Нормализатор на сигнала -- АЦП -- Компютър
(Фиг.9 Схема на измервателния канал)
Сигналът от измервателния преобразувател постъпва в АЦП за период от време T. Показанията на сигнала (извадката), получени за времето T, се предават на компютъра и се записват в паметта.
Какви са изискванията към параметрите на цифровизацията на сигнала? Устройството, което преобразува входния аналогов сигнал в дискретен код (цифров сигнал), се нарича аналогово-цифров преобразувател (АЦП) (© Wiki).
Един от основните параметри на АЦП е максималната честота на дискретизация - честотата на дискретизация на сигнал, който е непрекъснат във времето. Честотата на дискретизация се измерва в херцове. ((© Wiki))
Съгласно теоремата на Котелников, ако непрекъснат сигнал има спектър, ограничен от честотата Fmax, той може да бъде напълно и еднозначно реконструиран от дискретните му извадки, взети през интервали от време T = 1/2*Fmax, т.е. с честота Fd ≥ 2*Fmax, където Fd - честота на извадката; Fmax - максималната честота на спектъра на сигнала. С други думи, честотата на цифровизиране на сигнала (честотата на дискретизация на АЦП) трябва да бъде поне 2 пъти по-висока от максималната честота на сигнала, който искаме да измерим.
А какво ще се случи, ако вземем проби с по-ниска честота от изискваната от теоремата на Котелников?
В този случай се наблюдава ефектът "алиасинг" (известен още като стробоскопичен ефект, ефект на моаре), при който високочестотният сигнал след цифровизация се превръща в нискочестотен сигнал, който всъщност не съществува. На фиг. 11 червената синусоида с висока честота е истинският сигнал. Синята синусоида с по-ниска честота е фиктивен сигнал, възникващ поради факта, че по време на дискретизацията има време да премине повече от половин период на високочестотния сигнал.
За да се избегне ефектът на изравняване, преди АЦП се поставя специален филтър против изравняване (нискочестотен филтър). Той пропуска честоти, по-ниски от половината от честотата на дискретизация на АЦП, и прекъсва по-високите честоти.
За да се изчисли спектърът на сигнала чрез дискретни проби, се използва дискретно преобразуване на Фурие (DFT). Обърнете внимание отново, че спектърът на дискретен сигнал "по дефиниция" е ограничен до честота Fmax, по-малка от половината от честотата на дискретизация Fd. Следователно спектърът на дискретния сигнал може да се представи като сума от краен брой хармоници, за разлика от безкрайната сума за редицата на Фурие на непрекъснат сигнал, чийто спектър може да бъде неограничен. Според теоремата на Котелников максималната честота на един хармоник трябва да бъде такава, че да представлява поне две извадки, така че броят на хармониците е равен на половината от броя на извадките на дискретния сигнал. Това означава, че ако в извадката има N извадки, броят на хармониците в спектъра ще бъде N/2.
Сега разгледайте дискретното преобразуване на Фурие (DFT).
Сравняваме я с редицата на Фурие
Както виждаме, те съвпадат, с изключение на факта, че времето в FFT е дискретно и броят на хармониците е ограничен до N/2, което е половината от броя на извадките.
Формулите на DFT се записват в безразмерни целочислени променливи k, s, където k е броят на пробите на сигнала, а s е броят на спектралните компоненти.
Стойността s показва броя на пълните хармонични трептения за период T (продължителност на измерването на сигнала). Дискретното преобразуване на Фурие се използва за числено намиране на амплитудите и фазите на хармониците, т.е. "на компютъра".
Както вече беше казано по-горе, когато разлагаме непериодична функция (нашия сигнал) на редове на Фурие, полученият ред на Фурие всъщност съответства на периодична функция с период Т (фиг. 12).
Както се вижда от фиг. 12, функцията f(x) е периодична с период T0. Въпреки това, поради факта, че дължината на измервателната извадка T не е равна на периода на функцията T0, функцията, получена като редица на Фурие, има прекъсване в точка T. В резултат на това спектърът на тази функция ще съдържа голям брой високочестотни хармоници. Ако продължителността на измервателната извадка T съвпада с периода на функцията T0, тогава спектърът, получен след преобразуването на Фурие, ще съдържа само първия хармоник (синусоида с период, равен на продължителността на извадката), тъй като функцията f(x) е синусоида.
С други думи, програмата DFT "не знае", че нашият сигнал е "парче от синусоида", а се опитва да представи като серия периодична функция, която има прекъснатост поради прекъснатостта на отделни части от синусоидата.
В резултат на това в спектъра се появяват хармоници, които като цяло трябва да представят формата на функцията, включително тази прекъснатост.
Така, за да се получи "правилен" спектър на сигнал, който е сума от няколко синусоиди с различни периоди, е необходимо да се цяло число на периодите на всяка синусоида трябва да присъства в периода на измерване на сигнала. На практика това условие може да бъде изпълнено при достатъчно дълга продължителност на измерване на сигнала.
При по-кратка продължителност картината ще изглежда "по-лоша":
На практика може да е трудно да се разбере къде са "истинските компоненти" и къде "артефактите", причинени от несъответствие на периодите на компонентите и продължителността на дискретизация на сигнала или "скокове и прекъсвания" във формата на вълната. Разбира се, думите "реални компоненти" и "артефакти" са поставени в кавички по някаква причина. Наличието на много хармоници върху графиката на спектъра не означава, че нашият сигнал действително се състои от тях. Това е все едно да мислите, че числото 7 се "състои" от числата 3 и 4. Числото 7 може да се разглежда като сума от 3 и 4 - това е правилно.
Така че и нашият сигнал... или по-скоро дори не "нашият сигнал", а периодична функция, съставена от повтаряне на нашия сигнал (извадка), може да се представи като сума от хармоници (синусоиди) с определени амплитуди и фази. Но в много важни за практиката случаи (вж. фигурите по-горе) наистина е възможно получените в спектъра хармоници да се свържат и с реални процеси, които имат цикличен характер и допринасят значително за формата на сигнала.
Някои резултати
1. Реално измерен сигнал с продължителност T сек., дигитализиран от АЦП, т.е. представен от набор от дискретни проби (N части), има дискретен непериодичен спектър, представен от набор от хармоници (N/2 части).
2. Сигналът се представя чрез набор от валидни стойности, а спектърът му се представя чрез набор от валидни стойности. Честотите на хармониците са положителни. Това, че математически е по-удобно да се представи спектърът в комплексна форма, като се използват отрицателни честоти, не означава, че "това е правилно" и "така трябва да се прави винаги".
3. Сигналът, измерен в момент Т, се определя само в момент Т. Какво се е случило преди да започнем да измерваме сигнала и какво ще се случи след това, е неизвестно на науката. А в нашия случай то не е интересно. FFT на времево ограничения сигнал дава неговия "реален" спектър, в смисъл че при определени условия позволява да се изчислят амплитудата и честотата на неговите компоненти.