cjcliffe / CubicSDR

Cross-Platform Software-Defined Radio Application
http://www.cubicsdr.com
GNU General Public License v2.0
2.06k stars 253 forks source link

I/Q swap and CW #919

Open jmeloranta opened 2 years ago

jmeloranta commented 2 years ago

When I use the I/Q swap setting (IF from Elecraft K3), I can see that USB and LSB seem to work as expected (for example, USB for 20m ham band) but CW appears to switch to lower side band (it is upper without the I/Q setting). Furthermore, perhaps the options for CW should allow changing between upper/lower side.

colbyAtCRI commented 2 years ago

Being the author of CW, I'm not at all surprised if I got it backward. This is what I did with the limited understanding of Cubic and ham radio in general.

// We are given a baseband segment BW (default 500Hz) wide which we want to
// offset by mBeepFrequency (default 650Hz). This yields a spectrum.
//
//            |   |....|....|
//            |   |....|....|
//            |   |....|....|
// -----------|---|----|----|--
//            0  150  650  1150
//

So, my rational was that peaks higher in the band window would sound higher in pitch than the ones lower in the band window. If this isn't the desired behavior, a simple sign change on the frequency shift is all that is needed.

Now, that said I'd need some assurance a pull request would even be considered before looking further into this.

colbyAtCRI commented 2 years ago

You know, a workaround is to just change the sign of the beep frequency in the modem settings window. This should change the sign of the offset as needed. I'd check this but Cubic no longer compiles on my mac and I have moved onto other projects. And, of course, you'd need to do this every time Cubic is restarted.