 # Differences

This shows you the differences between two versions of the page.

Line 1: Line 1:
+<html>
+<h1>Phase-Locked Loop Library</h1>
+<p>
+  During my <a href="/Diplomarbeit_Martin_Kumm_TUD_2007.pdf">Diploma Thesis (in German)</a> I had to simulate phase-locked loops (PLLs) mith Matlab/Simulink. But it was even a problem in adjusting the freuquency of a sinusoidal waveform generator so I started a Simulink library for the components, necessary for simulating analog and digital PLLs.
+</p>
+<p>
+</p>
+<p>
+  There are some example projects that uses the PLL lib:<br>
+  <a href="/matlab_simulink/continuous_ideal_pll.zip">Example for a time continous PLL</a><br>
+  <a href="/matlab_simulink/discrete_ideal_pll.zip">Example for a time discrete PLL</a>
+</p>
+<p>
+  Here is a short description of the library components:
+</p>
+<table>
+<tr>
+  <td width="100">
+    <img src="/images/pll_lib_vco.jpg">
+  </td>
+  <td valign="top">
+    <p>
+      Analog voltage controlled oscillator (VCO): Frequency and phase can be adjusted during runtime with the two inputs freq and phase. The sin output produces a 90 degree shifted signal in respect to the cos output.
+    </p>
+  </td>
+</tr>
+<tr>
+  <td>
+    <img src="/images/pll_lib_dds.jpg">
+  </td>
+  <td valign="top">
+    <p>
+      Direct Digital Synthesizer (DDS): Frequency and phase tuning words can be adjusted during runtime with the two inputs FTW and PTW. The output freuquency is f=FTW/2^M*fs, where M is the wordsize of the FTW (can be set as property) and fs is the sampling frequency of the component. The output phase can be set by &phi;=PTW/2^M*2*&pi;.
+    </p>
+  </td>
+</tr>
+<tr>
+  <td>
+    <img src="/images/pll_lib_pd.jpg">
+  </td>
+  <td valign="top">
+    <p>
+      Ideal phase detector: Detects the phase difference from two analytic (complex) signals and compensates phase overflows.
+    </p>
+  </td>
+</tr>
+<tr>
+  <td>
+    <img src="/images/pll_lib_pdiff.jpg">
+  </td>
+  <td valign="top">
+    <p>
+      Phase difference: Calculates the difference from two phase signals (range -&pi;...&pi) and compensates phase overflows.
+    </p>
+  </td>
+</tr>
+<tr>
+  <td>
+    <img src="/images/pll_lib_psum.jpg">
+  </td>
+  <td valign="top">
+    <p>
+      Phase sum: Calculates the sum of two phase signals (range -&pi;...&pi) and compensates phase overflows.
+    </p>
+  </td>
+</tr>
+<tr>
+  <td>
+    <img src="/images/pll_lib_fd.jpg">
+  </td>
+  <td valign="top">
+    <p>
+      Detects the frequency of a phase signal with the discrete differentiation.
+    </p>
+  </td>
+</tr>
+<tr>
+  <td>
+    <img src="/images/pll_lib_pu.jpg">
+  </td>
+  <td valign="top">
+    <p>
+      Phase unwrapp: Extends the range of a phase signal from -&pi;...&pi to -N&pi;...N&pi. The integer N can be set as property.
+    </p>
+  </td>
+</tr>
+<tr>
+  <td>
+    <img src="/images/pll_lib_agc.jpg">
+  </td>
+  <td valign="top">
+    <p>
+      Automatic Gain Control (AGC): Implementation of a simple AGC for compensating amplitude differences inside a PLL.
+    </p>
+  </td>
+</tr>
+</table>
+</html>