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




Reply via email to