Commit Graph

83 Commits

Author SHA1 Message Date
Andreas Eversberg e3197eec42 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 b2c0b64b2d Audio level of patterns were too loud. 2019-12-04 17:26:50 +01:00
Andreas Eversberg 4053677c76 Modem emulator for "Datenklo" with AM7910/AM7911 emulation 2019-11-29 15:58:59 +01:00
Andreas Eversberg f95a1520bf minor code cleanup 2019-11-29 15:58:59 +01:00
Andreas Eversberg 4a185a4307 Describe if audio device exists, but does not support both directions 2019-11-29 15:58:32 +01:00
Andreas Eversberg 5da09b4964 New color for options debugging 2019-11-29 15:58:32 +01:00
Andreas Eversberg e6dd146b70 Bugfix: Correct handling of n in strncat() 2019-11-29 15:58:32 +01:00
Andreas Eversberg 0044988e16 FSK demodulator: Also report bits that have duration < 0.5 2019-11-29 15:58:32 +01:00
Andreas Eversberg 41f8066d2f Add filter switch to FSK modulator 2019-11-29 15:58:32 +01:00
Andreas Eversberg ee26e33e4d Split FSK modem code into separate modulator and demodulator 2019-11-29 15:58:32 +01:00
Andreas Eversberg 6a7117ecf7 MTS/IMTS: (Improved) Mobile Telephone Service
Implementation of the 0G Mobile Phone Network of US and Canada

MTS or IMTS mode is selectable, als well as 5 or 7 digit mode.
2019-08-30 17:17:10 +02:00
Andreas Eversberg e443069fb5 Fixed performance issue with IIR filter
Passing samples with zero value (0.0) causes very slow processing of
IIR filter on my test machine 'nuedel'. I don't know why.
To solve this, I add a very small number to each input sample.
2019-08-26 21:10:39 +02:00
Andreas Eversberg 8d0d57d2b9 Fixed an unitialized-buffer bug. 2019-08-26 21:10:37 +02:00
Andreas Eversberg 1e9cab4959 Fixed use-after-free bug (config file handling) 2019-08-26 21:10:34 +02:00
Andreas Eversberg 0f6348e479 SDR: Use greater offset from center frequency, if only one channel is used. 2019-08-26 21:10:31 +02:00
Andreas Eversberg e0e8c7f469 Allow giving alphanumeric channels (Prepare for IMTS) 2019-08-26 21:10:20 +02:00
Martin Hauke f5583953e6 Fixed many typos in output and source code comments 2019-07-15 21:14:52 +02:00
Andreas Eversberg f243e3a626 Output ASCII art image after all init functions (inside main_mobile.c) 2019-06-30 14:51:01 +02:00
Andreas Eversberg ea98b49372 SDR: Display DC line (center frequency) in the spectrum view 2019-05-30 21:08:23 +02:00
Andreas Eversberg d82fff41cb 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 b31bc0b37d
2019-05-30 21:07:41 +02:00
Andreas Eversberg fd17cfac16 Minimum frequency must be 8000 Hz 2019-05-30 18:19:06 +02:00
Andreas Eversberg b31bc0b37d SDR: Move channel away from center frequency, to avoid bad RX 2019-01-02 15:57:54 +01:00
Andreas Eversberg f8b836182f 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 393e54b817 Compandor: Remove unused option for unaffected level 2018-10-14 13:07:25 +02:00
Andreas Eversberg d058927e2d 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 9454702944 SDR: Add presets for LimeSDR-Mini 2018-08-25 10:25:25 +02:00
Andreas Eversberg f5c4557051 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 8b1aa76168 SDR: Add clock source selection, untested yet 2018-06-24 11:36:56 +02:00
Andreas Eversberg b89251ee1a Fixed -t (--tone) option 2018-05-27 06:04:09 +02:00
Andreas Eversberg 6b04026488 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 6e52be6158 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 ad4973cdca Fix compiler warning in conjunction with strncpy 2018-05-21 19:39:09 +02:00
Andreas Eversberg 9d39ac393e Update ImageMagick support to API version 7 2018-05-21 19:39:09 +02:00
Andreas Eversberg 5df7f92647 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 e74b7442c6 Make LimeSDR tune rx to tx frequency 2018-05-21 19:39:09 +02:00
Andreas Eversberg bfacc6d232 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 45771bb309 Add libam, a library to do AM modulation and demodulation 2018-02-16 15:54:42 +01:00
Andreas Eversberg df4c687ff1 Add libclipper, a library to 'smoothly' clip overdriven audio levels 2018-02-16 15:54:41 +01:00
Andreas Eversberg 49a05ee2bb Improved audio (sdr) handling 2018-02-16 15:54:40 +01:00
Andreas Eversberg e41badf850 Improved wave playback 2018-02-16 15:54:40 +01:00
Andreas Eversberg 3f92b0b3ba Improved emphasis 2018-02-16 15:54:39 +01:00
Andreas Eversberg e59ea04cd6 Improving and cleaning configure script 2018-02-16 15:53:48 +01:00
Andreas Eversberg 65d284403e libwave: Use libdebug for debugging messages. 2018-02-15 08:00:19 +01:00
Andreas Eversberg 9e98578f3d Make libdebug not depend on libdisplay 2018-02-15 08:00:19 +01:00
Andreas Eversberg ee561f29c8 Minor debug message corrections 2018-02-15 08:00:18 +01:00
Andreas Eversberg 73c656eddf Fix compiler warnings 2018-02-15 08:00:15 +01:00
Andreas Eversberg e7016f9f02 Make sound card support (Alsa) optional 2018-02-15 08:00:15 +01:00
Andreas Eversberg 5c9964ff19 libdisplay: Removing dependency from libmobile 2018-02-15 08:00:14 +01:00
Andreas Eversberg fd819d2f9f 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 6452a41996 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