Приложение на MATHCAD в инженерни изчисления: Урок. Разлагане на периодични функции в обратно преобразуване на Фурие към Matkad

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

Пример 3.4. За изходните данни, използвани в пример 3.1, изчисляваме стойността на полинома на Нютон. Първо, попълваме таблицата на разделените разлики:

F(xi,xj)

F(xi,xj,xk)

F(x0,x1,x2,x3)

z–xi

Използвайки формулата на Нютон, получаваме:

P 3 (1)= –1+0,6 1+(–0,1) 1 (–1)+0,0857 1 (–1) (–2)= –0,129.

3.6 Ред на Фурие

Серията на Фурие ви позволява да изучавате както периодични, така и непериодични функции, като ги разлагате на компоненти. Характерни са променливи токове и напрежения, премествания, скорост и ускорение на коляновия механизъм, акустични вълни практически примериприложение на периодични функции в инженерните изчисления. По отношение на обработката на сигнала, преобразуването на Фурие взема представяне във времеви серии на сигнална функция и го съпоставя с честотния спектър. Тоест, превръща функцията на времето във функция на честотата; това е разлагане на функция на хармонични компоненти при различни честоти. Преобразуването на Фурие може да представи променящ се във времето сигнал като зависимост на честотата и амплитудата и също така предоставя информация за фазата (фиг. 3.4).

Разширяването на редовете на Фурие се основава на предположението, че всички функции с практическо значение в интервала π ≤ x ≤ π могат да бъдат изразени като сходящи тригонометрични редове (ред се счита за сходящ, ако се сближава поредица от частични суми, съставени от нейните членове).

Според хипотезата на Фурие няма функция, която да не може да бъде разширена в тригонометричен ред. Разширяваме функцията f (t) в серия на интервала [–π, π]

f (t) \u003d a 0 / 2 + a 1 cos (t) + a 2 cos (2t) + a 3 cos (3t) + ... + b 1 sin (t) + b 2 sin (2t) + b 3 sin (3t )+...,

където n-ите елементи от поредицата се изразяват като

f (t) cos(nt)dt ,

Ориз. 3.4. Илюстрация за разширяване на Фурие

Коефициентите a n и b n се наричат Коефициенти на Фурие, а представянето на функцията f (t ) по формула (3.1) е Разширяване на редовете на Фурие. Понякога разширението в ред на Фурие, представено в този вид, се нарича реално разширение в ред на Фурие, а коефициентите се наричат ​​реални коефициенти на Фурие (за разлика от комплексното разширение).

Нека анализираме изрази (3.2) и (3.3). Коефициентът a 0 е средната стойност на функцията f (t) на отсечката [–π, π] или постоянната компонента на сигнала f (t). Коефициентите a n и b n (за n > 0) са амплитудите на косинусовата и синусовата компоненти на функцията (сигнал) f (t) с ъглова честота, равна на n. С други думи, тези коефициенти определят величината на честотните компоненти на сигналите. Например, когато говорим за звуков сигнал с ниски честоти (например звуци на бас китара), това означава, че коефициентите an и bn са по-големи за по-малки стойности на n и обратно - при висока честота звук

вибрациите (например звукът на цигулка) са по-големи при големи стойности на n.

Трептене на най-големия период (или най-ниската честота), представено от сумата от a 1 cos(t) и b 1 sin(t), се нарича трептене на основната честота или първия хармоник. Трептене с период равен на половината от периода на основната честота е вторият хармоник, а трептене с период равен на 1/n от основната честота е n-хармоника. По този начин, чрез разширяване на функцията f (t) в серия на Фурие, можем да направим преход от времевата област към честотната област. Такъв преход обикновено е необходим, за да се разкрият характеристики на сигнала, които са "невидими" във времевата област.

Забележете, че формулите (3.2) и (3.3) са приложими за периодичен сигнал с период равен на 2π. В общия случай периодичен сигнал с период T може да бъде разширен в серия на Фурие, след което сегментът [–T /2, T /2] се използва в разширението. Периодът на първия хармоник е равен на T и компонентите ще приемат формата cos(2πt /T ) и sin(2πt /T ), компонентите на n-хармоника - cos(2πtn /T ) и sin(2πtn / Т ). Ако обозначим ъгловата честота на първия хармоник ω0 = 2π/T , тогава компонентите на n-хармоника приемат формата cos(ω0 nt ), sin(ω0 nt ) и

