How to compute Allan Variance without allanvar?
25 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Louis Tomczyk
le 4 Avr 2023
Réponse apportée : Gokul Nath S J
le 21 Avr 2023
Hi,
I would like to compute the Allan Variance to study a signal but without the existing Matlab function. Actually I wanted to see how matlab computes it but we don't have access to it (*.p file, btw I wonder why this function is not accessible?).
Actually I have a good article ( Techniques Ingénieur, VERNOTTE, R681) Stabilité temporelle et fréquentielle des oscillateurs : outils d’analyse that gives all the basics to compute by hand the Allan Variance.
I tried to reproduce the result displayed at the allanvar matlab page but I didn't manage. I don't have the trend as the figure displayed. Can anyone take a look at my code? Maybe i mistyped the formula? My function is:
function out = AllanVar(sig,n,dt)
y1 = sum(sig(1:1+n));
y2 = sum(sig(2:2+n));
out = (y2-y1)^2/2/(n*dt)^2;
end
And to remove the noise we can average it over multiple draws with:
numSamples = 1e6;
Pow = nextpow2(numSamples)-1;
N = 100;
m = 2.^(1:Pow);
aVar = zeros(N,length(m));
for k = 1:N
Fs = 100;
nStd = 1e-3;
kStd = 1e-7;
nNoise = nStd.*randn(numSamples,1);
kNoise = kStd.*cumsum(randn(numSamples,1));
omega = nNoise+kNoise;
for j = 1:length(m)
aVar(k,j) = AllanVar(omega,m(j),1/Fs);
end
end
tau = m*dt;
figure
loglog(tau,sqrt(mean(aVar)),'k')
But I get a straight line only...
Attached an output figure. Thanks in advance! :)
0 commentaires
Réponse acceptée
Gokul Nath S J
le 21 Avr 2023
Hi Louis,
I understood that the allanvariance file is in .p format and you don't have access to it. However, there is a MATALB Exchange file for computing allan deviation which is defined as,
So part from the square root step, rest of the calcuation remains the same.
Kindly find the attachement MATALB Exchange document for more information.
Thanks,
Gokul Nath S J
0 commentaires
Plus de réponses (0)
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!