Differences
This shows you the differences between two versions of the page.
— |
05Misc:Matlab-Simulink_PLL_Library [2017/09/25 15:34] (current) |
||
---|---|---|---|
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> | ||
+ | The Simulink PLL Library can be downloaded <a href="/matlab_simulink/pll_lib.mdl.zip">here</a> | ||
+ | </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 φ=PTW/2^M*2*π. | ||
+ | </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) 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) 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 to -Nπ...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> | ||
05Misc/Matlab-Simulink_PLL_Library.txt · Last modified: 2017/09/25 15:34 (external edit) (login)