Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Phase Noise Simulation of Injection Locked Frequency Multiplier

Status
Not open for further replies.
Enforce Transient-Assisted HB not automatic.
Then set various parameter manually for initial transient analysis.
Save initial transient analysis.
Show me initial transient waveforms.

Try to use OSCPROBE instead of specifying oscillation nodes.

First of all, I should say that my previous simulation for phase noise was WRONG.
When input phase noise is, say, -137.430 dBc/Hz at 1MHz offset, output phase noise cannot be lower than -137.430 + 20log16 = -113.430 dBc/Hz at the same offset. Whereas I achieved lower value for phase noise (i.e. -114.019)

I tried TAHB with different configurations, but I did not get correct results.

How should I configure TAHB?
 

You have to succeed in convergence of HB Analysis with setting 30GHz node as Oscillation.
If you can not get convergence, use OSCProbe.

When input phase noise is, say, -137.430 dBc/Hz at 1MHz offset,
output phase noise cannot be lower than -137.430 + 20log16 = -113.430 dBc/Hz at the same offset.
Whereas I achieved lower value for phase noise (i.e. -114.019)
Is it PM Noise ?
Do you observe AM Noise ?

I tried TAHB with different configurations,
but I did not get correct results.
How should I configure TAHB?
Enforce Transient-Assisted HB not automatic.
Then set various parameter manually for initial transient analysis.
Save initial transient analysis.
Show me initial transient waveforms.

You might have to increase oversampling factor for HB Analysis.
 
Last edited:
Is it PM Noise ?
Do you observe AM Noise ?
Yes, I'm talking about PM noise. AM noise does not matter.

Let me show the configuration of my simulation in detail.
In transient simualtion:
Capture11.JPG
In HB simulation:
Capture12.JPG
,
Capture13.JPG
,
Capture14.JPG
and
Capture15.JPG
. Fosc=30GHz and Vop2/Von2 are the output nodes of the 30GHz oscillator.
The result is
Capture16.JPG
with these messages:
Simulation Messages

Warning detected by hpeesofsim during circuit set up.
With Order[1]=10 and Harm=16, the oscillator signal has only 0 harmonics.
This may not be enough to accurately simulate the oscillator.
Error detected by hpeesofsim in spscbSolve during HB analysis `HB1'.
Matrix is singular.
Warning detected by hpeesofsim during HB analysis `HB1'.
Oscillator analysis did not converge. Setting solution to zero.
Warning detected by hpeesofsim during HB analysis `HB1'.
More than one mixing term has landed on frequency 0 Hz.
Warning detected by hpeesofsim during HB analysis `HB1'.
'HB1[1]' did not converge -- associated data will be identified with '<invalid>' flag in the dataset.

Status / Summary


hpeesofsim (*) 450.shp Jan 21 2016, MINT version 4
(64-bit windows built: 01/21/16 15:34:19)
Copyright 1995 - 2015 Keysight Technologies, 1989-2016.


TRAN Tran1[1] <Oscillator_lib:Injection_Locking_3:schematic> time=(30.2301 ns->33.589 ns)
TAHB conversion started at t= 3.023e-08 without reaching steady state.
The oscillation frequency did not reach steady state.
The circuit did not reach steady state; the worst node was 0.

