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
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
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
1b16029ac6
B-Netz: Improved detection of tone/frame
...
- Be less tollerant to levels when detcting tones.
- Squelch applies to tone detector also
2021-09-17 16:17:05 +02: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
Martin Hauke
75765d49b7
Fixed many typos in output and source code comments
2019-07-15 21:14:52 +02:00
Andreas Eversberg
f4988297a6
B-Netz: Refactoring tone and quality detection
2018-06-05 07:09:51 +02:00
Andreas Eversberg
6277753574
Minor debug message corrections
2018-02-15 08:00:18 +01:00
Andreas Eversberg
6df0eb46cc
Fix compiler warnings
2018-02-15 08:00:15 +01:00
Andreas Eversberg
0b129d3c7f
libdisplay: Removing dependency from libmobile
2018-02-15 08:00:14 +01:00
Andreas Eversberg
1a341f6b4e
Restructure: Move debug from common code to 'libdebug'
2017-12-03 08:45:58 +01:00
Andreas Eversberg
ab59a26a51
Restructure: Move mobile from common code to 'libmobile'
2017-12-03 08:45:54 +01:00
Andreas Eversberg
ed31a26eba
Restructure: Move sample from common code to 'libsample'
2017-12-03 08:45:48 +01:00
Andreas Eversberg
16194c15f9
Restructure: Move goertzel from common code to 'libgoertzel'
2017-11-25 19:23:54 +01:00
Andreas Eversberg
b605da1aff
Restructure: Move timer from common code to 'libtimer'
2017-11-13 20:00:52 +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
5e14471eb6
B-Netz: Fixup of metering pulse
2017-10-22 19:23:17 +02: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
ae2b0cce0c
B-Netz: Be more tollerant with quality of continuous tones
2017-09-01 18:42:44 +02:00
Andreas Eversberg
ee61c4362b
B-Netz: Use standard deviation to determine if an FSK frame is valid or not
2017-08-16 18:51:45 +02:00
Andreas Eversberg
41bd9999b1
B-Netz: Add metering pulse support (Gebuehrenimpuls)
2017-08-16 18:51:44 +02:00
Andreas Eversberg
534411d660
New common FSK implementation, replaces all individual implementations
2017-08-09 17:27:13 +02:00
Andreas Eversberg
c086e66b7c
minor cleanups
2017-05-17 20:14:37 +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
7585f9c22d
Add function to change dsp state, more debug with channel info
2016-12-09 16:34:33 +01: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
0593f7d066
Fix typos
2016-07-24 12:31:09 +02:00
Andreas Eversberg
6a5af9aeac
Typos: acknowledgement -> acknowledgment signalling -> signaling
2016-07-24 12:31:08 +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
38692e430b
B-Netz: Calibration of tone levels on TX and RX side
2016-05-08 08:11:17 +02:00
Andreas Eversberg
a5db02775e
fixup debug class definition: rename DFSK and DAUDIO to DDSP
2016-03-15 19:26:13 +01:00
Andreas Eversberg
0dc81fe210
Prepare for NMT: Fixes and improvements at common code
2016-03-13 09:12:23 +01:00
Andreas Eversberg
287b914b56
bnetz: Simplifying 'telegramm' handling
2016-03-13 09:12:19 +01:00
Andreas Eversberg
946c9ce10a
initial git import
2016-03-13 09:12:11 +01:00