exponenta event banner

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)

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

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

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) =c∫−∞∞f (x) eiswxdx.

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

Совет

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

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

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

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

Ссылки

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

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