Hi Danilo, Don has been doing some fine work on porting 700D to the stm32, and is nearly finished. This has involved optimisation to reduce run-time memory usage. One of the changes was to use shorts rather than floats to save memory, and the current version just supports real valued signals for 700D.
Danilo - Don has also developed an extensive, automated unit test system for the work he has done, under stm32/unittest. The tests run on a Discovery board. Don - Danilo's SDR runs entirely on a stm32 (no external SSB radio). Previously, when using FreeDV 1600, his team passed complex valued samples to the FreeDV API. IIRC Danilo is using a more modern stm32 variant with more memory. So - we need complex valued support for 700D. These could be complex shorts or floats. One possibility: (i) modify freedv_shortrx(), freedv_comprx_700d() and the ofdm.c functions called to work with complex short samples (hopefully without a big impact on memory). (ii) modify freedv_comprx() to do a float to short conversion and call freedv_shortrx() However I'm open to suggestions (and patches) :-) Cheers, David On 09/02/19 19:43, Danilo Beuche wrote: > Hi, > > as you may know we have FreeDV 1600 support in the STM32 based TRX since > a while. Now I am finally aiming at integrating the 700D mode. > > For FreeDV 1600 we did not use the freedv_rx / freedv_tx calls as we > have float i/q data at hand due to the internal signal processing in the > rest of the SDR. So the freedv_comprx/freedv_comptx are used. > > I noticed that the 700D is not integrated in the > freedv_comprx/freedv_comptx functions. Now there are a number of questions: > > 1.I think instead we have to call freedv_shortrx which expects audio > samples instead of IQ. Is that correct? > 2. Should we go for all modes to do a demodulation first and then pass > audio data to the freedv_rx/freedv_tx which involves back converting the > data to float data? > 3. Or is there a benefit to pass IQ data directly to those modes which > support it? > > > In addition, are the improvements 700D for low performance processors > mentioned in http://www.rowetel.com/?p=6413 already integrated in the > source code? I guess so, but just want to be sure, since I could not > find support for the 700D mode directly in the SM1000 source. > > > Regards, > Danilo > > > > > > > > > > > _______________________________________________ > 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
