28 #if !defined(_SPANDSP_DDS_H_) 29 #define _SPANDSP_DDS_H_ 31 #define DDS_PHASE_RATE(frequency) (int32_t) ((frequency)*65536.0f*65536.0f/SAMPLE_RATE) 32 #define DDS_PHASE(angle) (int32_t) ((uint32_t) ((((angle) < 0.0f) ? (360.0f + (angle)) : (angle))*65536.0f*65536.0f/360.0f)) 34 #if defined(__cplusplus) 73 SPAN_DECLARE(int16_t)
dds_lookup(uint32_t phase);
80 SPAN_DECLARE(int16_t)
dds_offset(uint32_t phase_acc, int32_t phase_offset);
86 SPAN_DECLARE(
void)
dds_advance(uint32_t *phase_acc, int32_t phase_rate);
93 SPAN_DECLARE(int16_t)
dds(uint32_t *phase_acc, int32_t phase_rate);
99 SPAN_DECLARE(int16_t)
dds_lookup(uint32_t phase);
108 SPAN_DECLARE(int16_t)
dds_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase);
215 SPAN_DECLARE(
void)
dds_advancef(uint32_t *phase_acc, int32_t phase_rate);
222 SPAN_DECLARE(
float)
ddsf(uint32_t *phase_acc, int32_t phase_rate);
235 SPAN_DECLARE(
float)
dds_offsetf(uint32_t phase_acc, int32_t phase_offset);
244 SPAN_DECLARE(
float)
dds_modf(uint32_t *phase_acc, int32_t phase_rate,
float scale, int32_t phase);
268 #if defined(__cplusplus) complexi32_t dds_complexi32_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase)
Generate a complex 32 bit integer tone sample, with modulation.
Definition: dds_int.c:460
void dds_advance(uint32_t *phase_acc, int32_t phase_rate)
Advance the phase, without returning any new signal sample.
Definition: dds_int.c:364
float dds_scaling_dbm0f(float level)
Find the scaling factor equivalent to a dBm0 value.
Definition: dds_float.c:2121
float dds_phase_to_radians(uint32_t phase)
Convert a 32 bit phase angle to an angle in radians, between 0 and 2*PI.
Definition: dds_float.c:2103
complexf_t dds_complexf(uint32_t *phase_acc, int32_t phase_rate)
Generate a complex floating point tone sample.
Definition: dds_float.c:2183
float dds_scaling_dbovf(float level)
Find the scaling factor equivalent to a dBmov value.
Definition: dds_float.c:2127
int16_t dds(uint32_t *phase_acc, int32_t phase_rate)
Generate an integer tone sample.
Definition: dds_int.c:370
float dds_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase)
Generate a floating point tone sample, with modulation.
Definition: dds_float.c:2167
int32_t dds_phase_ratef(float frequency)
Find the phase rate equivalent to a frequency, in Hz.
Definition: dds_float.c:2109
int16_t dds_scaling_dbm0(float level)
Find the scaling factor needed to achieve a specified level in dBm0.
Definition: dds_int.c:328
int32_t dds_phase_rate(float frequency)
Find the phase rate value to achieve a particular frequency.
Definition: dds_int.c:316
complexi_t dds_complexi(uint32_t *phase_acc, int32_t phase_rate)
Generate a complex integer tone sample.
Definition: dds_int.c:396
complexi16_t dds_complexi16_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase)
Generate a complex 16bit integer tone sample, with modulation.
Definition: dds_int.c:433
complexi16_t dds_lookup_complexi16(uint32_t phase)
Generate a complex 16 bit integer tone sample.
Definition: dds_int.c:417
complexi32_t dds_complexi32(uint32_t *phase_acc, int32_t phase_rate)
Generate a complex 32 bit integer tone sample.
Definition: dds_int.c:450
void dds_advancef(uint32_t *phase_acc, int32_t phase_rate)
Advance the phase, without returning any new signal sample.
Definition: dds_float.c:2151
complexi16_t dds_complexi16(uint32_t *phase_acc, int32_t phase_rate)
Generate a complex 16 bit integer tone sample.
Definition: dds_int.c:423
int16_t dds_scaling_dbov(float level)
Find the scaling factor needed to achieve a specified level in dBmov.
Definition: dds_int.c:334
float dds_offsetf(uint32_t phase_acc, int32_t phase_offset)
Lookup the floating point value of a particular phase offset from an accumulated phase.
Definition: dds_float.c:2145
int16_t dds_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase)
Generate an integer tone sample, with modulation.
Definition: dds_int.c:380
float dds_frequencyf(int32_t phase_rate)
Find the frequency, in Hz, equivalent to a phase rate.
Definition: dds_float.c:2115
complexf_t dds_lookup_complexf(uint32_t phase_acc)
Lookup the complex value of a specified phase.
Definition: dds_float.c:2177
complexi_t dds_lookup_complexi(uint32_t phase)
Lookup the complex integer value of a specified phase.
Definition: dds_int.c:390
int16_t dds_offset(uint32_t phase_acc, int32_t phase_offset)
Find the amplitude for a particular phase offset from an accumulated phase.
Definition: dds_int.c:358
float dds_lookupf(uint32_t phase)
Lookup the floating point value of a specified phase.
Definition: dds_float.c:2139
int16_t dds_lookup(uint32_t phase)
Find the amplitude for a particular phase.
Definition: dds_int.c:340
complexi32_t dds_lookup_complexi32(uint32_t phase)
Generate a complex 32 bit integer tone sample.
Definition: dds_int.c:444
complexi_t dds_complexi_mod(uint32_t *phase_acc, int32_t phase_rate, int16_t scale, int32_t phase)
Generate a complex integer tone sample, with modulation.
Definition: dds_int.c:406
complexf_t dds_complex_modf(uint32_t *phase_acc, int32_t phase_rate, float scale, int32_t phase)
Generate a complex floating point tone sample, with modulation.
Definition: dds_float.c:2193
float ddsf(uint32_t *phase_acc, int32_t phase_rate)
Generate a floating point tone sample.
Definition: dds_float.c:2157
float dds_frequency(int32_t phase_rate)
Find the frequency, in Hz, equivalent to a phase rate.
Definition: dds_int.c:322