electronics forum

Rules | Recent posts | topic RSS | Search | Register  | Log in

How to perform FFT analysis


Post new topic  Reply to topic    EDAboard.com Forum Index -> Analog Circuit Design -> How to perform FFT analysis
Author Message
skythunder



Joined: 02 Jul 2007
Posts: 30
Helped: 4


Post24 Sep 2007 9:00   

How to perform FFT analysis


Hello, everyone,

can anyone tell me how to perform FFT (fast fourier transform) analysis with HSPICE integrated in Cadence analog artist development environment. Is there any special option within this tool ? I only find four analysis options : DC ,AC, Noise and Transient .
I want to check the output frequency components of my bandpass switched capacitor filter .

Thanks in advance
Back to top
renwl



Joined: 26 Apr 2004
Posts: 455
Helped: 23
Location: shanghai,china


Post24 Sep 2007 9:07   

How to perform FFT analysis


you can export the data, and do the FFT on matlab.
Back to top
skythunder



Joined: 02 Jul 2007
Posts: 30
Helped: 4


Post24 Sep 2007 9:12   

Re: How to perform FFT analysis


Hi, renwl,

Thanks for your attention.
what kind of data do i export from HSPICE, I only got output data in terms of transient waveforms and netlist .

can you explain it more explicitly. cheers!
Back to top
naalald



Joined: 02 Dec 2006
Posts: 300
Helped: 23


Post24 Sep 2007 11:26   

Re: How to perform FFT analysis


Why not using .FFT syntax for fft analysis?
Back to top
sankudey



Joined: 06 Sep 2005
Posts: 548
Helped: 250
Location: India


Post24 Sep 2007 11:36   

Re: How to perform FFT analysis


There are two methods known to me as also mentioned in earlier posts. Just to elaborate them.

1. On cadence
----------
You select the waveform in the waveform window and do the FFT from the calculator available from the analog Design Environment (ADE). The function name is DFT. There you can specify the portion (in time) of the waveform to be taken for analysis and also the type (rectengular/hamming window etc.). This will give you the spectrum directly.

2. Exporting to do FFT in MATLAB
------------------------
You can export the waveform data to a text file by 'printvs' command available in the calculator. This textfile data could now be analysied in MATLAB to give the FFT.

sankudey
Back to top
Google
AdSense
Google Adsense




Post24 Sep 2007 11:36   

Ads




Back to top
skythunder



Joined: 02 Jul 2007
Posts: 30
Helped: 4


Post25 Sep 2007 3:30   

Re: How to perform FFT analysis


yes, I tried the first method you mentioned , and it works , thank you so much~!
Back to top
abcyin



Joined: 15 Apr 2005
Posts: 175
Helped: 8


Post25 Sep 2007 14:09   

Re: How to perform FFT analysis


sankudey wrote:
There are two methods known to me as also mentioned in earlier posts. Just to elaborate them.

1. On cadence
----------
You select the waveform in the waveform window and do the FFT from the calculator available from the analog Design Environment (ADE). The function name is DFT. There you can specify the portion (in time) of the waveform to be taken for analysis and also the type (rectengular/hamming window etc.). This will give you the spectrum directly.

2. Exporting to do FFT in MATLAB
------------------------
You can export the waveform data to a text file by 'printvs' command available in the calculator. This textfile data could now be analysied in MATLAB to give the FFT.

sankudey


other than the mentioned two methods above, you can use .fft analysis directly in hspice, and the syntax of it can be got in the user's manual.

hope it helps!
Back to top
finalvolition



Joined: 03 Nov 2006
Posts: 6


Post28 Sep 2007 13:56   

How to perform FFT analysis


you cna .fft syntax in HSPICE manual
fft is based on DFT, so you need to take care about
transient step for consistence to resolution.
Generally speaking, Fres (frequency resolution) is smaller with long simulation time due to larger window size. The analyzed frequency range is up to NP* fres ( NP is point set in FFT)
Back to top
northeast1



Joined: 21 Jun 2007
Posts: 152
Helped: 4


Post29 Sep 2007 3:32   

Re: How to perform FFT analysis


skythunder wrote:
Hello, everyone,

can anyone tell me how to perform FFT (fast fourier transform) analysis with HSPICE integrated in Cadence analog artist development environment. Is there any special option within this tool ? I only find four analysis options : DC ,AC, Noise and Transient .
I want to check the output frequency components of my bandpass switched capacitor filter .

Thanks in advance



Hi,

Using skill to write the progame
Back to top
skythunder



Joined: 02 Jul 2007
Posts: 30
Helped: 4


Post29 Sep 2007 6:41   

Re: How to perform FFT analysis


sankudey wrote:
There are two methods known to me as also mentioned in earlier posts. Just to elaborate them.

1. On cadence
----------
You select the waveform in the waveform window and do the FFT from the calculator available from the analog Design Environment (ADE). The function name is DFT. There you can specify the portion (in time) of the waveform to be taken for analysis and also the type (rectengular/hamming window etc.). This will give you the spectrum directly.

