깐우의 세상 만들기

(Matlab) Gibbs Phenomenon(깁스 현상) 확인 본문

Book / Study

(Matlab) Gibbs Phenomenon(깁스 현상) 확인

깐우 2009. 7. 7. 23:17

불연속을 포함하는 파형이 푸리에 합성되었을 때 불연속 값 근처에서 나타나는 불일치 현상.

푸리에 합성에서 고주파수 성분을 많이 포함할수록 불일치는 줄어드나

유한한 주파수 대역에서는 완전히 없어지지 않는다.
 
미국의 수학자 겸 물리학자 Josiah Willard Gibbs(1839-1903)에서 유래되었다고 한다.

 

하지만 나는 왜 저 식이 나왔는지 아직도 이해를 못하겠다...;;

아무튼 MATLAB 에서 이 식을 나타내어 보면


% Gibbs Phenomenon
T=1;
T0=1/4;
J=100;
t=-4:0.001:4;
TotalSum=0;

for k=0:J
    if k==0
        b=1/2;
        s=1/2;           
    elseif(rem(k,2)==1)     % 홀수인 경우
        b=(2*(-1)^((k-1)/2))/(k*pi);
        s=b.*cos(k*2*pi*T0/T*t);           
    else
        b=0;
        s=0;       
    end
    TotalSum=TotalSum+s;
end
plot(t,TotalSum);

여기서 J의 값을 바꾸어 보면 위의 예로 나온 그림을 이해 할 수 있다.

J=5 일때 (즉, 5개의 주파수를 더해주었을 때)


J=50 일 때 (즉, 50개의 서로 다른 주파수를 더해주었을 때)

코딩은 완료!!

하지만 뭔가 어렵다...;;

결국 완벽한 구형파가 나오기는 거의 불가능하다고 보아야겠지..양옆의 깁스현상 때문에???



참고 웹사이트

http://en.wikipedia.org/wiki/Gibbs_phenomenon

http://blog.naver.com/lx_xlb?Redirect=Log&logNo=100057091680