/* t48_8.c David Rowe May 10 2012 Unit test for 48 to 8 kHz sample rate conversion functions. I evaluated output by plotting using Octave and looking for jaggies: pl("../unittest/out48.raw",1,3000) pl("../unittest/out8.raw",1,3000) Listening to it also shows up anything nasty: $ play -s -2 -r 48000 out48.raw $ play -s -2 -r 8000 out8.raw */ #include #include #include #include #include "fdmdv.h" #define N8 160 /* procssing buffer size at 8 kHz */ #define N48 (N8*FDMDV_OS) #define MEM8 (FDMDV_OS_TAPS/FDMDV_OS) #define FRAMES 50 #define TWO_PI 6.283185307 #define FS 8000 #define SINE int main() { float in8k[MEM8 + N8]; float out48k[N48]; short out48k_short[N48]; FILE *f48; float in48k[FDMDV_OS_TAPS + N48]; float out8k[N48]; short out8k_short[N8]; FILE *f8; int i,f,t,t1; float freq = 800.0; f48 = fopen("out48.raw", "wb"); assert(f48 != NULL); f8 = fopen("out8.raw", "wb"); assert(f8 != NULL); /* clear filter memories */ for(i=0; i