PSD-Wiener Khinchin-xcorr problem due to the division coefficients of the PSD
2 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Hi,
I am trying to calculate the PSD from the autocorrelation. I am finding the following problems doing this (it is mandatory for me using this autocorrelation):
- The test 1 is verified. I used the same division that are placed in this documenthttp://aaronscher.com/Course_materials/Communication_Systems/documents/PSD_Autocorrelation_Noise.pdf, but unfortunately I am not sure why the psd should by divided by the length of the signal instead of the length of the autocorrelation.
- The Parseval theorem (%parseval failed) is failed so I am wandering if this means that my division are not correct. If I apply the parseval theorem using the normalization %parseval passed, the test is passed. So can you help me to understand if my "normalization" is wrong.
I hope you can help me. I tried a lot of time to find the right normalization.
clear; clc; close all;
v_c=dlmread('v_c.txt', '\t', 1, 0)
v1=(v_c(:,2:2))
%Tinc rappresenta il passo temporale
Tinc=0.001;
Fs=1/Tinc;
r1 =xcorr(v1,v1)/Fs;
freq =transpose( -Fs/2:Fs/length(r1):Fs/2-(Fs/length(r1)));
delta_f=(freq(2)-freq(1))
PSDfromr1 = abs(fftshift(fft(r1)))*(1/((length(v1))))
%test 1 CumulatePSDfromr1 should be equal to rms2v1
CumulatedPSDfromr1=sum(PSDfromr1)*0.005
rms2v1=rms(v1)^2
% parseval failed
vf2=sum((PSDfromr1).^2);
vt=sum(r1.^2)
% parseval passed
vf=sum(abs(fftshift(fft(r1))).^2)/length(r1);
figure (1)
plot(freq,PSDfromr1)
0 Kommentare
Antworten (0)
Siehe auch
Kategorien
Mehr zu Fourier Analysis and Filtering finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!