MATLAB Answers

푸리에 변환 및 푸리에 역변환

3 views (last 30 days)
haeyeon JI
haeyeon JI on 21 Mar 2020
Answered: Shubh Sahu on 27 Mar 2020
지진파의 시간이력을 통해 푸리에 변환에 성공하였습니다.
코드는 다음과 같이 입력하였습니다.
Time = [0, 0.01, 0.02, 0.03, .... 99.99] % 0초 에서 99.99 까지의 시간. 간략하게 ....로 표현하였고 실제로는 값을 입력하였습니다.
Acceleration = [0.000024, 0.000325, .... 0.00068] %위의 시간time 에 해당하는 지진파 가속도
n = length(Acceleration);
Ts = Time(2)-Time(1);
Fs = 1/Ts;
NFFT = 2^nextpow2(n);
Y = fft(Acceleration,NFFT)/n;
f = Fs/2*linspace(0,1,NFFT/2+1);
Iv = 1:length(f);
figure;
semilogx(f,abs(Y(Iv)));
xlabel('Frequency (Hz)');
ylabel('Amplitude (m)');
title('Fourier spectrum')
여기서 푸리에 변환을 하여 얻은 푸리에 amplitude에 어떠한 값(필터)을 곱해줍니다. (고주파 진폭을 감소시키기 위한 필터:exp(-pi*0.011.*f))
test1=abs(Y(Iv)).*exp(-pi*0.011.*f);
그래프를 그려보니 푸리에 스펙트럼에서 고주파 진폭이 감소했음을 알 수 있었습니다.
문제는 다음과 같습니다.
필터를 곱해준 후 time 도메인으로 역변환을 시도하려고 하였으나 도출되지 않았습니다.
test1re=ifft(test1)
제 질문의 요약은 다음과 같습니다.
필터를 곱해준 후 다시 time domain(지진파 형상이 나오도록) 으로 역변환을 하고 싶습니다.
어떤 점에서 문제가 발생한걸까요?

  0 Comments

Sign in to comment.

Answers (1)

Shubh Sahu
Shubh Sahu on 27 Mar 2020

  0 Comments

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!