doc: add frequency sim docs

morgan 2024-05-07 14:34:46 +08:00
parent d5dd02736b
commit 4a9de633d4
3 changed files with 51 additions and 0 deletions

51
src/freqsim.md Normal file
View File

@ -0,0 +1,51 @@
## Frequency simulation
Model is based on https://www.dsprelated.com/showarticle/973.php
### Time domain block diagram
![time domain](freqsim_timedomain.png)
### Z domain block diagram
![Z domain](freqsim_zdomain.png)
## DDMTD Phase detector gain ($K_{PD}$)
$$
\begin{align*}
\Delta tag[n] &= \dfrac{N}{2\pi} \cdot \Delta\theta[n] \\[10pt]
\Delta tag(z) &= \dfrac{N}{2\pi} \cdot \Delta\theta(z) \\[10pt]
\dfrac{\Delta tag(z)}{\Delta \theta(z)} &= \dfrac{N}{2\pi} \\[10pt]
K_{PD} &= \dfrac{N}{2\pi} \\[10pt]
\end{align*}
$$
## Loop Filter
Low pass biquad filter calculator: https://www.earlevel.com/main/2021/09/02/biquad-calculator-v3/
## Si549 DCXO gain ($K_{DCXO}$)
Consider Si549 as a phase accumulator:
$$
\begin{align*}
\theta_{DCXO}[n] &= 2\pi f[n] \cdot T + \theta_{DCXO}[n-1] \\[10pt]
\theta_{DCXO}[n] &= 2\pi \bigg( f_{center} + 0.0001164 \cdot (\text{BASEADPLL} + ADPLL[n]) \cdot \dfrac{f_{center}}{10^6} \bigg) \cdot T_s + \theta_{DCXO}[n-1] \\[10pt]
\theta_{DCXO}[n] &= \underbrace{ 2\pi \bigg(0.0001164 \cdot \dfrac{f_{center}}{10^6} \cdot T_s \bigg)}_{K_{DCXO}} \cdot ADPLL[n] +
\underbrace{ 2\pi \bigg( f_{center} + 0.0001164 \cdot \text{BASEADPLL} \cdot \dfrac{f_{center}}{10^6} \bigg) }_{f} \cdot T_s + \theta_{DCXO}[n-1] \\[20pt]
K_{DCXO} &= 2\pi 0.0001164 \cdot \dfrac{f_{center}}{10^6} \cdot T_s \\[10pt]
K_{DCXO} &= 2\pi * 0.0001164 \cdot \dfrac{f_{center}}{10^6} \cdot \dfrac{1}{f_s} \\[10pt]
K_{DCXO} &= 2\pi * 0.0001164 \cdot \dfrac{f_{center}}{10^6} \cdot \dfrac{N}{f_{center}} \\[10pt]
K_{DCXO} &= \dfrac{0.0001164\cdot N\cdot 2\pi}{10^6} \\[10pt]
\end{align*}
$$

BIN
src/freqsim_timedomain.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

BIN
src/freqsim_zdomain.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB