30319_labs
Sistemas Electrónicos con Microprocesadores
Cargando...
Buscando...
Nada coincide
Métodos clase DDS

Funciones

void DDS16Bits_setPhase (dds16bits_t *p_dds, uint16_t phase)
void DDS16Bits_setPhaseInc (dds16bits_t *p_dds, uint16_t phaseinc)
int16_t DDS16Bits_getNextSample (dds16bits_t *p_dds)

Descripción detallada

Documentación de funciones

◆ DDS16Bits_getNextSample()

int16_t DDS16Bits_getNextSample ( dds16bits_t * p_dds)

Obtiene la siguiente muestra de la señal generada por el DDS.

Calcula y devuelve la siguiente muestra de amplitud de la señal generada mediante el algoritmo DDS. La función actualiza internamente el acumulador de fase sumándole el incremento de fase.

Esta función debe llamarse a una tasa constante (frecuencia de muestreo) para generar correctamente la señal deseada.

Parámetros
[in,out]p_ddsPuntero al módulo DDS (se modifica el acumulador de fase)
Devuelve
int16_t Amplitud de la muestra codificada en 16 bits con signo
Precondición
Se debe haber inicializado previamente la fase con DDS16Bits_setPhase()
Se debe haber configurado el incremento de fase con DDS16Bits_setPhaseInc()
Nota
La señal generada es una onda sinusoidal
El rango de salida es [-32768, 32767] (int16_t)
Ver también
DDS16Bits_setPhase()
DDS16Bits_setPhaseInc()

◆ DDS16Bits_setPhase()

void DDS16Bits_setPhase ( dds16bits_t * p_dds,
uint16_t phase )

Establece el valor de la fase en un objeto DDS de 16 bits.

Inicializa el acumulador de fase del generador DDS con un valor específico. Esto permite comenzar la generación de la señal desde un punto determinado de la forma de onda.

Parámetros
[out]p_ddsPuntero a la estructura DDS a modificar
[in]phaseValor de la fase codificada en 16 bits, donde:
  • 0x0000 representa 0 radianes
  • 0xFFFF representa ~2π radianes
Devuelve
void
Nota
El rango [0x0000, 0xFFFF] mapea el intervalo angular [0, 2π)
Ver también
DDS16Bits_setPhaseInc()

◆ DDS16Bits_setPhaseInc()

void DDS16Bits_setPhaseInc ( dds16bits_t * p_dds,
uint16_t phaseinc )

Establece el incremento de fase en un objeto DDS de 16 bits.

Configura el incremento de fase del generador DDS, que determina la frecuencia de la señal generada. Un incremento mayor produce frecuencias más altas.

La frecuencia de salida se calcula como:

f_out = (phaseinc / 65536) * f_sample

donde f_sample es la frecuencia de muestreo.

Parámetros
[out]p_ddsPuntero a la estructura DDS a modificar
[in]phaseincValor del incremento de fase codificado en 16 bits
Devuelve
void
Nota
Para generar un tono de frecuencia f con frecuencia de muestreo fs: phaseinc = (f_out / fs) * 65536
Ver también
DDS16Bits_setPhase()
DDS16Bits_getNextSample()