Hi Albert,

On 11-04-13 14:00, Albert Cahalan wrote:
>> - any device with two audio input/out ports (like two USB audio ports)
>> and a GPIO port / serial port for switching the radio can be used. a FPU
>> is needed for codec2 encoding/decoding.
>>
>> - between the radio and the modem device, there needs to be a small
>> interface board. This consists out one single capacitor per
>> audio-channel (to block DC bias on the audio-signal) and a diode, a
>> resistor and a transistor to switch the PTT of the radio (add one more
>> capacitor is switching is done via the serial port instead of the GPIO
>> port).
> You need 3 output signals, but you're requiring 5 or more.
> Each USB audio device is 2, and the serial port is more.
>
> You could do left channels for encoded audio, and right
> channels for normal audio.
Well, that is true if you assume that the USB audio-dongle supports stereo.

One of the things about GMSK is that the best result is got using cheap 
USB devices, this because of the lack of low-pass filters on the input 
and output. However, you would be surprised to see how many of these USB 
audio-dongles only support capturing in 1 channel!


Another issue is that voice-capturing/playback is done by a different 
application that does GMSK modulation/demodulation. This was a very 
explicit choice to have a additional level of flexibility so that audio 
/ codec2 encoding (which needs a FPU) can be done by a different device 
then the GMSK modulation (which can be done without FPU).
An example would be a external device (like a RPi) acting as codec2 
encoder/decoder device attached to (say) a USR which has a integer-only CPU.



BTW. Another thing I noticed is that there quite a number of dongles 
that "say" they support monoplayback, but -in fact- do not.

> Alternately, you could be compatible with fldigi's PTT circuit.
> This circuit keys the transmitter via a 1 kHz tone in the right
> audio channel. This type of keying has the advantage of
> matched latency; the PTT signal doesn't arrive at the radio
> long before or long after the modem output transitions.
That would indeed be an interesting option.

The code for this would be located in "paudio_callback.h"
If you look at the code, there is a piece that convert the mono 
audio-stream (as it taken of the ringbuffer) into a stereo-stream (fed 
back into portaudio). That would serve as a good starting-point to add 
the feature you want.

Feel free to implement and upload it to github. I'll merge it in the 
code based of the modem.




> Circuit here:
> http://www.w1hkj.com/FldigiHelp-3.21/PseudoFSK.html
> Lots of modern PC hardware doesn't even come with a serial port.
Well, almost all embedded linux-devices (which is the main target for 
this code) does have serial ports, but most of them only have the RX and 
TX pins. None of the boards I have (friendlyarm mini2240, pandaboard and 
RPi) have serial-port control pins that can be triggered with the normal 
serial-port functions.

That's why there is the option to drive the PTT via the TX-pin. When you 
send a continues stream of 0x00 or 0xFF to the serial port (depending if 
it TTL or RS232 voltage levels), it is "up" most of the time. The 
periode the pin is low can be bridged by a simple capacitor.

All these platforms also support generic GPIO!


For PCs, that I think not such an issue. Most of them have more then 
sufficient USB ports; so simply use a USB-to-serial adapter.
Anycase, this would be more the kind of platform to be targeted by FreeDV.



73
kristoff - ON1ARF

------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter
_______________________________________________
Freetel-codec2 mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freetel-codec2

Reply via email to