Hi David I have further analyzed the api-Problem with to much timelapse for the freedv_rx():
When you use 8000S/s as input, your downsampling and filtering requires a steep filter for 8000->7500. In my code, which directely uses 7500, I come in with 96000S/s and can easily downsample to 7500S/s by using the standard Linux samplerate.so. The FIR-requirement in this config needs much less coefficients as from 8000->7500. So, the cpucycle amount is drastically decreased. In my code using 7500 directly, I don't get any problems with processing the stream of data coming from the RX, but when using the current interface, the time budget of freedv_rx() is to high when out of sync for my processing of the RX-data. This shows up in nasty sounds when out of sync. Since most users are using DSP code at higher samplingrates for processing in the SDR, I suggest, that we add an explicit 7500-Interface for the 700-Modes with COHPSK. Then, people can downsample from *high* to 7500! I have just for test purposes thrown out the code for 8000->7500 and 7500->8000 in the freedv_api.c (SVN 3006) and seen, that another interface could be easily added to the API. Greetings, Alfred ------------------------------------------------------------------------------ Check out the vibrant tech community on one of the world's most engaging tech sites, SlashDot.org! http://sdm.link/slashdot _______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
