Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

A real-time audio spectrum analyzer with x86 assembly

Status
Not open for further replies.

mertcetin

Newbie level 1
Joined
May 7, 2006
Messages
1
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,296
Hi all
I'm in need of guidance for a project given in context of the microcomputer based system design course

Project Details are:
An audio spectrum analyzer. An ADC will be interfaced to a PC, which will digitize an analog audio input. The digital stream will then be transformed the frequency domain by FFT or by the use of a digital filter bank which will select desired frequency components. The software should run in real-time (your PC is capable of doing that!) and should update the display at a reasonable rate (such as 4 frames per second). A peak level memory is a desired property of an audio spectrum analyzer and should be included in your design (indicated by the RED bars in the figure below). A proper timeout value (such as 2 seconds) should be selected for the peak level memory.

Output Screenshot: **broken link removed**

Our ADC chip is ADC0804
Interfacing can be done through printer port or using ISA bus

which FFT algorithm should I use which can optimally run in x86 and how to handle advanced mathematical calculations using x86 assembly (should i use math-co)?

how many samples should I take from the input signal to satisfy real-time constraints ?

which hardware can i use to ease the process. (fft should be done with software, no other microcontrollers are allowed) ?

or any other comments or ideas how to complete this project

thanks for all in advance
 

mertcetin said:
which FFT algorithm should I use which can optimally run in x86 and how to handle advanced mathematical calculations using x86 assembly (should i use math-co)?
i use to ease the process. (fft should be done with software, no other microcontrollers are allowed) ?

you can consider using MMX and SSE instruction (in assembly language) instead. It's much faster than FPU/math-co instructions for single-instructio-multiple-data, just like FFT routines. The drawback is the data must be aligned, i think IIRC on 16-byte boundaries. But, I think that's not a problem. You can use Intel Optimizing compiler to help you if you are using C/C++ language for the implementation. Or just use inline assembly construct in the compiler that you choose.

goodluck :D
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top