Monday, June 10, 2019

power spectral density - Modified Periodogram function in MATLAB


Given below is a function written in MATLAB for computing the modified periodogram, taken from Hayes, Statistical Digital Signal Processing and Modeling


function Px = mper(x, win, n1, n2)

x = x(:);
if nargin == 2
n1 = 1; n2 = length(x);

end

N = n2 - n1 + 1;

switch win
case 1
w = rectwin(N);
case 2
w = hamming(N);
case 3

w = hanning(N);
case 4
w = bartlett(N);
case 5
w = blackman(N);
end;

xw = x(n1:n2).*w/norm(w);
Px = N*mypdg(xw);


Can anyone explain what is going on in second last line of the code xw = x(n1:n2).*w/norm(w)


Is dividing by norm necessary to compute xw?



Answer



Yes it's explicitly necessary to normalize the periodogram for non-rectangular windows. However I cannnot see the mypdg script in the book ?


From Monson Hayes's book Statistical Digital Signal Processing and Modeling , chapter 8 (spectrum estimation), Section 8.2.3 (modified periodogram), equations 8.49


$$ \boxed{ \hat{P}_M(e^{j\omega}) = \frac{1}{NU} \left| \sum_{n=-\infty}^{\infty} x(n)~ w(n) ~ e^{-j\omega n} \right|^2 }$$


and 8.50


$$ \boxed{ U = \frac{1}{N} \sum_{n=0}^{N-1} |w(n)|^2 }$$


define the scaling to correct the biasing of the periodogram estimate due to using nonrectangular windows.


Note that in the program norm is used during windowing stage before the FFT, so that after FFT and squaring, you will get norm square which is identical to $U$ above.



No comments:

Post a Comment

digital communications - Understanding the Matched Filter

I have a question about matched filtering. Does the matched filter maximise the SNR at the moment of decision only? As far as I understand, ...