• 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. Modelling and design of an optical receiver

Stats

  • Locked Locked
  • Replies 12
  • Subscribers 127
  • Views 9733
  • 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

Modelling and design of an optical receiver

TUKA
TUKA over 2 years ago

Dear all,

I am working on the design of an optical receiver consisting of a Transimpedance amplifier (TIA), a two stage variable gain amplifier (VGA) and an output buffer.

I am initially modelling both the TIA and the VGA using a simple verilogA behavioral model to gain some insights. I have a question regarding my behavioral model:

The TIA gives me input referred noise current and the VGA gives me input referred noise voltage. Is there any formula to convert these input referred noise quantities into an equivalent noise figure for the whole system?

Thanks!

  • Cancel
  • ShawnLogan
    ShawnLogan over 2 years ago

    Dear TUKA,

    TUKA said:
    The TIA gives me input referred noise current and the VGA gives me input referred noise voltage. Is there any formula to convert these input referred noise quantities into an equivalent noise figure for the whole system?

    There is a relationship between the noise figure of an amplifier and its input referred noise and its source noise since the noise figure relates the S/N at the output to the S/N at the input. When you cascade amplifiers with known noise figures there is a relationship that can easily be driven between the gains of the each stage and the output noise figure as shown below. This relationship assumes the impedances between the amplifiers are all matched.

    I hope I understood your question and this is useful. This information can be found any basic text that includes amplifier noise.

    Shawn

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

    Dear TUKA,

    My reply was posted before it allowed me to upload the relationships. 

    Shawn

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

    Dear Shwan,

    Thank you for your reply and thanks for the useful information.

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

    Dear TUKA,

    I must apologize! After I posted my reply last night, I realized I made an error in my equation. I hope it did not confuse you! The corrected equation is include below. The initial expression I provided did not properly display the cascaded amplifier gains in the denominator of the sum. To hopefully make it more clear, I include an example for a cascade of 3 amplifiers.

    Shawn

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

    Dear Shawn,

    Thank you once again for getting back to me, and thanks a lot for providing me the right set of equations once gain.

    However, now things are fine with me regarding these equations and hand calculations of Noise figure. But, my aim is to plot the noise figure consisting of (flicker, thermal and shot noises) versus frequency.

    I am attaching a part pf my verilogA code below (these only contain noise related parameters and functions):

    In the ADE L simulator setup, I choose the "noise" analysis, and swept frequency as a variable from 1 to 100 GHz. For the output noise, I choose the 'voltage' and then selected the positive output node. I left the negative output node empty and for the input noise, I choose 'none'.

    Then, I went to direct plot, main form and and tried plotting the noise figure and input referred noise voltage. But all it shows is a constant 0 dB horizontal line throughout the spectrum. It would be great if you could let me know where I am going wrong.

    Thanks a lot once again for your helpful comments to my post!

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

    Dear TUKA,

    TUKA said:
    However, now things are fine with me regarding these equations and hand calculations of Noise figure.

    Great!

    TUKA said:

    In the ADE L simulator setup, I choose the "noise" analysis, and swept frequency as a variable from 1 to 100 GHz. For the output noise, I choose the 'voltage' and then selected the positive output node. I left the negative output node empty and for the input noise, I choose 'none'.

    Then, I went to direct plot, main form and and tried plotting the noise figure and input referred noise voltage. But all it shows is a constant 0 dB horizontal line throughout the spectrum. It would be great if you could let me know where I am going wrong.

    From the code snippet you included, I don't see an expression for your LNA output. I only see an expression for the noise at your pin "in". You also added:

    TUKA said:
    For the output noise, I choose the 'voltage' and then selected the positive output node. I left the negative output node empty

    1. I do not see any expression for the LNA  pin "out" in your code snippet. I think that will be an issue! Did you define an output expression for pin "out" in your code?

    2. Why did you choose to leave the negative output node empty? I think you need to include a reference node as the negative node. There is no implicit reference node, and any signal is meaningless without some type of reference signal.

    Shawn

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

    Dear Shawn,

    Thank you once gain for getting back to me, and thanks a lot for your detailed explanation.

    Yes, you were right, the issue was because I did not include the "out" pin at the output node. Now I am able to plot both thermal noise and flicker noise versus frequency. Also, as you suggested, I have included ground as a reference node in place of the negative output node.

    To be more specific, I have used the predefined functions flicker_noise( ) and white_noise( ) to plot the flicker noise and thermal noise respectively.

    Is there any way to plot shot noise as well? I am especially concerned about the collector shot noise that is given by:

    where Ic is the collector current and fT is the transit frequency. As seen form the formula, this noise varies with frequency, thus I am unable to use white_noise( ) fucntion to plot shot noise.

    (Here, Please assume that I have already included the values for collector current and transit frequency as real parameters in my behavioral model code). I would wish to know if there is any predefined function to plot shot noise versus frequency? If no, it would be nice if you could tell me any other approach to have all the three noises (flicker, thermal and shot noise) in one single plot.

    Thank you once again for your helpful feedback comments!

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

     

    TUKA said:

    To be more specific, I have used the predefined functions flicker_noise( ) and white_noise( ) to plot the flicker noise and thermal noise respectively.

    Is there any way to plot shot noise as well?

     

     The term flicker noise generically is not limited to noise whose exponential dependence on frequency is limited to -1. A short review on the different sources of flicker noise may be found in Section 2.2 of a note at URL:

    I cannot include the entire link as my response will be classified as spam. However, if you type the prefix through "....com/" into your web browser, you may copy and paste the remainder of the URL shown below to access the note.

    s/5za1ilay6sqa06b/phase_noise_response_081422v1p0.pdf?dl=0

    www.dropbox.com/s/5za1ilay6sqa06b/phase_noise_response_081422v1p0.pdf?dl=0

    I am not sure if this was Cadence's motivation for their definition of the flicker_noise() function, but from the verilog-A manual, the function allows for an exponent other than -1.

    Hence, you should be able to use this function to synthesize noise whose exponential frequency dependence is -2.

    Shawn

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • TUKA
    TUKA over 2 years ago in reply to ShawnLogan
    ShawnLogan said:
    Hence, you should be able to use this function to synthesize noise whose exponential frequency dependence is -2

    Dear Shawn,

    Thank you so much for your response, and thanks for sharing the URL and giving me the right insights.

    Thanks!

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

    Dear TUKA,

    Of course, you are most welcome and I just hope they help!

    Shawn

    • 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