Разложить функцию хевисайда в ряд фурье маткад. Майер Р.В

П

Глушач В.С. УИТ-44

рактические работы 1,2. Прямое и обратное преобразование Фурье в MathCad.

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

1. Генерируем временной ряд из трех синусоид. Количество точек должно быть равно 2 ^ n

2. Определяем среднее, дисперсию.

3. Делаем прямое и обратное преобразование Ф. Дважды преобразованный сигнал накладываем на график исходного временного ряда.

4. Находим соотношение между шкалой временного ряда по оси времени и преобразования Фурье по оси частот.

1. Выбираем дискретность по времени dt и количество точек временного ряда в виде nl:= 2 k

Пусть к:= 9 nl:= 2 k nl=512 Длина выборки во времени T:=512

Шаг по Или, учитывая, что nl-1

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

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

А1:= 1 f1:= 0.05 xl i:= Al-sin/2*3.14*fl*t i) srl:= mean(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:= mean(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:= mean(x3) sr3 = 3.362x10 -4 s3:=stdev(x3) s3=0.177

x i:= xl i + x2 i + x3 i sry:= mean(x) sry = 0.013 sy:= stdev(x) sy = 0.809

1. Прямое преобразование Фурье в MathCad F:= fft(x)

Максимаьный период гармонической составляющей, которая может быть во временном ряде равен длине выборки. Эта гармоническая составляющая соответствует минимально возможной частоте по шкале частот преобразования Фурье frnin и соответственно шагу по оси частот преобразования Фурье df.

Tmax:= T frnin:=
df:= frnin df = 1.953 x 10 -3

Таким образом, минимальная частота и шаг по частоте преобразования Фурье равны frnin =df = 1/Т.

Преобразование Фурье имеет количество ординат по частоте в два раза меньше количества ординат временного ряда во времени 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

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

f 1 = 1.953 x 10 -3 f 257 = 0.502

Обратим внимание, что преобразование Фурье определено только для частот в диапазоне от f=finin до f=fmax.

При этом пики на графике спектра Фурье соответствуют частотам исходных синусоид, т.е преобразование Фурье позволяет выделить частотные составляющие сигнала. Но амплитуды гармонических составляющих сейчас не отображают амплитуды составляющих исходного временного ряда (где А1=1, А2=0.5, А3=0.25)

Обратим также внимание, что при dt =1 максимальная частота в спектре преобразования Фурье равна frnax=0.5 колебаний в единицу шкалы времени. При dt = 1сек это соответствует fmax = 0.5 гц. При этом период максимальной частоты равен Тfmax=1/0.5=2. Это означает, что на один период максимальной частоты приходится два отбора временного ряда. Это соответствует теореме Котельникова, согласно которой для восстановления гармонического непрерывного сигнала из дискретного без потери информации на один период должно быть не менее двух отсчетов во времени.

3. Проведем проверку совпадения временных рядов до и после двойного преобразования Фурье. Для этого получим обратное преобразование Фурье от полученного прямого преобразования. Оно должно совпадать с исходным временным рядом, что подтверждается следующим графиком FF:= ifft(F)

Конечно невозможность работы с тригонометрическими рядами это довольно серьезный минус ведь тригонометрические ряды Фурье используются для разложения периодических функций однако на самом деле учитывая все плюса MthCD"а этот минус не так уж и велик. Преобразования Фурье Разработка преобразований Фурье сыграла огромную роль в появлении и развитии ряда новых областей науки и техники. Ряды Фурье также можно рассматривать как приближение произвольных функций определенные ограничения в этом известны тригонометрическими рядами бесконечной...


Поделитесь работой в социальных сетях

Если эта работа Вам не подошла внизу страницы есть список похожих работ. Так же Вы можете воспользоваться кнопкой поиск


Ряды

Числовые и функциональные ряды играют очень важную роль в математическом анализе. Они позволяют переходить от непрерывного представления функции, используемого, например, в физике, к дискретному, которое необходимо для вычисления ее значения с помощью компьютера. Поэтому работа с рядами поддерживается MathCAD "ом в полной мере.


Самая важная операция, касающаяся как числовых, так и функциональных рядов — это, конечно же, вычисление суммы ряда. Найти оператор вычисления этой суммы без труда можно на все той же панели Calculus, и выглядит он, как и в математике, как большая греческая буква сигма. Для вычисления суммы ряда необходимо задать индекс суммирования (для определенности будем полагать, что он записывается буквой n), диапазон суммирования и, конечно же, значение n-го члена ряда. При этом можно использовать символ бесконечности для вычисления сумм бесконечных рядов (этот символ находится на все той же панели Calculus, сразу за оператором вычисления n-й производной). При этом стоит отметить, что вычисление суммы конечного ряда возможно как аналитически, так и численно, т.е. можно использовать и знак равенства, и стрелку, а вот для бесконечного ряда найти сумму можно только аналитическим путем.

Как и в других областях, где MathCAD задействует свой символьный процессор, всплывают на поверхность и начинают раздражать пользователя минусы этого самого символьного процессора. Самый главный из них, с которым мы с вами уже сталкивались — это нежелание полноценно работать с тригонометрическими функциями. Поэтому если вам нужно рассчитать сумму тригонометрического ряда, то на MathCAD в этом случае можете не рассчитывать.

Суммы функциональных рядов можно сразу дифференцировать и интегрировать (про интегрирование функций средствами MathCAD "а мы с вами поговорим позже), причем можно производить дифференцирование или интегрирование как всей суммы сразу, так и отдельных членов ряда. Пример того, как это можно сделать, показан на приведенной ниже иллюстрации. Правда, как вы видите, может показаться, будто бы результаты различаются, но если упростить первое выражение, то станет понятно, что на самом деле они абсолютно идентичны.

В общем, MathCAD действительно хороший помощник при работе с производными, пределами, рядами и, как мы с вами далее убедимся, интегралами. Конечно, невозможность работы с тригонометрическими рядами — это довольно серьезный минус, ведь тригонометрические ряды Фурье используются для разложения периодических функций, однако на самом деле, учитывая все плюса MathCAD "а, этот минус не так уж и велик. MathCAD ’у вполне по силам упростить работу с производными и интегралами, а о том, как справиться с громоздкостью получаемых результатов средствами самой среды MathCAD , мы еще побеседуем.

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

Разработка преобразований Фурье сыграла огромную роль в появлении и развитии ряда новых областей науки и техники. Достаточно отметить, что электротехника переменного тока, электрическая связь и радиосвязь базируются на спектральном представлении сигналов. Ряды Фурье также можно рассматривать как приближение произвольных функций (определенные ограничения в этом известны) тригонометрическими рядами бесконечной длины. При конечной длине рядов получаются наилучшие среднеквадратические приближения. MATLAB содержит функции для выполнения быстрого одномерного и двумерного быстрого дискретного преобразования Фурье. Для одномерного массива*с длиной N прямое и обратное преобразования Фурье реализуются по следующим формулам:

Прямое преобразование Фурье переводит описание сигнала (функции времени) из временной области в частотную, а обратное преобразование Фурье переводит описание сигнала из частотной области во временную. На этом основаны многочисленные методы фильтрации сигналов.

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

Математический смысл преобразования Фурье состоит в представлении сигнала у(х) в виде бесконечной суммы синусоид вида F(v)sin(vx). Функция F(v) называется преобразованием Фурье или интегралом Фурье, или Фурье-спектром сигнала. Ее аргумент v имеет смысл частоты соответствующей составляющей сигнала. Обратное преобразование Фурье переводит спектр F(V) в исходный сигнал у(х). Согласно определению,

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

Преобразование Фурье действительных данных

Преобразование Фурье имеет огромное значение для различных математических приложений, и для него разработан очень эффективный алгоритм, называемый БПФ (быстрым преобразованием Фурье). Этот алгоритм реализован в нескольких встроенных функциях Mathcad, различающихся нормировками.

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

Аргумент прямого Фурье-преобразования, т. е. вектор у, должен иметь ровно 2 n элементов (n — целое число). Результатом является вектор с 1+2 n-1 элементами. И наоборот, аргумент обратного Фурье-преобразования должен иметь 1+2 n-1 элементов, а его результатом будет вектор из 2 n элементов. Если число данных не совпадает со степенью 2, то необходимо дополнить недостающие элементы нулями.

Рис. 15.24. Исходные данные и обратное преобразование Фурье (листинг 15.20)

Пример расчета Фурье-спектра для суммы трех синусоидальных сигналов разной амплитуды (показанных в виде сплошной кривой на рис. 15.24), приведен в листинге 15.20. Расчет проводится по N=128 точкам, причем предполагается, что интервал дискретизации данных ух равен А. В предпоследней строке листинга применяется встроенная функция if ft, а в последней корректно определяются соответствующие значения частот Qx. Обратите внимание, что результаты расчета представляются в виде модуля Фурье-спектра (рис. 15.25), поскольку сам спектр является комплексным. Очень полезно сравнить полученные амплитуды и местоположение пиков спектра с определением синусоид в листинге 15.20.

Листинг 15.20. Быстрое преобразование Фурье

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

Результат обратного,преобразования Фурье показан в виде кружков на том же рис. 15.24, что и исходные данные. Видно, что в рассматриваемом случае сигнал у(х) восстановлен с большой точностью, что характерно для плавного изменения сигнала.

Преобразование Фурье комплексных данных

Алгоритм быстрого преобразования Фурье для комплексных данных встроен в соответствующие функции, в имя которых входит литера "с".

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

Функции действительного преобразования Фурье используют тот факт, что в случае действительных данных спектр получается симметричным относительно нуля, и выводят только его половину (см. выше разд. "Преобразование Фурье действительных данных" этой главы). Поэтому, в частности, по 128 действительным данным получалось всего 65 точек спектра Фурье. Если к тем же данным применить функцию комплексного преобразования Фурье (рис. 15.26), то получится вектор из 128 элементов. Сравнивая рис. 15.25 и 15.26, можно уяснить соответствие между результатами действительного и комплексного Фурье-преобразования.

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

Двумерное преобразование Фурье

В Mathcad имеется возможность применять встроенные функции комплексного преобразования Фурье не только к одномерным, но и к двумерным массивам, т. е. матрицам. Соответствующий пример приведен в листинге 15.21 и на рис. 15.27 в виде графика линий уровня исходных данных и рассчитанного Фурье-спектра.

Листинг 15.21. Двумерное преобразование Фурье

Рис. 15.27. Данные (слева) и их Фурье-спектр (справа) (листинг 15.21)

Другие похожие работы, которые могут вас заинтересовать.вшм>

13702. Bekanntschaft mit Mathematischen Programmen. Mathcad 16.5 KB
Die ufgbe: überprüfen die rbeit in Mthcd zeigen ds rbeitsdigrmm. uch soll mn die Funktion in symbol und betreibersform bekommen. Bild 1 ds rbeitsfenster in Mthcd Bild 2 ds Funktionsgrph Schlussfolgerung: mit Hilfe von Mthemtische Progrmm Mthcd wr die Funktion in symbol und betreibersform bekommen.
4286. Построение графиков в системе Mathcad 29.41 KB
Рассмотрим алгоритм построения графика на простом примере. Bведем функцию набрав выражение: В панели математических знаков щелкнем на кнопке с изображением графика на экране появится палитра графиков. В палитре графиков щелкнем на кнопке с изображением двумерного графика на экране появится шаблон графика. Щелкнем вне прелов графика левой кнопкой мыши.
13699. Розв’язання диференціального рівняння в MathCAD 134.69 KB
Розв’язання диференціального рівняння в MthCD Мета роботи: за допомогою математичного пакету MthCD виконати розрахунок диференціального рівняння другого порядку побудова на площині. Завдання: Результати роботи: Побудова графіку в середовищі MthCD на малюнку 1 Малюнок1 Висновок: Математичний пакет MthCD дуже зручний для розв’язання математичних завдань побудов графіків тощо.
2247. Ряды динамики 46.97 KB
Ряд динамики состоит из двух элементов: уровней ряда характеризующих величину изучаемого признака; периодов моментов к которым относятся эти уровни. Первоначальным является ряд абсолютных величин где статистические показатели уровни ряда представляются в абсолютных цифрах с соответствующими единицами измерения. В рядах относительных величин уровни ряда характеризуют изменение относительных показателей изучаемых явлений во времени и выражаются как правило в процентах или в коэффициентах. В рядах средних величин уровни ряда...
8661. Числовые ряды 47.86 KB
Лекция №41 4 Лекция 41 ТЕМА: Числовые ряды План. Знакопеременные ряды. Свойства абсолютно сходящихся рядов. Если для двух рядов с положительными членами u1 u2 un 39.
8660. Функциональные ряды 60.71 KB
Если задать конкретное числовое значение х, ряд (40.1) превратится в числовой ряд, причем в зависимости от выбора значения х такой ряд может сходиться или расходиться. Практическую ценность представляют только сходящиеся ряды, поэтому важно определить те значения х, при которых функциональный ряд становится сходящимся числовым рядом.
8658. Ряды Фурье 62.27 KB
Лекция № 44 6 Лекция 44 ТЕМА: Ряды Фурье План. Достаточные признаки разложимости в ряд Фурье. Разложение в ряд Фурье непериодической функции. Ряд Фурье для четных и нечетных функций.
8659. Степенные ряды 41.1 KB
Лекция № 43 3 Лекция 43 ТЕМА: Степенные ряды План. Разложение функции в степенной ряд. Ряды Тейлора и Маклорена. Разложение в степенной ряд некоторых элементарных функций.
5992. Основы работы с MathCAD. Математические выражения. Типы данных 494.07 KB
Функции MthCD – это мощная и в то же время простая универсальная среда для решения задач в различных отраслях науки и техники финансов и экономики физики и астрономии математики и статистики MthCD остается единственной системой в которой описание решения математических задач задается с помощью привычных математических формул и знаков. MthCD позволяет выполнять как численные так и аналитические символьные вычисления имеет чрезвычайно удобный математикоориентированный интерфейс и прекрасные средства научной графики. Система MthCD...
4446. Вариационные ряды и их числовые характеристики 67.52 KB
Математическая статистика – наука, позволяющая распространять выводы, сделанные на основе изучения части совокупности (случайной выборки), на всю совокупность (генеральную совокупность). Ее определяют также как науку о принятии решений в условиях неопределенности.

Часть 3. Решение обыкновенных дифференциальных уравнений в Mathcad

Ряд Фурье на произвольном отрезке

Часть 2. Разложение функций в ряд Фурье

Действия с комплексными числами

Часть 1. Вычисления с комплексными числами в Mathcad

Лекция № 5

Тема: «Комплексные переменные. Разложение функций в ряд Фурье. Решение дифференциальных уравнений »

В Mathcad определена мнимая единица i: и, следовательно, определены комплексные числа и операции с ними.

Z=a+bi – алгебраическая форма записи комплексного числа.

a – действительная часть, b – мнимая часть

Экспоненциальная (показательная) форма записи комплексного числа,

А – модуль, φ – аргумент (фаза)

Тригонометрическая форма записи комплексного числа.

Связь величин: a=A cos φ b=A sin φ

Z1=a1+j·b1, Z2=a2+j·b2

a) Сложение (вычитание) Z3=Z1±Z2=(a1±a2)+j·(b1±b2)

б) Умножение c·Z1=a·c+j·b·c

Z3=Z1·Z2=(a1·a2-b1·b2)+j·(a1·b2+a2·b1)=A1A2ej(φ1+φ2)

в) Деление

