Commit Graph

244 Commits

Author SHA1 Message Date
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 ccf58995c3 work on docs 2017-02-18 21:01:02 +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