• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC Design
  3. Integration of multiple bins in DFT Output

Stats

  • Locked Locked
  • Replies 9
  • Subscribers 125
  • Views 13598
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Integration of multiple bins in DFT Output

Mahdi P
Mahdi P over 4 years ago

Hi, I would like to integrate multiple bins in the output of DFT function. The signals are distributed in multiple bins and the spurs are the same. So the purpose is to calculate the SNDR response. I know how to access single bin through
value()" function, however, I would like to know is there any function in the calculator that can help in this matter? If not what is the best way to implement this function?

  • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago

    Dear MahdiP,

    Mahdi P said:
    I would like to integrate multiple bins in the output of DFT function. The signals are distributed in multiple bins and the spurs are the same. So the purpose is to calculate the SNDR response. I

    If I correctly understand your "end" goal, the Spectrum Assistant is designed to provide this function. A search for SNDR or "spectrum assistant" will provide a link to the following document which describes both how to use the Spectrum Assistant as well as the analysis features it offers.

    https://support.cadence.com/apex/ArticleAttachmentPortal?id=a1O0V000009MpV4UAK&pageName=ArticleContent

    I hope this helps Mahdi P!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mahdi P
    Mahdi P over 4 years ago in reply to ShawnLogan

    Thanks Shawn for your response. I am familiar with "spectrum assistant" and it is a great tool for single-tone analysis however I could not make it work for multi-tone inputs. If there are multiple signal tones in the spectrum, how does the "spectrum assistant" distinguishes them. 

    Is there any skill function that you could point me to handle these cases?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago in reply to Mahdi P

    Dear Mahdi P,

    Mahdi P said:

    owever I could not make it work for multi-tone inputs. If there are multiple signal tones in the spectrum, how does the "spectrum assistant" distinguishes them. 

    Is there any skill function that you could point me to handle these cases?

    It is not clear what your final objective is to me, and further, it is not clear if you know what you need to me. I think your objective may be to estimate an SNR with a few tones applied to some non-linear circuit. If so, there are a myriad of considerations you need to estimate an accurate result - the sample times (i.e, your use of "srobeperiod"), the relative frequency of the applied tones (harmomically related?), the size of the DFT and your use of an appropriate number of samples, the windowing type, etc.. In addition, once must consider what the actual signal power is by defining its width - which can be deceiving in the case of where the sampling frequency is not integrally related to your main frequency.

    These factors are far more important than the need to sum the frequency bins and my concern is that you may not have considered the latter issues. As a result, just providing a means of "summing" frequency bins will provide an accurate result.

    Nevertheless, I do this type of analysis quite often in Spectre and other tools. I use ocean scripts to create the dft() waveform and then have access to the complex wave from which I can access the complex values at each point and do my analysis.

    My guess is this is not the answer you were looking for - but the analysis you are attempting is more than the relatively simple capabilities of the spectrum assistance tool.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mahdi P
    Mahdi P over 4 years ago in reply to ShawnLogan

    Thanks Shawn, I am fully aware of coherency, proper "strobeperiod" setting, etc. I am interested in that ocean script and how to play with the results of that script. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago in reply to Mahdi P

    Dear Mahdi P,

    Mahdi P said:
    I am fully aware of coherency, proper "strobeperiod" setting, etc. I

    Great!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mahdi P
    Mahdi P over 4 years ago in reply to ShawnLogan

    Could you please providing the ocean script and how to access the frequency bins?

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago in reply to Mahdi P

    Dear Mahdi P,

    Mahdi P said:
    Could you please providing the ocean script and how to access the frequency bins?

    I don't believe I can provide them on this forum as I developed them for my company. I would suggest you refer to the documentation on the dft() function and the SKILL functions:

    drGetWaveformXVec()

    drVectorLength()

    drGetElem()

    They should provide what you need to access the results of your dft() and perform whatever computations you require.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Mahdi P
    Mahdi P over 4 years ago in reply to ShawnLogan

    Thanks Shawn. 

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 4 years ago in reply to Mahdi P

    Dear Mahdi P.

    Mahdi P said:
    Thanks Shawn. 

    Thank you for your understanding!! I was hoping you were not going to ask...but when you did...I did not want to cross any ethical lines.

    Good luck - and feel free to ask questions if you get "stuck" after studying the documentation.

    Shawn

    • Cancel
    • Vote Up +1 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information