Andreas Eversberg
c2f14834e5
Rename dbm0 (level) to speech (level)
...
In mobile communications we use speech level instead of milliwatts.
The deviation (FM) is always based on speech level, not on 1 milliwatt.
2019-12-08 17:24:36 +01:00
Andreas Eversberg
360729d270
C-Netz: Added list of base station names and IDs
...
Automatic polarity detection is now done by using the polarity of last
transmitted message. We cannot use two base station IDs anymore, to
detect the polarity. Now we deal only with the defined base station ID.
2019-11-29 15:58:32 +01:00
Andreas Eversberg
d6579c1244
Allow giving alphanumeric channels (Prepare for IMTS)
2019-08-26 21:10:20 +02:00
Andreas Eversberg
13245c56f6
C-Netz: Add authentication support (process only)
...
No real authentication, since the algorithm and the keys inside the cards
are not known. A challenge can be specified and optionally the response
can be verified.
2019-06-30 14:51:01 +02:00
Andreas Eversberg
1321f66456
C-Netz: Add option to control voice deviation
2019-01-02 15:58:34 +01:00
Andreas Eversberg
40aec4f14c
C-Netz: Swtitch speech scrambler only after receiving 3 consecutive frames with different scrambler mode
2018-07-01 09:18:07 +02:00
Andreas Eversberg
ab59a26a51
Restructure: Move mobile from common code to 'libmobile'
2017-12-03 08:45:54 +01:00
Andreas Eversberg
9776736cc4
Restructure: Move compandor from common code to 'libcompandor'
2017-11-25 19:25:10 +01:00
Andreas Eversberg
17b34fbae6
Restructure: Move scrambler from C-Netz code to 'libscrambler'
2017-11-14 21:04:58 +01:00
Andreas Eversberg
b605da1aff
Restructure: Move timer from common code to 'libtimer'
2017-11-13 20:00:52 +01:00
Andreas Eversberg
dfdad21e3f
C-Netz: Work on system informations, metering and call queues
...
- Make system informations configurable
- Simulate call mertering
- Support for call queues on busy voice channels
2017-09-01 18:42:51 +02:00
Andreas Eversberg
538b4a42ec
Add wave file playback to replace TX audio
2017-07-15 07:38:16 +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
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
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
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
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
Andreas Eversberg
5f1d7bc970
C-Netz: Improve clock speed measurements.
...
Sound card's clock measurements only requires a few minutes to get sub-ppm
accuracy results.
2017-02-18 21:02:46 +01:00
Andreas Eversberg
faa3dfb7d4
C-Netz: Make average to clock measurements for a quicker result
2017-02-18 21:01:19 +01:00
Andreas Eversberg
8cb0187133
C-Netz: Remove the obviously useless noise function for unused timeslots
2017-02-18 21:01:17 +01:00
Andreas Eversberg
7ea3bc188d
Move samples of int16_t format to sample_t, that is of type double
...
This prepares the correction of all levels
2017-02-18 21:01:08 +01:00
Andreas Eversberg
9ff8c3bb25
Rework on audio interface
...
Sound instance is now called audio instance and uses funcation pointers.
This gives a clean interface to be exchanged with other technologies,
linke SDR.
2017-02-18 21:00:45 +01:00
Andreas Eversberg
d54d3ac265
prepare audio handling for multi carrier SDR
2017-01-07 06:28:24 +01:00
Andreas Eversberg
e34d74aa23
C-Netz: Simplifying TX signal clock sync between two channels
2016-11-30 18:09:38 +01:00
Andreas Eversberg
b1c452cf12
Changed command line options
...
* All lower case options define common options
* All upper case options define network specific options
2016-11-27 22:06:47 +01:00
Andreas Eversberg
17930af920
C-Netz: callref is moved completely to transaction object
2016-10-02 09:06:04 +02:00
Andreas Eversberg
8d7c7f4425
callref: Move callref from 'sender' to individual implementation of a, b, c-netz
...
Cellular networks use transaction instances, so callref is now member of
transaction object.
2016-10-02 09:06:03 +02:00
Andreas Eversberg
e4079b8ce8
C-Netz: Fix release cause coding
2016-08-03 12:03:54 +02:00
Andreas Eversberg
664f8c7ac0
C-Netz: retry call setup messages up to 3 times
2016-08-01 12:15:12 +02:00
Andreas Eversberg
6a5af9aeac
Typos: acknowledgement -> acknowledgment signalling -> signaling
2016-07-24 12:31:08 +02:00
Andreas Eversberg
2ee51022f4
Rename 'compander' to 'compandor'
2016-06-20 19:37:56 +02:00
Andreas Eversberg
051cc81b13
C-Netz: Move transaction routines to seperate file
2016-06-12 16:11:20 +02:00
Andreas Eversberg
46fa72894e
C-Netz: Calibration/fix processing of tone levels on TX and RX side
...
FSK and compander levels are adjusted.
Eliminate offsets between subsequent speech chunks. This is done by
high-pass filter. An offset is not passed to the filter.
Do correct audio processing chain:
time compress -> compressor -> scrambler / pre-emphasis -> TX
RX -> de-scrambler / de-emphasis -> expander -> time expand
2016-05-13 09:37:03 +02:00
Andreas Eversberg
e2a9c2c6a5
Automatic FSK polarity selection on TX side
...
This is done by simulating two cells with different polarities.
On first message from mobile station, the cell with the correct
polarity is used, the other is disabled.
On RX side the polarity is not selected, since FSK decoder detects
polarity for every frame.
2016-05-13 09:37:01 +02:00
Andreas Eversberg
57ba648ac4
C-Netz: Add tiny database to track if phones are online
...
Reject calls, if not online.
Use an interval to check if the phones are still online.
2016-05-08 15:53:00 +02:00
Andreas Eversberg
bae12156a2
common code: Add input gain option
2016-05-08 15:49:45 +02:00
Andreas Eversberg
7434e21dc2
Multi transceiver support
...
This can be multiple transceivers on multiple sound cards.
Two transceivers can be bundled on one sound device as well, using both channels.
2016-05-08 15:48:13 +02:00
Andreas Eversberg
16acdbf59d
Implementation of C-Netz (German mobile telephone system)
2016-04-24 15:19:00 +02:00