Преобразование Фурье
fourier(f)
fourier(f,transVar)
fourier(f,var,transVar)
fourier(
возвращает преобразование Фурье f
)f
. По умолчанию функциональный 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)) |
Правосторонний экспоненциал |
Также вычислите, преобразовывают с условием 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) |
Двусторонний экспоненциал |
Примите 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) |
Гауссов |
Примите 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) |
Функция Бесселя первого вида с |
Упростите результат. 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
, поэлементные на всех элементах массива.
Если первый аргумент содержит символьную функцию, то второй аргумент должен быть скаляром.
Чтобы вычислить обратное преобразование Фурье, используйте ifourier
.
fourier
не преобразовывает piecewise
. Вместо этого попытайтесь переписать piecewise
при помощи функций heaviside
, rectangularPulse
или triangularPulse
.
[1] Обереттингер Ф., "Таблицы преобразований Фурье и преобразований Фурье дистрибутивов". Спрингер, 1990.