Doubt in FFT and one-third octave analysis
10 views (last 30 days)
Show older comments
I am trying to do FFT of signal in time domain and would like to check IFFT, so that my FFT is correct. But my IFFT doesnot matches original signal. Here is the code attached. Further I am trying to do one third octave band value of the signal (dB) vs frequency, but no idea about one-third octave analysis.
clc;clear all;close all;
%% read data
data_1=xlsread('Force_pier.xlsx');% Signal data in Time-Domain
t_com=xlsread('time.xlsx');% time data
figure(1);plot(t_com,data_1,'linewidth',2);title('Time response');% response in time domain
N=length(data_1);% Number Of Samples
Ts=mean(diff(t_com));% Sampling Interval
Fs=1/Ts;% Sampling Frequency
Fn=Fs/2;% Nyquist Frequency
%% FFT
FT_signal=fft(data_1)/N;% Normalized Fourier Transform Of Data
Fv=linspace(0,1,fix(N/2)+1)*Fn; % Frequency Vector (For ‘plot’ Call)
Iv=1:length(Fv);% Index Vector (Matches ‘Fv’)
figure(2);plot(Fv,abs(FT_signal(Iv))*2,'linewidth',2);title('frequency response');% FFT of the signal in frequency domain
%% IFFT
yy=ifft((FT_signal)); % inverse fft
N2=length(FT_signal); % determine the length of the signal
dt2=1/Fs; % determine the time increment
tim=0:dt2:(N2-1)*dt2; %create the time axis
figure(3);plot(tim,yy,'linewidth',2);title('back to time domain');
Answers (0)
See Also
Categories
Find more on Octave in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!