Physics Stack Exchange is a question and answer site for active researchers, academics and students of physics. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Is there software available that can analyse a 5MHz RF pulse to give a plot of frequency spectrum. The signal data is visible on a LCD screen or a print out could be obtained.

share|cite|improve this question
What is the use of some analysis when You already know that it is 5 MHz? – Georg May 21 '11 at 15:18
You can buy oscilloscopes that do all of this or you can make a whole variety of tools like ROOT do it for you once you have the data on your computer. – dmckee May 21 '11 at 15:22

Thanks for your solutions they have confirmed my initial thoughts. A 5MHz pulse of 3 or 4 cycles will have a bandwidth of 1 or 2 MHz but it is the profile of the spectrum that I need. I also need a windows utility to digitise the pulse, so I may try Getdata or Dagra either can produce a file for input to excel but the latter can produce a file for MATLAB.

share|cite|improve this answer

The answer to your question is, "Yes, there is." For capturing and analyzing real time signals, often that functionality is sold as a frequency analyzer, in conjuction with an O'scope, or other HW/SW combination, for about the same cost as a modest home.

For a cheaper solution, you can feed a time domain plot of the signal into a Fourier transform. You will need to pick points separated by no more than 1/(2F), where F is the highest frequency component you hope to discover.

The SW we used to perform digital signal analysis in my graduate class, was MATLAB. I'm sure that you could get the same result in just about any language, or even just an Excel spreadsheet, as long as you understand Fourier Transforms. The G3 package, mentioned by Helder seems intriging. I may go check it out.

A pulse of a purely sinusoidal 5MHz wave will, indeed, show other frequency components in addition to 5MHz. In order to not show components other than 5MHz, the pulse would have to be infinitely long, or at least longer than the sampling window.

share|cite|improve this answer

First step: gather the data.
I use G3DATA (free).
googling :

g3data is used for extracting data from graphs. In publications graphs often are included, but the actual data is missing. g3data makes the extracting...

You will need two axis graduated with min, max values. The g3data will use your clicks over the graph to collect data in a datafile.
The knowledge of the time basis is important if you want the precise frequencies. If you are interested in the proportions between the main frequency and the harmonics it is less important.
Next steps, in short: make several datafiles, mix, remove outliars, filter,... ,..., fft

Edit add:
One can have a thousand osciloscopes and signal analyzers but yet one has to have acess to specific original 'signal source' to fed them. Obviously you dont have it and any OScope is useless in that situation. That's why I avoided to mention such a useless solution. Here a how-to-use the g3data software.
To treat the data search for FFT software. There are a lot of choices even a DIY. I use the free online package sagenb (website) to crunch numbers.
Give a try on the Euler math toolbox (website) WP Comparison_of_numerical_analysis_software
Note: FFT and DFT work usually(a) on equally spaced data. You will have to construct such array using interpolation over the gathered data.
In the filtering and smoothing phase, using a suitable moving average window, one must be careful not to destroy the features you are interested.
(a) there are algorithms that work the approx DFT in non-equispaced data.

Ps : if you are confortable using a programming lang give a try to PyOpenCL. There exists a PyFFT for PyOpenCL and you graphics board (GPU) will outperform any CPU for large datasets.
Edit add end.

share|cite|improve this answer
I hoped, without success, that the easy downvoter had some positive contribution to a better answer. Maybe by saying why he/she dislikes my own answer or, much better, by providing an answer of his/her own. If it happens to be better than mine I will upvote it! By Thor, I like to comment my own answers. – Helder Velez May 24 '11 at 0:40
LOL... definitely i don't see anything wrong with your answer, so it seems it is a rather personal downvote – lurscher May 24 '11 at 3:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.