File syn_signal.c¶
FileList > dsp > syn_signal.c
Go to the source code of this file
Signal statistics implementation.
#include "../util/syn_assert.h"#include "../util/syn_qmath.h"#include "syn_signal.h"#include <limits.h>#include <string.h>
Public Functions¶
| Type | Name |
|---|---|
| int32_t | syn_signal_at (const SYN_Signal * sig, size_t index) Get sample at index (0 = oldest, count-1 = newest). |
| void | syn_signal_clear (SYN_Signal * sig) Clear all samples. |
| int32_t | syn_signal_crest_factor_q16 (SYN_Signal * sig) Signal Crest Factor in Q16.16: Peak / RMS. |
| int32_t | syn_signal_delta (const SYN_Signal * sig) Rate of change: latest - previous. |
| void | syn_signal_init (SYN_Signal * sig, int32_t * buf, size_t capacity) Initialize with a caller-provided sample buffer. |
| int32_t | syn_signal_latest (const SYN_Signal * sig) Get the most recent sample. |
| int32_t | syn_signal_max (SYN_Signal * sig) Maximum value in the window. |
| int32_t | syn_signal_min (SYN_Signal * sig) Minimum value in the window. |
| int32_t | syn_signal_power_q16 (const SYN_Signal * sig) Mean signal power in Q16.16: Σ(x²) / N. |
| void | syn_signal_push (SYN_Signal * sig, int32_t sample) Push a new sample. |
| int32_t | syn_signal_rms_q16 (const SYN_Signal * sig) Root-Mean-Square in Q16.16: sqrt(Σ(x²) / N). |
| int32_t | syn_signal_std_dev_q16 (const SYN_Signal * sig) Standard deviation in Q16.16: sqrt(variance). |
| int32_t | syn_signal_variance_q16 (const SYN_Signal * sig) Variance in Q16.16 format. |
Public Static Functions¶
| Type | Name |
|---|---|
| void | recompute_minmax (SYN_Signal * sig) Recompute cached min/max values over the signal window. |
Macros¶
| Type | Name |
|---|---|
| define | INT32_MAX 2147483647INT32_MAX fallback for pre-C99 compilers. |
| define | INT32_MIN (-2147483647 - 1)INT32_MIN fallback for pre-C99 compilers. |
Public Functions Documentation¶
function syn_signal_at¶
Get sample at index (0 = oldest, count-1 = newest).
Parameters:
sigSignal instance.indexSample index.
Returns:
Sample value.
function syn_signal_clear¶
Clear all samples.
Parameters:
sigSignal instance.
function syn_signal_crest_factor_q16¶
Signal Crest Factor in Q16.16: Peak / RMS.
Measures signal peakiness (e.g. 1.414 for sine wave). Returns 0 if RMS is 0 or window is empty.
Parameters:
sigSignal instance.
Returns:
Crest Factor in Q16.16 format.
function syn_signal_delta¶
Rate of change: latest - previous.
Returns 0 if fewer than 2 samples.
Parameters:
sigSignal instance.
Returns:
Delta between last two samples.
function syn_signal_init¶
Initialize with a caller-provided sample buffer.
Parameters:
sigSignal instance.bufSample buffer (caller-owned).capacityBuffer capacity (number of samples).
function syn_signal_latest¶
Get the most recent sample.
Parameters:
sigSignal instance.
Returns:
Latest sample, or 0 if empty.
function syn_signal_max¶
Maximum value in the window.
Parameters:
sigSignal instance.
Returns:
Max, or 0 if empty.
function syn_signal_min¶
Minimum value in the window.
Parameters:
sigSignal instance.
Returns:
Min, or 0 if empty.
function syn_signal_power_q16¶
Mean signal power in Q16.16: Σ(x²) / N.
Returns 0 if the window is empty.
Parameters:
sigSignal instance.
Returns:
Mean power in Q16.16 format.
function syn_signal_push¶
Push a new sample.
If the window is full, the oldest sample is evicted.
Parameters:
sigSignal instance.sampleNew sample value.
function syn_signal_rms_q16¶
Root-Mean-Square in Q16.16: sqrt(Σ(x²) / N).
Returns 0 if the window is empty.
Parameters:
sigSignal instance.
Returns:
RMS value in Q16.16.
function syn_signal_std_dev_q16¶
Standard deviation in Q16.16: sqrt(variance).
Returns 0 if fewer than 2 samples.
Parameters:
sigSignal instance.
Returns:
Standard deviation in Q16.16.
function syn_signal_variance_q16¶
Variance in Q16.16 format.
Population variance: Σ(x - mean)² / N, returned as Q16.16. Returns 0 if fewer than 2 samples.
Parameters:
sigSignal instance.
Returns:
Variance in Q16.16.
Public Static Functions Documentation¶
function recompute_minmax¶
Recompute cached min/max values over the signal window.
Parameters:
sigSignal instance.
Macro Definition Documentation¶
define INT32_MAX¶
INT32_MAX fallback for pre-C99 compilers.
define INT32_MIN¶
INT32_MIN fallback for pre-C99 compilers.
The documentation for this class was generated from the following file src/syntropic/dsp/syn_signal.c