Code covered by the BSD License  

Highlights from
Fully 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
image thumbnail

Fully Automatic Signal Spectrum Analyser

by aasim Azooz

 

11 Sep 2010

The program produces the frequency spectrum of any signal

| Watch this File

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
fft(2), fourrier transform, image processing, signal processing, spectrum
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (4)
12 Mar 2013 Scott Richardson

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

12 Mar 2013 Scott Richardson

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 Saud

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 Walid

thanks a lot, great work !

Contact us