Commit Graph

374 Commits

Author SHA1 Message Date
f4exb cce5b29aa6 New scope: make some trace and trigger data public 2017-01-30 00:07:20 +01:00
f4exb d69c6cc417 New scope: pass sample rate 2017-01-29 22:52:38 +01:00
f4exb f0f7838765 New scope: interim state (1) 2017-01-29 19:51:45 +01:00
f4exb 38337f1333 Moving average fixes 2017-01-15 11:26:11 +01:00
f4exb 09856b5941 Sample source FIFO: write ahead the exact same amount of samples that were read. This smoothes out the process and avoids hickups 2017-01-09 02:13:27 +01:00
f4exb 58b90c7914 New audio devices dialog and handling: use selected audio devices 2017-01-06 16:04:32 +01:00
f4exb 49fba5b103 New audio devices dialog and handling: use variable global input volume 2017-01-06 15:28:01 +01:00
f4exb 4b89ac3360 WFM modulator: do not go below 96 kHz for the channelizer sample rate. Attempt to fix CW problem 2017-01-05 11:37:57 +01:00
f4exb 3479559859 Tx support: optimize final interpolator stages 2017-01-03 23:25:20 +01:00
f4exb fa0afb6c92 Tx support: implemented final interpolation stage in FileSink plugin 2017-01-02 03:14:46 +01:00
f4exb d0f49291c5 added 'my' interpolation methods 2016-12-31 04:23:59 +01:00
f4exb 35b6409753 Multiple transmission channels warning when adding more than one channel 2016-12-26 15:26:25 +01:00
f4exb 03ff449ec8 Multiple modulators support: optimization: comment out code that is useless when processing sample by sample 2016-12-26 14:52:59 +01:00
f4exb 9213c85d6a Multiple modulators support: returned to one by one sample handling but pull a chunk of audio samples. Works with at least 3 modulators. Special handling of division factor 2016-12-26 12:45:19 +01:00
f4exb 5598265e66 Multiple modulators support: works with two modulators 2016-12-26 12:11:51 +01:00
f4exb 2a8a3bf457 Fixed core dump when ending application and Tx is still running 2016-12-26 11:23:11 +01:00
f4exb e02ac85e50 All modulators: use buffer for input audio that is always in use while generation is running. This fixes lockup problem reported in issue #11 2016-12-26 01:39:34 +01:00
f4exb f5572eebc0 More debug messsages 2016-12-25 21:26:37 +01:00
f4exb e05822ba02 Implement own FIFO in BasebandSampleSource. SampleSourceFIFO: remove useless chunk size completely and set initial fill to only half the FIFO size 2016-12-23 14:29:42 +01:00
f4exb f74e3b83a7 Modulators: changed single Tx channel samples feed handling. Pure virtual function is useless 2016-12-22 23:45:56 +01:00
f4exb 1afd8df5f9 Modulators: changed single Tx channel samples feed handling 2016-12-22 23:39:06 +01:00
f4exb 441c2c1817 Send number of samples to write in the writeData signal. Ask for half the buffer size when more than half of it is consumed 2016-12-21 02:24:49 +01:00
f4exb 1e881703e8 Added a NCO with floating point phase calculation before conversion to int for table indexing. This increases frequency precision and is mandatory for CTCSS tone generator 2016-12-19 02:41:31 +01:00
f4exb 014ada12ba CW smoother: set default ramp time to 4ms and set the modulators ramp time at the same value 2016-12-16 00:02:37 +01:00
f4exb 0a7e9261e2 CW transition smoother: use smootherstep function. See: https://en.wikipedia.org/wiki/Smoothstep 2016-12-14 23:23:58 +01:00
f4exb 98b9e20392 Make a dedicated CW transition smoothing class 2016-12-14 22:48:39 +01:00
f4exb a2089724cf SSB Modulator: Interim state (4) 2016-12-13 19:57:07 +01:00
f4exb e4e2eea9d5 CW Keyer: retain only text, dashes and dots 2016-12-11 21:52:53 +01:00
f4exb d3d6ebec89 CW Keyer with GUI. Sort of works 2016-12-11 11:35:25 +01:00
f4exb 2defcc7cec CW Keyer: test with AM modulator and fixes 2016-12-10 08:12:16 +01:00
f4exb d6c9b2f707 CW Keyer: compiles 2016-12-10 06:16:13 +01:00
f4exb 808a8c85fd CW Keyer: interim state (2) 2016-12-09 19:34:38 +01:00
f4exb 35baa46f3d CW Keyer: interim state (1) 2016-12-09 01:35:49 +01:00
f4exb 317836ac92 NFM demod: channel power calculation and squelch corrections 2016-12-05 03:46:42 +01:00
f4exb c5f1acdcf1 AM Modulator: audio input (mic) basic support 2016-11-29 01:09:06 +01:00
f4exb 2d0ee4bf76 SDRplay plugin: adjust documentation. Corrections and re-organization of the main readme.md file 2016-11-21 18:07:58 +01:00
f4exb ee947f54e9 Corrected clang warnings 2016-11-21 18:01:55 +01:00
f4exb 85807ffadb SDRPlay plugin: now working with open source libmirisdr 2016-11-16 02:38:21 +01:00
f4exb 863522d9ff SDRPlay support: source plugin interim state (1) compiles 2016-11-13 02:59:31 +01:00
f4exb ae5070ebb3 Removed useless flavour of even/odd FIR halfband filter 2016-11-11 10:21:54 +01:00
f4exb efbce97a2f Improve int halfband filter even/odd I/Q stride variant 2016-11-10 02:56:49 +01:00
f4exb c91725fe01 Push decimators halfband filter order to 64 2016-11-09 04:03:12 +01:00
f4exb 0a6dc5db37 IntHalfband filters: tuned optimizations and chose the best for x86_64 2016-11-09 03:27:30 +01:00
f4exb d2c6791eea Use IntHalfbandFilterST in decimators 2016-11-08 17:30:10 +01:00
f4exb 2504d199fd IntHalfbandFilterST: implemented intrinsics class 2016-11-08 17:29:46 +01:00
f4exb 995fd04543 Removed useless include 2016-11-08 17:28:03 +01:00
f4exb bfe24df76e Added new halfband FIR filter with even/odd and I/Q stride 2016-11-08 02:02:29 +01:00
f4exb 3505e1b095 Allow SSE 4.1 optimization on the down channelizer 2016-11-07 18:51:32 +01:00
f4exb 8b52059ca4 IntHalfbandFilterEO1: fixed unused variables 2016-11-07 18:40:22 +01:00
f4exb fa5030eac4 IntHalfbandFilterEO1: simplification for SSE 4.1 only and fix 2016-11-07 18:23:59 +01:00
f4exb 7015fb97d2 Put intrinsics in their own templatized classes 2016-11-07 04:16:02 +01:00
f4exb 63d6eea066 Use more precise SIMD flags and detect actual x86_64 SIMD features 2016-11-07 00:42:57 +01:00
f4exb dbbbfa12ee Changed USE_SIMD flag to USE_SSE 2016-11-06 02:08:38 +01:00
f4exb af0a0896d4 IntHalfBandFilterEO2: fixed (x,y) method 2016-11-06 01:19:39 +01:00
f4exb bc3dfb19cd IntHalfBandFilterEO2: use dual forward and backward buffers to avoid byte shuffling in SIMD instructions. Implemented in the up channelizer 2016-11-06 01:07:13 +01:00
f4exb de8640caae IntHalfBandFilterEO1: rename size attribute 2016-11-06 00:23:08 +01:00
f4exb 3410d289d1 Use even/odd FIR filter based half band decimators for the device decimators 2016-11-05 21:52:13 +01:00
f4exb f2a50c0c0f Use even/odd FIR filter half band interpolator only if SIMD is available 2016-11-04 22:47:09 +01:00
f4exb 9f74c82715 IntHalfBand FIR filter SSE optimizations 2016-11-04 01:12:39 +01:00
f4exb 2f02d9dd69 IntHalgBandFilterDB: changed some attributes name 2016-11-03 00:30:55 +01:00
f4exb 942f897978 Use the double buffer FIR filter with the front end decimators 2016-11-02 09:15:32 +01:00
f4exb 86c148ab10 DownChannelizer: use more efficient double buffer half band decvimator 2016-11-01 17:57:46 +01:00
f4exb 5d5593bda7 Tx ph.2: put the double buffered FIR interpolator and decimator in its own class 2016-11-01 15:02:50 +01:00
f4exb ded1d3c298 Place the halfband filter traits in their own class 2016-11-01 11:55:16 +01:00
f4exb bd4d224166 Tx ph.2: IntHalfBandFilter: use double buffer technique for interpolation. Use it with the UpChannelizer and increase order to 96 for better spur rejection. Moreover it is still more CPU efficient 2016-11-01 05:54:25 +01:00
f4exb 3173bc0b07 Tx ph.2: Interpolator polyphase filter: add possibility to specify the number of taps per phase 2016-10-31 23:40:46 +01:00
f4exb 004cbcb060 Tx ph.2: UpChannelizer: use order 64 filter as longer orders do not improve image rejection 2016-10-31 00:33:20 +01:00
f4exb 06b2c4930e IntHalBandFilter: added order 96 2016-10-30 23:04:54 +01:00
f4exb f5bbbb7cab Tx ph.2: UpChannelizer: allow any sample rate 2016-10-30 22:01:20 +01:00
f4exb 91315913b4 Tx ph.2: change UpChannelizer filter chain from std::list to std::vector 2016-10-30 18:22:33 +01:00
f4exb 31add4919d IntHalfbandFilter: corrected shift left factor for the Samples version of the FIR 2016-10-30 12:50:06 +01:00
f4exb fb2346aba8 Added original half band FIR coefficients as comments 2016-10-30 10:15:47 +01:00
f4exb 4a001350d3 Tx ph.2: Templatized IntHalfbandFilter and improved coefficients. Changed to order 80 for upsamplers and 48 for downsamplers 2016-10-29 17:01:02 +02:00
f4exb 4ab45f4768 Tx ph.2: Fixed half-band interpolators and set the order to 64 (for all) 2016-10-29 12:29:24 +02:00
f4exb e9f0bb0d45 Tx ph.2: UpChannelizer: interpolator (1) draft 2016-10-28 18:39:45 +02:00
f4exb 1f58b6ece7 DV serial: removed useless parameter 2016-10-28 09:09:19 +02:00
f4exb 0305605bbc DV Serial: fall back multi slot support 2016-10-28 08:37:27 +02:00
f4exb 4d273d8a13 Tx ph.2: use a specialized interpolator similar to the decimator derived from the ancient interpolator 2016-10-28 03:18:24 +02:00
f4exb 4618e007de Tx ph.2: restored ancient interpolator 2016-10-27 18:05:40 +02:00
f4exb 0fc6d95357 Tx ph.1: fixed read pointer management when getting new samples 2016-10-25 03:31:36 +02:00
f4exb ee55747c0b Tx ph.1: FileSink: set sample source FIFO size depending on sample rate 2016-10-25 02:34:29 +02:00
f4exb 5021d15162 Tx ph.1: Connect sample source FIFO read signal with forwarding samples to spectrum sink 2016-10-24 18:31:14 +02:00
f4exb 289c1a203f Tx ph.1: Sample source FIFO read with signal. Use a specific spectrum sink (vis) reference in Device sink engine for main spectrum rendering 2016-10-24 18:06:44 +02:00
f4exb 9f1b801d1a Tx ph.1: fixed AM modulator 2016-10-24 01:27:23 +02:00
f4exb 8f70840561 Tx ph.1: fixed sample source FIFO 2016-10-23 23:27:19 +02:00
f4exb 4e446b9c7a Tx ph.1: fixed source sink initialization 2016-10-23 14:14:32 +02:00
f4exb e42a717c69 Tx ph.1: Fixed sample rate and center frequency handling in File Sink 2016-10-23 10:38:44 +02:00
f4exb 119127fdab Tx ph.1: Fixes to file sink GUI and some debug messages 2016-10-23 02:22:00 +02:00
f4exb 4b02072fe4 Tx ph.1: add Tx tab (2). Fixed core dump 2016-10-22 05:07:48 +02:00
f4exb 9fff2b8477 Tx ph.1: new AM modulator plugin (3). Implemented actual modulation code. 2016-10-20 19:34:30 +02:00
f4exb 9f3fec7600 Tx ph.1: added device sinks list to DSP engine 2016-10-19 14:29:23 +02:00
f4exb 940cfbe94e DSPDeviceSourceEngine: stop threaded baseband sample sinks 2016-10-17 22:40:02 +02:00
f4exb 0f7ac00a71 Tx ph.1: Added the DSPDeviceSinkEngine class 2016-10-17 18:15:08 +02:00
f4exb b56c2d9a2c Tx ph.1: new classes (1) 2016-10-17 08:58:49 +02:00
f4exb 52b618469c Tx ph.1: refactored source sample FIFO. StarUML model: added Tx classes 2016-10-15 09:53:06 +02:00
f4exb 4709ba9e01 TX ph.1: Baseband sample sources and Device sample sinks (1) 2016-10-14 18:47:19 +02:00
f4exb 9303a63931 DV Serial: prepare multi slot (4) 2016-10-12 00:53:26 +02:00
f4exb 01c901a8fe DV Serial: prepare multi slot (3) 2016-10-12 00:19:44 +02:00
f4exb 413ba162c7 DV Serial: prepare multi slot (2) 2016-10-12 00:02:36 +02:00
f4exb 20c5ec3f76 DV Serial: removed useless parameter 2016-10-11 23:54:27 +02:00
f4exb 2caf76b746 DV Serial: prepare multi slot (1) 2016-10-11 23:51:18 +02:00
f4exb 18a8e7c903 DV Serial: implement FIFO slots 2016-10-11 22:52:45 +02:00
f4exb 13e832a20e DV serial: alternate timeout handling. Primitives to get information about worker status 2016-10-11 20:24:08 +02:00
f4exb 6b2e09ed10 RxTx semantic move: updated attributes and method names. Removed obsolete methods 2016-10-11 01:11:32 +02:00
f4exb aa45dcbd17 Add an interpolate method to the Interpolator class 2016-10-10 02:08:48 +02:00
f4exb 6707bab1a5 Give the decimation method of the Interpolator class its proper name 2016-10-10 01:53:32 +02:00
f4exb 6e82cb37b8 Tx support: added a sample source FIFO class 2016-10-10 01:13:12 +02:00
f4exb 5168fbf416 RxTx semantic move: updated debug message and displayed class names 2016-10-08 10:35:07 +02:00
f4exb bb541e9fb2 AudioOutput: fixed core dump on program exit 2016-10-08 06:54:49 +02:00
f4exb 36aeaa3ea5 RxTx semantic move: renamed SampleFifo to SampleSinkFifo 2016-10-06 19:18:02 +02:00
f4exb 12ac603741 Added a double buffered sample sink FIFO class 2016-10-06 15:39:18 +02:00
f4exb f90be69221 Removed useless dependency 2016-10-06 15:36:54 +02:00
f4exb 5cb9284367 DownChannelizer: optimization when no downsampling is done anyway 2016-10-04 16:31:54 +02:00
f4exb 9a24a1a99f RxTx semantic move: renaming attributes (1). Corrected Star UML model 2016-10-04 01:49:28 +02:00
f4exb e204efe2b8 RxTx semantic move: renamed DSPDeviceEngine to DSPDeviceSourceEngine 2016-10-03 18:29:05 +02:00
f4exb dce0ace4ef RxTx semantic move: renamed ThreadedSampleSink to ThreadedBasebandSampleSink 2016-10-03 15:55:16 +02:00
f4exb c8f4147f31 RxTx semantic move: created DeviceSampleSource class 2016-10-02 23:21:53 +02:00
f4exb 7a535cc3b8 RxTx semantic move: renamed SampleSource to DeviceSampleSource 2016-10-02 23:16:40 +02:00
f4exb 78513854ac RxTx semantic move: renamed SampleSink to BasebandSampleSink 2016-10-02 22:29:04 +02:00
f4exb 20c6fb19cc RxTx semantic move: renamed Channelizer to DownChannelizer 2016-10-02 21:52:39 +02:00
f4exb 1fa80272b5 RxTx semantic move: renamed FileSink to FileRecord 2016-10-02 10:30:58 +02:00
f4exb 8672c69246 DSD demod: account for not constant length MBE frames 2016-09-25 01:21:30 +02:00
f4exb 5d30f6a51a DV Serial engine/worker: fix audio samples not flushed to audio FIFO immediately after queue processing which resulted in audible gaps 2016-09-11 19:58:38 +02:00
f4exb 7fc2b431a4 DSD demod plugin: DV serial: fix filter, timeout value and volume control 2016-09-11 17:02:49 +02:00
f4exb be467fdc24 DSD demod plugin: fixed DV Serial concurrent support 2016-09-11 03:57:35 +02:00
f4exb d01a4166eb DSD demod plugin: lowpass filter for DV serial upsample 2016-09-10 20:03:06 +02:00
f4exb f64d078375 DSD demod plugin: DMR refactoring: allow stereo split of TDMA channels. Works with DVSerial too now. 2016-09-07 00:47:51 +02:00
f4exb 9d5e5c76c7 Fixed MovingAverage uint to uint32_t and template type conversions 2016-08-26 02:01:29 +02:00
Ziga S 08602c661b Updated CMake files for QTEditor cmake style.
AudioOutput had previously stalled, mutex temporary removed(Q&D workaround, need for study OSX Audio Concurency).
Removed some part of code in DemodBFM for OSX compilations.
Code runs and was tested with HackRF.
Note: There is need have investigate two potencial problems(DemodBFM bug and AudioOutput deadlocking?).
2016-06-29 10:10:24 +02:00
f4exb e935716568 Multi device support: fixed core dump (seg fault) brutally by commenting out failing instruction (disconnect) 2016-05-20 00:49:55 +02:00
f4exb 90b1fae799 Multi device support: moved audio output multi client support to audio output object itself 2016-05-18 11:32:19 +02:00
f4exb 83e1b84c38 Multi device support: methods to start/stop audio immediately 2016-05-18 10:51:42 +02:00
f4exb dec0addc25 Multi device support: basic multi device creation and deletion 2016-05-13 11:42:03 +02:00
f4exb df661cc366 Multi device support: Main window: created a method to add a new device and associated objects 2016-05-13 09:23:33 +02:00
f4exb 7053d3775c Multi device support: completely removed direct access to DSP device engine from DSP engine 2016-05-13 00:50:29 +02:00
f4exb 2b036e2212 Multi device support: completely removed dependency on DSPEngine from source plugins 2016-05-13 00:03:58 +02:00
f4exb f4c03bcab1 Multi device support: completely removed DSPEngine dependency on DSPDeviceEngine message queues 2016-05-12 23:45:27 +02:00
f4exb 7707858d57 Multi device support: pass plugin API to devices input handlers to give access to DSP device engine methods 2016-05-12 23:35:30 +02:00
f4exb e25c465b82 Multi device support: removed as much as possible (now) DSPDeviceEngine dependencies in MainWindow to source plugin GUIs. This includes file sink handling. Applies to BladeRF only. 2016-05-12 10:31:57 +02:00
f4exb 5de7b0168e Multi device support: removed threaded sample sink add/remove in DSPEngine 2016-05-12 01:13:58 +02:00
f4exb 2f080bf45b Multi device support: removed start/stop in DSPEngine 2016-05-12 01:04:40 +02:00
f4exb 400e6b1028 Multi device support: cleanup after the move of DSPDeviceEngine start/stop actions 2016-05-12 00:35:39 +02:00
f4exb ecd05096ad Multi device support: moved DSPDeviceEngine start/stop actions and status from main window to each source plugin GUI 2016-05-11 23:35:16 +02:00
f4exb 6ef4653d35 Multi device support: add a unique ID to DSPDeviceEngine 2016-05-11 19:14:23 +02:00
f4exb 33e5e781c0 Multi device support: use DSPDeviceEngine instead of DSPEngine in PluginManager 2016-05-11 17:03:02 +02:00
f4exb c556a16caa Prepare multi device support in DSP Engine 2016-05-11 11:34:44 +02:00
f4exb 6d703a9730 DSD demod: DV serial support: set audio buffer length to 1s (48000 samples) 2016-05-09 23:02:48 +02:00
f4exb 15a583e8a9 DSD Demod: DV Serial support: popup message to list devices when enabling 2016-05-09 18:17:53 +02:00
Edouard Griffiths 84479fdbcc DSD demod: serialDV library support in Windows. Updates in sdrbase 2016-05-09 17:48:34 +02:00
f4exb 7e4c05417a DSD demod: adapt serial com pors scan to Windows 2016-05-09 11:37:12 +02:00