Ticket #163 (new defect)

Opened 6 months ago

Last modified 2 months ago

ALF frequency axis display is incorrect

Reported by: balister Assigned to: mcarrick
Priority: major Milestone: Release 0.8.0
Component: tools Version: trunk
Keywords: Cc:

Description

The ALF plot tool frequency display shows -250 kHz to to 250 kHz. Since ALF does not know the sample rate, it should use a normalized frequency axis markings. This would be much easier to interpret.

Change History

03/03/08 08:23:51 changed by jgaeddert

Agreed. At one point the plot tool would observe the sampling frequency metadata tag and adjust accordingly, but before I checked it in I broke something so I had to revert it.

I think an axis of -Fs/2 to +Fs/2 would be fine for the moment (although because we're capturing complex short we can really go from -Fs to +Fs).

03/03/08 08:35:00 changed by balister

I would like -1 to 1 in 0.1's. Then I can easily do the math. I'd like to point to the 19kHz carrier in from the FM demod with some confidence :) Which I think is what Joe is saying ...

Use the metadata numbers if they are present, otherwise default to relative frequency.

03/03/08 15:06:21 changed by balister

I also did some reading on wikipedia,

http://en.wikipedia.org/wiki/Periodogram

http://en.wikipedia.org/wiki/Spectral_estimation

I think the real solution to the problem is to use one of the standard spectral estimation techniques to smooth the data.

03/04/08 09:42:25 changed by jgaeddert

Hmm... At some point we need to stop relying on wikipedia's descriptions of well-known mathematical terms, particularly when the articles have nearly no information on the subject.

While the periodogram is not the optimal spectrum estimate technique, it is extremely easy to calculate. For further reading, please see "statistical spectral analysis..." by Gardner. The book is sitting on my desk unless someone has borrowed it.

03/04/08 09:46:33 changed by balister

At this point, I do not care what you call it, as long as the plot tool does some averaging and the amount of averaging is controllable by the user.

Multiplying by two is not the right thing to do.

03/04/08 11:15:11 changed by DrewCormier

We're not multiplying by two, we are squaring. That's what you requested.

Don't worry, we're still looking into averaging.

03/06/08 15:27:10 changed by DrewCormier

Here is the proposed solution that jd and I have come up with:

User sets a "number of averages type" variable (num_avgs)

The plot tool will average the magnitude of the packets squared over num_avgs packets.

The plot display will refresh every num_avgs packets.

Complaints/comments so far?

03/06/08 15:32:09 changed by balister

Update based on clock time. We may want short averages without killing ALF. Most peoples brains can't process more than a few updates per second.

03/06/08 15:42:08 changed by balister

And just in case, the display rate and number of averages should be set from menu picks on the plot tool window, not by editing variables in the code.

03/06/08 15:44:07 changed by DrewCormier

I'm pretty sure it already does update by clock time:

def pushPacket(self, I_data, Q_data):

pushPacket_start_time = _time.time() if (pushPacket_start_time - self.last_plot_time) > self.plot_interval:

self.plotData(I_data, Q_data) self.last_plot_time = pushPacket_start_time

03/06/08 15:44:59 changed by DrewCormier

Is what we're really looking for a place to edit this on the GUI? That can be arranged...

03/06/08 20:11:43 changed by balister

Basically, yes. Take a look at the spectrum display on the Tektronix RSA, I believe you can adjust the averaging length and some other things.

Having to edit the plot tool to adjust display parameters is not very user friendly.

07/01/08 12:47:24 changed by cdietric

  • owner changed from cdietric to mcarrick.

07/09/08 16:52:15 changed by mcarrick

  • version changed from 0.6.2 to trunk.
  • milestone changed from 0.7.0 to Release 0.8.0.

The frequency display has been normalized in revision 8004 for the 0.7.0 release. The additional functionality described in the comments is being delayed to a future release.

07/09/08 17:17:45 changed by balister

The additional behavior discussed in this ticket is needed to for the plot tool to be useful for debugging communication systems. This is also a key part of having the plot tool work with continuous data, for which there is another ticket. Sadly, with all the ticket shuffling going on, I cannnot find the ticket.

How about for the next release, fix some tickets from the last release, instead of moving them all to the next release?