cjcliffe / CubicSDR

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

Top waterfall and main waterfall keep going out of sync #590

Open ghost opened 7 years ago

ghost commented 7 years ago

screen shot 2017-11-25 at 11 46 33 As you can see in the main waterfall at 13.986MHz there is nothing to be heard where as in the top waterfall there are CW signals seen. When tuning to those signals in the top waterfall the signals are indeed not there, so the main waterfall is the source of truth. I don't see the purpose of the top waterfall. I think if you would take this away you would have a perfect area for controls which are now all hidden under keys or in various areas of the screen (Modes left, memories left, mute and solo to the right, delta lock in the middle, etc.)

vsonnier commented 7 years ago

Hello @Toontje, you actually experienced #295, the issue will be treated hopefully some day in #338.

The top waterfall is indeed useful because it allows precise centering and sizing of a particular modem, while the main waterfall exposes the whole bandwith, where this modem could be very small.

ghost commented 7 years ago

So what about getting rid of the modem waterfall and improve the main waterfall pan and zoom functions?

ve1jot commented 7 years ago

I'm for that, also, it might lighten the graphics load?

On 2017-11-25 09:20 AM, Toontje wrote:

So what about getting rid of the modem waterfall and improve the main waterfall pan and zoom functions?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/cjcliffe/CubicSDR/issues/590#issuecomment-346940221, or mute the thread https://github.com/notifications/unsubscribe-auth/AT1D-i_C0Rc-uX2cdiLe2Ju6vUUant52ks5s6BQCgaJpZM4QqYxl.

lantren commented 7 years ago

maybe as an option , for those with GPU problems but IMHO the separate modem zoom is too useful . It's glitchy yes. but it should be fixed, not discarded.

ghost commented 7 years ago

@lantren Can you give me the use case you are using it for? Just for my understanding because i just see it as a repetition of the main waterfall. There is nothing i can do with the modem waterfall that i cannot do with the main waterfall. Unless i miss something, hence my question.

lantren commented 7 years ago

@Toontje . Sure. I find it most useful when monitoring multiple frequencies. Just today was attempting to locate a missing remote temperature sensor. I was monitoring 6 frequencies @ 433 mhz and my main waterfall was zoomed so i could see them all. I like not having to zoom anything around when a signal is detected on one of the frequencies since the modem view will display which ever frequency breaks squelch. I also like being able to fine tune in the modem view without the need to change my water fall view since i like to visually monitor larger area of the spectrum. Basically, i doesn't DO anything different , i just find having two useful.

ghost commented 6 years ago

@lantren Understood. I guess like this we all have our own use cases. I use it as panadapter for my HAM radio hobby. So all i do is search for signals within a specific frequency range and let CubicSDR tune my radio to it. I would love to drop the modem waterfall and have protocol decoders in CubicSDR. But then again, this has already been done in many other applications and we don't need to repeat the same thing over again. What i desperately need is a CW modem. For the rest i think CubicSDR is perfect as it is.

L1049G commented 6 years ago

I have this problem also; main and top waterfalls getting out of sync. I've tried to find a work-around without success so far. I like the top/modem waterfall, useful for example, for fine tuning USB/LSB and centring DRM signals etc. I would like to see it kept.

vsonnier commented 6 years ago

Hello @Toontje and all, @cjcliffe Has recently made an improvement on the modem waterfall processing using the PFBCH2 channalizer, so that the 'ghost signals' as described in #338 should be gone, at the price of more CPU consumption. So I've exposed the improvement by changing the "Reduce CPU Usage" toggle in the Settings menu into a "CPU usage" submenu with 3 different entries:

High should be the preferred setting if your machine is powerful enough which may be the case in 2018. The actual impact really depends more on the number of active modems in range, than the 'High' option itself.

Note that #338 and #295 covers 2 different issues:

To be clear a modem waterfall is not a 'zoom of sorts' of the main waterfall because they are generated in a very different way.

The described improvement covers b), but a) is a separate issue which needs yet another filtering process.

ghost commented 6 years ago

To be clear a modem waterfall is not a 'zoom of sorts' of the main waterfall because they are generated in a very different way.

Do you have a ELIM5 description of what the modem waterfall is for? Because indeed tend to see it as a "zoomed" part of the main waterfall.

vsonnier commented 6 years ago

@Toontje The modem waterfall allows precise centering/moving and sizing of a particular demod. It is also the image of the processed signal that is feeding the audio part. For performance reasons, a demod is not fed with the entire bandwidth (ex 8MHz for a SDRPlay) Although that would work, it is not used that way because:

That is where the Polyphase Filterbank Channelizer (PFBCH) technique kicks in. This a DSP method to cut the 8MHz bandwith into N independent processing streams (a.ka. channels) spread out in frequency: (see #295 for details)

In CubicSDR, the N is chosen such as the bandwidth is split into 500Khz-wide channels. Then each demod is associated with the best enclosing channel corresponding to its frequency, so is fed with 500Khz worth of bandwidth, not the whole 8Mhz. Much better from the CPU perspective.

Problem is, there is a catch: DSP processing is no magic, and if a demod is located close to a channel boundary ghost/mirrored images appear which translates into "ghost" signals.

The advantage of PFBCH2 over the PFBCH one is that each channel virtually overlaps its neighbor and it's bandwidth/size is 'virtually' 2x bigger (1MHz) even if they are still created 500Khz appart, in such a way that a demod is never close to the (virtual) boundary and consequently don't create false images. Cons: needs 2x more processing per-demod too.

To answer your question:

cjcliffe commented 6 years ago

@Toontje the CPU usage options will be in the 0.2.5 build later this month; I'll see about adding the ability to hide the modem waterfall under the display options as well -- there's a compile flag for it already, but no runtime controls.

@vsonnier gave a good description; and yes technically it is a zoom we're just saying the signal is handled in a way that allows it to get ghosted visually since it runs from a lower bandwidth PFB channel compared to the full-bandwidth waterfall.