diff options
author | Geoffrey Thomas <geofft@ldpreload.com> | 2014-07-20 18:28:02 -0700 |
---|---|---|
committer | Geoffrey Thomas <geofft@ldpreload.com> | 2014-07-20 18:28:02 -0700 |
commit | 0457e3a587b26c319f06b7c5f955fd64912b1afc (patch) | |
tree | 807ee3c650fa578c4e2a02f7a9b9a709a035c7eb /README |
Initial import of linmodem-0.2.5.tgz
Diffstat (limited to 'README')
-rw-r--r-- | README | 99 |
1 files changed, 99 insertions, 0 deletions
@@ -0,0 +1,99 @@ + +Here is the generic Linux Modem. This modem is totally software, +it means that all the DSP stuff is done by the main CPU, as in some so +called "winmodems". See the main project page at +http://www.enst.fr/~bellard/linmodem.html. + +Linmodem is also a research project. It contains all the necessary +stuff to test new digital communication algorithms. The line simulator +and the X11 interface can be used to simulate a complete communication +chain. + +Linmodem is the first modem to integrate a graphical user interface +which show the data transmitted graphically (QAM constellation, real +time FFT of the received signal, etc...) and which will allow you to +monitor the line quality. + +What's done: +----------- + +- V34 modulator (sampling rate of 8000 Hz) +- V34 demodulator (sampling rate of 8000 Hz), but no echo cancellor. +- Algebraic part of V90. +- DTMF dialing/receive. +- V8 protocol. +- V21 modulation & demodulation +- V23 modulation & demodulation +- sample code to test the protocol. +- sample code to test V21, V22, V23, V34 and V90 independently from the modem. +- a basic phone line simulator (with echos & typical line + amplitude/phase distortion). +- an X11 interface (see README.x11) +- soundcard interface. +- AT command parser & sample tty simulator. +- asynchronous protocol. + +See the homepage of the project at +http://www.enst.fr/~bellard/linmodem.html to know what are the tasks +you could do. + +Read the file README.arch to know the details of the +implementation. Next versions will contain the first draft on the +algorithms which are implemented. + +Testing: +------- + +Yes, you can already hear the modem ! + +compile everything, then type: + +lm -sv + +You will see a lot of debug stuff. Then you can press Control C to +stop the call. If you play the files 'ans.sw' and 'cal.sw' on your +soundcard (16 bit, signed 8kHz), you will hear the DTMF pulses, the V8 +negociation, and a sample V21 connection. The X11 interface allows you +to see the signals exchanged. + +Data pump testing: +----------------- + +With the option '-m modulation_name', you can test the V21, V22, V23, +V34 and V90 data pumps. You can understand what's going on in this +test only if you have a basic knowledge of the modulations. + +The X11 interface can be used to monitor all the main data pump +parameters, except for V90 which is not yet completely integrated in +the tests (see README.x11). + +Real modems: +----------- + +Linmodem won't contain any +hardware modem to support modems directly, but it will use kernel +drivers which give a unified API to every driver (see README.arch to +have an idea of the API) + +Some test code is included in lmreal.c to work with the LTModem stuff +available at http://www.close.u-net.com/ltmodem.html. However, it was +not tested so don't expect it to work in this version. + +Soundcard testing: +----------------- + +If you have two PCs connected by soundcards (connect line in -> line +out), you may try the soundcard support of linmodem (not tested now, +but should work): + +'lm -tv' launches linmodem on your soundcard (device '/dev/dsp'). Then +you can type 'ATDTxxx' to compose a number and launch a connection. On +the other PC, type 'ATA' to receive the connection. It should work in +V23 (or V21 if you change the defaults modulations in lm.c). + +With 'lm -t', linmodem simulates a serial line on '/dev/ttyz0'. You +can use minicom or any other terminal emulator to send AT commands. + +Enjoy :-) + +Fabrice Bellard - bellard@email.enst.fr - http://www.enst.fr/~bellard |