fourier

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

Описание

пример

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
Косинус
f = a*cos(b*t);
f_FT = fourier(f)
f_FT =
pi*a*(dirac(b + w) + dirac(b - w))
Синус
f = a*sin(b*t);
f_FT = fourier(f)
f_FT =
pi*a*(dirac(b + w) - dirac(b - 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)

Преобразования Фурье с участием Дирака и тяжеловесных функций

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

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 для определения независимой переменной.

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

Подробнее о

свернуть все

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

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

F(w)=cf(x)eiswxdx.

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

Совет

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

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

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

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

Ссылки

[1] Oberhettinger F., «Таблицы преобразований Фурье и преобразования Фурье распределений». Спрингер, 1990.

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