Andreas Eversberg
ee3fbeb03b
Split call control from built-in call console by using MNCC layer
2017-11-05 16:58:31 +01:00
Andreas Eversberg
b32e0ab602
Implementation of RX level squelch (for A-Netz and B-Netz)
...
Use -S <dB> for setting RF level or use -S auto for auto level.
When squelch closes, audio is muted. If squelch is closed for some
seconds (depending on network), call is released. (RF loss condition)
The previous loss detection has been removed
2017-10-22 19:23:08 +02:00
Andreas Eversberg
743d147d16
SDR: Turn TX power off if requested by network
...
The power level is ramped smoothly within 1 ms up or down.
R2000, AMPS and C-Netz turn off power when voice channel is not i use.
C-Netz turns off power between OgK timeslots.
2017-09-01 18:42:46 +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
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
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
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
8e0d7d2513
samplerate.c: Allow transcoding to lower sample rate other than 8000 Hz
2017-03-04 16:52:20 +01:00
Andreas Eversberg
17b6124122
C-Netz: Remove useless -V option
2017-02-18 21:02:54 +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
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
7e45f556ce
Correcting all levels and move all remaining integer samples to sample_t
...
The leves are based on the standards of each mobile network. They
are adjusted to the specified frequency deviation now.
2017-02-18 21:01:13 +01:00
Andreas Eversberg
bd7ccc5fa0
Add global DC-Filter and remove all individual DC-Filters
2017-02-18 21:01:12 +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
538a959128
Indexing tables by casting index to unsigned integer only
2017-02-18 21:01:06 +01:00
Andreas Eversberg
c5cf88ce57
Prepare for SDR: Add bandwidth and deviation info to sender instance
2017-02-18 21:00:47 +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
2d0bc92cde
C-Netz: Make demodulation buffer size dynamic
2017-01-07 06:26:50 +01:00
Andreas Eversberg
a37dfe38ab
C-Netz: Fixed double free bug
2017-01-07 06:26:49 +01:00
Andreas Eversberg
7585f9c22d
Add function to change dsp state, more debug with channel info
2016-12-09 16:34:33 +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
f911717aa4
C-Netz: Minor coding style changes, no changes to process
2016-11-22 19:09:05 +01:00
Andreas Eversberg
8864db8269
C-Netz: Adjusting compandor response level
2016-10-23 08:45:24 +02:00
Andreas Eversberg
8ef966aa21
C-Netz: Reset FSK decoder when switching channel mode
...
This prevents corrupt frames, as well as clear pending frames that
were received during the old mode, but may not be received during
the new mode.
2016-10-07 08:00:34 +02:00
Andreas Eversberg
eac595bd17
C-Netz: Don't access transaction after destroying it
2016-10-07 08:00:10 +02:00
Andreas Eversberg
0cec2f28be
Add check if fromat at PDEBUG() is consistent (like printf)
...
The bugs it found are fixed too.
2016-10-07 07:52:17 +02: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
e484814c0a
C-Netz: Add hack to increase voice deviation for some newer phone
2016-08-03 12:40:56 +02:00
Andreas Eversberg
eb85afa49c
C-Netz: Use cosine-square ramp for better signal generation
2016-08-02 07:39:02 +02:00
Andreas Eversberg
f729b32745
C-Netz: Fixed multi-transceiver mode and show channel in various logs
2016-07-31 18:48:19 +02:00
Andreas Eversberg
2ee51022f4
Rename 'compander' to 'compandor'
2016-06-20 19:37:56 +02:00
Andreas Eversberg
c933250685
Add dsp mode change fuction to A and B Netz, fixed NMT
2016-06-12 16:11:20 +02:00
Andreas Eversberg
7aa2445b47
Move amplitude (level) debugging to debug.c
2016-05-15 20:37:06 +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
5a9c9c7401
C-Netz: Send 5280 Hz test tone on idle speech channel
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
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
11302272ce
C-Netz: Minor fix on clock speed indication
2016-05-08 15:46:34 +02:00
Andreas Eversberg
16acdbf59d
Implementation of C-Netz (German mobile telephone system)
2016-04-24 15:19:00 +02:00