aboutsummaryrefslogtreecommitdiff
path: root/tests/xttest_util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/xttest_util.cpp')
-rw-r--r--tests/xttest_util.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/xttest_util.cpp b/tests/xttest_util.cpp
index 47fbf8a..c10ff53 100644
--- a/tests/xttest_util.cpp
+++ b/tests/xttest_util.cpp
@@ -22,6 +22,17 @@ void xttest_gen_sine(double *table, uint32_t tablesize, double samplerate, doubl
}
}
+void xttest_gen_sawtooth(double *table, uint32_t tablesize, double samplerate, double frequency, double amplitude)
+{
+ int samples_per_period = samplerate / frequency;
+
+ for (uint32_t i = 0; i < tablesize; ++i)
+ {
+ int phase = i % samples_per_period;
+ table[i] = ((phase / (double)samples_per_period) * 2.0 - 1.0) * amplitude;
+ }
+}
+
void xttest_gen_noise(double *table, uint32_t tablesize, double amplitude)
{
for (uint32_t i = 0; i < tablesize; ++i)
@@ -30,7 +41,6 @@ void xttest_gen_noise(double *table, uint32_t tablesize, double amplitude)
}
}
-
uint16_t xttest_ftom(double frequency)
{
return (int)roundf(6900.0 + 1200.0 * log2(frequency / 440.0));