📄 readme
字号:
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 socalled "winmodems". See the main project page athttp://www.enst.fr/~bellard/linmodem.html. Linmodem is also a research project. It contains all the necessarystuff to test new digital communication algorithms. The line simulatorand the X11 interface can be used to simulate a complete communicationchain.Linmodem is the first modem to integrate a graphical user interfacewhich show the data transmitted graphically (QAM constellation, realtime FFT of the received signal, etc...) and which will allow you tomonitor 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 athttp://www.enst.fr/~bellard/linmodem.html to know what are the tasksyou could do.Read the file README.arch to know the details of theimplementation. Next versions will contain the first draft on thealgorithms which are implemented.Testing:-------Yes, you can already hear the modem !compile everything, then type: lm -svYou will see a lot of debug stuff. Then you can press Control C tostop the call. If you play the files 'ans.sw' and 'cal.sw' on yoursoundcard (16 bit, signed 8kHz), you will hear the DTMF pulses, the V8negociation, and a sample V21 connection. The X11 interface allows youto 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 thistest only if you have a basic knowledge of the modulations.The X11 interface can be used to monitor all the main data pumpparameters, except for V90 which is not yet completely integrated inthe tests (see README.x11).Real modems:-----------Linmodem won't contain anyhardware modem to support modems directly, but it will use kerneldrivers which give a unified API to every driver (see README.arch tohave an idea of the API)Some test code is included in lmreal.c to work with the LTModem stuffavailable at http://www.close.u-net.com/ltmodem.html. However, it wasnot tested so don't expect it to work in this version.Soundcard testing:-----------------If you have two PCs connected by soundcards (connect line in -> lineout), you may try the soundcard support of linmodem (not tested now,but should work):'lm -tv' launches linmodem on your soundcard (device '/dev/dsp'). Thenyou can type 'ATDTxxx' to compose a number and launch a connection. Onthe other PC, type 'ATA' to receive the connection. It should work inV23 (or V21 if you change the defaults modulations in lm.c).With 'lm -t', linmodem simulates a serial line on '/dev/ttyz0'. Youcan use minicom or any other terminal emulator to send AT commands.Enjoy :-)Fabrice Bellard - bellard@email.enst.fr - http://www.enst.fr/~bellard
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -