Signal power in Matlab
7 views (last 30 days)
Show older comments
Abdelrahman Marconi
on 12 Jan 2013
Commented: mohammadreza
on 28 May 2015
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
0 Comments
Accepted Answer
Wayne King
on 12 Jan 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
0 Comments
More Answers (3)
Abdelrahman Marconi
on 12 Jan 2013
1 Comment
Wayne King
on 12 Jan 2013
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
Abdelrahman Marconi
on 12 Jan 2013
2 Comments
Wayne King
on 12 Jan 2013
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
on 12 Jan 2013
1 Comment
mohammadreza
on 28 May 2015
hi dear Abdlrahman i'm working on OFDM system and I also have the same problem, how did you solve it?
See Also
Categories
Find more on Spectral Measurements in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!