spandsp 0.0.6
|
#include <inttypes.h>
#include "floating_fudge.h"
#include "spandsp/telephony.h"
#include "spandsp/complex.h"
#include "spandsp/dds.h"
Macros | |
#define | SLENK 8 |
#define | DDS_STEPS (1 << SLENK) |
#define | DDS_SHIFT (32 - 2 - SLENK) |
Functions | |
int32_t | dds_phase_rate (float frequency) |
Find the phase rate value to achieve a particular frequency. More... | |
float | dds_frequency (int32_t phase_rate) |
Find the frequency, in Hz, equivalent to a phase rate. More... | |
int16_t | dds_scaling_dbm0 (float level) |
Find the scaling factor needed to achieve a specified level in dBm0. More... | |
int16_t | dds_scaling_dbov (float level) |
Find the scaling factor needed to achieve a specified level in dBmov. More... | |
int16_t | dds_lookup (uint32_t phase) |
Lookup the integer value of a specified phase. More... | |
int16_t | dds_offset (uint32_t phase_acc, int32_t phase_offset) |
Find the amplitude for a particular phase offset from an accumulated phase. More... | |
void | dds_advance (uint32_t *phase_acc, int32_t phase_rate) |
Advance the phase, without returning any new signal sample. More... | |
int16_t | dds (uint32_t *phase_acc, int32_t phase_rate) |
Generate an integer tone sample. More... | |
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. More... | |
complexi_t | dds_lookup_complexi (uint32_t phase) |
Lookup the complex integer value of a specified phase. More... | |
complexi_t | dds_complexi (uint32_t *phase_acc, int32_t phase_rate) |
Generate a complex integer tone sample. More... | |
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. More... | |
complexi16_t | dds_lookup_complexi16 (uint32_t phase) |
Generate a complex 16 bit integer tone sample. More... | |
complexi16_t | dds_complexi16 (uint32_t *phase_acc, int32_t phase_rate) |
Generate a complex 16 bit integer tone sample. More... | |
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. More... | |
complexi32_t | dds_lookup_complexi32 (uint32_t phase) |
Generate a complex 32 bit integer tone sample. More... | |
complexi32_t | dds_complexi32 (uint32_t *phase_acc, int32_t phase_rate) |
Generate a complex 32 bit integer tone sample. More... | |
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. More... | |
int16_t dds | ( | uint32_t * | phase_acc, |
int32_t | phase_rate | ||
) |
Generate an integer tone sample.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
void dds_advance | ( | uint32_t * | phase_acc, |
int32_t | phase_rate | ||
) |
Advance the phase, without returning any new signal sample.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
complexi_t dds_complexi | ( | uint32_t * | phase_acc, |
int32_t | phase_rate | ||
) |
Generate a complex integer tone sample.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
complexi16_t dds_complexi16 | ( | uint32_t * | phase_acc, |
int32_t | phase_rate | ||
) |
Generate a complex 16 bit integer tone sample.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
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.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
scale | The scaling factor. |
phase | The phase offset. |
complexi32_t dds_complexi32 | ( | uint32_t * | phase_acc, |
int32_t | phase_rate | ||
) |
Generate a complex 32 bit integer tone sample.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
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.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
scale | The scaling factor. |
phase | The phase offset. |
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.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
scale | The scaling factor. |
phase | The phase offset. |
float dds_frequency | ( | int32_t | phase_rate | ) |
Find the frequency, in Hz, equivalent to a phase rate.
phase_rate | The phase rate. |
int16_t dds_lookup | ( | uint32_t | phase | ) |
Lookup the integer value of a specified phase.
Find the amplitude for a particular phase.
phase | The phase accumulator value to be looked up. |
Referenced by dds_offset().
complexi_t dds_lookup_complexi | ( | uint32_t | phase | ) |
Lookup the complex integer value of a specified phase.
phase | The phase accumulator value to be looked up. |
complexi16_t dds_lookup_complexi16 | ( | uint32_t | phase | ) |
Generate a complex 16 bit integer tone sample.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
complexi32_t dds_lookup_complexi32 | ( | uint32_t | phase | ) |
Generate a complex 32 bit integer tone sample.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
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.
phase_acc | A pointer to a phase accumulator value. |
phase_rate | The phase increment to be applied. |
scale | The scaling factor. |
phase | The phase offset. |
int16_t dds_offset | ( | uint32_t | phase_acc, |
int32_t | phase_offset | ||
) |
Find the amplitude for a particular phase offset from an accumulated phase.
phase_acc | The accumulated phase. |
phase_offset | The phase offset. |
References dds_lookup().
int32_t dds_phase_rate | ( | float | frequency | ) |
Find the phase rate value to achieve a particular frequency.
frequency | The desired frequency, in Hz. |
int16_t dds_scaling_dbm0 | ( | float | level | ) |
Find the scaling factor needed to achieve a specified level in dBm0.
level | The desired signal level, in dBm0. |
int16_t dds_scaling_dbov | ( | float | level | ) |
Find the scaling factor needed to achieve a specified level in dBmov.
level | The desired signal level, in dBmov. |