Прямое и обратное преобразование фурье в mathcad. Разложение периодических функций в

Mod(x, y) – остаток от деления x на y. Результат имеет тот же самый знак, что и x; angle(x, y) – угол (в радианах) между положительной полуосью x и вектором (x, y) в плоскости XY. Аргументы должны быть вещественны. Возвращает значение между 0 и 2π. ceil(3.25) = 4 floor(3.25) = 3 mantissa (x) := x − floor(x) mantissa (3.45) = 0.45 Традиционное округление: roundoff (x) := if(mantissa (x) < 0.5, floor(x) , ceil(x)) roundoff (3.46) = 3 roundoff (3.56) = 4 Рис. 14. Создание функций округления На рис. 14 показано, как из этих функций могут быть сформированы функции округления. 4.4. Дискретное преобразование Фурье В Mathcad входят два типа функций для дискретного прямого и об- ратного преобразования Фурье: fft/ifft и cfft/icfft. Эти функции дискрет- ны: они берут в качестве аргументов и возвращают векторы и матрицы. Они не могут быть использованы с другими функциями. Используйте функции fft и ifft, если выполнены два следующих ус- ловия: аргументы вещественны, и вектор данных имеет 2m элементов. Первое условие необходимо, потому что функции fft/ifft используют тот факт, что для вещественных данных вторая половина преобразова- ния Фурье является комплексно сопряженной с первой. Mathcad отбра- сывает вторую половину вектора-результата. Это сохраняет время и память при вычислениях. Пара функций cfft/icfft не использует симметрию в преобразова- нии. По этой причине необходимо использовать их для комплексных данных. 41 Второе условие требуется, потому что пара функций fft/ifft исполь- зует высоко эффективный алгоритм быстрого преобразования Фурье. Для этого вектор аргумента, используемого с fft, должен иметь 2m эле- ментов. В функциях cfft/icfft использован алгоритм, который допускает в качестве аргументов как матрицы, так и векторы произвольного раз- мера. Когда эта пара функций используется с матрицей в качестве аргу- мента, вычисляется двумерное преобразование Фурье. Следует иметь в виду, что если для прямого преобразования исполь- зована функция fft, то для обратного преобразования необходимо ис- пользовать функцию ifft. Аналогично используются функции cfft/icfft. 4.5. Преобразование Фурье в вещественной области Для вещественных векторов с 2m элементами предпочтительно ис- пользовать функции fft/ifft. Функция fft(v) возвращает дискретное пре- образование Фурье, векторный аргумент которой можно интерпретиро- вать как результат измерений через равные промежутки времени некоторого сигнала. Вектор v должен содержать 2m элементов. Резуль- тат – комплекснозначный вектор размерности 1 + 2m–1. Если v имеет размерность, отличную от 2m, Mathcad выдает сообщение об ошибке "неверный размер вектора". Элементы вектора, возвращаемого fft, вычисляются по формуле n −1 ∑ vk e 2 πi (j n) k . 1 Cj = n k =0 В этой формуле n – число элементов в v, i – мнимая единица. Эле- менты в векторе, возвращенном функцией fft, соответствуют различ- ным частотам. Чтобы восстановить фактическую частоту, необходимо знать частоту измерения исходного сигнала. Если v есть n-мерный век- тор, переданный функции fft, и частота измерения исходного сигнала – fs, то частота, соответствующая Ck k fk = fs. n Обратите внимание, что это делает невозможным обнаружить часто- ты выше частоты измерения исходного сигнала. Это ограничение, нала- гаемое не Mathcad, а самой сутью проблемы. Чтобы правильно восста- новить сигнал по его преобразованию Фурье, необходимо произвести 42 i:= 0 .. 63 xi:= sin  π⋅  + rnd (1) − 0.5 i Формирование сигнала:    10  Применяется комплексное преобразование Фурье: c:= fft(x) N:= last (c) N = 32 Обращение преобразования Фурье: z:= ifft(c) N2:= last (z) N2 = 63 j:= 0 .. N k:= 0 .. N2 Графическое представление сигнала zk = xj = 2 –0.499 –0.499 2.34·10 –3 2.34·10–3 0.673 0.673 xi 0 0.659 0.659 1.274 1.274 0.674 0.674 –2 0 20 40 60 80 1.162 1.162 i 0.613 0.613 Фурье-образ 0.179 0.179 4 –0.044 –0.044 0.489 0.489 –0.69 –0.69 cj 2 –1.079 –1.079 –0.777 –0.777 –0.849 –0.849 –1.334 –1.334 0 0 10 20 30 40 j Рис. 15. Быстрые пр6еобразования Фурье в Mathcad 43 измерения исходного сигнала с частотой, по крайней мере, вдвое боль- шей, чем ширина полосы частот. Подробное обсуждение этой пробле- мы содержится в специальных курсах. Функция ifft(v) возвращает обратное дискретное преобразование Фурье. Вектор v должен иметь 1 + 2m элементов, где m – целое. Резуль- тат есть вектор размерности 2m+1. Аргумент v – вектор, подобный созданному функцией fft. Чтобы вы- числить результат, Mathcad сначала создает новый вектор w, комплекс- но сопряженный v, и присоединяет его к вектору v. Затем Mathcad вы- числяет вектор d, элементы которого вычисляются по формуле n −1 ∑ wk e−2πi(j n)k . 1 dj = n k =0 Это та же самая формула, что и для fft, кроме знака минус в функции экспоненты. Функции fft и ifft – точные обращения. Для всех веще- ственных v справедливо ifft(fft(v)) = v. Пример использования прямого и обратного преобразований Фурье приведен на рис. 15. 4.6. Альтернативные формы преобразования Фурье Определения преобразования Фурье, рассмотренные выше, не явля- ются единственно возможными. Например, часто используются следу- ющие определения прямого и обратного преобразований Фурье: n n ∑ f (τ)e−2πi(ν n)τ ; f (τ) = ∑ F (ν) e () . 1 2 πi τ / n ν F (ν) = n τ=1 v =1 Эти определения реализованы во встроенных функциях FFT/IFFT и ICFFT. Они отличаются от быстрого преобразования Фурье следующим: вместо коэффициента 1 n перед обеими формулами стоит коэф- фициент 1/n и коэффициент 1 в обратном преобразовании; знак минус появляется в показателе экспоненты прямого преобразо- вания и исчезает в формуле обратного. 4.7. Кусочно-непрерывные функции Кусочно-непрерывные функции полезны для управления ветвлени- ями и остановками вычислительных процессов. Имеются пять функций 44 Использование условных операторов 2 x:= −2 , − 1.8 .. 2 f (x) := x − 1 g (x) := if(f (x) > 0 , f (x) , 0) g(x) равна f(x), когда f(x) > 0, иначе 0 4 4 2 f (x) g(x) 2 0 2 0 2 0 2 2 0 2 x x h (x) := if(x ≥ 1 , f (x) , − f (x)) иначе –f(x) 5 h(x) 0 Продолжать вычисления до выполнения условия 5 2 0 2 2 quess − a < err x −2 N:= 100 i:= 0 .. N a:= 1000 quess 0:= 10 err:= 10  quess i + a   quess i  quess i+ 1:= until (quess i) − a − err ,  2  2  N2:= last (quess) − 1 j:= 0 .. N2 j= quess j = (quess j)2 = 0 10 100 Число итераций N2 = 5 1 55 3.025·10 3 answer:= quess N2 2 36.591 1.339·10 3 3 31.96 1.021·10 3 answer = 31.623 4 31.625 1·10 3 5 31.623 1·10 3 Рис. 16. Условные выражения в Mathcad 45 Mathcad, относящихся к этому классу. Функция if полезна для выбора одного из двух значений, определяемого условием. Ступенчатая функ- ция Хевисайда Ф(х) и символ Кронекера δ(m, n) во многом аналогичны функции if. Функция until используется, чтобы управлять процессом итераций. Функция if(cond, tval, fval) возвращает значение tval, если cond отли- чен от 0 (истина) и возвращает fval, если cond равен 0 (ложь). Обычно в качестве аргумента cond выбирается булево выражение вида w = z, x > y, x < y, x ≥ y, x ≤ y, w ≠ z. Можно объединять булевы операторы, чтобы записать более сложные условия. Например, условие (x < 1) ⋅ (x > 0) действует подобно логическому "и", возвращающему 1, только если x заключено между 0 и 1. Аналогично выражение (x > 1) + (x < 0) действует подобно логическому "или", возвращающему 1, если x > 1, или x < 0, и 0, если x заключено между 0 и 1. Функция until (x, z) возвращает z, пока выражение x не становится отрицательным; должно содержать дискретный аргумент. Функция until позволяет останавливать вычисления для последовательных значений дискретного аргумента. Функция until полезна в итеративных процес- сах с определенным условием сходимости. На рис. 16 приведены примеры использования функций if и until. Функция Хевисайда эквивалентна следующей функции: Ф (x) := if (x < 0,0,1) Символ Кронекера δ(m, n) возвращает 1, если m = n; иначе 0. Оба аргумента должны быть целочисленными. Символ Кронекера эквива- лентен функции δ (m, n) := if (m = n,1,0) Ступенчатая функция Хевисайда может быть использована для со- здания импульса шириной w: pulse (x, w) := Ф (x) − Ф (x − w) Можно определить также две полезные функции lowpass и highpass. Они обе являются фильтрами – умножение на них какого-либо сигнала 46 вырезает из этого сигнала кусок вокруг точки x, имеющий ширину 2w. Разница состоит в том, что lowpass оставляет только вырезанный ку- сок, highpass – все, кроме вырезанного куска. lowpass (x, w) := pulse (x+w, 2 ⋅ w) highpass (x, w) := 1 − pulse (x+w, 2 ⋅ w) 4.8. Статистические функции Для вычисления статистических оценок случайных совокупностей чисел в Mathcad могут использоваться следующие функции: mean(A) – возвращает среднее значение элементов массива А раз- мерности m × n по формуле m −1 n −1 ∑ ∑ Aij ; 1 mean(A) = mn i =0 j =0 var(A) – возвращает дисперсию элементов массива А размерности m × n согласно формуле m −1 n −1 ∑ ∑ Aij − mean(A) 1 2 var(A) = ; mn i =0 j =0 stdev(A) - возвращает среднеквадратичное отклонение (квадратный корень из дисперсии) элементов m × n массива А stdev(A) = var(A). 4.9. Плотности распределения вероятности Эти функции показывают отношение вероятности того, что случай- ная величина попадает в малый диапазон значений с центром в задан- ной точке, к величине этого диапазона. В Mathcad имеются функции семнадцати плотностей вероятностей. Отметим только некоторые из них: dnorm(x, µ, σ) – возвращает плотность вероятности нормального рас- пределения 1  (x − µ) 2  dnorm(x, µ, σ) = exp  − , 2πσ  2σ 2  47 в котором µ и σ есть среднее значение и среднеквадратичное отклоне- ние, σ > 0; dunif(x, a, b) – вычисляет плотность вероятности равномерного рас- пределения  1 , x ∈ ,  dunif(x, a, b) =  b − a  0,  x ∉ в котором a и b являются граничными точками интервала, a < b. 4.10. Функции распределения Эти функции возвращают вероятность того, что случайная величи- на меньше или равна определенному значению. Функция распределе- ния вероятности – это функция плотности вероятности, проинтегриро- ванная от минус бесконечности до определенного значения. Приведем две из них: pnorm(x, µ, σ) – возвращает функцию нормального распределения со средним µ и среднеквадратическим отклонением σ (σ > 0); punif(x, a, b) – возвращает функцию равномерного распределения. a и b есть граничные значения интервала (a < b). Mathcad имеет ряд функций для генерирования случайных чисел, имеющих разнообразные распределения вероятностей. Приведем две из них: rnorm(m, µ, σ) – возвращает вектор m случайных чисел, имеющих нормальное распределение (σ > 0); runif(m, a, b) – возвращает вектор m случайных чисел, имеющих рав- номерное распределение, в котором a и b являются граничными точка- ми интервала (a < b). Остальные встроенные статистические функции и их описания мож- но посмотреть, выбрав команду Функция из меню Вставка. 4.11. Интерполяция и функции предсказания Интерполяция заключается в использовании значений некоторой функции, заданных в ряде точек, чтобы предсказать значения между ними. В Mathcad можно или соединять точки данных прямыми линия- ми (линейная интерполяция) или соединять их отрезками кубического полинома (кубическая сплайн-интерполяция). 48 В отличие от функций регрессии, обсуждаемых в следующем разде- ле, функции интерполяции определяют кривую, точно проходящую че- рез заданные точки. Из-за этого результат очень чувствителен к ошиб- кам данных. Если данные зашумлены, следует рассмотреть возможность использования регрессии вместо интерполяции. Для линейной интерполяции используется функция linterp(vx, vy, x), которая по векторным данным vx и vy возвращает линейно интерполи- руемое значение y, соответствующее третьему аргументу x. Аргументы vx и vy должны быть векторами одинаковой длины. Вектор vx должен содержать вещественные значения, расположенные в порядке возраста- ния. Эта функция соединяет точки данных отрезками прямых, созда- вая, таким образом, ломаную линию. Интерполируемое значение для конкретного x есть ордината y соответствующей точки ломаной. Пример линейной интерполяции показан на рис. 17. Кубическая сплайн-интерполяция позволяет провести кривую через набор точек таким образом, что первые и вторые производные кривой непрерывны в каждой точке. Эта кривая образуется путем создания ряда кубических полиномов, проходящих через наборы из трех смежных то- чек. Кубические полиномы состыковываются друг с другом, чтобы об- разовать одну кривую. Чтобы провести кубический сплайн через набор точек: создайте векторы vx и vy, содержащие координаты x и y, через кото- рые нужно провести кубичный сплайн. Элементы vx должны быть рас- положены в порядке возрастания; вычислите вектор vs:=cspline(vx, vy). Вектор vs содержит вторые про- изводные интерполяционной кривой в рассматриваемых точках. Чтобы найти интерполируемое значение в произвольной точке, ска- жем х0, вычислите interp(vs, vx, vy, x0), где vs, vx и vy – векторы, опи- санные ранее. Обратите внимание, что можно сделать то же самое, вычисляя interp(cspline(vx, vy),vx,vy, x0). Пример использования кубической сплайн-интерполяции приведен на рис. 17 внизу. 49 Линейная интерполяция i:= 0 .. 5 VXi:=i VYi:=vd(1) VXi = VYi = –3 linterp(VX, VY, 1.5) = 0.389 0 1.268·10 1 0.193 linterp(VX, VY, 3.75) = 0.705 2 0.585 linterp(VX, VY, 4.1) = 0.758 3 0.35 4 0.823 x:= 0 , 0.1.. 5 5 0.174 1 linterp(VX , VY , x) 0.5 VYi 0 0 2 4 6 x , VX i Кубическая сплайн-интерполяция i:= 0 .. 5 VXi:= i VYi:= rnd (1) VS:= lspline (VX, VY) interp (VS, VX, VY, 1.5) = 0.188 interp (VS, VX, VY, 3.75) = 0.868 interp (VS, VX, VY, 4.1) = 0.989 1 VYi = 0.71 interp(VS , VX , VY , x) 0.304 0.5 VYi 0.091 0.147 0.989 0 0 2 4 6 0.119 x , VX i Рис. 17. Примеры интерполяции 50

