Tengo un sensor Doppler con canales I/Q para detectar objetos en movimiento. También necesito detectar la dirección de movimiento del objeto. Debido a la potencia limitada y la memoria flash de mi MCU, no puedo pagar las funciones FFT(), atan() o sqrt().
Para determinar la dirección de movimiento del objeto, se debe determinar la diferencia de fase entre I y Q (positiva o negativa). Y los siguientes métodos son los que conozco:
Los primeros 3 métodos, no puedo pagarlos debido al límite de MCU. El último es muy sensible al ruido.
¿Existen otras formas sencillas de determinar si la diferencia de fase entre I/Q es negativa o positiva?
'... el último es muy sensible al ruido'
Todos son sensibles al ruido, el filtrado reduce el ruido. Algunos métodos tienen filtrado 'oculto' en ellos. Por ejemplo, FFT procesa una gran cantidad de datos y luego usa solo un contenedor de frecuencia, que es un filtro implícito. Si utiliza datos filtrados para su estimación de búsqueda de pendiente, entonces será más robusto contra el ruido.
Considera esto. Cuando la pendiente de un canal tenga la misma polaridad que el valor del otro, la rotación será en un sentido, y cuando sean de polaridad opuesta, en el otro.
¿Cómo determinas si dos valores tienen la misma polaridad? Multiplícalos. Un resultado positivo y ambos son + o ambos -, y viceversa . O haga la lógica XOR en sus signos, lo que sea más rápido para las instrucciones de hardware que tiene a mano.
Así que prueba esto. Calcule la pendiente I en In por (In-1 - In+1), multiplique por el valor Q Qn y acumule la respuesta. Repita para los siguientes ns tantas veces como sea necesario para reducir el ruido a niveles razonables. El signo del número acumulado indica la polaridad de la rotación.
Si está generando una señal en la frecuencia de referencia, debería ser fácil generar una señal en cuadratura. Si uno multiplica la señal entrante por la referencia en fase y promedia el tiempo del resultado, y simultáneamente multiplica la señal entrante con la señal de cuadratura y promedia el tiempo de ese resultado, obtendrá un par de señales que se moverán "alrededor de un círculo". " cada vez que la señal devuelta gana o pierde un ciclo. Si observa la polaridad del producto en cuadratura cada vez que el producto en fase cambia de polaridad, incrementa un contador cuando la nueva polaridad en fase coincide con la polaridad en cuadratura y disminuye el contador cuando no lo hace, debería obtener un ruido relativo. -recuento resistente (si el ruido hace que se observe un flanco ascendente falso, lo que provoca un incremento falso,
broma
Neil_ES
LICENCIADO EN DERECHO_
pjc50