Hi David thanks for your time to write and points, Daniele : 17.3mS for a decode 40mS is good.
On FFT precision- I meant the FFT output data- how many significant digits? I gather not many. There are some shortcuts if you dont need full float precision mantissa. But, given the hand coded assembled FFT on the device isvery hard to beat, I think just leaving it as it is would suffice. Agreed on implementation verification. Looking at the code, there's probably an easy 2:1 improvement without much work, but only worthwhile if we needed get it I think. The branch predictor / dual issue on the M7 helps a ton for general purpose code. Which Discovery have you got ? g On 16/09/2016 9:14 AM, David Rowe wrote: > Hello Glen, > > I haven't measured codec 2 enc/dec alone on the STM32F4 for some time. > On the SM1000 it's the complete FreeDV 1600 stack we tend to measure > (modem, protocol, codec). > > Danilo from the mcHF team recently reported 17.3ms for Codec 2 1600 > decode on 40ms frames. IIRC the encoder uses less. I'd expect 3200 to > be a fraction higher as it's doing bit unpacking, LSP decoding more > often, but still run full duplex comfortably in real time. > > I used codec2-dev/stm/codec2_profile.c to profile the code when I > initially ported to real time. This could be modified to run 3200. > > If you are interested in pushing any of your changes into codec2 SVN, > they need to be verified against the current code base, for example > shown to be bit exact or withing a small tolerance of the current code. > Let me know if you want to work on this testing. Danilo and the mcHF > worked with me on this approach with fantastic results. > > Changing FFT sizes would lead to output that is very hard to verify, so > I don't recommend it if you goal is code optimisation. > > -/- > > One change I'm discussing with the mCHF guys is using a real input N/2 > size FFT rather than the current complex N point FFT. That would help a > lot and would be close to bit exact. If anyone is interested in working > on that please let me know - it can be developed on an x86. > > When I originally ported codec 2 to the STM32 platform 3 years ago I > didn't find any significant improvements using the STM library FFTs (see > codec2-dev/src/fft_test.c). IIRC another guy tried them again a few > months ago, with just a slight improvement. I think he posted his > results to this mailing list. > > If you can send me a fft_test.c style unit test that runs on a Discovery > and demonstrates significant improvements over kiss_fft I'd be happy to > try it. > > Cheers, > > David > > On 16/09/16 07:21, glen english wrote: >> All : Has anyone got any rough numbers on codec2 perf on the Sm1000 >> stm32f4 style platform ? >> >> David : do you have any feel for how much precision in the FFTs is(are) >> enough ? >> A guess is fine. Your guesses are better than most people's facts. >> >> >> >> >> >> ------------------------------------------------------------------------------ >> _______________________________________________ >> Freetel-codec2 mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >> > ------------------------------------------------------------------------------ > _______________________________________________ > Freetel-codec2 mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 > ------------------------------------------------------------------------------ _______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