cos(nt ) b sin(nt ) ,

f(t)

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

Т/2

(t) cos(0 nt)dt,

Т/2

f (t ) sin(0 nt )dt .

Т/2

Т/2

Разширението на Фурие се използва за хармоничен или спектрален анализ на периодични сигнали. За спектрален анализ на непериодични сигнали, ние използваме Преобразуване на Фурие.За да направим това, ние представяме ред (3.4), използвайки системата от базисни функции под формата на експоненциали с въображаеми експоненти:

2jnt

f(t)

Cnexp(

Т/2

2jnt

f(t)exp(

Т/2

Пропускайки редица изчисления, записваме израз (3.6) във формата

C () f (t ) exp(j t )dt .

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

F () f (t ) exp(j t )dt .

Функцията F (ω) се нарича функция спектрална плътност(или просто спектрална плътност, преобразуване на Фурие, трансформация на Фурие). Обхватът на функцията F (ω) в общия случай е множеството от комплексни числа.

Обратно преобразуване на Фурие , осигуряващ възстановяване

Актуализацията на оригиналната функция f(t) по отношение на функцията на спектралната плътност се изчислява, както следва

f (t ) F () exp(j t )dt .

Дискретно преобразуване на Фурие (DFT, DFT - Discrete Fourier Transform) е едно от преобразуванията на Фурие, широко използвани в алгоритмите за цифрова обработка на сигнали (неговите модификации се използват при аудио компресия в MP3, компресияизображения в JPEG и др.), както и в други области, свързани с анализа на честотите в дискретен (например цифров аналогов) сигнал. Дискретното преобразуване на Фурие изисква дискретна функция като вход. Такива функции често се създават чрез дискретизация (избор на стойности от непрекъснати функции). Недостатъкът на този алгоритъм е голямото количество повтарящи се изчисления. Елиминирането на тези излишни операции води до така наречения алгоритъм

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

Бързо преобразуване на Фурие (FFT, FFT) - алгоритъм за бързо изчисляване на дискретното преобразуване на Фурие (DFT). Тоест алгоритъмът за изчисление за броя на действията, по-малък от O(N 2 ) необходим за директно (според формулата) изчисляване на DFT (N е броят на стойностите на сигнала, измерени през периода, както и броят на компонентите за разширение). Понякога FFT се разбира като единот бързи алгоритми, наречени алгоритъм за честота/време или алгоритъм на база 2.

За да се реализира трансформацията на Фурие в пакета MathCAD, е необходимо да изберете оператора на Фурие за директна трансформация и invfourier за обратния на панела Symbolic. Този оператор трябва да бъде поставен след функцията, която ще се преобразува, и като единствен параметър трябва да посочите променливата, по отношение на която тази функция ще бъде преобразувана. Примери за използване на дисплея

нас фиг. 3.5 за функцията f (t) e 2 t и на фиг. 3.6, където амплитудно-честотната модулация се прилага към функцията f (t) и след това резултатът се разширява в серия.

Ориз. 3.5. Пример за разширяване на Фурие с помощта на символната функция на Фурие

Ориз. 3.6. Пример за разширяване на Фурие с помощта на символната функция на Фурие

MathCAD съдържа функции за бързото дискретно преобразуване на Фурие (FFT) и неговата инверсия. Има два типа функции за дискретното преобразуване на Фурие: fft и ifft, cfft и icfft. Тези функции са дискретни: те приемат като аргументи и връщат вектори и матрици.

Функциите fft и ift се използват, ако са изпълнени следните условия: (1) аргументите са реални; (2) – векторът на данните има 2m елемента.

Във всички останали случаи се използват функциите cfft и icfft.

Първото условие е необходимо, тъй като функциите fft и ifft използват факта, че за реални данни втората половина на преобразуването на Фурие е комплексно спрегната на първата. MathCAD изхвърля втората половина на вектора на резултата, което спестява време и памет при изчисления. Двойката функции cfft и icfft не използва симетрия при трансформацията и може да се използва за реални и комплексни числа.

Второто условие е необходимо, тъй като двойката функции fft и ift използва високоефективен бърз алгоритъм за преобразуване на Фурие. За този аргументен вектор се използва-

th функция fft , трябва да се състои от 2m елемента. Алгоритъмът на функциите cfft и icfft приема като аргументи вектори и матрици с произволен размер. Само тези функции се използват за 2D преобразуването на Фурие. Функциите fft и ifft , cfft и icfft са взаимно обратни една на друга, тоест вярно е:

и icfft(cfft(v)) v.

На фиг. Фигура 3.7 илюстрира използването на функциите ff t(v) и ifft(v) върху сигнал на синусоида, който е шумен от функцията rnd(x), която генерира произволни числа, вариращи от 0 до x.

Ориз. 3.7. Права и обратна трансформация на Фурие с функции fft и ift

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

3.7 Най-малки квадрати

При всички горепосочени методи за апроксимиране на функция условията на интерполация бяха изпълнени точно. Въпреки това, в случаите, когато първоначалните данни x i , f i , i= 1,…,N са дадени с някаква грешка, може да се изисква само приблизителна

условия на интерполация: |F(x i ) – f i |< . Это условие означает, что интерполирующая функция F(x) проходит не точно через заданные точки, а в некоторой их окрестности, так, например, как это показано на рис. 3.8. Приблизим исходные данные глобальным полиномом. Если решать задачу интерполяции точно, то полином должен иметь степень N . При рассмотрении полинома Лагранжа мы выяснили, что полином N –й степени хорошо приближает исходную функцию только при небольших значениях N .

Ориз. 3.8. Приблизително изпълнение на условията за интерполация

Ще търсим полином от ниска степен, например P 3 (x)=a 1 +a 2 x+a 3 x 2 +a 4 x 3 . Ако N >4, точният проблем няма решения: за четири неизвестни коефициента (a 1 , a 2 , a 3 , a 4 ) условията на интерполация дават N >4 уравнения. Но сега не се изисква точното изпълнение на условията за интерполация, искаме полиномът да премине близо до дадените точки. Има много такива полиноми, всеки от които се определя от собствен набор от коефициенти. Измежду всички възможни полиноми от този тип избираме този, който има най-малкото стандартно отклонение в интерполационните възли от дадените стойности, т.е. полиномът трябва да е най-близо до дадените точки от всички възможни полиноми от трета степен в смисъл метод на най-малките квадрати(MNK). В i-та точка покрай

linom P 3 (x) се отклонява от стойността f i със стойността (P 3 (x i ) – f i ) . Обобщаваме квадратните отклонения на полинома по всички точки i= 1, 2,…, N, получаваме функционала на квадратите отклонения:

G(a1,a2,a3,a4) (P3 (xi) fi)2

a2 xi a3 xi 2 a4 xi 3 fi )2 .

Нека намерим минимума от този функционал. За да направим това, ние приравняваме частичните му производни по отношение на променливите a 1 , a 2 , a 3 , a 4 на нула. Използвайки стандартните правила за диференциране, получаваме:

2 (а 1

a2 xi a3 xi 2 a4 xi 3 fi ) 0

a3 xi 2 a4 xi 3 fi ) 0

