Andreas Eversberg
af4bcb1522
Remove useless debug lines
2019-08-26 21:10:33 +02:00
Andreas Eversberg
1a76aebbc4
SDR: Use greater offset from center frequency, if only one channel is used.
2019-08-26 21:10:31 +02:00
Andreas Eversberg
3139c7a349
Move American tones into a lib, so that it can be used by IMTS also
2019-08-26 21:10:28 +02:00
Andreas Eversberg
d6579c1244
Allow giving alphanumeric channels (Prepare for IMTS)
2019-08-26 21:10:20 +02:00
Martin Hauke
75765d49b7
Fixed many typos in output and source code comments
2019-07-15 21:14:52 +02:00
Andreas Eversberg
c357ab5ad5
Allow dialing national and international prefix for AMPS/TACS
2019-07-06 07:30:18 +02:00
Andreas Eversberg
41ee8239df
Radio: Add option to change volume of transmission/reception
2019-07-05 21:50:24 +02:00
Andreas Eversberg
1eac087935
Output ASCII art image after all init functions (inside main_mobile.c)
2019-06-30 14:51:01 +02:00
Andreas Eversberg
13245c56f6
C-Netz: Add authentication support (process only)
...
No real authentication, since the algorithm and the keys inside the cards
are not known. A challenge can be specified and optionally the response
can be verified.
2019-06-30 14:51:01 +02:00
Andreas Eversberg
5d9a9b59c3
OsmoTV: Generate correct amplitude of color signal (hopefully)
2019-06-01 19:15:06 +02:00
Andreas Eversberg
4362c78f38
SDR: Display DC line (center frequency) in the spectrum view
2019-05-30 21:08:23 +02:00
Andreas Eversberg
831b68401a
SDR: Move center frequenc (DC) away from channels
...
If one channel is used, shift the center frequency down by half of the bandwidth.
If more channels are used, select a center frequency between two channels close to the center, but equal distance.
Show the spectum layout on startup.
This patch reverts f1292a985b
2019-05-30 21:07:41 +02:00
Andreas Eversberg
37406db7e3
Minimum frequency must be 8000 Hz
2019-05-30 18:19:06 +02:00
Andreas Eversberg
8c6f78fd63
B-Netz: Make debug text more plausible
2019-05-30 18:17:55 +02:00
Andreas Eversberg
b9cc33c6ec
OsmoTV: Added more test patterns for TV repair
...
- improved FUBK
- red screen for DY adjustment
- crosses and dots for convergence adjustment
- EBU color bars
- natural color image
2019-05-12 21:08:09 +02:00
Andreas Eversberg
e4314749fd
Fixup for fast mathm
...
Because users of libfm do always call fm_init and fm_exit, it must be
included in every build.
2019-03-23 07:57:28 +01:00
Andreas Eversberg
e4fcc080df
NMT: Fixed traffic area (Y1Y2) digit conversion
2019-03-09 09:51:09 +01:00
Andreas Eversberg
1321f66456
C-Netz: Add option to control voice deviation
2019-01-02 15:58:34 +01:00
Andreas Eversberg
f1292a985b
SDR: Move channel away from center frequency, to avoid bad RX
2019-01-02 15:57:54 +01:00
Andreas Eversberg
5311f44daa
minor fixes of some prints; fix NMT message counter bug
2018-12-23 19:53:28 +01:00
Andreas Eversberg
e16a2dd548
B-Netz: Add base stations of the Netherlands
2018-12-23 19:26:59 +01:00
Andreas Eversberg
32025915d5
Make run faster on ARM CPUs using fast math approximation
...
Use --fast-math to use sine/cosine tables and approximate atan2.
2018-11-10 15:18:28 +01:00
Andreas Eversberg
e8429166c3
Radio: Minor fixes
2018-11-10 15:18:28 +01:00
Andreas Eversberg
73757ba083
NMT: Fix test of SMS code for different time zones
2018-11-10 15:18:28 +01:00
Andreas Eversberg
2cff22ef54
Added little INSTALL document and fixed some compiler issues
2018-11-02 09:28:48 +01:00
Andreas Eversberg
e5c4e1f638
NMT: Fixed support for NMT-F (France; SFR)
...
Works now with Nokia Talkman 520 TMF-1FR
2018-10-30 20:04:21 +01:00
Andreas Eversberg
9444fcdb91
NMT: Fix channel encoding for interleaved
2018-10-30 20:01:59 +01: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
eac19ddab1
C-Netz: Allow SDR using C-Netz without calibration options
...
Crystals on SDRs are accurate enough for C-Netz (< 1ppm).
2018-08-26 08:47:56 +02:00
Andreas Eversberg
279dd25b15
SDR: Add presets for LimeSDR-Mini
2018-08-25 10:25:25 +02:00
Andreas Eversberg
b2210cd698
Radio: Abort, if no RX sink is specified
2018-08-25 10:22:55 +02:00
Andreas Eversberg
881d4a9f72
SDR: Fix level range of IQ date; must not exceed range of -1 .. 1
...
LimeSDR mini (and maybe others) do not want IQ data to become a value below
-1 or above 1. This happens slightly when applying the IIR filter after
upsampling. To prevent this, we scale down the IQ level a little bit.
To test the problem:
- set the scale level to 1.0, so it does not take effect
- use LimeSDR mini
- use upsampling (sample rate differs SDR sample rate)
- run loopback mode 2 (-l 2)
- IIR filter must be initialized with 2 or more iterations to take effect
- check linear IQ graph; it will then plot dots inside the circle
2018-08-25 08:13:16 +02:00
Andreas Eversberg
0b22b0305a
C-Netz: Correcting some information elements
2018-07-01 09:36:50 +02:00
Andreas Eversberg
40aec4f14c
C-Netz: Swtitch speech scrambler only after receiving 3 consecutive frames with different scrambler mode
2018-07-01 09:18:07 +02:00
Andreas Eversberg
7c4cfd5567
TV: Minor code cleanup
2018-06-24 11:40:53 +02:00
Andreas Eversberg
83449726f8
R2000: Fix recall option
2018-06-24 11:39:31 +02:00
Andreas Eversberg
b7046a5283
SDR: Add clock source selection, untested yet
2018-06-24 11:36:56 +02:00
Andreas Eversberg
f4988297a6
B-Netz: Refactoring tone and quality detection
2018-06-05 07:09:51 +02:00
Andreas Eversberg
3b58408691
Fixed -t (--tone) option
2018-05-27 06:04:09 +02:00
Andreas Eversberg
be309e1c83
C-Netz: Fixed display of states (state display function)
2018-05-21 19:43:38 +02:00
Andreas Eversberg
0b504dbeb3
SoapySDR: Flip initialization of RX and TX, so LimeSDR works with frequencies below 30 MHz
2018-05-21 19:39:09 +02:00
Andreas Eversberg
c774180082
Osmoradio fixes: Use real time scheduling and always transmit empty buffer
2018-05-21 19:39:09 +02:00
Andreas Eversberg
ce4a540745
Add real-time scheduling to osmotv and make it default for all base stations
...
This is required to drastically reduce the latency of the thread execution.
2018-05-21 19:39:09 +02:00
Andreas Eversberg
4e2ad7dae1
Fix compiler warning in conjunction with strncpy
2018-05-21 19:39:09 +02:00
Andreas Eversberg
3438402fe2
Update ImageMagick support to API version 7
2018-05-21 19:39:09 +02:00
Andreas Eversberg
3b81007210
Refactoring command line option handling
...
* Use own function to define and parse command line options
* Command line options can be defined by config file also
* --limesdr allows to auto-set required SDR option for LimeSDR
2018-05-21 19:39:09 +02:00
Andreas Eversberg
6ba1b8acab
Make LimeSDR tune rx to tx frequency
2018-05-21 19:39:09 +02:00
Andreas Eversberg
32cefbbffc
Transcode fourth digit of TACS phone number correctly, if it is 0.
2018-04-19 21:08:45 +02:00
Andreas Eversberg
49050eff90
Add 'osmoradio', an analog radio (FM/AM)
...
This radio can be a receiver or a transmitter or both simultaniously.
2018-02-16 15:54:42 +01:00
Andreas Eversberg
c4d4e7feda
Add libam, a library to do AM modulation and demodulation
2018-02-16 15:54:42 +01:00
Andreas Eversberg
3fd0707a3b
Add libclipper, a library to 'smoothly' clip overdriven audio levels
2018-02-16 15:54:41 +01:00
Andreas Eversberg
9197320ee6
Improved audio (sdr) handling
2018-02-16 15:54:40 +01:00
Andreas Eversberg
9af2b6e007
Improved wave playback
2018-02-16 15:54:40 +01:00
Andreas Eversberg
3a5fa8837c
Improved emphasis
2018-02-16 15:54:39 +01:00
Andreas Eversberg
50fee02c63
remove obsolete function
2018-02-16 15:54:39 +01:00
Andreas Eversberg
a57a5c0122
Improving and cleaning configure script
2018-02-16 15:53:48 +01:00
Andreas Eversberg
56f07a473d
B-Netz: Add dial sequence generator to emulate call setup from mobile phone
2018-02-15 08:00:20 +01:00
Andreas Eversberg
a5aee82e53
B-Netz: Some cleanups
2018-02-15 08:00:20 +01:00
Andreas Eversberg
6b9326982a
libwave: Use libdebug for debugging messages.
2018-02-15 08:00:19 +01:00
Andreas Eversberg
f91e6f5034
Make libdebug not depend on libdisplay
2018-02-15 08:00:19 +01:00
Andreas Eversberg
6277753574
Minor debug message corrections
2018-02-15 08:00:18 +01:00
Andreas Eversberg
1ef1b93776
B-Netz: Give warning about possibly unsupported channels
2018-02-15 08:00:16 +01:00
Andreas Eversberg
6df0eb46cc
Fix compiler warnings
2018-02-15 08:00:15 +01:00
Andreas Eversberg
4cc33c5b0d
Make sound card support (Alsa) optional
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
d3385b498d
NMT: Fixes on channel coding/handling
2018-02-15 08:00:12 +01:00
Andreas Eversberg
72bdd3376f
Add JollyCom, a simple and experimantal mobile network
...
This network that can be used with any radio and a DTMF transmitter.
2018-01-21 10:46:09 +01:00
Andreas Eversberg
f2eb6b3e70
Squelch improvement
...
Continuously calculate noise floor and lower threshold level if less noise
was received. High noise or ongoing transmission during start of program will
not cause a threshold that is too far above the actual noise floor.
2017-12-09 20:46:16 +01:00
Andreas Eversberg
9f901384de
SDR: Add option to set local oscillator (LO) offset
...
By default it is set to -1 MHz.
2017-12-09 20:46:14 +01:00
Andreas Eversberg
c49ee3b2a8
Remove dependencies between debug, displays and mncc-console
...
Test functions are cleaned up, due to removed dependencies.
2017-12-09 20:46:13 +01:00
Andreas Eversberg
b3866de242
Add 'hold' function and level display to spectrum view
2017-12-05 11:10:47 +01:00
Andreas Eversberg
7c42d57d6e
B-Netz: Minor fixes to timings and debug messages
2017-12-05 11:10:46 +01:00
Andreas Eversberg
417151e9a3
SDR: Add DC offset removal (DC bias)
2017-12-05 11:10:44 +01:00
Andreas Eversberg
9e75e64787
Add DTMF decoder to libdtmf
...
Note: This decoder has no user yet.
2017-12-03 08:46:05 +01:00
Andreas Eversberg
44247ffb53
FM modulation: Never turn carrier completely off
...
This prevents IIR filter to become very slow for some unknown reason.
2017-12-03 08:46:04 +01:00
Andreas Eversberg
7cbfaa2861
Add NaN debugging to IIR filter (disabled by default)
2017-12-03 08:46:02 +01:00
Andreas Eversberg
06092e90ed
Add library to normalize speech level (Sendevolumenregler SVoR)
...
Note: This lib has no user yet.
2017-12-03 08:46:01 +01:00
Andreas Eversberg
021c695883
Restructure: Fixing library linking order
2017-12-03 08:46:00 +01:00
Andreas Eversberg
1a341f6b4e
Restructure: Move debug from common code to 'libdebug'
2017-12-03 08:45:58 +01:00
Andreas Eversberg
016e72d6d7
Restructure: Move display from common code to 'libdisplay'
2017-12-03 08:45:55 +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
1650cc5ad2
Restructure: Move sdr from common code to 'libsdr'
2017-12-03 08:45:45 +01:00
Andreas Eversberg
45a5568f70
Restructure: Move sound from common code to 'libsound'
2017-11-25 19:28:36 +01:00
Andreas Eversberg
0e3e4d9230
Restructure: Move img from common code to 'libimage'
2017-11-25 19:28:35 +01:00
Andreas Eversberg
7b539d5dc7
Restructure: Move mncc from common code to 'libmncc'
2017-11-25 19:28:33 +01:00
Andreas Eversberg
9776736cc4
Restructure: Move compandor from common code to 'libcompandor'
2017-11-25 19:25:10 +01:00
Andreas Eversberg
083ea4edaa
Restructure: Move fsk from common code to 'libfsk'
2017-11-25 19:24:03 +01:00
Andreas Eversberg
f4754dcb37
Restructure: Move fm_modulation from common code to 'libfm'
2017-11-25 19:24:02 +01:00
Andreas Eversberg
7af9b752a0
Restructure: Move 'libgermantone' to a-netz code
2017-11-25 19:23:59 +01:00
Andreas Eversberg
cb30c96bc6
Restructure: Move fft from common code to 'libfft'
2017-11-25 19:23:57 +01:00
Andreas Eversberg
40c24a70b2
Restructure: Move emphasis from common code to 'libemphasis'
2017-11-25 19:23:56 +01:00
Andreas Eversberg
16194c15f9
Restructure: Move goertzel from common code to 'libgoertzel'
2017-11-25 19:23:54 +01:00
Andreas Eversberg
c84318b245
Restructure: Move jitter from common code to 'libjitter'
2017-11-25 19:23:53 +01:00
Andreas Eversberg
8f6d0752df
Restructure: Move squelch from common code to 'libsquelch'
2017-11-25 19:23:50 +01:00
Andreas Eversberg
60ffdcaf53
Restructure: Move hagelbarger from common code to 'libhagelbarger'
2017-11-25 19:23:49 +01:00
Andreas Eversberg
ac7bb3539f
Restructure: Move wave from common code to 'libwave'
2017-11-25 19:23:47 +01:00
Andreas Eversberg
fd3a4d7ac2
Restructure: Move dtmf from common code to 'libdtmf'
2017-11-25 19:23:46 +01:00
Andreas Eversberg
17b34fbae6
Restructure: Move scrambler from C-Netz code to 'libscrambler'
2017-11-14 21:04:58 +01:00
Andreas Eversberg
ffd934709f
Restructure: Move classic German tones from common code to 'libgermanton'
2017-11-13 20:14:03 +01:00
Andreas Eversberg
b605da1aff
Restructure: Move timer from common code to 'libtimer'
2017-11-13 20:00:52 +01:00
Andreas Eversberg
1b183864bb
Restructure: Move sample rate conversion from common code to 'libsamplerate'
2017-11-13 19:34:05 +01:00
Andreas Eversberg
669705c6ed
Restructure: Move filters from common code to 'libfilter'
2017-11-13 19:15:09 +01:00
Andreas Eversberg
fc1c5de547
Fixed pointer corruption bug in timer.c
2017-11-11 09:36:05 +01:00
Andreas Eversberg
8a74805ea6
NMT: Add support for receiving 8-Bit-SMS, because it is mandatory
...
Benefone Dragon uses this coding scheme for SMS-Submit.
2017-11-11 09:35:46 +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
ce2bb8ec43
Fixup call control split
2017-11-11 05:55:32 +01:00
Andreas Eversberg
e9583d5661
R2000: Make recall work when call is directly answered by call_up_setup
...
It is not recommended to use recall function with built-in MNCC (auto-answer),
because the phone is not fast enough to switch back to call control channel
and so it misses the first paging. But anyway it works.
Also the channel layout is checked for having traffic and control channel.
2017-11-05 17:00:01 +01:00
Andreas Eversberg
aeb31a7a34
A-Netz: Number of operator can be defined now
...
Since A-Netz does not allow automatic dialing, the call is forwarded
to an operator. Use -O <number> to change the default operator's number.
2017-11-05 16:59:59 +01:00
Andreas Eversberg
ca6d70566c
Fixup displaying measurements (array overflow)
2017-11-05 16:59:59 +01:00
Andreas Eversberg
e8a3306eee
Add option to cross-connect calls; Calls between mobiles are now possible
...
Use -x to enable call cross-connect. No MNCC socket, no call device must
be specified!
Be sure to have at least one control channel and two voice channels.
Alternatively you can use one combined control/voice channel and one
voice channel.
2017-11-05 16:59:58 +01:00
Andreas Eversberg
87a21a285a
NMT: Assign traffic channel for outgoing and incoming calls
...
This way the control channel stays available for other (idle) phones.
No more loss of coverage for other phones, when a call to a mobile is
made.
It is still possible to define a combined control+traffic channel.
(e.g. for single channel setup)
2017-11-05 16:58:37 +01:00
Andreas Eversberg
5c33b8824b
AMPS/TACS: Fixing release towards mobile station on FVC
...
We must continuously send release frames until Signaling Tone changes,
so we know that the phone has received the release.
2017-11-05 16:58:36 +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
91b48c09de
TV: Fix case where no SDR nor wave file has been selected
2017-10-22 19:23:18 +02:00
Andreas Eversberg
5e14471eb6
B-Netz: Fixup of metering pulse
2017-10-22 19:23:17 +02: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
f7a0e4622b
Display channel offset with TX and RX channel frequencies on startup
2017-10-22 19:23:06 +02:00
Andreas Eversberg
e67c171035
SDR: Minor fixes in error condition handling
2017-10-22 19:23:05 +02:00
Andreas Eversberg
f7476bce41
NMT-900: Handle channels >= 1025 correctly
2017-10-22 19:23:04 +02:00
Andreas Eversberg
3218d1a8e0
NMT: Fixed segfault when decoding certain (invalid) messages
2017-10-22 19:23:03 +02:00
Andreas Eversberg
975e34211b
Call control: Minor logging fixes
2017-10-22 19:23:02 +02:00
Andreas Eversberg
ae29f84ed7
Fixed typo
2017-10-12 19:46:32 +02:00
Andreas Eversberg
595fd845e0
NMT: Removed double implementation of caller ID encoding
2017-10-12 19:46:32 +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
e84d7a082c
Use braces to make GCC happy
2017-10-02 12:34:38 +02:00
Andreas Eversberg
c645ef9c14
R2000: Use correct debug category
2017-10-02 12:34:35 +02:00
Andreas Eversberg
1a4a08386c
Only dial if call is on-hook or disconnected
2017-10-02 12:34:34 +02:00
Andreas Eversberg
3f2f0fdd8c
C-Netz: Show standard deviation of bit levels instead of jitter
2017-10-02 12:34:33 +02:00
Andreas Eversberg
5ea48588e5
AMPS/TACS: Change audio level range
2017-10-02 12:34:31 +02:00
Andreas Eversberg
3e1da04f14
AMPS: Minor fixes to loopback test
2017-10-02 12:34:27 +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
ff5faa8697
SDR: Improved IQ plot display, increase dynamics of spectrum display
2017-09-24 15:57:56 +02:00
Andreas Eversberg
c1fe179d5d
AMPS: Fix 'use-after-free-bug' after destroying transaction
2017-09-24 14:11:54 +02:00
Andreas Eversberg
b6468b585d
NMT: Minor fixes on frame data
2017-09-22 16:51:47 +02:00
Andreas Eversberg
08dd180ea0
Add echo test feature to check mobile phone's mic + speaker
...
Add '-e' to command line option, but do not select MNCC nor call device
2017-09-21 20:29:30 +02:00
Andreas Eversberg
274cb7992b
SDR: Improvement of spectrum view, peaks are drawn correctly
2017-09-16 10:48:48 +02:00
Andreas Eversberg
5b1956fe49
Move sms and dms code (NMT) to separate lib.a
2017-09-11 20:37:03 +02:00
Andreas Eversberg
b6326aa473
Move commonly used German tones (A/B/C-Netz) to separate lib.a
2017-09-11 20:35:18 +02:00
Andreas Eversberg
7017fd7b3c
Give hint to alter PKG_CONFIG_PATH, if SoapySDR or UHD was not found
2017-09-11 20:31:29 +02:00
Andreas Eversberg
d28a5df024
R2000: Minor fix in channel description
2017-09-03 19:13:21 +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
496aff5a79
Add implementation of analog TV signal generator (PAL so far)
...
Quick and dirty Howto:
make && tv/osmotv --sdr-soapy --sdr-tx-gain 60 -r 15000000 -c 21 tx-fubk --sdr-tune-args "OFFSET=-3000000"
2017-09-02 07:34:50 +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
94ed39f5e2
JTACS: Implementation of the Japanese variant of TACS
2017-09-01 18:42:54 +02:00
Andreas Eversberg
489ab9506c
TACS: Fix power levels
2017-09-01 18:42:53 +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
eb0c123433
C-Netz: Fixed overflow bug
2017-09-01 18:42:51 +02:00
Andreas Eversberg
dfdad21e3f
C-Netz: Work on system informations, metering and call queues
...
- Make system informations configurable
- Simulate call mertering
- Support for call queues on busy voice channels
2017-09-01 18:42:51 +02:00
Andreas Eversberg
3bfba37fff
Corrected print messages in wave file processing.
2017-09-01 18:42:50 +02:00
Andreas Eversberg
cff7622f5c
Move mobile phone specific code from libcommon.a to libmobile.a
2017-09-01 18:42:49 +02:00
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
1c2e9180a2
Radiocom 2000: Use high-pass filter to remove supervisory signal
2017-09-01 18:42:45 +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
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
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
275be50225
R2000: Fixes
2017-08-16 18:51:43 +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
7c9ce960d7
Fixes of checking digits
2017-08-08 12:54:21 +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
3274812eab
NMT-900 System implementation
...
NMT can now be run as 450 or 900 Network.
2017-08-08 12:52:45 +02:00
Andreas Eversberg
0c9de251be
NMT: Implement Hagelbarger Code
...
This will correct burst errors of received messages. If the message
is too corrupted, it will be ignored, because some element may not
match then. The digits and line signals are checked for consistency,
since they are repeated serveral times in a message.
2017-08-08 12:52:29 +02:00
Andreas Eversberg
cd9cb9a107
Minor fix for NMT debug output
2017-07-15 12:45:20 +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
557d19de66
NMT: Show trafic areas in hex and allow to select unsupported areas
2017-07-15 07:38:14 +02:00
Andreas Eversberg
3774519631
NMT: Fixed "use after free" bug
2017-07-15 07:38:13 +02:00
Andreas Eversberg
7af886c600
NMT: Fixed NMT digit decoding
2017-07-15 07:38:13 +02:00
Andreas Eversberg
085ceb9173
Minor fixes to compandor
2017-07-15 07:38:12 +02:00
Andreas Eversberg
3ce50f8ab3
AMPS: Fixes in message display and function names
2017-07-15 07:38:10 +02:00
Andreas Eversberg
3788b3e8a5
TACS support (variations added to AMPS code)
...
These are:
- Bandwidth only 25 KHz, so lower deviations
- Data rate only 8000 KHz
- SID is called AID (Area ID)
- MIN1 coding is different
2017-07-15 07:38:09 +02:00
Andreas Eversberg
d52f4cd29d
NMT: Mark Benelux and Czech/Slovak networks as tested
...
I have tested the network with B/NL/L and CZ/SK phones, and they work!
2017-06-15 18:28:26 +02:00
Andreas Eversberg
1aebedc66a
NMT: Fixed line signal description
2017-06-11 09:01:21 +02:00
Andreas Eversberg
7a9762e28e
NMT: Disable Supervisory signal during DMS (SMS) transfer and use Timeout
...
There is no Supervisory signal during DMS transfer, so there must be
no timeout for Supervisory signal. Instead, the SMS layer will timeout
after some seconds without receiving data.
2017-06-11 08:13:52 +02:00
Andreas Eversberg
3e86ef95c4
B-Netz: Minor printf fix
2017-06-10 17:49:59 +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
dbdedfe1a1
AMPS: Fixed selecting right CRC values for FOCC words
2017-06-10 13:08:26 +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
e653475ff7
NMT: Allow NULL (B'0000') to be used as country selector in traffic area
2017-06-10 13:08:23 +02:00
Andreas Eversberg
57d4d1739e
AMPS/C-Netz: Correctly release pending transaction when creating a new one
...
If transactions is created, look on all channels for pending transaction
with same subscriber.
1. Remove that transaction.
2. Make channel return to IDLE.
3. Release call, if callref exists.
2017-06-10 13:08:22 +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
bb64c6b3ba
AMPS: Add DTX support
...
When DTX is enabled (-S dtx=2 or 3), a missing SAT tone causes the receiver
to mute audio and insert a low level of comfort noise.
Also the missing SAT tone will not cause the connection to be terminated.
2017-06-10 13:08:19 +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
56024b384b
AMPS: Serveral minor fixes
2017-05-23 18:11:10 +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
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
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
12dcc6c40f
Minor fixes on AMPS messages
...
- Flipping polarity is now performed after B/I has been applied
- Correcting sysinfo
2017-05-17 20:06:43 +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
369bda87a9
C-Netz: Improved decoder debugging
...
FM decoder debug output is now written to text files for better
debugging of process.
2017-05-15 21:46:25 +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
f689244f98
C-Netz: OgK must be on first channel, so sync works correctly
2017-02-18 21:02:56 +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
17b6124122
C-Netz: Remove useless -V option
2017-02-18 21:02:54 +01:00
Andreas Eversberg
58ebc15292
Add test to measure performance of FM modulation and filtering
2017-02-18 21:02:53 +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
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
Andreas Eversberg
6a3cfd608e
Add ascii-art spectrum analyzer for SDR support
2017-02-18 21:02:49 +01:00
Andreas Eversberg
3fb2ade352
C-Netz: Fix release of call process when no dialing was received from phone
2017-02-18 21:02:48 +01:00
Andreas Eversberg
0611f62b52
Show channel number and basic info when channel was created
2017-02-18 21:02:47 +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
54ed5d5f82
AMPS: Fixed setting of signal polarity when using SDR
2017-02-18 21:01:19 +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
5026e161aa
Open audio device for call (headset) after everything is prepared
...
It is not allowed to stall after trigger reading of audio device.
2017-02-18 21:01:18 +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
f5e9a97c31
--rx-gain option works now only with sound card
2017-02-18 21:01:16 +01:00
Andreas Eversberg
2b4f5bb228
Minor fix in help output
2017-02-18 21:01:15 +01: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
bd7ccc5fa0
Add global DC-Filter and remove all individual DC-Filters
2017-02-18 21:01:12 +01:00
Andreas Eversberg
71e556e7ff
Work on emphasis filter: Neutral @ 1000 Hz; Use filter before de-emphasis
2017-02-18 21:01:11 +01:00
Andreas Eversberg
b3fd53b165
Test filter uses a dB graph to show the response graphically
2017-02-18 21:01:10 +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
23a42aeb2c
Fixed calculation of elapsed UHD RX time stamp
...
Now rates above 1000 RX frames per second works. The bug hit when there
were more than one frame received during one function call. This happens
if the frame rate is above the main loop rate of 1000 frames per second.
(default)
2017-02-18 21:01:05 +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
799b96c801
Fixed sleep interval in main loop
...
The elapsed time is calculated, so that it is removed from the sleep
time. This way the loop interval matches the given target.
2017-02-18 21:01:03 +01:00
Andreas Eversberg
a7e47f83d7
Fixed paging channel switching of B-Netz
...
Now the calling channel is switched correctly.
A global parameter is used to select how paging is performed.
2017-02-18 21:01:03 +01:00
Andreas Eversberg
21c5c3195d
Plot IQ data as red points on display, if overdriven (vector length >= 1.0)
2017-02-18 21:01:01 +01:00
Andreas Eversberg
c0e30d35d6
Use individual sample rate and setting for call device (headset)
2017-02-18 21:01:00 +01:00
Andreas Eversberg
19b396ab4d
Wave recording and playback now uses multi channels
2017-02-18 21:00:59 +01:00
Andreas Eversberg
2d8d7e62c1
Use global init/cleanup function
2017-02-18 21:00:58 +01:00
Andreas Eversberg
bc028cd4d3
NMT: Make supervisory signal default, also allow setting per channel.
2017-02-18 21:00:57 +01:00
Andreas Eversberg
272ebeb0ae
SDR: Minor fixes
2017-02-18 21:00:56 +01:00
Andreas Eversberg
a5fd375237
Fixed typos
2017-02-18 21:00:55 +01:00
Andreas Eversberg
bf0abd627d
A-Netz: Option to set gain of paging tones
2017-02-18 21:00:54 +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
fee4846c3f
SDR forces default settings: emphasis and FSK polarity
2017-02-18 21:00:52 +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
57993e3e48
Support for UHD SDR interface
2017-02-18 21:00:49 +01:00
Andreas Eversberg
b30b61282c
Generic SDR support
2017-02-18 21:00:48 +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
713b1ab118
Rename functions and structure of biquad lowpass filter
2017-01-07 06:28:23 +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
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
e1cbb1649a
Fixed memory leak in PDEBUG(). Thanx to valgrind finding that!
2017-01-05 08:36:52 +01:00
Andreas Eversberg
286c11cab4
B-Netz: Add translation of emergency numbers 110 and 112
2017-01-02 17:38:54 +01:00
Andreas Eversberg
b59ce96889
B-Netz: Minor change on start image
2017-01-02 10:19:07 +01:00
Andreas Eversberg
16e1e842b9
A-Netz: Don't allow emphasis, since it is not used with A-Netz
2017-01-02 10:16:49 +01:00
Andreas Eversberg
e724823c5b
A-Netz: Reset tone detector when going idle
...
A pending tone must be detected as soon as the cell is idle. This happens
if the phone picks up during release guard time.
2017-01-02 10:13:43 +01:00
Andreas Eversberg
d47853201c
common code: Update call console only when it changes or after debug line
2016-12-11 14:21:22 +01:00
Andreas Eversberg
3400f555fe
Add common function to give hotkey help
...
* Key to dial and hangup
* Key to display wave form
2016-12-09 16:42:38 +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
f111c50478
A-Netz / B-Netz: Add function to change state, debug with channel info
...
Change state uses a function rather than directly setting state
variable.
Some debug commands now use channel number. (for multi-trx setups)
2016-12-06 17:47:58 +01:00
Andreas Eversberg
eed826387a
work on docs
2016-12-06 17:46:12 +01:00
Andreas Eversberg
27c6e3d860
C-Netz: Add code documentation...
2016-12-01 17:59:08 +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
0b43b63d1f
Fixed command line option descriptions
2016-11-29 10:59:09 +01:00
Andreas Eversberg
d52d0242bf
Output enhancements
...
* no more flicker on wave form display while scrolling
* dialing console gets cleared/overwritten correctly
* fixes on stderr output
2016-11-29 07:49:21 +01:00
Andreas Eversberg
938fb74bae
B-Netz: Fixes call procedure according to the standard FTZ 171 R 4
2016-11-27 22:06:47 +01:00
Andreas Eversberg
b1c452cf12
Changed command line options
...
* All lower case options define common options
* All upper case options define network specific options
2016-11-27 22:06:47 +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
0a83b19a99
common code: Display wave form in color
...
Show 0-line as blue and curve as green and channel number as white.
2016-11-17 19:38:36 +01:00
Andreas Eversberg
481181fa74
A-Netz: Click removal when changing sequenced paging tones
...
When tone changes to next tone, a transition of 2ms is performed. The last
tone is faded out and the new tone faded in.
2016-11-14 18:36:50 +01:00
Andreas Eversberg
5f5683e374
NMT: Fixed compiler warning
2016-11-13 06:42:18 +01:00
Andreas Eversberg
34954b50de
B-Netz: Rename special start digit for coin box phone type
2016-11-13 06:39:14 +01:00