hi all I'm using the functions(fft,ifft) in a matlab code,theoretically signal power must not be changed before and after transformation according to Parsaval theorem. But when calculating the signal power before and after using E{X^2},the power of the 2 signals aren't the same. please can any body helping solving this issue. Thanks

 Risposta accettata

Wayne King
Wayne King il 12 Gen 2013
I'm surprised that you have a signal where you take the DFT, then you take the inverse DFT and the l2 norms are different, can you show this?
If you mean that the l2 norms are different in the time and Fourier domains, then that is expected.The way the DFT and inverse DFT are implemented in MATLAB and many other software packages, the DFT is NOT a unitary operator. You are missing a factor
x = randn(32,1);
% now compute the l2 norm in time
norm(x,2)^2
% take the Fourier transform
xdft = fft(x);
% divide by the appropriate factor
norm(xdft./sqrt(length(x)),2)^2
But again, if you are saying that the following results in a difference, I'm very surprised
x = randn(32,1);
norm(x,2)^2
xdft = fft(x);
xhat = ifft(xdft);
norm(xhat,2)^2

Più risposte (3)

Abdelrahman Marconi
Abdelrahman Marconi il 12 Gen 2013
Dear Wayne King ,i really appreciate your answer, it is very useful.
but please try the same code with (ifft only) the power of the signal before and after aren't the same
Thank you

1 Commento

See my comment below and the following:
x = randn(32,1);
norm(x,2)^2
xdft = ifft(x);
norm(sqrt(length(x)).*xdft,2)^2

Accedi per commentare.

Abdelrahman Marconi
Abdelrahman Marconi il 12 Gen 2013

0 voti

please try this code { x = randn(32,1); % now compute the l2 norm in time a=norm(x,2)^2 % take the Fourier transform xdft = ifft(x); % divide by the appropriate factor b=norm(xdft./sqrt(length(x)),2)^2 } a and b aren't the same

2 Commenti

That's because if you are using ifft() (and I'm not sure why you are with a time signal), then the factor is multiplicative
x = randn(32,1);
norm(x,2)^2
xdft = ifft(x);
norm(sqrt(length(x)).*xdft,2)^2
Abdelrahman Marconi
Abdelrahman Marconi il 12 Gen 2013
Modificato: Abdelrahman Marconi il 14 Gen 2013
Actually the thing that made me think in such this issue is that i have little difference in a Matlab simulation of the OFDM system with the theoretical results, and when i remove the ifft and fft it give me perfect match, so i needed to make sure that the ifft and fft does preserve the signal power.

Accedi per commentare.

Abdelrahman Marconi
Abdelrahman Marconi il 12 Gen 2013

0 voti

Thank you very much it is very helpful answer.

1 Commento

mohammadreza
mohammadreza il 28 Mag 2015
hi dear Abdlrahman i'm working on OFDM system and I also have the same problem, how did you solve it?

Accedi per commentare.

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by