HB HB1[1] <Oscillator_lib:Injection_Locking_3:schematic>
.
** Read in solution from `TAHB1'. **

Initializing osc freq to 4.76346e+11 Hz

--------------------------
Solver convergence summary:
--------------------------
RHS:
1.257e-15 A at node VDD, harmonic index (0)
7.412e-16 A at node L3.i, harmonic index (8)
7.412e-16 A at node L4.i, harmonic index (8)

Update:
2.824e-15 V at node N__79, harmonic index (0)
2.361e-15 V at node N__78, harmonic index (0)
1.257e-15 V at node SRC2.i, harmonic index (0)

Solution:
--------------------------

Scalar equations:
Index Solution DeltaSol RHS
[ 0] 0 0 -0

Resource usage:
Total stopwatch time = 40.26 seconds.
Which part of my configs is wrong?
 

Which part of my configs is wrong?
Completely wrong.

I don't mean Transient Analysis.
I mean Transient Analysis in HB.

Transient Analysis is not required.

First of all, your setting is wrong in Transient Analysis for HB.
Why do you set order=10 ?

Delete Transient Analysis Controler.
Activate TAHB On.
And Set Advanced Transient Setting.

Show me Freq Tab in HB1.

Show me netlist regarding Analysis settings.
 
Last edited:
Delete Transient Analysis Controler.
Activate TAHB On.
And Set Advanced Transient Setting.

OK, I did so.

Show me Freq Tab in HB1.
Capture12.JPG
and
Capture17.JPG

Show me netlist regarding Analysis settings.

OscPort:Osc1 Vop2 Von2 Z=1.1 Ohm NumOctaves=20 Steps=100 FundIndex=1 Harm=16

HB:HB1 MaxOrder=4 Freq[1]=Fosc Order[1]=10 StatusLevel=2 FundOversample=4 \
Restart=no OutputBudgetIV=no TAHB_Enable=1 OscPortName="Yes" \
OutputPlan="HB1_Output"

OutputPlan:HB1_Output \
Type="Output" \
UseNodeNestLevel=yes \
NodeNestLevel=2 \
UseEquationNestLevel=yes \
EquationNestLevel=2 \
UseSavedEquationNestLevel=yes \
SavedEquationNestLevel=2 \
UseDeviceCurrentNestLevel=no \
DeviceCurrentNestLevel=0 \
DeviceCurrentDeviceType="All" \
DeviceCurrentSymSyntax=yes \
UseCurrentNestLevel=yes \
CurrentNestLevel=999 \
UseDeviceVoltageNestLevel=no \
DeviceVoltageNestLevel=0 \
DeviceVoltageDeviceType="All"

Tran:HB1_tran HB_Sol=1 SteadyState=1 StatusLevel=3 \
Freq[1]=Fosc Order[1]=10 StopTime=Tstop MaxTimeStep=MaxTstep

Component:tahb_HB1 Module="ATAHB" Type="ModelExtractor" \
Tran_Analysis="HB1_tran" HB_Analysis="HB1" \
OutputTranDataTAHB=yes

Fosc=29.771651 GHz
Finj=Fosc/16

Tperiod=1/Fosc
Order=15
Tstop=1000*Tperiod
Nperiods=16
Tstart=Tstop-Nperiods*Tperiod
N_steps_per_period=16
MaxTstep=Tperiod/Order/N_steps_per_period

The results have not changed.
 
Last edited:

Completely Wrong.
Finj=1.875 GHz
My_Order=16
Fosc=My_Order*Finj

Tperiod=1/Fosc
Tstop=20*Tperiod
MaxTstep=Tperiod/50


HB:HB1 MaxOrder=4 Freq[1]=Finj Order[1]=10*My_Order \
StatusLevel=2 FundOversample=4 \
Restart=no OutputBudgetIV=no \
TAHB_Enable=1 OscPortName="Yes" \
OutputPlan="HB1_Output"

OscPort:Osc1 Vop2 Von2 Z=1.1 Ohm NumOctaves=20 Steps=100 \
FundIndex=1 Harm=My_Order

Tran:HB1_tran HB_Sol=1 SteadyState=1 StatusLevel=3 \
Freq[1]=Finj Order[1]=10*My_Order \
StopTime=Tstop MaxTimeStep=MaxTstep

Component:tahb_HB1 Module="ATAHB" Type="ModelExtractor" \
Tran_Analysis="HB1_tran" HB_Analysis="HB1" \
OutputTranDataTAHB=yes

And usage of OscPort is wrong.
https://edadocs.software.keysight.com/pages/viewpage.action?pageId=5526346

OscPort or OscPort2 is inserted into feedback path or between resonator and negative impedance.
So OscPort may not be suitable for your circuit.

You had better be back to method of setting oscillation node.
 
Last edited:
I edited the settings, as you said.
I chose longer StopTime, shorter MaxTimeStep and a non-zero SteadyStateMinTime.

HB:HB1 MaxOrder=4 Freq[1]=Finj Order[1]=10*My_Order StatusLevel=2 FundOversample=4 \
Restart=no OutputBudgetIV=no TAHB_Enable=1 OscPortName="HB1_OP" \
OutputPlan="HB1_Output"

OscProbe:HB1_OP Node[1]="Vop2" Node[2]="Von2" FundIndex=1 Harm=My_Order NumOctaves=20 Steps=100

Tran:HB1_tran HB_Sol=1 SteadyState=1 StatusLevel=3 \
Freq[1]=Finj Order[1]=10*My_Order SteadyStateMinTime=4700*Tperiod StopTime=Tstop MaxTimeStep=MaxTstep

Component:tahb_HB1 Module="ATAHB" Type="ModelExtractor" \
Tran_Analysis="HB1_tran" HB_Analysis="HB1" \
OutputTranDataTAHB=yes

Fosc=29.771651 GHz
Finj=Fosc/My_Order

Tperiod=1/Fosc
My_Order=16
Tstop=5000*Tperiod
MaxTstep=Tperiod/500

However, the simulation cannot reach steady-state:

Simulation Messages

TRAN HB1_tran[1] <Oscillator_lib:Injection_Locking_3:schematic> time=(0 s->167.945 ns)
t=6.718e-16 0%
t=7.744e-10 0%
t=1.570e-09 1%
t=2.353e-09 1%
.
.
.
t=1.660e-07 99%
t=1.668e-07 99%
TAHB conversion started at t= 1.674e-07 without reaching steady state.
The oscillation frequency did not reach steady state.
The circuit did not reach steady state; the worst node was X32.MOSFET1.s.
Final transient frequency = 29.70551827 GHz
Final transient fundamental = 1.856594892 GHz
t=1.675e-07 100%
t=1.679e-07 100%

HB HB1[1] <Oscillator_lib:Injection_Locking_3:schematic>
Krylov-HB: 161 freqs, 2048 time-samples.

** Read in solution from `Injection_Locking_3.hbs'. **

