1
$\begingroup$

If the sequence is short (N is small), we cannot resolves frequencies being closed together (even by some tricks like zero padding).

One way to solve it is to create a pseudo-sequence from the data in hand by linear transformation of the RVs. Next, overlapping (by about 25%) these two series, we can process the new series with longer (pseudo) data. This method is based on the linear transformation of RVs.

This theorem is proposed in 8.2 by 1. I can realize the simulation using the code shown in below. However, I don't really understand the assumptions behind this operation.

tes.m

n = 1:64;
x =  sin(0.3*pi*n) + sin(0.32*pi*n) + 0.5*randn(1,64);
[ax,ay,w,y] = linear_modified_periodogram(x);

subplot(2,1,1);
plot(w,ax,'k');
xlabel('w');
ylabel('PSD');
subplot(2,1,2);
plot(w,ay,'k');
xlabel('w');
ylabel('Modified PSD');

linear_modified_periodogram.m

function [ax, ay, w, y] = linear_modified_periodogram(x)
    [sx, ax, px] = general_win_periodogram(x,2,512);
    y1 = [x zeros(1,48)] + 0.2*rand(1, 112);
    y2 = [zeros(1,48) x] + 0.2*rand(1,112);
    y = (0.2*y1+(y2)*0.2);
    [sy, ay, py] = general_win_periodogram(y,2,512);
    w = 0:2*pi/512:2*pi-(2*pi/512);
end

general_win_periodogram.m

function [s, as, ps] = general_win_periodogram(x, win,L)
    if(win == 2) w = rectwin(length(x));
    elseif (win ==3) w = hamming(length(x));
    elseif (win ==4) w = bartlett(length(x));
    elseif (win ==5) w = tukeywin(length(x));
    elseif (win ==6) w = blackman(length(x));
    elseif (win ==7) w = triang(length(x));
    elseif (win ==8) w = blackmanharris(length(x));
    end
    xw = x.*w';
    s = zeros(L,length(x));
    for m = 1:L
        n = 1:length(x);
        s(m) = sum(xw.*exp(-j*(m-1)*(2*pi/L)*n));
    end
    as = ((abs(s)).^2/length(x))/norm(w);
    ps = atan(imag(s)./real(s));
end
  1. Understanding Digital Signal Processing with MATLAB and Solutions enter image description here
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.