G 2 xi (a1 a2 xi

2 x i 2 (a 1

a2xi

a3 xi 2 a4 xi 3 fi ) 0

2 x i 3 (a 1

a2xi

a3 xi 2 a4 xi 3 fi ) 0

Събирайки коефициенти за неизвестни a i , получаваме SLAE по отношение на вектора на неизвестните (a 1 , a 2 , a 3 , a 4 ):

N a1 xi a2 xi 2

a3 xi 3 a4 fi

xi 2 a2

xi 3 a3

xi 4

f i x i

xi 2 a1

xi 3 a2

xi 4 a3

xi 5

f i x i2

xi 3 a1

xi 4 a2

xi 5 a3

xi 6

f i x i3

Получената система се нарича нормална. За решаването му се използват стандартни методи за решаване на SLAE. По правило броят на системните неизвестни (т.е. броят на коефициентите на интерполиращата функция) е малък, така че могат да се използват точни методи за решаване на SLAE, например методът на Крамер или методът на Гаус. Методът на най-малките квадрати ви позволява да "приблизите" оригиналните данни, като използвате линейна комбинация от всякакви елементарни функции. Често се използват приближения линейни F (x)=a 1 +a 2 x, тригонометрични F (x)=a 1 sin(x)+a 2 cos(x), експоненциални F (x)=a 1 e x

N a1 xi a2

xi a1 xi 2 a2 fi xi

Изчисли

xi 2 ,

f i x i ,

сложи в нормално

Ориз. 3.9. Линеен избор

5а 1.4а

OLS зависимости

0,148. Графиката на функцията F (x)=-0,04+0,57x е показана на фиг. 3.9 като плътна линия. Точките показват оригиналните данни. Вижда се, че намерената линейна функция действително апроксимира дадените точки.

В MathCAD най-малките квадрати са тясно свързани с линейната регресия (y(x) = b + ax ), тъй като коефициентите a и b се изчисляват от условието за минимизиране на сумата на квадратните грешки |b + ax i – y i |. Има два припокриващи се метода за изчисляване в MathCAD:

линия (x,y) връща двуелементен вектор от коефициенти на линейна регресия b + ax ;

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

Математическият смисъл на преобразуването на Фурие е да представи сигнала y(x) като безкрайна сума от синусоиди от формата F(v)sin(vx). Функцията F(v) се нарича преобразуване на Фурие или интеграл на Фурие, или спектър на Фурие на сигнала. Аргументът му v има значението на честотата на съответния компонент на сигнала. Обратното преобразуване на Фурие преобразува спектъра F(V) в оригиналния сигнал y(x). По дефиниция,

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

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

Преобразуването на Фурие е от голямо значение за различни математически приложения и за него е разработен много ефективен алгоритъм, наречен FFT (Fast Fourier Transform). Този алгоритъм е реализиран в няколко вградени функции на Mathcad, които се различават по нормализиране.

  • fft(y) - директен вектор на преобразуване на Фурие;
  • FFT(Y) - директен вектор на трансформация на Фурие в друга нормализация;
  • ifft(v) - инверсен вектор на преобразуване на Фурие;
  • IFFT(V) - вектор на обратната трансформация на Фурие в различна нормализация;
    • y е вектор от реални данни, взети на равни интервали от стойности на аргумента;
    • v е вектор от реални данни от спектъра на Фурие, взети на равни интервали от честотни стойности.

Аргументът на директното преобразуване на Фурие, т.е. векторът y, трябва да има точно 2n елемента (n е цяло число). Резултатът е вектор с 1+2 n-1 елемента. Обратно, аргументът на обратното преобразуване на Фурие трябва да има 1+2 n-1 елемента и неговият резултат ще бъде вектор от 2 n елемента. Ако броят на данните не съвпада със степента на 2, тогава е необходимо да запълните липсващите елементи с нули.

Ориз. 15.24. Първоначални данни и обратна трансформация на Фурие (листинг 15.20)

Пример за изчисляване на спектъра на Фурие за сумата от три синусоидални сигнала с различни амплитуди (показани като плътна крива на фигура 15.24) е показан в листинг 15.20. Изчислението се извършва с N=128 точки и се приема, че интервалът на извадка на данни yx е равен на A. В предпоследния ред на списъка се използва вградената функция if ft, а в последния ред, съответните честотни стойности Qx са правилно определени. Моля, имайте предвид, че резултатите от изчислението са представени като модул на спектъра на Фурие (фиг. 15.25), тъй като самият спектър е сложен. Много е полезно да се сравнят получените амплитуди и местоположението на спектралните пикове с дефиницията на синусоидите в листинг 15.20.

Списък 15.20. Бързо преобразуване на Фурие

Ориз. 15.25. Преобразуване на Фурие (листинг 15.20)

Резултатът от обратната трансформация на Фурие е показан като кръгове на същата фиг. 15.24 като оригинални данни. Вижда се, че в разглеждания случай сигналът y(x) се реконструира с висока точност, което е характерно за плавна промяна на сигнала.

Преобразуване на Фурие на сложни данни

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

  • cfft(y) - вектор на директно комплексно преобразуване на Фурие;
  • CFFT(y) - вектор на директна комплексна трансформация на Фурие в друга нормализация;
  • icfft(y) - вектор на обратно комплексно преобразуване на Фурие;
  • ICFFT(V) - вектор на обратната комплексна трансформация на Фурие в различна нормализация;
    • y е вектор от данни, взети на равни интервали от стойности на аргументите;
    • v е вектор на данните от спектъра на Фурие, взети на равни интервали от честотни стойности.

Реалните функции за преобразуване на Фурие се възползват от факта, че в случай на реални данни спектърът е симетричен около нула и извеждат само половината от него (вижте раздела за преобразуване на Фурие на реални данни по-горе в тази глава). Следователно, по-специално, според 128 реални данни, са получени само 65 точки от спектъра на Фурие. Ако приложим сложната функция за преобразуване на Фурие (фиг. 15.26) към същите данни, получаваме вектор от 128 елемента. Сравнявайки фиг. 15.25 и 15.26, може да се разбере съответствието между резултатите от реалното и сложното преобразуване на Фурие.

Ориз. 15.26. Комплексно преобразуване на Фурие (продължение на листинг 15.20)

2D трансформация на Фурие

Mathcad има способността да прилага вградените функции на комплексното преобразуване на Фурие не само към едномерни, но и към двумерни масиви, т.е. матрици. Съответният пример е показан в листинг 15.21 и на фигура 15.21. 15.27 като линейна диаграма на нивото на необработените данни и изчисления спектър на Фурие.

Списък 15.21. 2D трансформация на Фурие

Ориз. 15.27. Данни (вляво) и техният спектър на Фурие (вдясно) (листинг 15.21)

Mathcad съдържа функции за извършване на бързото дискретно преобразуване на Фурие (FFT) и неговата инверсия. Mathcad PLUS също има 1D дискретна вълнова трансформация и нейната инверсия. Всички тези функции имат векторни аргументи. При дефиниране на вектор vза да намерите вълната или трансформацията на Фурие, уверете се, че първият елемент на вектора има нулев индекс: v 0 . Ако v 0 не е дефиниран, Mathcad автоматично го задава на 0. Това може да доведе до изкривени резултати.

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

Mathcad включва два типа функции за дискретната трансформация на Фурие: fft/ifftИ cfft /icft . Тези функции са дискретни: те приемат като аргументи и връщат вектори и матрици. Те не могат да се използват с други функции Използвайте функциите fftИ ift , ако са изпълнени следните две условия:
  • аргументите са реални и
  • векторът на данните има 2 m елементи.

Използвайте функции cfftИ icftвъв всички останали случаи.
Първото условие е необходимо, тъй като функциите fft/ifftизползвайте факта, че за реални данни втората половина на преобразуването на Фурие е комплексният конюгат на първата. Mathcad изхвърля втората половина на вектора на резултата. Това спестява както време, така и памет при изчисления.

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

Второто условие е необходимо, тъй като двойката функции fft/ifftизползва високоефективен алгоритъм за бързо преобразуване на Фурие. За това се използва векторът на аргумента с fft, трябва да има 2 m елементи. Във функциите сfft/icfftизползва се алгоритъм, който приема както матрици, така и вектори с произволен размер като аргументи. Когато тази двойка функции се използва с матрица като аргумент, се изчислява 2D трансформация на Фурие.

Имайте предвид, че ако функцията се използва fftза директно преобразуване, трябва да използвате функцията iftза обратното. По същия начин, ако се използва директно преобразуване cfft, то за обратното е необходимо да се използва icft.

Различните формулировки на дефиницията на преобразуването на Фурие използват различни коефициенти на нормализиране и конвенции за знак пред въображаемата единица в експонента на преобразуването напред и обратно. Функции fft, ifft, cfftИ icftизползвайте 1/ като нормализиращ фактор и положителен показател при директното преобразуване. Функции FFT , IFFT , CFFT И ICFFTизползвайте 1/N като нормализиращ коефициент и отрицателен показател при директното преобразуване. Трябва да използвате тези функции по двойки. Например, ако се използва CFFTпри директно преобразуване, необходимоизползвайте ICFFTв обратното.

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

За вектори с реални стойности с 2 m елементи можете да използвате няколко функции fft/ifft. Алгоритъмът за изчисляване на тези функции се възползва от симетрията, която съществува само за реални данни. Това спестява както време, така и памет, необходими за изчисления. вектор vтрябва да има 2 m елементи. Резултатът е вектор с комплексна стойност 1+2 m-1. Ако vима размер, различен от 2 m, Mathcad дава съобщението за грешка „ невалиден размер на вектора”.

Върнати елементи на вектора fft,изчислено по формулата

В тази формула н- брой елементи в v, ие въображаемата единица.

Елементи във вектора, върнати от функцията fft, отговарят на различни честоти. За да се възстанови действителната честота, е необходимо да се знае честотата на измерване на оригиналния сигнал. Ако vЯжте н-размерен вектор, предаден на функцията fft, и честотата на измерване на оригиналния сигнал - fs, тогава съответната честота е равна на

Имайте предвид, че това прави невъзможно откриването на честоти над честотата на измерване на оригиналния сигнал. Това е ограничение, наложено не от Mathcad, а от самата същност на проблема. За правилно реконструиране на сигнал от неговата трансформация на Фурие е необходимо да се измери оригиналния сигнал с честота, поне два пъти по-голяма от честотната лента. Пълното обсъждане на този феномен е извън обхвата на това ръководство, но може да се намери във всеки учебник по цифрова обработка на сигнали.

вектор vтрябва да има 1+2 m елементи, където м-цяла. Резултатът е вектор с комплексна стойност с размерност 2 m+1. Ако vима размери, различни от 1+ 2 m , Mathcad дава съобщението за грешка „ невалиден размер на вектора„.Аргумент vе вектор като този, създаден от функцията fft.За да изчисли резултата, Mathcad първо създава нов вектор w, комплексно спрегнато v, и го прикрепя към вектора v. След това Mathcad изчислява вектора д, чиито елементи се изчисляват по формулата:

Това е същата формула като за fft, с изключение на знака минус във функцията опит. Функции fftИ ift- точни препратки. За всички реални стойности v ift(fft(v))=v е вярно.

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

Има две причини, поради които двойки трансформации не могат да се използват fft/ifft,обсъдено в предишния раздел:
  • Данните могат да бъдат комплексни стойности. Това означава, че Mathcad вече не може да използва симетрията, която съществува в реалния случай.
  • Векторът на данните може да има размери, различни от 2 m. Това означава, че Mathcad не може да се възползва от високоефективния алгоритъм за FFT, използван от двойката fft/ifft.
Сложното преобразуване на Фурие изисква следните функции:
Фигура 3: Използване на бързи трансформации на Фурие в Mathcad.

Двойка трансформации cfft/icfftможе да работи с масиви от всякакъв размер. Те обаче са много по-бързи, когато броят на редовете и колоните може да бъде представен като продукт Голям бройпо-малки фактори. Например, векторите с дължина 2m са в този клас, както и векторите с дължини като 100 или 120. От друга страна, вектор, чиято дължина е голямо просто число, ще забави изчисляването на преобразуването на Фурие.

Функции cfftИ icftса обратни един на друг. Тоест icfft(cfft(v))=v. Фигура 3 показва примери за използване на трансформацията на Фурие в Mathcad.

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

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

Обсъдените по-горе дефиниции на трансформацията на Фурие не са единствените възможни. Например, следните дефиниции за дискретната трансформация на Фурие и нейната инверсия могат да бъдат намерени в книгата на Роналд Брейсуелс, Преобразуването на Фурие и неговите приложения(McGraw-Hill, 1986): Тези определения са доста често срещани в техническата литература. За да използвате тези дефиниции вместо тези, обсъдени в предишния раздел, използвайте функциите FFT, IFFT, CFFTИ ICFFT. Те се различават, както следва:

Функции FFT, IFFT, CFFTИ ICFFTсе използват подобно на функциите, разгледани в предишния раздел.

вълнова трансформация

Mathcad PLUS включва две функции на вълновата форма: да изпълнява директна едномерна дискретна форма на вълната и да я инвертира. Преобразуването се извършва с помощта на базата на вълната с четири коефициента на Daubeci.

П

Глушач В.С. UIT-44

практическа работа 1.2. Директна и обратна трансформация на Фурие в MathCad.

Овладяване на работа в MathCad. Придобиване на умения за използване на преобразуването на Лаплас за анализиране на спектралните компоненти на сигналите. Изследване на времеви и честотни скали на времеви редове и преобразуване на Фурие.

1. Генерираме времеви ред от три синусоиди. Броят на точките трябва да бъде 2^n

2. Определете средната стойност, дисперсията.

3. Правим директна и обратна трансформация F. Двойно преобразуваният сигнал се наслагва върху графиката на оригиналния времеви ред.

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

1. Избираме дискретността във времето dt и броя на точките във времевия ред във вида nl:= 2 k

Нека k:= 9 nl:= 2 k nl=512 Дължина на пробата във времето T:=512

У ag от Or, като се има предвид, че nl-1

времето е приблизително равно на nl Тогава i:=0..nl-l t. := i*dt

2. Генерираме входния сигнал x като сума от три хармонични сигнала и определяме неговата основна статистика.

A1:= 1 f1:= 0,05 xl i:= Al-sin/2*3,14*fl*t i) srl:= средно (xl) srl = 0,012 s1:=stdev(x1) s1=0,706

