Ticket #163 (new enhancement)

Opened 5 years ago

Last modified 2 years ago

Update ALF spectrum plot

Reported by: balister Owned by: iburbey
Priority: major Milestone: 0.9.0 (OSSIE)
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

Changed 5 years ago 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).

Changed 5 years ago 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.

Changed 5 years ago 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.

Changed 5 years ago 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.

Changed 5 years ago 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.

Changed 5 years ago 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.

Changed 5 years ago 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?

Changed 5 years ago 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.

Changed 5 years ago 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.

Changed 5 years ago 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

Changed 5 years ago by DrewCormier

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

Changed 5 years ago 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.

Changed 5 years ago by cdietric

  • owner changed from cdietric to mcarrick

Changed 5 years ago 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.

Changed 5 years ago 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?

Changed 4 years ago by cdietric

  • milestone changed from Release 0.8.0 to Release 0.7.4

Changed 4 years ago by cdietric

  • owner changed from mcarrick to sriramk

Changed 4 years ago by cdietric

  • milestone changed from Release 0.7.5 to Release 0.8.1

Changed 3 years ago by cdietric

  • milestone changed from Release 0.8.1 to Release 0.8.2

Changed 3 years ago by cdietric

  • milestone changed from Release 0.8.2 to 0.8.2

Milestone Release 0.8.2 deleted

Changed 3 years ago by cdietric

  • type changed from defect to enhancement
  • summary changed from ALF frequency axis display is incorrect to Update ALF spectrum plot

Changed 2 years ago by c2dietric

  • owner changed from sriramk to iburbey
  • milestone changed from 0.8.2 to 0.9.0
Note: See TracTickets for help on using tickets.