2
svar
97
visningar
AstridG behöver inte mer hjälp
psd i mtalab med for loop
NFFT = 256;
WINDOW = hanning(NFFT, 'periodic');
Avg_Acc = [];
for ii = 1:round(numel(Acc)/NFFT)
Avg_Acc(ii) = mean(Acc(1 + .5*NFFT*(ii-1): NFFT + .5*NFFT*(ii-1)).*WINDOW);
end
Avg_Acc_FFT = fft(Avg_Acc)/numel(Avg_Acc);
F = numel(Acc)/ii;
figure
plot(abs(Avg_Acc_FFT))
title('FFT')
F = Avg_Acc_FFT*numel(Avg_Acc);
%To proof Parseval
LHS = sum(abs(Avg_Acc.*Avg_Acc));
RHS = sum(abs(F.*F))/numel(Avg_Acc);
Ca = mean(WINDOW);%mean of window
Cb = 3/2;
delta_f = fs/NFFT;
PSD = (2*(abs(Avg_Acc_FFT)).^2)/((Ca^2)*Cb*delta_f);
Hej
Jag behöver hjälp med att bygga en for loop för PSD power spectral density, jag måste göra i manuellt istället för använda en funktion som redan finns i matlab. Vector acceleration Acc är given från en fil. Jag måste göra en PSD matrix med averaging.
Flyttade tråden från Fysik/Universitet /Smaragdalena, moderator
Varför har du lagt det som Fysik tråd?
DU har gjort ett fel vid "Cb = 3/2;"
Vart är initialvektorerna? och vilket mönster är det du vill skapa loop för?
¨