Фурье

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

Синтаксис

fourier(f)
fourier(f,transVar)
fourier(f,var,transVar)

Описание

пример

fourier(f) возвращает преобразование Фурье f. По умолчанию функциональный symvar определяет независимую переменную, и w является переменной преобразования.

пример

fourier(f,transVar) использует переменную transVar преобразования вместо w.

пример

fourier(f,var,transVar) использует независимую переменную var и переменная transVar преобразования вместо symvar и w, соответственно.

Примеры

Преобразование Фурье общих входных параметров

Вычислите преобразование Фурье общих входных параметров. По умолчанию преобразование с точки зрения w.

ФункцияВходной параметрВывод

Меандр

syms a b t
f = rectangularPulse(a,b,t);
f_FT = fourier(f)
f_FT =
- (sin(a*w) + cos(a*w)*1i)/w + (sin(b*w) + cos(b*w)*1i)/w

Модульный импульс (дельта Дирака)

f = dirac(t);
f_FT = fourier(f)
f_FT =
1

Абсолютное значение

f = a*abs(t);
f_FT = fourier(f)
f_FT =
-(2*a)/w^2

Продвиньтесь (Heaviside)

f = heaviside(t);
f_FT = fourier(f)
f_FT =
pi*dirac(w) - 1i/w

Постоянный

f = a;
f_FT = fourier(a)
f_FT =
pi*dirac(1, w)*2i
Косинус
syms w0
f = a*cos(w0*t);
f_FT = fourier(f)
f_FT =
pi*a*(dirac(t - w) + dirac(t + w))
Синус
f = a*sin(w0*t);
f_FT = fourier(f)
f_FT =
-pi*a*(dirac(t - w) - dirac(t + w))*1i
Знак
f = sign(t);
f_FT = fourier(f)
f_FT =
-2i/w

Треугольник

syms c
f = triangularPulse(a,b,c,t);
f_FT = fourier(f)
f_FT =
-(a*exp(-b*w*1i) - b*exp(-a*w*1i) - a*exp(-c*w*1i) + c*exp(-a*w*1i) + b*exp(-c*w*1i) - c*exp(-b*w*1i))/(w^2*(a - b)*(b - c))

Правосторонний экспоненциал

Также вычислите, преобразовывают с условием a > 0. Очистите предположения.

f = exp(-t*abs(a))*heaviside(t);
f_FT = fourier(f)

assume(a > 0)
f_FT_condition = fourier(f)
assume(a,'clear')
f_FT =
1/(abs(a) + w*1i) - (sign(abs(a))/2 - 1/2)*fourier(exp(-t*abs(a)), t, w)

f_FT_condition =
1/(a + w*1i)

Двусторонний экспоненциал

Примите a > 0. Очистите предположения.

assume(a > 0)
f = exp(-a*t^2);
f_FT = fourier(f)
assume(a,'clear')
f_FT =
(pi^(1/2)*exp(-w^2/(4*a)))/a^(1/2)

Гауссов

Примите, что b и c действительны. Упростите результат и ясные предположения.

assume([b c],'real')
f = a*exp(-(t-b)^2/(2*c^2));
f_FT = fourier(f)

f_FT_simplify = simplify(f_FT)
assume([b c],'clear')
f_FT =
(a*pi^(1/2)*exp(- (c^2*(w + (b*1i)/c^2)^2)/2 - b^2/(2*c^2)))/(1/(2*c^2))^(1/2)

f_FT_simplify =
2^(1/2)*a*pi^(1/2)*exp(-(w*(w*c^2 + b*2i))/2)*abs(c)

Функция Бесселя первого вида с nu = 1

Упростите результат.

syms x
f = besselj(1,x);
f_FT = fourier(f);
f_FT = simplify(f_FT)
f_FT =
(2*w*(heaviside(w - 1)*1i - heaviside(w + 1)*1i))/(1 - w^2)^(1/2)

Задайте переменную независимой переменной и преобразования

Вычислите преобразование Фурье exp(-t^2-x^2). По умолчанию symvar определяет независимую переменную, и w является переменной преобразования. Здесь, symvar выбирает x.

syms t x
f = exp(-t^2-x^2);
fourier(f)
ans =
pi^(1/2)*exp(- t^2 - w^2/4)

Задайте переменную преобразования как y. Если вы задаете только одну переменную, та переменная является переменной преобразования. symvar все еще определяет независимую переменную.

syms y
fourier(f,y)
ans =
pi^(1/2)*exp(- t^2 - y^2/4)

