Andreas Eversberg
6e2fd793ac
Increase compiler warnings and fix them
2024-04-05 21:51:41 +02:00
Andreas Eversberg
a20637825a
Audio rework, new jitter buffer
...
Jitter buffer is now based on packets, not on samples. The frames are
dejittered in received form. After reading from jitter buffer, they are
decoded in correct order. If a frame is missing, it is concealed by
repeating audio.
2024-03-30 23:28:05 +01:00
Andreas Eversberg
3158c48365
Move from local to external osmo* libraries
...
src/libdebug -> libosmocore
src/libselect -> libosmocore
src/libtimer -> libosmocore
src/libosmocc -> libosmo-cc
src/libg711 -> libosmo-cc
2024-02-18 16:23:29 +01:00
Andreas Eversberg
28a297f97d
Generate compador table only once when the application starts
2023-03-18 19:49:56 +01:00
Andreas Eversberg
fd3b4dae50
FSK modulator improvements
...
1. Phase is now changed proportional to the time of the bit change, if
it happens somewhere between samples. The amount of phase change per
bit is now the same for all bits, no matter how many samples
currently lay inside this bit.
2. IIR filter is removed, because it causes distortions. A cosine shape
is now used to transit between phase change of F0 to F1 and vice
versa. This limits the spectrum. This filter is optional.
2022-12-16 12:43:19 +01:00
Andreas Eversberg
b60c844b4f
DTMF: Now allows to give duration and pause for digit
...
Also the dtmf encoder will return less samples, if the digit(+pause)
ends, so that the caller call set the next digit to play seamlessly.
A reset function allows to clear the decoder states, to prevent glitches
when re-attaching to an interrupted stream.
2022-10-23 16:56:36 +02:00
Andreas Eversberg
2b7efedc48
Refactoring jitter buffer
...
Features are:
* Packet based buffer
* Random in, first out
* Adaptive delay compensation (voice)
* Fixed delay (data, optionally MODEM/FAX)
* Interpolation of missing frames
* Any sample size
2022-10-23 16:56:27 +02:00
Andreas Eversberg
dde4113e61
Improvement of Goertzel filter. Using Hamming window now. Add test routine.
2021-12-08 17:24:04 +01:00
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
445af0c0a2
Add filter switch to FSK modulator
2019-11-29 15:58:32 +01:00
Andreas Eversberg
6dcc8baad4
Split FSK modem code into separate modulator and demodulator
2019-11-29 15:58:32 +01:00
Andreas Eversberg
af4bcb1522
Remove useless debug lines
2019-08-26 21:10:33 +02:00
Andreas Eversberg
e9a7f610ee
Compandor: Remove unused option for unaffected level
2018-10-14 13:07:25 +02:00
Andreas Eversberg
56d8df5351
Rework of displaying supervisory info: NMT and AMPS
...
Using lower rate to show debug info of supervisory signal.
Display supervisory info for NMT and AMPS at measurement display screen.
2018-08-31 20:05:38 +02:00
Andreas Eversberg
6277753574
Minor debug message corrections
2018-02-15 08:00:18 +01:00
Andreas Eversberg
0b129d3c7f
libdisplay: Removing dependency from libmobile
2018-02-15 08:00:14 +01:00
Andreas Eversberg
d3385b498d
NMT: Fixes on channel coding/handling
2018-02-15 08:00:12 +01:00
Andreas Eversberg
1a341f6b4e
Restructure: Move debug from common code to 'libdebug'
2017-12-03 08:45:58 +01:00
Andreas Eversberg
ed31a26eba
Restructure: Move sample from common code to 'libsample'
2017-12-03 08:45:48 +01:00
Andreas Eversberg
fd3a4d7ac2
Restructure: Move dtmf from common code to 'libdtmf'
2017-11-25 19:23:46 +01:00
Andreas Eversberg
b605da1aff
Restructure: Move timer from common code to 'libtimer'
2017-11-13 20:00:52 +01:00
Andreas Eversberg
486d2d5dbe
NMT: Fixup assign traffic channel
...
dms_call state now belongs to transaction, so it is kept while switching
to traffic channel.
2017-11-11 09:35:44 +01:00
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
ba036de226
Add function to display measurements on screen
...
Use 'm' key to toggle display.
2017-10-12 19:46:30 +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
534411d660
New common FSK implementation, replaces all individual implementations
2017-08-09 17:27:13 +02:00
Andreas Eversberg
6c64025717
Move FFSK modem from NMT to common code, so it can be used by other networks
2017-08-08 12:53:34 +02:00
Andreas Eversberg
cd9cb9a107
Minor fix for NMT debug output
2017-07-15 12:45:20 +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
f72c53757d
B-Netz, NMT: Improved check for minimum required sample rate
2017-02-18 21:01:15 +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
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
d447be5e26
NMT: Rework on FSK process, no more requirement for special sample rates
2017-01-07 06:28:20 +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
8cecf13b1a
NMT: Add transaction handling
2016-08-20 09:57:05 +02:00
Andreas Eversberg
f15c0dfea3
NMT: Fixing audio level of supervisory signal to match 0.3 KHz deviation
2016-08-03 12:03:52 +02:00
Andreas Eversberg
28ae3e300f
NMT: Fixed multi-transceiver mode and show channel in various logs
2016-08-03 12:03:51 +02:00
Andreas Eversberg
6a5af9aeac
Typos: acknowledgement -> acknowledgment signalling -> signaling
2016-07-24 12:31:08 +02:00
Andreas Eversberg
4745b29115
NMT: Caller ID support
2016-07-24 12:31:07 +02:00
Andreas Eversberg
64c829909b
NMT / DMS: User data facility support (required for SMS)
2016-07-09 11:27:24 +02:00
Andreas Eversberg
2ee51022f4
Rename 'compander' to 'compandor'
2016-06-20 19:37:56 +02:00
Andreas Eversberg
26593ed034
NMT: fix minor bug
2016-06-12 16:11:20 +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
69ccdb99b5
NMT: Calibration of tone levels on TX and RX side
2016-05-13 09:37:03 +02:00