Hassan
New Member
Offline
Posts: 2
|
Hello Everyone, I am using the code below for VCO, and it is pretty standard and straightforward. I want to make sure that the noise transfer function from control voltage to phase noise is correct, as I am going to use it in my PLL. Now, when I put a purely thermal noise using a resistor on the control voltage, the output phase noise slope is -40dB/dec using PSS and Pnoise!!!! Just to clarify, I do not want to model VCO PN itself but I wanna make sure that the transfer function of noise from its control voltage to output is correct. I would appreciate any comment if you see it as helping. I am attaching both schematic and simulation results below.
module vco_va(vin, voutp, voutn); input vin; output voutp , voutn; electrical vin, voutp, voutn; parameter real amp = 0.5; parameter real center_freq = 20G; parameter real vco_gain = 1G; parameter integer steps_per_period = 32; parameter real DC_val = 1;
real phase; real inst_freq ;
analog begin
inst_freq = center_freq + vco_gain * (V(vin)-1.25); phase = idtmod(inst_freq, 0,1);
$bound_step (1.0 / (steps_per_period*inst_freq)); V(voutp) <+ amp * sin (2*`M_PI*phase) + DC_val; V(voutn) <+ -1*amp * sin (2*`M_PI*phase) + DC_val; end endmodule
|