2. Exporting to do FFT in MATLAB
------------------------
You can export the waveform data to a text file by 'printvs' command available in the calculator. This textfile data could now be analysied in MATLAB to give the FFT.

sankudey


Hi, sankude, I have tried the first FFT method you mentioned on Cadence. However ,I met a new question. I don't know what the meaning of time portion and the sampling point number. When I increase the sampling point number, I got a larger frequency range. While I set up different portion of time ( the start time and the end time of analysis from waveform) , I would get different frequency sprectrum.
Can you please explain how to set up the analysis portion of time from waveform in order to get the correct frequency analysis ?
Back to top
sankudey



Joined: 06 Sep 2005
Posts: 548
Helped: 250
Location: India


Post01 Oct 2007 12:04   

Re: How to perform FFT analysis


skythunder wrote:

Hi, sankude, I have tried the first FFT method you mentioned on Cadence. However ,I met a new question. I don't know what the meaning of time portion and the sampling point number. When I increase the sampling point number, I got a larger frequency range. While I set up different portion of time ( the start time and the end time of analysis from waveform) , I would get different frequency sprectrum.
Can you please explain how to set up the analysis portion of time from waveform in order to get the correct frequency analysis ?


Ok! I thought you can find it out by few trials and going by the help/manuals. Any way. The answear is following:

The DFT form asks for three important paramaters.
1. Time : from - to
2. No. of samples
3. Window type

The third one is known and may be found in any relevant book/literature. The first one is the portion of wave form on which the DFT will be performed. And the second one tells the DFT engine how many samples it would take from the portion of the waveform that is mentioned in the param-1. The samples are uniformly spaced.

Now, your observation is correct. The spectrum is related strongly to the first two paramemetrs (others as well!). This is explanied below:

Relation to param-1&2:
The number of output frequency points from DFT is related to the number of input sample points (from time domain voltage / current. N-no of samples of an wave will give you N-no of frequency points at DFT output (by basic DFT algo, go thru any book). In hard-ware, this N- is generally set to be power of 2 (16,32, -- 1024 etc.) to get implimentation advantage and called as 1024 -point DFT. In cadence, if you give a number which is power of two, it would be better. But not necessarily. I prefer to give 1024 or so. Thus when you increase the no. of points, it gives you larger spectrum.

Now, time portion, which the portion of the wave form, contains the direct information of the signal to be analysed. If you change it, the spectrum is going to be changed hugely as you are changing the input information only and not the DFT procssing accuracy etc.

How to choose them:

Setting the values are very important to ensure the results are correct.

To talk about the time portion, it is mandatory that you give at least one complete cycle of the wave-form to be analysed. Now, there will be some inherent delay of the circuit, i.e., if are measuring the ADC output, you definitely don't get the output code valid from time time zero. Thus it is preferable that the initial time is given after zero from where the output is valid. As a good practise, you can give a little delay at the input waveform such that you can visualise the change at the output too. Now, giving multiple cysles helps to increase the accuracy as random errors will be averaged out. But it will take more simulation time. So it is up to you to decide on this. for reference: you could go thru book of Walt Kester on Data Converter handbook (available in this board). This will make you even more clear.

To talk about the no. of samples, you atleast ensure that no siginificant information is lost or omitted due to less sampling, i.e., if one complete cycle of your ADC output contains X-output codes (not necessarily be distinct), you give X for onle cycle, 2X for two cycles etc. So, if Fsample/Fsig = X, give atleast X for onle cycle of waveform.


I guess now it is clear to you how it works. To add to that, please do mind that the first sample is taken on the initial time you mentioned. Thus, ensure that is a stable output stae, i.e., not the edge of two changing codes.

several other factors, e.g., coherent and non-coherent sampling, windowing etc., affect this measurement method and accuracy of the output. If you can find time, can go through the book mentioned above and also some good topics on this in this board.


All the best,
sankudey
Back to top
Arabic versionBulgarian versionCatalan versionCzech versionDanish versionGerman versionGreek versionEnglish versionSpanish versionFinnish versionFrench versionHindi versionCroatian versionIndonesian versionItalian versionHebrew versionJapanese versionKorean versionLithuanian versionLatvian versionDutch versionNorwegian versionPolish versionPortuguese versionRomanian versionRussian versionSlovak versionSlovenian versionSerbian versionSwedish versionTagalog versionUkrainian versionVietnamese versionChinese version
Post new topic  Reply to topic    EDAboard.com Forum Index -> Analog Circuit Design -> How to perform FFT analysis
Page 1 of 1 All times are GMT + 1 Hour
Similar topics:
How to perform Stability analysis in Cadence (2)
How to perform AC analysis after designing filter? (10)
How to perform timing analysis of std cells (3)
how 2 perform noise in transient analysis using H-Spice... (2)
How can perform AC analysis for switch capacitor circuits (8)
FAQ:how to do FFT analysis in ADS2002? (2)
How to use FFT analysis in cadence spectre??? (5)
fft analysis (3)
software for fft analysis (7)
FFT ANALYSIS IN CADENCE SPECTRE (1)


Abuse || Administrator || Moderators || Support us || sitemap
topic RSS