Hello Alfred, Yes I think it's a good idea to add a floating point sample tx and rx functions to the freedv api. In particular for the demodulator input samples. There are some details issues, for example the modem sample tx level still needs to be defined to have a known drive level for the transmit chain.
On the SM1000 is was useful to use shorts as it saved some stack. So I am inclined to have both the float and short interfaces, rather than standardising on just one. I am also unsure of how deeply to implement the changes, for example should there be a float interface to Codec 2 as well? I don't have time to work on this at the moment but am happy to accept patches (diff -rUN) if you, or anyone else would like to work on this. Cheers, David On 19/10/14 00:19, wully wrote: > Hi David > > So, in my TRX, I will use floating point, but when I implement my own > floating point entry in freeDV, it is not standard. > I suggest, that one should add a floating point demodulation entry, but > as standard, not just in my private code... > What do you think? > > Cheers > > Alfred, hb9epu > > On 17.10.2014 23:54, David Rowe wrote: >> Hi Steve, >> >> Codec 2 has a 5 bit energy quantiser which is scaled to expect numbers >> in the +/- 32767 range. >> >> The fdmdv demodulator however is truly "floating point", it doesn't have >> any internal references to fixed levels. So it should work at really >> low levels and not need an AGC. >> >> This is an interesting example of digital versus analog. The human ear >> "likes" speech in a certain range for comfort, but the modem doesn't >> really care. >> >> Actually I switch off AGC on the HF receiver when I use FreeDV, as it >> makes the signal bob around too much on the displays. >> >> Cheers, >> >> David >> >> On 18/10/14 02:22, Steve wrote: >>> It's too bad C can't de-reference a void pointer to a data type, as you >>> could just swap all the short[] references to void[] and then >>> de-reference as to what was being used (too Java I know... ha). >>> >>> Maybe the best thing would be to just make the codec2 a floating point >>> vocoder. Maybe change it internally to +/- 1.0 maximum. >>> >>> Then the interface person would make whatever wrapper they need to get >>> to that. >>> >>> Interestingly, the codec doesn't work at +/- 1.0 limits, and needs +/- >>> 32767.0. I never looked farther as to why. Just went with the flow... >>> >>> Steve >>> >>> >>> >>> ------------------------------------------------------------------------------ >>> Comprehensive Server Monitoring with Site24x7. >>> Monitor 10 servers for $9/Month. >>> Get alerted through email, SMS, voice calls or mobile push notifications. >>> Take corrective actions from your mobile device. >>> http://p.sf.net/sfu/Zoho >>> >>> >>> >>> _______________________________________________ >>> Freetel-codec2 mailing list >>> [email protected] >>> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 >>> >> ------------------------------------------------------------------------------ >> Comprehensive Server Monitoring with Site24x7. >> Monitor 10 servers for $9/Month. >> Get alerted through email, SMS, voice calls or mobile push notifications. >> Take corrective actions from your mobile device. >> http://p.sf.net/sfu/Zoho >> _______________________________________________ >> Freetel-codec2 mailing list >> [email protected] >> https://lists.sourceforge.net/lists/listinfo/freetel-codec2 > > > ------------------------------------------------------------------------------ > Comprehensive Server Monitoring with Site24x7. > Monitor 10 servers for $9/Month. > Get alerted through email, SMS, voice calls or mobile push notifications. > Take corrective actions from your mobile device. > http://p.sf.net/sfu/Zoho > _______________________________________________ > Freetel-codec2 mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/freetel-codec2 > ------------------------------------------------------------------------------ Comprehensive Server Monitoring with Site24x7. Monitor 10 servers for $9/Month. Get alerted through email, SMS, voice calls or mobile push notifications. Take corrective actions from your mobile device. http://p.sf.net/sfu/Zoho _______________________________________________ Freetel-codec2 mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/freetel-codec2
