Commit Graph

291 Commits

Author SHA1 Message Date
Andreas Eversberg a12329a884 Work on docs 2017-07-15 07:38:11 +02:00
Andreas Eversberg 3ce50f8ab3 AMPS: Fixes in message display and function names 2017-07-15 07:38:10 +02:00
Andreas Eversberg 3788b3e8a5 TACS support (variations added to AMPS code)
These are:

- Bandwidth only 25 KHz, so lower deviations
- Data rate only 8000 KHz
- SID is called AID (Area ID)
- MIN1 coding is different
2017-07-15 07:38:09 +02:00
Andreas Eversberg d52f4cd29d NMT: Mark Benelux and Czech/Slovak networks as tested
I have tested the network with B/NL/L and CZ/SK phones, and they work!
2017-06-15 18:28:26 +02:00
Andreas Eversberg 1aebedc66a NMT: Fixed line signal description 2017-06-11 09:01:21 +02:00
Andreas Eversberg 7a9762e28e NMT: Disable Supervisory signal during DMS (SMS) transfer and use Timeout
There is no Supervisory signal during DMS transfer, so there must be
no timeout for Supervisory signal. Instead, the SMS layer will timeout
after some seconds without receiving data.
2017-06-11 08:13:52 +02:00
Andreas Eversberg 3e86ef95c4 B-Netz: Minor printf fix 2017-06-10 17:49:59 +02:00
Andreas Eversberg 19afb792b5 NMT: Fix and adjustements to supervisory signal detection 2017-06-10 17:11:47 +02:00
Andreas Eversberg 50b2021d21 NMT 450: Support for other European counties, like Belgium, Czech, Slovakia 2017-06-10 13:08:51 +02:00
Andreas Eversberg dbdedfe1a1 AMPS: Fixed selecting right CRC values for FOCC words 2017-06-10 13:08:26 +02:00
Andreas Eversberg d23672354f Add option to set MNCC socket name (to run multiple base stations) 2017-06-10 13:08:26 +02:00
Andreas Eversberg 329463bb8c SDR: Add option to give channel number
Using SoapySDR server allows to run different networks on multi channel
SDR devices.
2017-06-10 13:08:25 +02:00
Andreas Eversberg aef4cf0997 Make spectrum display nicer by plotting continuous lines between samples 2017-06-10 13:08:24 +02:00
Andreas Eversberg e0534db15c Make spectrum display a little nicer by using '|' instead of ':' 2017-06-10 13:08:23 +02:00
Andreas Eversberg e653475ff7 NMT: Allow NULL (B'0000') to be used as country selector in traffic area 2017-06-10 13:08:23 +02:00
Andreas Eversberg 57d4d1739e AMPS/C-Netz: Correctly release pending transaction when creating a new one
If transactions is created, look on all channels for pending transaction
with same subscriber.

1. Remove that transaction.

2. Make channel return to IDLE.

3. Release call, if callref exists.
2017-06-10 13:08:22 +02:00
Andreas Eversberg 6adfcf7466 Status display
Alows to show status of current channels and users
2017-06-10 13:08:21 +02:00
Andreas Eversberg bb64c6b3ba AMPS: Add DTX support
When DTX is enabled (-S dtx=2 or 3), a missing SAT tone causes the receiver
to mute audio and insert a low level of comfort noise.
Also the missing SAT tone will not cause the connection to be terminated.
2017-06-10 13:08:19 +02:00
Andreas Eversberg 2c1ab89723 Notify about usage of channels that are next to each other
It is required to have at least one free channel between channels, to
avoid interferences.
This is only a warning, it will not reject channels next to each other.
2017-05-24 14:01:25 +02:00
Andreas Eversberg fc3b3e07be Finetuning LOSS (noise) detection
The algorithm is still bad, but works in most cases
2017-05-24 14:00:08 +02:00
Andreas Eversberg 56024b384b AMPS: Serveral minor fixes 2017-05-23 18:11:10 +02:00
Andreas Eversberg 76a3484c5c C-Netz: Make demodulation algorithm (slope or leve) slectable via option
By default (auto), the algorithm is selected, depending on sound card
or SDR usage. For testing and debugging purpose, the algorithm can be
forced.
2017-05-19 19:11:59 +02:00
Andreas Eversberg c086e66b7c minor cleanups 2017-05-17 20:14:37 +02:00
Andreas Eversberg 0557bbbc43 SDR: Checking given parameters with a tollerance of up to 0.001
Rounding errors may cause given parameters to be changed a little.
When comparing the set-values with the get-value, a small amount
of tollerance must be allowed.