г) Возведение в степень n (натуральную)

д) Извлечение корня: , где k =0,1,2…n-1

Машина принимает только радианы!!! радиан=градус градус=радиан

Примеры:

Функция f(x) абсолютно интегрируема на отрезке [-p;p], если существует интеграл. Каждой абсолютно интегрируемой на отрезке [-p;p] функции f(x) можно поставить в соответствие её тригонометрический ряд Фурье:

Коэффициенты тригонометрического ряда Фурье называют коэффициентами Фурье и вычисляют по формулам Эйлера – Фурье: ,

Обозначим n – ю частичную сумму ряда Фурье кусочно – гладкой на отрезке [-p;p] функции f(x). Среднеквадратичное отклонение определяется по формуле:

Для любой ограниченной интегрируемой на [-p;p] функции f(x) частичная сумма её ряда Фурье является тригонометрическим многочленом наилучшего приближения n-ой степени.

Пример:

На графиках видно, как сходятся частичные суммы ряда Фурье. В окрестностях точек непрерывности функции f(x) разность между значением функции в точке х и значением частичной суммы ряда в этой точке стремится к нулю при n®¥, что полностью соответствует теории, поскольку в этом случае. Видно также, что разность стремится к нулю тем скорее, чем дальше от точек разрыва функции расположена точка х.

