is there any problem in my FFT?
1 view (last 30 days)
Show older comments
AB = C (time domain data)
A and C : known
B : unkown
length of A,B and C is 512
N1 = 512;
t = t1(1:N1-1);
A = A1(1:N1-1);
C =C1(1:N1-1);
T1 = tpp*N1;
fpp = 1/T1;
a1 = 0.3906;
nr = N1*a1;
fs = 1/tpp;
df1 = 0:fs/N1:(N1-1)*fs/N1;
dfp1 = df1(1:nr);
fft1 = fft(A);
fft_Mag_A(1) = (1/N1)*abs(fft1(1));
fft_Mag_A(2:nr) = (2/N1)*abs(fft1(2:nr));
fft_Phase_A = angle(fft1(1:nr));
fft2 = fft(C);
fft_Mag_C(1) = (1/N1)*abs(fft1(1));
fft_Mag_C(2:nr) = (2/N1)*abs(fft1(2:nr));
fft_Phase_C = angle(fft1(1:nr));
B = fft_Mag_C/fft_Mag_A*cos(w*t+fft_Phase_C - fft_Phase_A);
fft3 = fft(B);
fft_Mag_B(1) = (1/N1)*abs(fft3(1));
fft_Mag_B(2:nr) = (2/N1)*abs(fft3(2:nr));
fft_Phase_B(1:nr) = angle(fft3(1:nr));
C1 = fft_Mag_A*fft_Mag_B*cos(w*t+fft_Phase_A+fft_Phase_B)
here is a problem.
why C1 and C(data) doesn't match perfectly each other when i draw graph?
There's a slight error.
1 Comment
David Goodmanson
on 28 Oct 2021
Hi SK,
could you explain the purpose of doubling the magnitudes between 2 and nr, and also why the magnitude and phase of C are based on fft1 and not fft2?
Answers (0)
See Also
Categories
Find more on Spectral Estimation 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!