Edson --
Yipes! I can't thank you enough for pointing this out. We've had a
couple of other reports about problems with the spectum output and have
been going nuts trying to figure out what was going on, because I have
been unable to duplicate the problem.
There was a lengthy process of negotiation back and forth between Bob
and myself concerning exactly what would go where in the spectrum
computation, so that we'd have something that worked on both the Linux
and Windows sides. It was my job ultimately to reconcile them in the
codebase. Just at the time this was happening there were big problems
at SourceForge with updates to CVS that got dropped on the floor.
In short, the wrong version (half-corrected) was the one that got into
CVS. It was pure sloppiness that I did not go back and test the CVS
version that finally showed up. My sincerest apologies.
I'm not going to correct the CVS at this time since, first, you've made
the correct fix, and second, because there is a major new release coming
out shortly. We're switching to FFTW3 and the code and data structures
associated with all those computations are somewhat different.
Now, to your questions.
[1] *My* Linux version is correct, and yours isn't, because I screwed
up. No surprise there.
[2] The place to get the raw spectrum is not inside jDttSP but rather
from the jack ports. If you need it inside jDttSP it can easily be
provided, depending on what you're going to do with it.
[3] The USB/LSB behavior is exactly as you describe. Switching sidebands
is actually accomplished above jDttSP merely by altering the filter
settings as you have done.
73, and again, many thanks.
Frank
AB2KT
Edson Pereira wrote:
Good Evening!
This is a question to Bob or Frank regarding jDttSP on Linux.
I am trying to get a Qt-based GUI implemented to control jDttSP and have
noticed that the spectrum data was not being correctly written to the
spectrum FIFO. After some tracing, I've found that the problem was due
to the fact that the window[] function array for the spectrum FFT was
not being initialized. For testing I've initialized the window[] in
init_spectrum() for the moment. Later I may include it in update.c.
Now I have spectrum data coming out of the FIFO, but I've noticed that
when setting the spectrum to PRE_FILT, the spectrum slides on the
frequency axis following the setOsc setting. Trying SEMI_RAW does not
work unless I set the mode to SPEC (setMode SPEC). But this changes the
audio filtering and does not change the spectrum sliding behavior.
One more thing I have noticed is that there is no change in the
demodulator when I set the mode to USB or LSB (setMode USB|LSB). The
only way I can switch SSB sidebands is by modifying the filter passband
to negative values.
My questions are:
1. Is the initialization of the window[] function left out in the Linux
code?
2. Would there be a way to get a snapshot of the full 48 kHz raw complex
spectrum without any interference from the tuning?
3. Is the USB/LSB behavior correct?
Many thanks,
-- Edson, pu1jte, n1vtn, 7n4ncl
_______________________________________________
FlexRadio mailing list
FlexRadio@flex-radio.biz
http://mail.flex-radio.biz/mailman/listinfo/flexradio_flex-radio.biz