A2:= 0,5 f2:= 0,1 x2 i:= A2-sin/2*3,14*f2*t i) sr2:= средно (x2) sr2 = 3,792x10 -4 s2:=stdev(x2) s2=0,353

A3:= 0,25 f3:= 0,4 x3 i:= A3-sin/2*3,14*f3*t i) sr3:= средно (x3) sr3 = 3,362x10 -4 s3:=stdev(x3) s3=0,177

x i:= xl i + x2 i + x3 i sry:= средно (x) sry = 0,013 sy:= stdev(x) sy = 0,809

1. Директна трансформация на Фурие в MathCad F:= fft(x)

Максималният период на хармоничния компонент, който може да бъде във времевия ред, е равен на дължината на извадката. Този хармоничен компонент съответства на минималната възможна честота в честотната скала на преобразуването на Фурие frnin и съответно на стъпката по оста на честотата на преобразуването на Фурие df.

Tmax:= Tfrnin:=
df:= frnin df = 1,953 x 10 -3

По този начин минималната честота и честотната стъпка на преобразуването на Фурие са frnin =df = 1/T.

Преобразуването на Фурие има броя на ординатите по честота два пъти по-малък от броя на ординатите на времевия ред във времето n2=nl/2 или включително нулевата точка (където трансформацията на Фурие не е дефинирана)

