LTSpice: ¿Cómo usar el comando .meas para encontrar la frecuencia fundamental de la señal no sinusoidal?

1

Quiero encontrar la frecuencia fundamental de una señal periódica (no sinusoidal) en cierta ventana de tiempo usando el comando .meas en LTSpice.

Estaba usando el siguiente código para calcular la frecuencia (en kHz).

.meas tran T1 find time when V(OUT)=0 rise 1000 .meas tran T2 find time when V(OUT)=0 rise 1100 .meas tran Frequency param 100/(1000*(T2-T1))

Esto funciona bien para ciertos casos, pero cuando hago el barrido paramétrico, da lecturas inexactas debido a dos problemas:

Aquí, asumo que en el ciclo 1000, la señal alcanza su ventana de medición (por ejemplo, desde tiempo = 4 ms) pero a veces no lo hace. Por lo tanto, quiero especificar el tiempo absoluto para la medición. a partir de 4 ms, en este caso, he agregado una forma de onda de voltaje de muestra como se muestra a continuación (con barrido paramétrico)

Laformadeondaampliadade4mses

Mi pregunta es

¿Es posible especificar la hora de inicio del código anterior para que cuente los ciclos a partir del tiempo especificado? (Intenté usar los comandos trig - trag y from - to pero falló)

    
pregunta Pojj

2 respuestas

1

Parece que conoces tu tiempo de simulación final, y las formas de onda se resuelven al final, así que, considerando lo que veo en tu imagen, puedes considerar una marca de 4.4 ms desde la cual puedes medir, como esto :

.meas t1 find time when v(out)=0 cross=1 td=4.4m
.meas t2 find time when v(out)=0 cross=3 td=4.4m
.meas T param t2-t1

Mirando más de cerca (la forma de onda gris-ish), parece que hay sesgos sembrados allí, lo que explica los armónicos, por lo que realmente no puede confiar en esta medida para detectar el fundamental , sólo su período aparente. Solo pensé que debería agregar esto.

    
respondido por el a concerned citizen
0

Si entendí correctamente su señal es periódica, por lo tanto, esperaría que un comando como este midiera correctamente su período fundamental:

  

.MEAS TRAN TRise TRIG cuando v (out) = 1.65 CROSS = 1 TARG cuando v (out) = 1.65 CROSS = 3

donde: out es el nombre de su pin de salida, CROSS = 1 y CROSS = 3 significa "la primera y la tercera vez que la señal cruza el valor especificado", en este caso vdd / 2 asumiendo que vdd = 3.3V. Lo uso para evaluar el retraso de propagación, también en simulaciones .param y funcionó hasta ahora.

Espero que esto ayude! Andrea

    
respondido por el a_bet