Пример:

Для кусочно – гладкой функции на отрезке [-L;L] функции f(x) задача о разложении в ряд Фурье на отрезке [-L;L] линейной заменой сводится к задаче о разложении функции на отрезке [-p;p]:

Рассмотрим упрощения в рядах Фурье при различных условиях симметрии:

формула (1) формула (2)


Пусть необходимо найти решение уравнения

с начальным условием. Такая задача называется задачей Коши . Разложим искомую функцию в ряд вблизи точки и ограничимся первыми двумя членами разложения. Учтя уравнение (1) и обозначив, получаем Эту формулу можно применять многократно, находя значения функции во все новых и новых точках.

Такой метод решения обыкновенных дифференциальных уравнений называется методом Эйлера . Геометрически метод Эйлера означает, что на каждом шаге мы аппроксимируем решение (интегральную кривую) отрезком касательной, проведенной к графику решения в начале интервала. Точность метода невелика и имеет порядок h . Говорят, что метод Эйлера – метод первого порядка, то есть его точность растет линейно с уменьшением шага h .

Существуют различные модификации метода Эйлера, позволяющие увеличить его точность. Все они основаны на том, что производную, вычисленную в начале интервала, заменяют на среднее значение производной на данном интервале.

Поскольку результатом интерполяционных формул Ньютона и Лагранжа является один и тот же полином 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 ) = 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 . Другими словами, данные коэффициенты задают величину частотных составляющих сигналов. Например, когда мы говорим о звуковом сигнале с низкими частотами (например, звуки бас-гитары), это означает, что коэффициенты a n и b n больше при меньших значениях 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 /T ). Если обозначить угловую частоту первой гармоники ω0 = 2π/T , тогда составляющие n -гармоники принимают вид cos(ω0 nt ), sin(ω0 nt ) и

