Main Content

fourier

설명

예제

fourier(f)f푸리에 변환을 반환합니다. 기본적으로 함수 symvar은 독립 변수를 결정하며 w는 변환 변수입니다.

예제

fourier(f,transVar)w 대신 transVar을 변환 변수로 사용합니다.

예제

fourier(f,var,transVar)symvarw 대신 독립 변수 var과 변환 변수 transVar을 각각 사용합니다.

예제

흔히 쓰이는 입력값에 대한 푸리에 변환

흔히 쓰이는 입력값에 대한 푸리에 변환을 계산합니다. 기본적으로 이 변환은 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

계단(헤비사이드)

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)

가우스

bc가 실수라고 가정합니다. 결과를 단순화하고 가정을 지웁니다.

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인 제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는 변환 변수입니다. 여기서 symvarx를 선택합니다.

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)

독립 변수와 변환 변수를 두 번째 인수와 세 번째 인수에서 각각 ty로 지정합니다.

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)

푸리에 변환 파라미터 지정하기

푸리에 변환의 파라미터를 지정합니다.

푸리에 파라미터의 디폴트 값으로 c = 1, s = -1을 사용하여 f의 푸리에 변환을 계산합니다. 자세한 내용은 푸리에 변환 항목을 참조하십시오.

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

sympref를 사용하여 푸리에 파라미터를 c = 1, s = 1로 변경하고 변환을 다시 계산합니다. 결과가 다음과 같이 변경됩니다.

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® 세션까지 지속됩니다. FourierParameters'default'로 설정하여 cs의 디폴트 값을 복원합니다.

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을 사용하여 독립 변수를 결정합니다.

변환 변수로, 기호 변수, 기호 표현식, 기호 벡터 또는 기호 행렬로 지정됩니다. 이 변수를 흔히 "주파수 변수"라고 합니다. 기본적으로 fourierw를 사용합니다. wf의 독립 변수인 경우 fourierv를 사용합니다.

세부 정보

모두 축소

푸리에 변환

점 w에서 변수 x에 대한 표현식 f = f(x)의 푸리에 변환은 다음과 같습니다.

F(w)=cf(x)eiswxdx.

c와 s는 푸리에 변환의 파라미터입니다. fourier 함수는 c = 1, s = –1을 사용합니다.

  • 인수가 배열인 경우 fourier는 배열의 모든 요소에 대해 각각 동작을 수행합니다.

  • 첫 번째 인수에 기호 함수가 포함된 경우 두 번째 인수는 스칼라여야 합니다.

  • 푸리에 역변환을 계산하려면 ifourier를 사용하십시오.

  • fourierpiecewise를 변환하지 않습니다. 대신 함수 heaviside, rectangularPulse 또는 triangularPulse를 사용하여 piecewise를 재작성해 보십시오.

참고 문헌

[1] Oberhettinger F., "Tables of Fourier Transforms and Fourier Transforms of Distributions." Springer, 1990.

버전 내역

R2006a 이전에 개발됨