Hi Some more analysis for the two modes:
Setup for freedv-rx in 700(b)-mode: routineRXfreedv input: 2.7kHz filtered samples @ 96kHz are coming in blocks of 1024 Samples (cohpsk-data) using libsamplerate downsampling from 48kHz to 7.5 kHz gives 80 [email protected] stored in input roundbuffer. if ( more than 600 samples are avaliable) { call to freedv_rx to typically get 640 Samples audio and upsampling and filtering with a sinc-FIR (41 coefficients) to 96kHz to get 3840 Samples. stored in a output roundbuffer. } output: 1024 Samples@96kHz audiodata (when output roundbuffer does not have enough samples, return an zero filled buffer). elapsed time when not enough samples for freedv_floatrx: about 150 usec. when freedv_floatrx is called, the elapsed time is about 4000 usec. (which occurs average every eights buffer). total time in routineRXfreedv: Anzahl verarbeitete Buffer: k=4072 (number of calls to the routine) mode700B totalexecutiontime=2765887,demodcalls=542, longexecutiontime=2236199 so, about 0.5 sec are used only for downsampling etc., analysis with 1600-mode with the same input (about 43 seconds of audiodata): routine has the same structure, but downsampling for fdmdv to 8kHz uses 4 times 1024Samples@96kHz to get 320 Samples@8kHz fdmdv. (two calls to freedv_floatrx for fdmdv). The downsampling is simple, because we have just to use every 12th sample (2.7kHz filtering done before the routineRXfreedv). elapsed time without call to freedv_floatrx: about 12 usec. elapsed time including call: less than 1800 usec (which occurs average about every fourth buffer). Anzahl verarbeitete Buffer: k=4072 mode1600 totalexecutiontime=1864957,demodcalls=1087, longexecutiontime=1831541 so, most cycles go into the freedv_floatrx. My conclusion: the libsamplerate (Secret Rabbit Code http://www.mega-nerd.com/SRC/) uses quite some cycles. But the main cycles are used by freedv_floatrx. Alfred, hb9epu P.S. I am using a Shuttle DS47 passive cooled tiny computer (20x4x16cm3) with a twocore intel cpu. ------------------------------------------------------------------------------ Monitor Your Dynamic Infrastructure at Any Scale With Datadog! Get real-time metrics from all of your servers, apps and tools in one place. SourceForge users - Click here to start your Free Trial of Datadog now! http://pubads.g.doubleclick.net/gampad/clk?id=241902991&iu=/4140 _______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
