Modify the bsinc resampler

Readjusted the bsinc12 cutoff back to -60dB. Also increased the filter's phase
count.
This commit is contained in:
Chris Robinson
2019-09-29 22:43:46 -07:00
parent 94ff2daafc
commit fb56b02041
2 changed files with 4 additions and 4 deletions
+1 -1
View File
@@ -59,7 +59,7 @@ extern Resampler ResamplerDefault;
*/
#define BSINC_SCALE_BITS 4
#define BSINC_SCALE_COUNT (1<<BSINC_SCALE_BITS)
#define BSINC_PHASE_BITS 4
#define BSINC_PHASE_BITS 5
#define BSINC_PHASE_COUNT (1<<BSINC_PHASE_BITS)
/* Interpolator state. Kind of a misnomer since the interpolator itself is
+3 -3
View File
@@ -53,7 +53,7 @@
// The number of distinct scale and phase intervals within the filter table.
// Must be the same as in alu.h!
#define BSINC_SCALE_COUNT 16
#define BSINC_PHASE_COUNT 16
#define BSINC_PHASE_COUNT 32
/* 48 points includes the doubling for downsampling, so the maximum number of
* base sample points is 24, which is 23rd order.
@@ -353,8 +353,8 @@ int main(int argc, char *argv[])
"};\n\n", BSINC_SCALE_COUNT, BSINC_PHASE_COUNT);
/* A 23rd order filter with a -60dB drop at nyquist. */
BsiGenerateTables(output, "bsinc24", 60.0, 23);
/* An 11th order filter with a -40dB drop at nyquist. */
BsiGenerateTables(output, "bsinc12", 40.0, 11);
/* An 11th order filter with a -60dB drop at nyquist. */
BsiGenerateTables(output, "bsinc12", 60.0, 11);
fprintf(output, "} // namespace\n");
if(output != stdout)