# Help, simulation of PLL's phase noise

Status
Not open for further replies.

#### lunren

##### Member level 4
pll phase noise

Hi all,

I want to simulate the phase noise of the whole PLL. It is easy to simulate the phase noise of the individual blocks in the PLL, but how to simulate the phase noise of the whole PLL?

Should we use Mablab or Cadence to build the noise model for the PLL? Any suggestion or links are welcome.

Lunren

#### erikl

##### Super Moderator
Staff member
pll phase noise simulation

lunren said:
PLL? Any suggestion or links are welcome.

#### lunren

##### Member level 4
pll mathematical equation

Thanks a lot. I know how to simulate VCO's phase noise, but I need some guide to show how to simulate the phase noise of the whole PLL.

#### neoflash

##### Advanced Member level 1
simulate phase noise in matlab

GO designer's guide, you will know a famous guy named Ken Kundert.

He has a very well developed document on all components of PLL phase noise analysis.

#### lunren

##### Member level 4
simulation of phase noise in matlab

neoflash said:
GO designer's guide, you will know a famous guy named Ken Kundert.

He has a very well developed document on all components of PLL phase noise analysis.

Yes, I know Designer's guide. But a friend in Broadcom said that using VerilogA/MS is not good to simulate phase noise of PLL. He said the best way is to use matlab. So I want to know the procedure to use spectre and matlab to simulate PLL phase noise. Any suggestions?

#### Mazz

##### Advanced Member level 2
simulate pll phase noise

Lunren

the issue comes from the very different frequency range of involved signals.
A PLL is a NONLINEAR system in which high & low freq, analog & digital signals are commonly present. A circuit simulator, time or freq based, cannot do it very well.

So designers prefer to make a linear model of PLL, analyze all transfer functions in the loop towards the output.
From circuit simulators single block noise is simulated and then used as input into the linear model.
To make this model, you can use any math tool, commonly matlab and mathcad are used. There is also a simulator developed for this use and is CPPSIM, free of charge.

I hope it can help.

Mazz

#### Aya2002

##### Advanced Member level 4
mathcad pll phase noise simulation tool

hi friend,
do you have this book:
DIGITAL PHASE LOCK LOOPS: Architectures and Applications
by: SALEH R. AL-ARAJI, ZAHIR M. HUSSAIN, MAHMOUD A. AL-QUTAYRI 2006
---------------------------------------------------------
PHASE-LOCKED LOOPS FOR WIRELESS COMMUNICATIONS
by: Donald R. Stephens 2002

#### lunren

##### Member level 4
cppsim different frequency phase noise

To Mazz,

Thank you very much for your reply. So the conclusion is that mathematical method is a better way to do phase noise simulation.

If the noise or phase noise of sub-blockes of PLL is called data, the transfer function is called TF, then the resultant phase noise is 10log(sum of (data^2*TF^2)), right? If this is right. Then because data from spectre is a vector corresponding some frequency range, so we should also get the vector of the TF of the same frequency range with the same size of data, right? If the transfer function of one noise is 1/(1+(Kpfd*Kvco*Flp(s)/N*s)), should I use spectre to get the vector of the TF or use matlab directly to get the vector of the TF?

Added after 44 seconds:

Aya2002 said:
hi friend,
do you have this book:
DIGITAL PHASE LOCK LOOPS: Architectures and Applications
by: SALEH R. AL-ARAJI, ZAHIR M. HUSSAIN, MAHMOUD A. AL-QUTAYRI 2006
---------------------------------------------------------
PHASE-LOCKED LOOPS FOR WIRELESS COMMUNICATIONS
by: Donald R. Stephens 2002

Thanks a lot, I will go to find the two books.

#### Mazz

##### Advanced Member level 2
phase noise simulation, matlab

I didn't understand exactly all your issues, but... what I can say is that you should consider all different noise TF to output, sum all noise densities at output node, then convert it in dBc.

You should use simulator to get your noise data from each block and then apply it as input into math tool.

You cen easily check it by examples: go to https://www.circuitsage.com/pll.html
and see one of the mcd files or rfdude link.

Mazz

#### lunren

##### Member level 4
phase noise in pll, calculation

Mazz said:
I didn't understand exactly all your issues, but... what I can say is that you should consider all different noise TF to output, sum all noise densities at output node, then convert it in dBc.

You should use simulator to get your noise data from each block and then apply it as input into math tool.

You cen easily check it by examples: go to https://www.circuitsage.com/pll.html
and see one of the mcd files or rfdude link.

Mazz

I know different noise source has different TF. What I said is only a example. I mean if I want to use matlab to calculate phase noise, how should I get the vector of the TF? By matlab itself or by simulator such as spectre?

#### Mazz

##### Advanced Member level 2
ken kundert + pll

By matlab

Mazz

#### ee_ykhab

##### Junior Member level 3
site:www.edaboard.com pll

for example,
you know the H(S) for oscillator = 1/(1+Ao(s)) where Ao(S) is the open loop gain of the PLL.
next step find the phase noise of oscillator Nvco(S) , you can simply use the math. equation to represent it.
Then you Phase noise Lvco(S) = Nvco(S)/|1+Ao(S)|^2.
You simply add all phase noise and get the plot of total phase noise

ee_ykhab

Status
Not open for further replies.

Replies
4
Views
2K
Replies
8
Views
6K
Replies
0
Views
385
Replies
0
Views
1K
Replies
0
Views
416