Andreas Eversberg
b605da1aff
Restructure: Move timer from common code to 'libtimer'
2017-11-13 20:00:52 +01:00
Andreas Eversberg
2c4d0ee687
SDR: Check if the required bandwidth can be handled by given sample rate
2017-10-22 19:23:09 +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
e67c171035
SDR: Minor fixes in error condition handling
2017-10-22 19:23:05 +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
f469879ed0
SDR: Use filter to remove harmonics caused by downsampling/upsampling
...
This drastically increases the signal-noise-ratio and removes co-channel
interferences. It gains CPU usage, but only on SDR threads, not on the
main thread.
2017-09-24 15:59:24 +02:00
Andreas Eversberg
9205767f94
SDR: Display spectrum graph together with channel numbers and position
2017-09-02 15:41:11 +02:00
Andreas Eversberg
a52c89800c
SDR: Split SDR config from main_mobile.c to sdr_config.c
2017-09-02 07:34:48 +02:00
Andreas Eversberg
05c516ca16
SDR: Fixed stack overflow by allocating memory instead of local buffers
2017-09-01 18:42:52 +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
ea7cbb8675
SDR: Add option to enable TX timestamps on UHD devices (disabled by default)
2017-08-16 18:51:47 +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
534411d660
New common FSK implementation, replaces all individual implementations
2017-08-09 17:27:13 +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
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
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
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
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
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
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
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
47f74b38ce
SDR transmits with full amplitude
2017-02-18 21:02:50 +01:00
Andreas Eversberg
6a3cfd608e
Add ascii-art spectrum analyzer for SDR support
2017-02-18 21:02:49 +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
ac0da3f76e
Filter improvement: LP and HP filters, added test function
...
The -3 dB level at cut-off frequency is now maintained for multiple
iterations.
2017-02-18 21:01:04 +01:00
Andreas Eversberg
19b396ab4d
Wave recording and playback now uses multi channels
2017-02-18 21:00:59 +01:00
Andreas Eversberg
272ebeb0ae
SDR: Minor fixes
2017-02-18 21:00:56 +01:00
Andreas Eversberg
d28467c125
SDR: Display IQ data as a plot using 'q' key
2017-02-18 21:00:53 +01:00
Andreas Eversberg
8b9277615d
Neu structure for the paging process (B-Netz)
...
Paging tones are not created within sound_alsa.c
The audio API is now responsible to switch to paging channel.
In case of SDR, the sdr.c will switch frequency offset.
2017-02-18 21:00:50 +01:00
Andreas Eversberg
b30b61282c
Generic SDR support
2017-02-18 21:00:48 +01:00