Go to file
morgan 6f475e5c20 replace old example and update performance docs 2024-01-26 16:58:50 +08:00
src replace old example and update performance docs 2024-01-26 16:58:50 +08:00
.gitignore git: ignore __pycache__ 2023-12-13 15:46:04 +08:00
README.md replace old example and update performance docs 2024-01-26 16:58:50 +08:00
flake.lock flake: update poetry2nix & remove scipy override 2024-01-16 17:30:17 +08:00
flake.nix toolchain: add jupytext to poetry and flake 2024-01-22 10:27:02 +08:00
poetry.lock toolchain: add jupytext to poetry and flake 2024-01-22 10:27:02 +08:00
pyproject.toml toolchain: add jupytext to poetry and flake 2024-01-22 10:27:02 +08:00

README.md

WRPLL simulation

A time domain simulation for WRPLL

Installation

Poetry:

poetry install
poetry run jupyter lab

Poetry shell:

poetry install
poetry shell

Nix:

nix develop

Quick start

  • Three notebook examples are included

    1. helper_PLL_example.ipynb : helper PLL only
    2. main_PLL_example.ipynb : main PLL only with a user specific helper frequency
    3. both_PLL_example.ipynb : main and helper PLL
  • RAM usage and execution time estimate for simulation ONLY

    • 500,000,000 time steps: 8GiB RAM and 55 seconds

WRPLL formulas
  • Assume the difference between f_{main}, f_{gtx} is very small

    • Let f_{in} = f_{main} = f_{gtx}

    • f_{helper} = f_{in} * \dfrac{N-1}{N}

    • f_{beat} = f_{in} - f_{helper} = \dfrac{f_{in}}{N}

  • Main and helper Si549 DCXO ADPLL setting

    • ADPLL = \dfrac{\Delta f_{outppm}}{0.0001164}

Limitation