Задайте и независимые переменные и переменные преобразования как t и y во вторых и третьих аргументах, соответственно.

fourier(f,t,y)
ans =
pi^(1/2)*exp(- x^2 - y^2/4)

Преобразования Фурье, вовлекающие Дирака и функции Хивизида

Вычислите следующие преобразования Фурье. Результаты с точки зрения функций Дирака и Хивизида.

syms t w
fourier(t^3, t, w)
ans =
-pi*dirac(3, w)*2i
syms t0
fourier(heaviside(t - t0), t, w)
ans =
exp(-t0*w*1i)*(pi*dirac(w) - 1i/w)

Задайте параметры преобразования Фурье

Задайте параметры преобразования Фурье.

Вычислите преобразование Фурье f с помощью значений по умолчанию параметров Фурье c = 1, s = -1. Для получения дополнительной информации смотрите преобразование Фурье.

syms t w
f = t*exp(-t^2);
fourier(f,t,w)
ans =
-(w*pi^(1/2)*exp(-w^2/4)*1i)/2

Измените параметры Фурье на c = 1, s = 1 при помощи sympref, и вычислите преобразование снова. Изменения результата.

sympref('FourierParameters',[1 1]);
fourier(f,t,w)
ans =
(w*pi^(1/2)*exp(-w^2/4)*1i)/2

Измените параметры Фурье на c = 1/(2*pi), s = 1. Изменения результата.

sympref('FourierParameters', [1/(2*sym(pi)), 1]);
fourier(f,t,w)
ans =
(w*exp(-w^2/4)*1i)/(4*pi^(1/2))

Настройки, установленные sympref, сохраняются через ваши текущие и будущие сеансы MATLAB®. Восстановите значения по умолчанию c и s установкой FourierParameters к 'default'.

sympref('FourierParameters','default');

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

Найдите преобразование Фурье матричного M. Задайте независимые переменные и переменные преобразования для каждой матричной записи при помощи матриц, одного размера. Когда аргументы являются нескалярами, действиями fourier на них поэлементный.

syms a b c d w x y z
M = [exp(x) 1; sin(y) i*z];
vars = [w x; y z];
transVars = [a b; c d];
fourier(M,vars,transVars)
ans =
[                 2*pi*exp(x)*dirac(a),     2*pi*dirac(b)]
[ -pi*(dirac(c - 1) - dirac(c + 1))*1i, -2*pi*dirac(1, d)]

Если fourier вызван и скалярными и нескалярными аргументами, то он расширяет скаляры, чтобы совпадать с нескалярами при помощи скалярного расширения. Нескалярные аргументы должны быть одного размера.

fourier(x,vars,transVars)
ans =
[ 2*pi*x*dirac(a), pi*dirac(1, b)*2i]
[ 2*pi*x*dirac(c),   2*pi*x*dirac(d)]

Если преобразование Фурье не может быть найдено

Если fourier не может преобразовать вход затем, это отвечает на неоцененный звонок.

syms f(t) w
F = fourier(f,t,w)
F =
fourier(f(t), t, w)

Возвратите исходное выражение при помощи ifourier.

ifourier(F,w,t)
ans =
f(t)

Входные параметры

свернуть все

Введите, заданный как символьное выражение, функция, вектор или матрица.

Независимая переменная, заданная как символьная переменная. Эта переменная часто называется "переменной времени" или "пространственной переменной". Если вы не задаете переменную, то fourier использует функциональный symvar, чтобы определить независимую переменную.

Переменная Transformation, заданная как символьная переменная, выражение, вектор или матрица. Эта переменная часто называется "переменной частоты". По умолчанию fourier использует w. Если w является независимой переменной f, то fourier использует v.

Больше о

свернуть все

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

Преобразование Фурье выражения f = f (x) относительно переменной x в точке w

F(w)=cf(x)eiswxdx.

c и s являются параметрами преобразования Фурье. Функция fourier использует c = 1, s = –1.

Советы

  • Если какой-либо аргумент является массивом, то действия fourier, поэлементные на всех элементах массива.

  • Если первый аргумент содержит символьную функцию, то второй аргумент должен быть скаляром.

  • Чтобы вычислить обратное преобразование Фурье, используйте ifourier.

  • fourier не преобразовывает piecewise. Вместо этого попытайтесь переписать piecewise при помощи функций heaviside, rectangularPulse или triangularPulse.

Ссылки

[1] Обереттингер Ф., "Таблицы преобразований Фурье и преобразований Фурье дистрибутивов". Спрингер, 1990.

Представлено до R2006a