View License

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video

Highlights from
Carrier & Symbol Timing Recovery for N QAM

4.4 | 9 ratings Rate this file 18 Downloads (last 30 days) File Size: 77.2 KB File ID: #6742 Version:
image thumbnail

Carrier & Symbol Timing Recovery for N QAM


Dick Benson (view profile)


18 Jan 2005 (Updated )

This model implements a contemporary symbol timing and carrier recovery scheme for 2-256 QAM.

Editor's Notes:

This file was selected as MATLAB Central Pick of the Week

| Watch this File

File Information

Timing recovery is a critical aspect of Digital Communications Receivers. This model uses a fractional sample delay implemented with a Farrow filter to create a symbol rate timing recovery subsystem. This is combined with a decision aided Carrier Recovery PLL. For testing, a transmitter with continuosly variable carrier frequency error and symbol rate error is included. Two versions of the transmitter are provided. One version uses Simulink's variable step solver to create a continuous time signal for re-sampling by the receiver. The other version uses the same fractional sample delay as in the receiver to implement the transmitter entirely in discrete time.
The updated version of these files supports QAM modulation of order 2 to 256 inclusive. It therefore supports PSK (2 QAM) and QPSK (4 QAM) as well.
References are cited in the models.


This file inspired Pilot Directed Continuous Synchronization Of Ofdm.

Required Products Communications System Toolbox
DSP System Toolbox
Signal Processing Toolbox
MATLAB release MATLAB 8.4 (R2014b)
MATLAB Search Path
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (13)
10 Oct 2015 Muhammad Erfinza

how to make optical carrier recovery for access network with simple ASK modulation in m file? i'm confused about what parameter involves and what is the output of the simulation

Comment only
10 Oct 2015 Muhammad Erfinza

19 Aug 2011 Helen Chen

@Yang - Have you tried clicking on the "Download all" button at the top right of this page?

Comment only
18 Aug 2011 yang lin

how to download?

Comment only
08 Sep 2008 Wongi Seo

22 Jan 2008 afshin sh

20 Jun 2006 mohamad razavy

30 Jan 2006 Philip Secker

Well done, this is a tricky subject but is an integral part of modern modems.

30 Apr 2005 viswanath pothuraju

21 Apr 2005 student telecom

Can I get it for matlab R13 please. Need it to see wether it is better then my approch or the same

Comment only
13 Apr 2005 saifudeen a r

20 Jan 2005 Sander Stepanov

now it is good
only what is about fading and AGC joint working with synchronization, if it is added, it will be real channel simulation

20 Jan 2005 Sander Stepanov

looks good, but I can not run it, the error is
Failed to find 'Direct-Form II Transpose Filter' in library 'dspobslib' referenced by 'timing_recovery_1/Timing Error Detector + Loop Filter. Requires 4 samples per symbol. /Timing Error Detector/Loop Filter /Direct-Form II Transpose Filter2'

13 Feb 2009 1.1

New discrete time TX model added and files updated for r2007b and are compatible with 2008a and 2008b as well.

08 Jan 2010 1.2

Updated for R2009B

30 May 2013 1.3

This update generalizes the previous QPSK models to support N QAM, QPSK being a subset of N QAM. It is also compliant with R2012a,R2012b,R2013a.

26 Sep 2013 1.4

Models updated for compliance with changes in R2013B.

08 Dec 2014 1.6

Updated for R2014b.

01 Sep 2016

Updated license

Contact us