Installing scalar block into QuadPcMatrix

Resource usage:
Total stopwatch time = 460.36 seconds.

-------------------------------------------------------------------------------
Simulation finished
-------------------------------------------------------------------------------

The transient waveforms:

Capture18.JPG

Spectrum of outputs:

Capture19.JPG
 
Last edited:

1.875GHz node rises after 20nsec.
On the other hand, 30GHz node rises at 0sec.

Why ?

Show me netlist portions regarding all voltage and current sources used in circuit.

I recommend following.

Replace your 1.875GHz oscillator with V1tone of 1.875GHz.
Then do driven HB analysis with Freq[1]=1.875GHz Order[1]=10*16.
Confirm whether steady state output is available or not at 30GHz node.

The oscillation frequency did not reach steady state.
The circuit did not reach steady state; the worst node was X32.MOSFET1.s.
Final transient frequency = 29.70551827 GHz
Final transient fundamental = 1.856594892 GHz
Judging from transient waveform at 30GHz node, it seems parasitic oscillation exists.

I think problems exist after 1.875GHz oscillator circuit.
Confirm your circuit validity.
 
Last edited:
1.875GHz node rises after 20nsec.
On the other hand, 30GHz node rises at 0sec.

Why ?

Because they are two different oscillators with different start-up times.

Show me netlist portions regarding all voltage and current sources used in circuit.

V_Source:SRC_n N__8 Vcs Type="V_DC" Vdc=0 V SaveCurrent=1
V_Source:SRC2 VDD 0 Type="V_DC" Vdc=1.8 V SaveCurrent=1
I_Source:SRC1 VDD Vg1 Type="I_DC" Idc=1 mA
V_Source:SRC_cs Vcs N__29 Type="V_DC" Vdc=0 V SaveCurrent=1
V_Source:SRC_p N__14 Vcs Type="V_DC" Vdc=0 V SaveCurrent=1
V_Source:SRC4 Vbias 0 Type="V_DC" Vdc=vbias V SaveCurrent=1
V_Source:SRC6 Vbias2 0 Type="V_DC" Vdc=vbias2 V SaveCurrent=1
I_Source:SRC5 VDD Vg Type="I_DC" Idc=1 mA

I recommend following.

Replace your 1.875GHz oscillator with V1tone of 1.875GHz.
Then do driven HB analysis with Freq[1]=1.875GHz Order[1]=10*16.
Confirm whether steady state output is available or not at 30GHz node.

I cannot do this. Because I want to see output phase noise and its relation with input phase noise.

Judging from transient waveform at 30GHz node, it seems parasitic oscillation exists.

I think problems exist after 1.875GHz oscillator circuit.
Confirm your circuit validity.

If you mean AM modulation at 30GHz node, It is because of 1.875 GHz injection and completely normal.
 

I cannot do this.
Because I want to output phase noise and its relation with input phase noise.
No.
I recommend you to confirm whether 30GHz stable ouput is available or not.

Phase Noise is next stage.

If you mean AM modulation at 30GHz node, It is because of 1.875 GHz injection and completely normal.
Show me frequency transient behavior of https://www.edaboard.com/attachment.php?attachmentid=143175&d=1512754910&thumb=1 by cross function.
https://www.edaboard.com/showthread.php?t=372149#16

For your Autonomous circuit, there are four possible states.

