Merge branch 'master' of github.com:Themaister/SSNES
This commit is contained in:
commit
cacf15a065
|
@ -30,12 +30,12 @@ struct ssnes_resampler
|
||||||
double r_frac;
|
double r_frac;
|
||||||
};
|
};
|
||||||
|
|
||||||
void resampler_preinit(ssnes_resampler_t *re, double omega, unsigned *samples_offset)
|
void resampler_preinit(ssnes_resampler_t *re, double omega, double *samples_offset)
|
||||||
{
|
{
|
||||||
*samples_offset = 4;
|
*samples_offset = 2.0;
|
||||||
for (unsigned i = 0; i < 4; i++)
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
re->chan_data[0][i] = cos(i * omega);
|
re->chan_data[0][i] = cos((i - 2) * omega);
|
||||||
re->chan_data[1][i] = re->chan_data[0][i];
|
re->chan_data[1][i] = re->chan_data[0][i];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,7 +45,7 @@ void resampler_process(ssnes_resampler_t *re, struct resampler_data *data);
|
||||||
void resampler_free(ssnes_resampler_t *re);
|
void resampler_free(ssnes_resampler_t *re);
|
||||||
|
|
||||||
// Generate a starting cosine pulse with given frequency for testing (SNR, etc) purposes.
|
// Generate a starting cosine pulse with given frequency for testing (SNR, etc) purposes.
|
||||||
void resampler_preinit(ssnes_resampler_t *re, double omega, unsigned *samples_offset);
|
void resampler_preinit(ssnes_resampler_t *re, double omega, double *samples_offset);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -65,7 +65,7 @@ struct ssnes_resampler
|
||||||
uint32_t time;
|
uint32_t time;
|
||||||
};
|
};
|
||||||
|
|
||||||
void resampler_preinit(ssnes_resampler_t *re, double omega, unsigned *samples_offset)
|
void resampler_preinit(ssnes_resampler_t *re, double omega, double *samples_offset)
|
||||||
{
|
{
|
||||||
*samples_offset = SIDELOBES + 1;
|
*samples_offset = SIDELOBES + 1;
|
||||||
for (int i = 0; i < 2 * SIDELOBES; i++)
|
for (int i = 0; i < 2 * SIDELOBES; i++)
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
static void gen_signal(float *out, double freq, double sample_rate, unsigned bias_samples, size_t samples)
|
static void gen_signal(float *out, double freq, double sample_rate, double bias_samples, size_t samples)
|
||||||
{
|
{
|
||||||
double omega = 2.0 * M_PI * freq / sample_rate;
|
double omega = 2.0 * M_PI * freq / sample_rate;
|
||||||
|
|
||||||
|
@ -149,7 +149,7 @@ int main(int argc, char *argv[])
|
||||||
for (unsigned i = 0; i < sizeof(freq_list) / sizeof(freq_list[0]) && freq_list[i] < 0.5f * in_rate; i++)
|
for (unsigned i = 0; i < sizeof(freq_list) / sizeof(freq_list[0]) && freq_list[i] < 0.5f * in_rate; i++)
|
||||||
{
|
{
|
||||||
double omega = 2.0 * M_PI * freq_list[i] / in_rate;
|
double omega = 2.0 * M_PI * freq_list[i] / in_rate;
|
||||||
unsigned sample_offset;
|
double sample_offset;
|
||||||
resampler_preinit(re, omega, &sample_offset);
|
resampler_preinit(re, omega, &sample_offset);
|
||||||
|
|
||||||
gen_signal(input, freq_list[i], in_rate, sample_offset, samples);
|
gen_signal(input, freq_list[i], in_rate, sample_offset, samples);
|
||||||
|
@ -171,6 +171,11 @@ int main(int argc, char *argv[])
|
||||||
|
|
||||||
printf("SNR @ %7.1f Hz: %6.2lf dB, Gain: %6.1f dB\n",
|
printf("SNR @ %7.1f Hz: %6.2lf dB, Gain: %6.1f dB\n",
|
||||||
freq_list[i], res.snr, res.gain);
|
freq_list[i], res.snr, res.gain);
|
||||||
|
|
||||||
|
//printf("Generated:\n\t");
|
||||||
|
//for (unsigned i = 0; i < 10; i++)
|
||||||
|
// printf("%.4f, ", output[i]);
|
||||||
|
//printf("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
resampler_free(re);
|
resampler_free(re);
|
||||||
|
|
Loading…
Reference in New Issue