cos(nt ) b sin(nt ) ,

f (t)

где коэффициенты Фурье вычисляются по формулам

T / 2

(t ) cos(0 nt )dt ,

T / 2

f (t ) sin(0 nt )dt .

T / 2

T / 2

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

2 j nt

f (t)

C n exp(

T / 2

2 j nt

f (t ) exp(

T / 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 - Discrete Fourier Transform) - это одно из преобразований Фурье, широко применяемых в алгоритмах цифровой обработки сигналов (его модификации применяются в сжатии звука в MP3, сжатии изображений в JPEG и др.), а также в других областях, связанных с анализом частот в дискретном (к примеру, оцифрованном аналоговом) сигнале. Дискретное преобразование Фурье требует в качестве входа дискретную функцию. Такие функции часто создаются путѐм дискретизации (выборки значений из непрерывных функций). Недостатком данного алгоритма является большой объем повторяющихся вычислений. Устранение этих избыточных операций приводит к так называемому алгоритму

быстрого преобразования Фурье, который обычно и используется.

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

Для того чтобы реализовать преобразование Фурье в пакете MathCAD , необходимо на панели Symbolic выбрать оператор fourier для прямого преобразования и invfourier - для обратного. Этот оператор нужно поместить следом за функцией, которую нужно преобразовать, а в качестве единственного параметра нужно указать переменную, относительно которой эта функция будет преобразована. Примеры использования показа-

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

Рис. 3.5. Пример разложения в ряд Фурье с помощью символьной функции fourier

Рис. 3.6. Пример разложения в ряд Фурье с помощью символьной функции fourier

MathCAD содержит функции для быстрого дискретного преобразования Фурье (БПФ) и его обращения. Существует два типа функций для дискретного преобразования Фурье: fft и ifft , cfft и icfft . Эти функции дискретны: они берут в качестве аргументов и возвращают векторы и матрицы.

Функции fft и ifft используются, если выполнены следующие условия: (1) аргументы вещественные; (2) – вектор данных имеет 2m элементов.

Во всех прочих случаях используются функции cfft и icfft .

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

Второе условие требуется, потому что пара функций fft и ifft используют высокоэффективный алгоритм быстрого преобразования Фурье. Для этого вектора аргумента, используемо-

го функцией fft , должен состоять из 2m элементов. Алгоритм функций cfft и icfft допускает в качестве аргументов векторы и матрицы произвольного размера. Для двухмерного преобразования Фурье используются только эти функции. Функции fft и ifft , cfft и icfft взаимно обратные друг другу, то есть справедливо:

и icfft(cfft(v)) v .

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

Рис. 3.7. Прямое и обратное преобразование Фурье с помощью функций fft и ifft

На данных графиках приведен Фурье образ сигнала 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 уравнений. Но теперь точного выполнения условий интерполяции не требуется, мы хотим, чтобы полином проходил рядом с заданными точками. Существует много таких полиномов, каждый из которых определяется своим набором коэффициентов. Среди всех возможных полиномов этого вида выберем тот, что имеет наименьшее среднеквадратичное отклонение в узлах интерполяции от заданных значений, т.е. многочлен должен быть самым близким к заданным точкам из всех возможных многочленов третьей степени в смысле метода наименьших квадратов (МНК). В i –й точке по-

лином 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 (a 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

a2 xi

a3 xi 2 a4 xi 3 fi ) 0

2 x i 3 (a 1

a2 xi

a3 xi 2 a4 xi 3 fi ) 0

Собирая коэффициенты при неизвестных a i , получим СЛАУ относительно вектора неизвестных (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

Полученная система называется нормальной . Для ее решения используют стандартные методы решения СЛАУ. Как правило, число неизвестных системы (т.е. число коэффициентов интерполирующей функции) невелико, поэтому можно использовать точные методы решения СЛАУ, например, метод Крамера или метод Гаусса. Метод наименьших квадратов позволяет «приблизить» исходные данные с помощью линейной комбинации любых элементарных функций. Часто используются приближения линейной 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 a 1.4a

зависимости МНК

0.148. График функции F (x )=-0.04+0.57x показан на рис. 3.9 сплошной линией. Точками показаны исходные данные. Можно видеть, что найденная линейная функция действительно приближает заданные точки.

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

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

Mathcad содержит функции для выполнения быстрого дискретного преобразования Фурье (БПФ) и его обращения. В Mathcad PLUS имеется также одномерное дискретное волновое преобразование и его обращение. Все эти функции имеют векторные аргументы. При определении вектора v для нахождения волнового преобразования или преобразования Фурье убедитесь, что первый элемент вектора имеет нулевой индекс: v 0 . Если элемент v 0 не определен, Mathcad автоматически устанавливает его равным 0. Это может привести к искажению результата.

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

В Mathcad входят два типа функций для дискретного преобразования Фурье: fft/ifft и cfft /icfft . Эти функции дискретны: они берут в качестве аргументов и возвращают векторы и матрицы. Они не могут быть использованы с другими функциями.Используйте функции fft и ifft , если выполнены следующие два условия:
  • аргументы вещественны, и
  • вектор данных имеет 2 m элементов.

Используйте функции cfft и icfft во всех других случаях.
Первое условие необходимо, потому что функции fft/ifft используют тот факт, что для вещественных данных вторая половина преобразования Фурье является комплексно сопряженной с первой. Mathcad отбрасывает вторую половину вектора-результата. Это сохраняет и время и память при вычислениях.

Пара функций cfft/icfft не использует симметрию в преобразовании. По этой причине необходимо использовать их для комплексных данных. Так как вещественные числа - подмножество комплексных чисел, можно также использовать пару cfft/icfft для вещественных чисел.

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

Обратите внимание, что, если использована функция fft для прямого преобразования, необходимо использовать функцию ifft для обратного. Аналогично, если для прямого преобразования использована cfft , то для обратного необходимо использовать icfft .

Различные формулировки определения преобразования Фурье используют различные нормировочные коэффициенты и соглашения о знаке перед мнимой единицей в показателе экспоненты прямого и обратного преобразований. Функции fft, ifft, cfft и icfft используют 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, вычисляются по формуле

В этой формуле n - число элементов в v , i - мнимая единица.

Элементы в векторе, возвращенном функцией fft , соответствуют различным частотам. Чтобы восстанавливать фактическую частоту, необходимо знать частоту измерения исходного сигнала. Если v есть n -мерный вектор, переданный функции fft , и частота измерения исходного сигнала - f s , то частота, соответствующая, равна

Обратите внимание, что это делает невозможным обнаружить частоты выше частоты измерения исходного сигнала. Это - ограничение налагаемое не Mathcad, а самой сутью проблемы. Чтобы правильно восстанавливать сигнал по его преобразованию Фурье, необходимо произвести измерения исходного сигнала с частотой, по крайней мере вдвое большей, чем ширина полосы частот. Полное обсуждение этого явления лежит за пределами данного руководства, но его можно найти в любом учебнике по цифровой обработке сигналов.

Вектор v должен иметь 1+ 2 m элементов, где m - целое. Результат есть комплекснозначный вектор размерности 2 m+1 . Если v имеет размерность, отличную от 1+ 2 m , Mathcad выдает сообщение об ошибке “неверный размер вектора ”.Аргумент v - вектор, подобный созданному функцией fft. Чтобы вычислить результат, Mathcad сначала создает новый вектор w , комплексно сопряженный v , и присоединяет его к вектору v . Затем Mathcad вычисляет вектор d , чьи элементы вычисляются по формуле:

Это та же самая формула, что и для fft , кроме знака минус в функции exp . Функции fft и ifft - точные обращения. Для всх вещественнозначных v справедливо ifft(fft(v))=v.

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

Имеются две причины, по которым не могут быть использованы пары преобразований fft/ifft, обсужденные в предыдущем разделе:
  • Данные могут быть комплекснозначны. Это означает, что Mathcad не может больше использовать симметрию, имеющую место в вещественном случае.
  • Вектор данных может иметь размерность, отличную от 2 m . Это означает, что Mathcad не может пользоваться преимуществом высокоэффективного алгоритма БПФ, используемого парой fft/ifft .
Комплексное преобразование Фурье требует следующих функций:
Рисунок 3: Использование быстрых преобразований Фурье в Mathcad.

Пара преобразований cfft/icfft может работать с массивами любого размера. Однако они работают значительно быстрее, когда число строк и столбцов может быть представлено в виде произведения большого количества меньших сомножителей. Например, векторы с длиной 2 m относятся к этому классу, так же как и векторы, имеющие длины, подобные 100 или 120. С другой стороны, вектор, чья длина - большое простое число, замедлит вычисление преобразования Фурье.

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

Когда в качестве аргумента cfft используется матрица, результат есть двумерное преобразование Фурье исходной матрицы.

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

Определения преобразования Фурье, обсужденные выше, не являются единственно возможными. Например, следующие определения для дискретного преобразования Фурье и его обращения можно найти в книге Ronald Bracewells, The Fourier Transform and Its Applications (McGraw-Hill, 1986): Эти определения весьма распространены в технической литературе. Чтобы использовать эти определения вместо обсужденных в предыдущем разделе, используйте функции FFT , IFFT , CFFT и ICFFT . Они отличаются следующим:

Функции FFT , IFFT , CFFT и ICFFT используются аналогично функциям, обсужденным в предыдущем разделе.

Волновое преобразование

A Mathcad PLUS включены две функции волновых преобразований: для выполнения прямого одномерного дискретного волнового преобразования и его обращения. Преобразование выполняется с использованием четырехкоэффициентного волнового базиса Даубечи.