Code covered by the BSD License

### Highlights fromFully Automatic Signal Spectrum Analyser

5.0

5.0 | 3 ratings Rate this file 13 Downloads (last 30 days) File Size: 2.57 KB File ID: #28688

# Fully Automatic Signal Spectrum Analyser

11 Sep 2010

The program produces the frequency spectrum of any signal

File Information
Description

This program operates as a signal spectrum analyzer and a distortion meter at the same time. It can accept any numerical data representing few cycles of a signal. The data do not need to be equally separated. At least ten data points per cycle are needed. Higher number of data points will of course produce better results. The main advantage of the program is its ability to automatically detect the fundamental frequency. Any part of the spectrum within the frequency band f1-f2 can be calculated and plotted. The input to the software are the time and signal voltage arrays t,v, the frequency band limits f1 and f2 and the accuracy parameter delta. The out puts of the program are the signal plot, the spectral analysis plot, the frequencies and relative amplitudes of the ten most prominent frequency contents. The software has been successfully used to analyze data obtained from oscilloscope screen pictures of many signals using another program written by the author called oscilloscope.
The program can be called through entering
[F,A]=spectrum_analysis(t,v,f1,f2,0.001)
N.B
ONE OTHER PROGRAM NEED TO BE PRESENT IN THE WORK DIRECTORY
It is “maxima” this is in the Zip file

MATLAB release MATLAB 6.5 (R13)
Tags for This File
Everyone's Tags
Tags I've Applied
12 Mar 2013

Please disregard my comment above, I see my mistake, the code works fine. Thank you!

12 Mar 2013

Hi, I enter the following...

t=[0:0.0001:40];
v=sin(2*pi.*t)+cos(5*pi.*t)+sin(7*pi.*t)+sin(12*pi.*t)+cos(15*pi.*t)+sin(17*pi.*t)+sin(22*pi.*t)+cos(25*pi.*t)+sin(27*pi.*t)+sin(32*pi.*t);
[f,U]=Spectrum_Analyser(t,v,1,40,0.001);

...and I get frequencies of 1, 2.5, 3.5, 6, 7.5, 8.5, 11, 12.5, 13.5, 16.

But I was expecting 2, 5, 7, 12, 15, 17, 22, 25, 27, 32.

Why is that?

19 Nov 2011

I am new in MATLAB spectram analtsis. any body tell me how to run this code. when i try to run this code the following error is coming:

??? Input argument "t" is undefined.

Error in ==> Spectrum_Analyser at 28
[x,y]=maxima(t,v);

13 Oct 2010

thanks a lot, great work !