From 6f92abdc7e3c0a096c3d5f9f8cdb19f0ca1dbbf2 Mon Sep 17 00:00:00 2001 From: boblark Date: Wed, 15 Feb 2023 20:03:02 -0800 Subject: [PATCH] Corrected comments --- radioCESSBtransmit_F32.cpp | 3 +- radioCESSBtransmit_F32.h | 62 ++------------------------------------ 2 files changed, 4 insertions(+), 61 deletions(-) diff --git a/radioCESSBtransmit_F32.cpp b/radioCESSBtransmit_F32.cpp index a2a1b3e..bf2d151 100644 --- a/radioCESSBtransmit_F32.cpp +++ b/radioCESSBtransmit_F32.cpp @@ -75,7 +75,8 @@ void radioCESSBtransmit_F32::update(void) { } /* A +/- pulse to test timing of various delays. PULSE TEST - * This replaces any input from the audio stream + * This replaces any input from the audio stream, + * and levels shown are for gainIn==1.0. for(int kk=0; kk<128; kk++) { uint16_t y=(ny & 1023); diff --git a/radioCESSBtransmit_F32.h b/radioCESSBtransmit_F32.h index 4176ca7..305bc15 100644 --- a/radioCESSBtransmit_F32.h +++ b/radioCESSBtransmit_F32.h @@ -6,66 +6,8 @@ * Chip Audette (OpenAudio) Feb 2017 * and of course, to PJRC for the Teensy and Teensy Audio Library * - * The development of the Controlled Envelope Single Side Band (CESSB) - * was done by Dave Hershberger, W9GR. Many thanks to Dave. - * The following description is mostly taken - * from Frank, DD4WH and is on line at the GNU Radio site, ref: - * https://github-wiki-see.page/m/df8oe/UHSDR/wiki/Controlled-Envelope-Single-Sideband-CESSB - * - * Controlled Envelope Single Sideband is an invention by Dave Hershberger - * W9GR with the aim to "allow your rig to output more average power while - * keeping peak envelope power PEP the same". The increase in perceived - * loudness can be up to 4dB without any audible increase in distortion - * and without making you sound "processed" (Hershberger 2014, 2016b). - * - * The principle to achieve this is relatively simple. The process - * involves only audio baseband processing which can be done digitally in - * software without the need for modifications in the hardware or messing - * with the RF output of your rig. - * - * Controlled Envelope Single Sideband can be produced using three - * processing blocks making up a complete CESSB system: - * 1. An SSB modulator. This is implemented as a Weaver system to allow - * minimum (12 kHz) decimated sample rate with the output of I & Q - * signals (a complex SSB signal). - * 2. A baseband envelope clipper. This takes the modulus of the I & Q - * signals (also called the magnitude), which is sqrt(I * I + Q * Q) - * and divides the I & Q signals by the modulus, IF the signal is - * larger than 1.0. If not, the signal remains untouched. After - * clipping, the signal is lowpass filtered with a linear phase FIR - * low pass filter with a stopband frequency of 3.0kHz - * 3. An overshoot controller . This does something similar as the - * envelope clipper: Again, the modulus is calculated (but now on - * the basis of the current and two preceding and two subsequent - * samples). If the signals modulus is larger than 1 (clipping), - * the signals I and Q are divided by the maximum of 1 or of - * (1.9 * signal). That means the clipping is overcompensated by 1.9 - * which leads to a much better suppression of the overshoots from - * the first two stages. Finally, the resulting signal is again - * lowpass-filtered with a linear phase FIR filter with stopband - * frequency of 3.0khz - * - * It is important that the sample rate is high enough so that the higher - * frequency components of the output of the modulator, clipper and - * overshoot controller do not alias back into the desired signal. Also - * all the filters should be linear phase filters (FIR, not IIR). - * - * This CESSB system can reduce the overshoot of the SSB modulator from - * 61% to 1.3%, meaning about 2.5 times higher perceived SSB output power - * (Hershberger 2014). - * - * References: - * 1-Hershberger, D.L. (2014): Controlled Envelope Single Sideband. QEX - * November/December 2014 pp3-13. - * http://www.arrl.org/files/file/QEX_Next_Issue/2014/Nov-Dec_2014/Hershberger_QEX_11_14.pdf - * 2-Hershberger, D.L. (2016a): External Processing for Controlled - * Envelope Single Sideband. - QEX January/February 2016 pp9-12. - * http://www.arrl.org/files/file/QEX_Next_Issue/2016/January_February_2016/Hershberger_QEX_1_16.pdf - * 3-Hershberger, D.L. (2016b): Understanding Controlled Envelope Single - * Sideband. - QST February 2016 pp30-36. - * 4-Forum discussion on CESSB on the Flex-Radio forum, - * https://community.flexradio.com/discussion/6432965/cessb-questions - * + + * Weaver Method of SSB: Note that this class includes a good umplementation * of the Weaver method. To use this without invoking the CESSB corrections, * just keep the input peak level below 1.0. One could disable CESSB by