The Designer's Guide Community Forum
https://designers-guide.org/forum/YaBB.pl
Design Languages >> Verilog-AMS >> how to use noise_table function
https://designers-guide.org/forum/YaBB.pl?num=1145066668

Message started by yaxazaa on Apr 14th, 2006, 7:04pm

Title: how to use noise_table function
Post by yaxazaa on Apr 14th, 2006, 7:04pm

Could someone explain more detail about how to use noise_table function?  My understanding is that the output should be defined as electrical, is that right?  For example, I have a table of phase noise verse frequency. The table should be:

phase_noise <= noise_table ({

1      -10
10   -50
1k   -89
1m -120
....
});

How do I call it in the top level? If I call the noise table, but try to conveter them to rad^2/hz, can someone tell me how to do it? Besides this, if I want the phase error which is "rad", how should I integrated them in time domain?

Thanks,


Title: Re: how to use noise_table function
Post by jbdavid on Apr 21st, 2006, 1:48am

you will have an output node that needs to have the noise on it..
real phasenoise;

...
analog begin
...
phasenoise = noise_table( ....
V(out) <+ transition(in?vhi:vlo, 0, trf, trf) + phasenoise;
--
When NOT running a noise analysis phasenoise = 0 so contributes NOTHING to the output..
Jonathan

Title: Re: how to use noise_table function
Post by yaxazaa on Apr 21st, 2006, 10:59pm

Actually what I am really interested is the phase noise affects  time domain information which is jitter. Detailly here is the steps but how to implement:

1. After read in an three columns' table of frequency vs phase noise, and slope of phase noise information, if my compiler doesn't have "scanf" function, how do I do line by line reading in and manuplation?

2. How do I integrate phase noise between certain frequencies in time domain? For example, do integration of ( (phase noise/10) * (frequency/fc)**phase_noise_slope) from frequency1 to frequency2, which fc is a constant.

3. After the step 2, then this will be phase uncertainty. Can I just add it to the time domain signal as some kind of jitter concept?

Thanks.

Title: Re: how to use noise_table function
Post by Geoffrey_Coram on Apr 25th, 2006, 5:19am


yaxazaa wrote on Apr 21st, 2006, 10:59pm:
Actually what I am really interested is the phase noise affects  time domain information which is jitter.


The short answer is: you can't use noise_table to affect time domain information (jbdavid's post implies this, but says it differently).

A while ago, I found  a couple papers at the IEEEXplore web site on implementing 1/f-like noise in the time domain.

Title: Re: how to use noise_table function
Post by yaxazaa on Apr 25th, 2006, 8:25pm

Could you post the paper here please?

Thanks.

Title: Re: how to use noise_table function
Post by neoflash on Oct 29th, 2009, 10:13am


yaxazaa wrote on Apr 14th, 2006, 7:04pm:
Could someone explain more detail about how to use noise_table function?  My understanding is that the output should be defined as electrical, is that right?  For example, I have a table of phase noise verse frequency. The table should be:

phase_noise <= noise_table ({

1      -10
10   -50
1k   -89
1m -120
....
});

How do I call it in the top level? If I call the noise table, but try to conveter them to rad^2/hz, can someone tell me how to do it? Besides this, if I want the phase error which is "rad", how should I integrated them in time domain?

Thanks,




Can we load the vector from a file in verilogA, instead of manually input them in the noise_table() function?

Title: Re: how to use noise_table function
Post by Geoffrey_Coram on Nov 2nd, 2009, 5:35am

Please see
http://www.designers-guide.org/Forum/YaBB.pl?num=1202431856/0#7

The Designer's Guide Community Forum » Powered by YaBB 2.2.2!
YaBB © 2000-2008. All Rights Reserved.