8 votos

Problema de precisión de un DDS a frecuencias muy bajas

Primera vez en mi vida estoy usando este DDS chip (AD9850) para crear una onda sinusoidal a una deseada freq, donde puedo subir la tabla de búsqueda de código y la deseada freq. comando a través de un micro-controlador. Así que mi conocimiento en el momento muy limitada.

La cosa parece estar bien hasta ahora, pero el problema es que a frecuencias muy bajas. A 1Hz y hasta de 0,5 Hz parece bien. Pero también necesito de hasta 0,1 Hz.

Aquí está la salida del DDS cuando tengo que enviar el número de 0.1 a la DDS a través de la micro controlador:

enter image description here

En mi código me envíe el comando desde el PC a la micro a la cadena, y convertirlo en un doble. Pero por simplicidad y para comprobar que uso este código, y de 0.1 Hz I conjunto sendFrequency(0.1) en el bucle.

Pero como ven, el período es de alrededor de 11.5 seg en vez de 10 segundos para el 0.1 Hz comando.

Espero que me podría explicar el problema. Hay una manera de calibrar o ajustar esto para que me habría resultado más exacto? O que debo vivir con la exactitud? Por cierto, donde en la hoja de datos uno puede hacer referencia a esa relativa incertidumbre?

9voto

Spehro Pefhany Puntos 90994

No se trata de una precisión cosa - es la resolución.

La parte frontal de la hoja de datos especifica la resolución de sintonización de 0.0291 Hz con una 125MHz reloj.

\$0.0291 \approx \dfrac{125\times 10^{6}}{2^{32}}\$ Hz (desde la fase de acumulador es de 32 bits)

Así que alrededor del 30% de su deseada de la frecuencia de salida. Que proviene del resultado de sumar el LSB de la optimización de la palabra a la fase de acumulador a 125MHz - para una determinada frecuencia de reloj, es inherente al chip y el número de bits que eligió para la fase de acumulador y la optimización de la palabra.

Usted puede tratar de reducir la frecuencia de reloj - el mínimo es de 1MHz, entonces usted debería ser capaz de mejorar la resolución por más de dos órdenes de magnitud, a alrededor de +/-0.23% a 0,1 Hz.

\$0.23\times 10^{-3} \approx \dfrac{1\times 10^{6}}{2^{32}}\$ Hz resolución con un reloj de 1MHz

Por desgracia, otras cosas van a cambiar para un rendimiento óptimo (especialmente el filtro de salida, que normalmente es un 7º de la orden elíptica filtro LC en estos módulos).

Si usted nunca debe ir por encima de, digamos, 1Hz, usted puede simplemente añadir un filtro RC con un corte de, digamos, 100 hz a la salida existente y será aceptable para muchos propósitos.

7voto

Pangus Puntos 21

Lo que usted está buscando en la hoja de datos es la frecuencia de sintonización de radiorreceptor. Para este chip es 0.0291 Hz para una 125 MHz reloj de referencia de entrada. Su frecuencia será redondeado a un múltiplo de este número. Este número se basa en la frecuencia de la entrada de reloj del chip.

Por ejemplo, 0,1 Hz será redondeado a 0.0873 Hz (0.0291*3). El período para 0.0873 Hz es de 11.5 segundos que es lo que estamos viendo.

Una menor entrada de frecuencia de reloj le dará una mayor precisión en las frecuencias más bajas. Así que si usted quería una mejor precisión en las frecuencias más bajas, a continuación, baje la frecuencia de reloj.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X