The Designer's Guide Community
Forum
Welcome, Guest. Please Login or Register. Please follow the Forum guidelines.
Apr 23rd, 2024, 11:42am
Pages: 1
Send Topic Print
FFT (Read 5909 times)
Molotov
New Member
*
Offline



Posts: 6
Egypt
FFT
Apr 19th, 2006, 2:09pm
 
Hi,
Im using Mentor tool ADMS and making a code with VHDL-AMS
I want to ask about a function that makes FFT and its output is a vector so as i can use it in my code in proceeding processing...

Thanx AloT,
aboel3la
Back to top
 
 
View Profile   IP Logged
Paul
Community Fellow
*****
Offline



Posts: 351
Switzerland
Re: FFT
Reply #1 - Apr 21st, 2006, 1:54pm
 
Hi,

you can perform FFT calculation in Ezwave, but if I understand your post correctly, you want to implement the FFT calculation inside the simulation.  In this case, you may include an FFT calculation block. This may be quite expensive in terms of simulation time however. You can find such designs for example on opencores.org.

As an altenative, you could consider using a purely digital model in Modelsim, which you can link to Matlab for processing. There seems to be such a link between Modelsim and Mentor SystemVision (which simulates VHDL-AMS) too, but I don't know exactly how this works.

Hope this helps to solve your problem

Paul
Back to top
 
 
View Profile WWW   IP Logged
Molotov
New Member
*
Offline



Posts: 6
Egypt
Re: FFT
Reply #2 - Apr 22nd, 2006, 7:40am
 
Hi,
First of all thx Paul for ur reply.
then i want to clarify what i need.

I need an implemented function in VHDL-AMS that performs FFT inside the CODE itself.....not in the simulation and not after simulation (FFT calc.).
i mean Like "sin or cosine or LOG10........and so on)

i hope u got what i meant...and thx again
Aboel3la
Back to top
 
 
View Profile   IP Logged
Paul
Community Fellow
*****
Offline



Posts: 351
Switzerland
Re: FFT
Reply #3 - Apr 23rd, 2006, 11:31pm
 
Hi Molotov,

That's what I meant by "inside the simulation". However, FFT is quite a complex operation and as you need many samples to do the time domain-frequency domain translation, you cannot implement it as a simple calculation block. That's why I suggested to get the FFT calculation block in VHDL or Verilog from opencores.org (or other similar sources) to embed it in your design. AFAIK, there is no way of implementing a simple FFT calculation the way you calculate a sine wave or a log function (these functions deliver one output value per input value, which is not the case of an FFT).

Paul
Back to top
 
 
View Profile WWW   IP Logged
vivkr
Community Fellow
*****
Offline



Posts: 780

Re: FFT
Reply #4 - May 9th, 2006, 6:29am
 
Hi Molotov,

While it is certainly a very complex and computationally intensive task to put a run-time FFT
evaluating block inside your simulation, it is certainly possible to do so in a somewhat efficient
manner. I suppose that you are actually trying to do an FFT only on a relatively small data window
compared to the duration of your simulation. I imagine that you are trying to use this like
a virtual instrument, observing the change in the spectrum as time changes.

You could implement a time-dependent FFT by using a moving window to collect and update
samples as time progresses, with the use of some strobing of course. Information about such
a function and efficient realizations may be found in good DSP books. Unfortunately, I don't know
any good function for this purpose.

Still, you should be aware that the overall simulation will be quite slow if you do this. If I were you,
I would still try to export the data out, and do FFT later.

Regards
Vivek
Back to top
 
 
View Profile   IP Logged
Pages: 1
Send Topic Print
Copyright 2002-2024 Designer’s Guide Consulting, Inc. Designer’s Guide® is a registered trademark of Designer’s Guide Consulting, Inc. All rights reserved. Send comments or questions to editor@designers-guide.org. Consider submitting a paper or model.