improve jitter generation
wave_gen: change to gussian jitter distribution wrapper: reduce gtx_jitter to meet real world performance docs: remove noise limitation
This commit is contained in:
parent
734e87eede
commit
f58ab13e9b
@ -54,4 +54,3 @@ nix develop
|
||||
</details><br>
|
||||
|
||||
## Limitation
|
||||
1. The white noise is used to simulate jitter which may result in higher phase noise
|
||||
|
@ -3,8 +3,9 @@ import numba as nb
|
||||
from numba import njit
|
||||
|
||||
|
||||
def white_noise(low, high, size, seed=None):
|
||||
return np.random.default_rng(seed).uniform(low, high, size)
|
||||
|
||||
def gussian_jitter(RMS_jitter, size, seed=None):
|
||||
return np.random.default_rng(seed).normal(0, RMS_jitter/2, size)
|
||||
|
||||
|
||||
@njit(fastmath=True)
|
||||
|
@ -1,6 +1,6 @@
|
||||
import numpy as np
|
||||
from wrpll_simulation.sim import simulation_jit
|
||||
from wrpll_simulation.wave_gen import white_noise
|
||||
from wrpll_simulation.wave_gen import gussian_jitter
|
||||
|
||||
|
||||
class WRPLL_simulator():
|
||||
@ -17,7 +17,7 @@ class WRPLL_simulator():
|
||||
start_up_delay,
|
||||
i2c_comm_delay=85.6e-6,
|
||||
dcxo_settling_delay=100e-6,
|
||||
gtx_jitter=370e-15,
|
||||
gtx_jitter=200e-15,
|
||||
dcxo_freq=125_000_000,
|
||||
dcxo_jitter=95e-15,
|
||||
freq_acquisition_error=100,
|
||||
@ -38,11 +38,11 @@ class WRPLL_simulator():
|
||||
|
||||
# init condition
|
||||
self.gtx_freq = gtx_freq
|
||||
self.gtx_jitter = white_noise(-gtx_jitter, gtx_jitter, len(self.time), seed)
|
||||
self.gtx_jitter = gussian_jitter(gtx_jitter, len(self.time), seed)
|
||||
|
||||
self.dcxo_freq = dcxo_freq
|
||||
self.h_jitter = white_noise(-dcxo_jitter, dcxo_jitter, len(self.time), seed)
|
||||
self.m_jitter = white_noise(-dcxo_jitter, dcxo_jitter, len(self.time), seed)
|
||||
self.h_jitter = gussian_jitter(dcxo_jitter, len(self.time), seed)
|
||||
self.m_jitter = gussian_jitter(dcxo_jitter, len(self.time), seed)
|
||||
self.N = N
|
||||
self.helper_init_freq = helper_init_freq
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user