Tag Archives: spectrum analyzer


Spectrum analyzer code for Arduino platform

Spectrum analyzers measure the frequency components contained in an input signal and displays their amplitude as a function of frequency. The amplitude is shown on the y-axis and the frequency in the x-axis. They are useful in computing transmitter and receiver RF power at antenna tower station, measuring the bandwidth of a transmission channel, detecting interference in channels, computing transmission losses, etc. For basic DIY applications, there is a spectrum analyzer code from agp.cooper for Arduino platform. It is ported to ATTiny85 but can be easily used with other Arduino compatible processors. It uses Goertzel’s algorithm with a Hamming window for DFT computations and Nokia PCD8544 LCD for displaying the signal strengths as a function of frequency.

Spectrum analyzer

Spectrum analyzer

PIC microcontroller based audio spectrum analyzer

This project introduces a real-time audio spectrum analyzer based on a PIC18F4550 microcontroller. The spectrum frequency analysis is done with a 16-bit Fast Fourier Transformation (FFT) routine coded in C. It uses a 128×64 GLCD to display the FFT waveform of a live audio signal.

“In order to perform a FFT calculation on an audio signal it is necessary to prepare the audio so the PIC18F4550 can sample the signal. The PIC18F4550 provides several analogue to digital converters (ADCs) which can be used to measure a voltage from 0V to 5V with 10-bit accuracy (0-1023). A typical audio line-out signal is an analogue wave with a peak-to-peak intensity of 1V centred around 0V (i.e. it is an AC signal) as shown by the following oscilloscope trace (from pin W2 of the demo board): Read more

Portable 2.4 GHz Spectrum Analyzer using Atmega8

There are plenty of wireless devices available on the market that broadcast in the 2.4 GHz ISM band. Such devices include Bluetooth, WiFi, Zigbee, wireless USB, cordless phones, wireless mice and keyboards, etc. This project describes a wireless spectrum analyzer to examine the surrounding radio frequencies in 2.4 GHz band.

The project is based on the Cypress’s CYWUSB6935 radio module. It is a complete radio module with PCB trace antenna and it operates in the unlicensed Industrial, Scientific, and Medical (ISM) band (2.4 GHz- 2.483 GHz). The radio module is interfaced with an Atmega8 microcontroller, and the recieved spectrum is displayed on a Nokia 3410 LCD. The microcontroller, the Nokia LCD module and the radio module are all operated at 3.3 V power supply. The firmware is developed in C using AVR GCC for Windows (WinAVR).
Read more