Commit Graph

143 Commits

Author SHA1 Message Date
Andreas Eversberg 3c0bcce97b Move German tones from common code to individual implementation 2017-09-01 18:42:48 +02:00
Andreas Eversberg d2472cfca6 Emphasis: Add filter to prevent emphasis above 4000 Hz
Remove obsolete filter from fsk.c.
2017-09-01 18:42:47 +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 064d95f37e Fixup: SDR: Show IQ data with three colors
Use correct threshold values to display colors
2017-09-01 18:42:42 +02:00
Andreas Eversberg ea7cbb8675 SDR: Add option to enable TX timestamps on UHD devices (disabled by default) 2017-08-16 18:51:47 +02:00
Andreas Eversberg 8489914bf0 SDR: Add time consumption debug code 2017-08-16 18:51:46 +02:00
Andreas Eversberg 42a87c1c2f SDR: Name SDR TX and RX threads 2017-08-16 18:51:46 +02:00
Andreas Eversberg 3afcac8342 SDR: Add option to swap RX and TX frequencies (for testing) 2017-08-10 17:42:54 +02:00
Andreas Eversberg f2d439c1ae UHD: Remove buggy sample rate check 2017-08-10 15:59:29 +02:00
Andreas Eversberg 999b6a2b4d UHD: Make frequency settings more tollerant (+-100 Hz are accepted) 2017-08-09 17:27:14 +02:00
Andreas Eversberg 534411d660 New common FSK implementation, replaces all individual implementations 2017-08-09 17:27:13 +02:00
Andreas Eversberg ffd3b848e1 Implementation of "Radiocom 2000", the analog French mobile network 2017-08-09 17:27:12 +02:00
Andreas Eversberg 8ce3ff455d Add incoming answer to call control, also allow to send recall tone 2017-08-09 17:27:08 +02:00
Andreas Eversberg d20b41a457 Fixed command line option for call audio device (headset)
--call-device option now works.

Thanx to Fabricio pointing to this bug.
2017-08-08 12:54:45 +02:00
Andreas Eversberg 5090f5a18d SDR: Show IQ data with three colors to detect input overdrive
green: up to 0.45
yellow: between 0.45 and 0.9
red: above 0.9
2017-08-08 12:54:03 +02:00
Andreas Eversberg 0cbd9657d2 Move Hagelbarger error correction code from NMT to common code
It will be used by Radiocom 2000 also.
Some minor fixes and improvements apply.
2017-08-08 12:53:48 +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 92ce6d4a42 SDR: Using threads for read and write when doing resampling 2017-08-08 12:53:02 +02:00
Andreas Eversberg a088536533 Minor fix for IQ data display 2017-07-15 12:45:20 +02:00
Andreas Eversberg fda224c27f Fixing and improving SDR support (SoapySDR and UHD)
- Soapy SDR now works.
- Channels can be selected.
- Antennas can be listed and selected.
- Device args, tune args, stream args can be specified.
2017-07-15 12:45:19 +02:00
Andreas Eversberg 538b4a42ec Add wave file playback to replace TX audio 2017-07-15 07:38:16 +02:00
Andreas Eversberg aa20d4e50e Cleanup common/Makefile.am 2017-07-15 07:38:15 +02:00
Andreas Eversberg 085ceb9173 Minor fixes to compandor 2017-07-15 07:38:12 +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 6adfcf7466 Status display
Alows to show status of current channels and users
2017-06-10 13:08:21 +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 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 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 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 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 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 290b365d67 SDR: Move FM modulation algorithms to a seperate file 2017-02-18 21:02:51 +01:00
Andreas Eversberg 4c0f8e7e95 Rework of sample rate conversion by using linear interpolation 2017-02-18 21:02:51 +01:00
Andreas Eversberg 47f74b38ce SDR transmits with full amplitude 2017-02-18 21:02:50 +01:00