Tausand-dev / AbacusSoftware

software with GUI to easily use Tausand Abacus AB1000 devices (Python based)
https://tausand-dev.github.io/AbacusSoftware
Other
0 stars 1 forks source link

datos errados 0 en delay sweep y g2 #96

Open daguzman35 opened 4 months ago

daguzman35 commented 4 months ago

(v1.7.0 del 4 de julio de 2024) Pruebas con AB2504 y generador de señales. Usando señales en canales A y C.

Se identifica que tanto en 'g2 function' como en 'delay sweep', esporádicamente algunos datos de conteos y/o de coincidencias quedan en 0 incorrectamente, tanto en las gráficas como en los datos almacenados. Esto repercute en errores en los cálculos.

Verificar se esté haciendo la validación de calidad de los datos leídos, antes de darlos como correctos y continuar.

Ejemplo, 'delay', con pulsos de 1MHz en A y en C, se ve tanto en datos como en gráfica caídas abruptas a 0. Esto son lecturas incorrectas del dato del dispositivo.

Gráfica capturada:

Image

Primeros datos almacenados:

Image

por ejemplo se ve que en retraso -86ns y en retraso -72ns hay datos en 0, incorrectos.

daguzman35 commented 4 months ago

Prueba similar, pero para funcionalidad g(2). Se encuentran datos con 0 conteos o 0 coindicencias, lo que se traduce en mal cálculo de g2.

Canal A: pulsos 1MHz de generador de señales. Canal C: pulsos de 4.321MHz de generador de señales. Se usan periodos diferentes, sin correlación, para obtener g(2)=1 teórica.

Gráfica:

Image

y primeros datos:

Image

donde se observa que en los retrasos -84ns, -82ns y -78ns, por ejemplo, hay valores en 0 errados. Valores incorrectos por mala lectura desde dispositivo.

daguzman35 commented 4 months ago

Notar que AbacusSoftware en funcionamiento normal, no registra estos valores incorrectos de 0. (v1.6.1) Correcto.

Image

tras 5 minutos de datos, no hay ningún '0' almacenado ni en conteos ni en coincidencias. Correcto.

Hice esta prueba con v1.6.1 y no con v1.7.0 porque en 1.7.0 está fallando registro en vivo de datos. Issue #93 .

daguzman35 commented 4 months ago

En v1.6.1, barrido 'delay sweep' no presenta estas fallas. Se nota cuando se está haciendo el barrido que para algunos datos el sistema se demora un poco más, posiblemente porque está repitiendo la lectura, lo cual evita (favorablemente) que quede almacenado algún dato errado en '0'.

Prueba v1.6.1 correcta, sin fallos. AB2504 con generador de señales, A=1MHz, C=1MHz, sampling=1ms. Notar que en esta prueba tanto conteos A como conteos C se mantienen en 1000, sin caer nunca a 0. Correcto.

Image

JoanAmaya commented 4 months ago

El problema se mitiga haciendo que se genere un -1 en lugar de hacer 0, no obstante revisando cuidadosamente la versión 1.6.1 y la versión 1.7.0 en DelaySweep no he detectado ningún cambio en lo que respecta a la medición y la toma de datos, por el momento el -1 se implementa para la g2, se revisara con mayor detalle si existe algún cambio en otro lugar que no he notado