forked from retronetworking/linmodem
update README and filenames
This commit is contained in:
parent
14bfba54a7
commit
1d88b335ba
|
@ -1,22 +1,9 @@
|
|||
# Linmodem
|
||||
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". The project was originally written by Fabrice Bellard. The latest available source code version was imported into the Osmocom Retronetworking project. The current project page is available [here](https://osmocom.org/projects/linmodem/wiki). 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.
|
||||
|
||||
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:
|
||||
-----------
|
||||
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.
|
||||
|
||||
## Features
|
||||
- V34 modulator (sampling rate of 8000 Hz)
|
||||
- V34 demodulator (sampling rate of 8000 Hz), but no echo cancellor.
|
||||
- Algebraic part of V90.
|
||||
|
@ -33,22 +20,21 @@ What's done:
|
|||
- 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 [ARCHITECTURE.md] to know the details of the implementation. Next versions will contain the first draft on the algorithms which are implemented.
|
||||
|
||||
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.
|
||||
## Dependencies
|
||||
On Fedora, you have to run:
|
||||
* `sudo dnf install libXext-devel libX11-devel`
|
||||
|
||||
Testing:
|
||||
-------
|
||||
## Building
|
||||
`make`
|
||||
|
||||
Yes, you can already hear the modem !
|
||||
## Testing
|
||||
Yes, you can already hear the modem!
|
||||
|
||||
compile everything, then type:
|
||||
|
||||
lm -sv
|
||||
`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
|
||||
|
@ -56,9 +42,7 @@ 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:
|
||||
-----------------
|
||||
|
||||
### Data pumps
|
||||
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.
|
||||
|
@ -67,9 +51,7 @@ 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:
|
||||
-----------
|
||||
|
||||
### 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
|
||||
|
@ -79,9 +61,7 @@ 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:
|
||||
-----------------
|
||||
|
||||
### Standard tests
|
||||
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):
|
||||
|
@ -94,6 +74,44 @@ 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 :-)
|
||||
## Credits
|
||||
* Fabrice Bellard (original author)
|
||||
* Harald Welte (compilation patch)
|
||||
* Manawyrm (updating X11 bitsize)
|
||||
* Eloy (update docs)
|
||||
|
||||
Fabrice Bellard - bellard@email.enst.fr - http://www.enst.fr/~bellard
|
||||
## External links
|
||||
* http://www.enst.fr/~bellard
|
||||
* http://www.enst.fr/~bellard/linmodem.html.
|
||||
|
||||
## Notes on X11
|
||||
Linmodem contains an X11 interface which can be used to monitor the
|
||||
modem parameters. It is used for example in v34 testing (lm -m v34). The
|
||||
X11 simulation works only in 16 bit mode. If you are interested by
|
||||
other screen depths, please implement them :-)
|
||||
|
||||
The function keys are used to change the parameters which are dumped
|
||||
on the screen:
|
||||
|
||||
* for V34:
|
||||
|
||||
F1 : dump the brut samples which enter into the modem (at 8000Hz). A
|
||||
hamming windowed FFT is done to output the spectral power.
|
||||
|
||||
F2 : dump the echo cancellor parameters (not implemented yet).
|
||||
|
||||
F3 : dump the samples after frequency normalization & symbol timing
|
||||
recovery. You have 3 samples per baud for V34. A hamming windowed FFT
|
||||
is done to output the spectral power.
|
||||
|
||||
F4 : dump the equalizer filter in both time & frequency domains.
|
||||
|
||||
F5 : dump the QAM points just after the equalizer and phase
|
||||
recovery. This graphic can be used to monitor the overall modem
|
||||
quality.
|
||||
|
||||
* for V21/V23 tests
|
||||
|
||||
F1: same as V34
|
||||
|
||||
F3: decision samples
|
Loading…
Reference in New Issue