Thanx to Syvain, pointing to this bug!
2017-05-17 20:06:47 +02:00
Andreas Eversberg 683078a7a0 SDR: Spectrum display will not scale FFT result
Instead the greatest possible width that will fit into the window will
be used. This width is 2 to the power of N.
2017-05-17 20:06:46 +02:00
Andreas Eversberg ef7ff26793 C-Netz: SDR now uses zero-crossing to detect level changes.
This does not work with analog radio, but with SDR it works.
The quality should be better and the process is faster.
2017-05-17 20:06:46 +02:00
Andreas Eversberg 07e45103ef Work on docs 2017-05-17 20:06:45 +02:00
Andreas Eversberg 9d87b5bf0f C-Netz: Improved transmission of speech
The speech is now correctly ramped up and down during pause bits.
2017-05-17 20:06:44 +02:00
Andreas Eversberg 12dcc6c40f Minor fixes on AMPS messages
- Flipping polarity is now performed after B/I has been applied
- Correcting sysinfo
2017-05-17 20:06:43 +02:00
Andreas Eversberg 4d10ee7c82 No "sdr" audio device option required anymore (when using SDR) 2017-05-17 20:06:42 +02:00
Andreas Eversberg ca10048e5c Rename filter -> iir_filter (file name and instance name)
This is useful when using fir_filter in the future.
2017-05-15 21:46:32 +02:00
Andreas Eversberg d03443c4f1 SDR: Added SoapySDR's compiler flags to common/Makefile 2017-05-15 21:46:30 +02:00
Andreas Eversberg c04d046210 SDR: Fixed SoapySDR's arguments parsing 2017-05-15 21:46:30 +02:00
Andreas Eversberg fbdb9ece01 SDR: Allow direct IQ TX and RX instead of fm modulating a list of channels
This is performed by reading and writing IQ data to "sample" pointer with
channel number set to 0.
2017-05-15 21:46:29 +02:00
Andreas Eversberg 65694f3b80 SDR: disable TX or RX by setting TX or RX frequency to 0
This way it is possible to use SDR simplex
2017-05-15 21:46:29 +02:00
Andreas Eversberg 6e0e0c9ce8 fixup Rework on audio buffer management 2017-05-15 21:46:28 +02:00
Andreas Eversberg 9dda9e1efc SDR: Add option to set IF bandwidth. If not defined, sampling rate is used. 2017-05-15 21:46:27 +02:00
Andreas Eversberg 1445ca2fac SDR: Add option to send (previously recorded) IQ data instead of TX data 2017-05-15 21:46:26 +02:00
Andreas Eversberg 369bda87a9 C-Netz: Improved decoder debugging
FM decoder debug output is now written to text files for better
debugging of process.
2017-05-15 21:46:25 +02:00
Andreas Eversberg 8e0d7d2513 samplerate.c: Allow transcoding to lower sample rate other than 8000 Hz 2017-03-04 16:52:20 +01:00
Andreas Eversberg 3fc4fc54be main_common: Move init and cleanup function to main function 2017-03-04 07:12:12 +01:00
Andreas Eversberg 4201717f36 Rework on audio buffer management
Use function to get samples to be sent to fill audio buffers to a
level. This replaces the function that only shows how much data
is in the buffer.

This way the function itself can control how much data will be
sent.
2017-03-04 06:35:38 +01:00
Andreas Eversberg 9d0e6b82b7 Work on docs 2017-03-04 06:34:04 +01:00
Andreas Eversberg 2e1999b1ee Start streaming of sound/SDR just before main loop
This prevents buffer overflow during init/creation processes
2017-02-25 07:09:53 +01:00
Andreas Eversberg 04fd1ddcea Use thread to record and playback wave files without blocking 2017-02-25 06:29:09 +01:00
Andreas Eversberg f689244f98 C-Netz: OgK must be on first channel, so sync works correctly 2017-02-18 21:02:56 +01:00
Andreas Eversberg 438ce08add SoapySDR support
There is no time stamp handling. It is just TX'ing in advance and
synchronous to received RX rate.
2017-02-18 21:02:55 +01:00
Andreas Eversberg 17b6124122 C-Netz: Remove useless -V option 2017-02-18 21:02:54 +01:00
Andreas Eversberg 58ebc15292 Add test to measure performance of FM modulation and filtering 2017-02-18 21:02:53 +01:00
Andreas Eversberg 4de1e0188d C-Netz: Add low pass filter to eliminate high frequency noise
This improves the FSK decoding quite allot, especially with SDR.
2017-02-18 21:02:52 +01:00