n2:= 1 + 2 k -1 n2 = 257 j:= l..n2

Индексът на текущата честота се променя от j=l до j=n2

В този случай честотата се променя от fmin =df= 1/T Максимална честота finax:= n2*df fmax = 0,502

to frnax=n2*df Текуща честота f i:= i*df

f 1 = 1,953 x 10 -3 f 257 = 0,502

ОТНОСНО имайте предвид, че трансформацията на Фурие е дефинирана само за честоти в диапазона f=finin до f=fmax.

В този случай пиковете на спектърната графика на Фурие съответстват на честотите на оригиналните синусоиди, т.е. трансформацията на Фурие ви позволява да изберете честотните компоненти на сигнала. Но амплитудите на хармоничните компоненти сега не отразяват амплитудите на компонентите на оригиналния времеви ред (където A1=1, A2=0,5, A3=0,25)

Забележете също, че за dt =1 максималната честота в спектъра на трансформацията на Фурие е frnax=0,5 трептения за единица времева скала. За dt = 1 сек, това съответства на fmax = 0,5 Hz. В този случай максималният период на честота е Tfmax=1/0.5=2. Това означава, че има две извадки от времевия ред за един период с максимална честота. Това съответства на теоремата на Котельников, според която, за да се възстанови хармоничен непрекъснат сигнал от дискретен без загуба на информация, трябва да има поне две проби във времето за един период.

3. Нека проверим съвпадението на времевите редове преди и след двойното преобразуване на Фурие. За да направим това, получаваме обратното преобразуване на Фурие от полученото директно преобразуване. Той трябва да съвпада с оригиналния времеви ред, което се потвърждава от следния график FF:= ifft(F)

Дял