(1) 1.875GHz:Zero, 30*1.875GHz:Zero
(2) 1.875GHz:Non-Zero, 30*1.875GHz:Zero
(3) 1.875GHz:Zero, 30*1.875GHz:Non-Zero
(4) 1.875GHz:Non-Zero, 30*1.875GHz:Non-Zero

HB Analysis can find out (2) and (3).

However HB Analysis can not find out (4) for your circuit.
 
Last edited:


Capture21.JPG

As you see, instantaneous frequency is not stable. I guessed it is because of mismatch between output frequency and 16th harmonic of the input frequency.
When I replaced 1.875 GHz oscillator with V1tone, transient analysis reached steady state and then HB simulation was performed without any problem.

Again, I used 1.875 GHz oscillator, but this time I changed slightly its frequency. In this case, transient analysis reaches the steady state but HB simulation does not converge.

The instantaneous frequency of oscillators:

Capture22.JPG

Simulation Messages:

Simulation Messages

Error detected by hpeesofsim during HB analysis `HB1'.
No convergence.
Warning detected by hpeesofsim during HB analysis `HB1'.
Oscillator analysis did not converge. Setting solution to zero.
Warning detected by hpeesofsim during HB analysis `HB1'.
More than one mixing term has landed on frequency 0 Hz.
Warning detected by hpeesofsim during HB analysis `HB1'.
'HB1[1]' did not converge -- associated data will be identified with '<invalid>' flag in the dataset.
Error detected by hpeesofsim during HB analysis `HB1'.
Convergence hints:
o Make sure OscProbe is in the feedback loop of an oscillator.
o Try OscPort instead of OscProbe for oscillator analysis.
o Check the circuit/devices around the nodes in solver convergence summary.
o Act upon warning messages and topology errors.
Error detected by hpeesofsim during circuit set up `HB1'.

Status / Summary


hpeesofsim (*) 450.shp Jan 21 2016, MINT version 4
(64-bit windows built: 01/21/16 15:34:19)
Copyright 1995 - 2015 Keysight Technologies, 1989-2016.


TRAN HB1_tran[1] <Oscillator_lib:Injection_Locking_3:schematic> time=(0 s->168.4 ns)
t=3.368e-15 0%
t=3.175e-09 2%
.
.
.
t=1.547e-07 92%
t=1.577e-07 94%
Steady state reached and TAHB conversion started at t= 1.585e-07
Final transient frequency = 29.68670314 GHz
Final transient fundamental = 1.855418946 GHz
t=1.590e-07 100%

HB HB1[1] <Oscillator_lib:Injection_Locking_3:schematic>
Krylov-HB: 161 freqs, 2048 time-samples.

** Read in solution from `Injection_Locking_3.hbs'. **

Installing scalar block into QuadPcMatrix

--------------------------
Solver convergence summary:
--------------------------
RHS:
38.37 A at node VDD, harmonic index (0)
23.67 A at node VDD, harmonic index (2)
11.12 A at node VDD, harmonic index (4)

Update:
3.533 V at node X59.MOSFET1.d, harmonic index (1)
3.533 V at node Vgn3, harmonic index (1)
3.533 V at node X57.MOSFET1.d, harmonic index (1)

Solution:
--------------------------

Scalar equations:
Index Solution DeltaSol RHS
[ 0] 0 5.598e+07 -8.932e-28

-------------------------------------------------------------------------------
Simulation finished with errors.
-------------------------------------------------------------------------------

Resource usage:
Total stopwatch time = 140.33 seconds.
--------------------
Simulation terminated due to error.
--------------------
 

As you see, instantaneous frequency is not stable.
I guessed it is because of mismatch between output frequency and 16th harmonic of the input frequency.
I don't think so.

Again, I used 1.875 GHz oscillator,
but this time I changed slightly its frequency.
It is no more than initial guess value of Ffundamental for next autonomous HB.

Final transient fundamental = 1.856594892 GHz
Final transient fundamental = 1.855418946 GHz

In this case, transient analysis reaches the steady state
but HB simulation does not converge.

It seems waveform have spectrum components which can not be expressed by n*Ffundamental. Ffundamental=Finj.

Your circuit can not be pulled in by injected Ffundamental.

Your Finj starts at 18nsec.
However Fosc starts pertubation after 27nsec.

I don't think your problem is simulator issue.
However, try following.
OscProbe:HB1_OP Node[1]="Vop2" Node[2]="Von2" \
FundIndex=1 Harm=My_Order \
NumOctaves=1.1 Steps=1000

And if your 30GHz oscillator is cross coupled LC-oscillator, insert OscPort2 between inductor and active p and n node.
 
Last edited:
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top