Looping a uma taxa constante com alta precisão para amostragem de sinal
Eu estou tentando amostrar um sinal em 10Khz em Python. Não há problema ao tentar executar este código (a 1 KHz):
import sched, time
i = 0
def f(): # sampling function
s.enter(0.001, 1, f, ())
global i
i += 1
if i == 1000:
i = 0
print "one second"
s = sched.scheduler(time.time, time.sleep)
s.enter(0.001, 1, f, ())
s.run()
Quando tento reduzir o tempo, ele começa a exceder um segundo (no meu computador, 1,66s às 10e-6). É possível executar uma função de amostragem em uma frequência específica em Python?