П

Глушач В.С. УИТ-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
Математическая статистика – наука, позволяющая распространять выводы, сделанные на основе изучения части совокупности (случайной выборки), на всю совокупность (генеральную совокупность). Ее определяют также как науку о принятии решений в условиях неопределенности.

П

Глушач В.С. УИТ-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)

11. ЭЛЕКТРИЧЕСКОЕ И МАГНИТНОЕ ПОЛЕ

Задача 34. Два точечных электрических заряда q 1 , q 2 имеют координаты (X 1 ,Y 1) и (X 2 ,Y 2). Рассчитайте распределение потенциала электрического поля, постройте эквипотенциальные линии и поверхность φ=φ(x,y).

Потенциал электрического поля, создаваемого зарядами q i с координатами (X i ,Y i), i=1, 2, ... в точке (x,y) равен:

Результаты расчета эквипотенциальных линий и поверхности φ=φ(x,y) --- в документе 24.mcd. Заряды положительные, поэтому по мере приближения к каждому из них потенциал возрастает.

Задача 35. Рядом с заряженной пластиной расположены два точечных заряда. Изучите распределение потенциала и постройте силовые линии напряженности электрического поля.

Зависимость φ=φ(x,y) определяется как в предыдущей задаче, напряженность электрического поля в двумерном случае равна:

Для построения силовых линий вычисляются проекции вектора напряженности на оси координат и создается матрица E i,j:=Ex(x i ,y j)+ 1i· Ey(x i ,y j) и нормированная матрица A i,j , используемая для построения векторного поля (25.mcd).

Задача 36. Рассчитайте индукцию магнитного поля, создаваемого двумя витками с током, и постройте силовые линии в случаях, когда токи сонаправлены и противоположно направлены.

Рассмотрим виток с током, лежащий в плоскости XOY, с центром в точке O. Разобъем его на элементы dl s , определим элементарный магнитный момент, создаваемый каждым элементом в точке наблюдения, и просуммируем их.

Элемент витка и точка наблюдения имеют координаты (r·cosφ s , r·sinφ s , 0), и (x, y, z) соответственно. Для расчета индукции магнитного поля используется закон Био--Савара--Лапласа:

где μ 0 --- магнитная постоянная, I --- сила тока. Решение приведено в документе 26.mcd. Витки расположены параллельно плоскости XOY, на экране получаются силовые линии магнитного поля в плоскости YOZ.

Задача 37. В рассмотренном случае постройте график зависимости модуля индукции магнитного поля от координаты вдоль оси витков с током и перпендикулярно ей.

Задача 38. Получите проекции вектора индукции магнитного поля на плоскость перпендикулярную оси соленоида (витка) с током.

Задача 39. Рассчитайте магнитное поле, создаваемое двумя (тремя) параллельными проводниками, по которым текут токи в различных направлениях.

Задача 40. Изучите магнитное поле, создаваемое соленоидом и прямолинейным проводником с током. Получите проекции индукции магнитного поля на плоскость, содержащую проводник с током.

Задача 41. Имеется два соленоида, расположенных соосно по отношению друг к другу. Постройте силовые линии магнитного поля в случаях, когда токи текут в одном направлении и в противоположных направлениях (27.mcd).