• 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. dft and psd function in viva

Stats

  • Locked Locked
  • Replies 5
  • Subscribers 126
  • Views 7849
  • 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

dft and psd function in viva

sjwprcker
sjwprcker over 2 years ago

Hi,

I try to understand the difference between psd and dft function when display spectrum by them. 

1. The psd result is always with same shape as dft result, but shifted below by tens of dB. How to understand such a difference?

2. Is there any way to set dft spectrum default format as continuous line, but not spectral format?

Thanks for your help!

  • Cancel
Parents
  • ShawnLogan
    ShawnLogan over 2 years ago

    Dear sjwprcker,

    sjwprcker said:
    2. Is there any way to set dft spectrum default format as continuous line, but not spectral format?

    I filed a case a number of year or two ago requesting that there be a means to set the default format to a continuous line. I'm not sure if it was ever implemented. Unfortunately, I no longer have access to the SR or CCR numbers.

    sjwprcker said:
    1. The psd result is always with same shape as dft result, but shifted below by tens of dB. How to understand such a difference?

    The two are related, but not the same. The power spectral density is a real quantity whereas the dft can have real and imaginary components. This is due to the fact that the power spectral density is the Fourier transform of the autocorrelation function of a process. Since the autocorrelation of a real valued random process is real and even, its Fourier transform will also be real (and also positive). It may also be shown that it is the average of the Fourier transform magnitude squared over a long time time interval. Hence, as you noted, the two shapes can be similar.

    Both can be used to compute the power of a signal over a frequency range and, indeed, do provide equivalent results.  I am not sure how you are computing the PSD or Discrete Fourier transforms, but if you are using the ViVA Spectrum Assistant to do so, there are some subtleties you may not be aware of regarding the GUI inputs that will impact your results. I put together some notes in response to some questions regarding a discrepancy between expected and computed results at the end of the Forum post at URL:

    https://community.cadence.com/cadence_technology_forums/f/custom-ic-design/51696/snr-calculation-wrong-by-3-db

    In particular, there is a link in the post to a note at

    (To avoid the spam filter, copy the following and paste them together as a single URL if you want to access the note

    www.

    dropbox.com/

    s/lxjvo8ys6ci5m3x/test_sinusoid_rnoise_snr_study_052722v1p0.pdf?dl=0

    that might be useful.

    I hope this helps sjwprcker...

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to ShawnLogan
    sjwprcker said:
    Is there any way to set dft spectrum default format as continuous line, but not spectral format?

    I wrote a function to do this over 13 years ago (it's been published as an article for 9 years):

    How can I set the plot style or units on a trace automatically?

    Hope that helps.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you for that link! I was not aware of your scripts. I was not made aware of them when I filed SR 46612039 on April 28, 1922, The SR had the title Viva does not honor lineType when plotting result of dft() command; always sets lineType to "spectral". CCR 2643379 was created in response to the issue by Eric J.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Reply
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to Andrew Beckett

    Hi Andrew,

    Thank you for that link! I was not aware of your scripts. I was not made aware of them when I filed SR 46612039 on April 28, 1922, The SR had the title Viva does not honor lineType when plotting result of dft() command; always sets lineType to "spectral". CCR 2643379 was created in response to the issue by Eric J.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
Children
  • ShawnLogan
    ShawnLogan over 2 years ago in reply to ShawnLogan

    Hi Andrew,

    Well, I need to work on my typing skills. The date I submitted SR was April 28, 2022. Sorry!

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 2 years ago in reply to ShawnLogan
    ShawnLogan said:
    was not made aware of them when I filed SR 46612039 on April 28, 1922, The SR had the title Viva does not honor lineType when plotting result of dft() command; always sets lineType to "spectral". CCR 2643379 was created in response to the issue by Eric J.

    It wasn't really what you were asking via the case though; that was a specific problem that saving and loading a graph file was not retaining the lineType attribute, which was and is still an issue. The specific issue was filed with R&D, but I can completely see why no focus was paid to anything other than reporting the issue you specifically filed.

    For example, if it was clear that your objective was to find an alternative way to plot DFT results with a line rather than as a spectrum, I'm sure my article would have been found, or the suggestion could have been to use a plotting template (that does work - I just tried it). Plotting templates are the preferred way of saving/recalling graph setups because they are better integrated with ADE and have more complete coverage of the plot setup.

    In fact that's a good alternative answer for sjwprcker; plot as usual, change the line type to continuous line, and then save as a plotting template and then plot subsequent results using that plotting template.

    Andrew

    • Cancel
    • Vote Up 0 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