<< Chapter < Page Chapter >> Page >

If the τ [ k ] are too noisy, the stepsize μ can be decreased (or the length of the average, if present, can be increased), although these will inevitably slow theconvergence of the algorithm.

The algorithm [link] is easy to implement, though it requiressamples of the waveform x ( t ) at three different points: x ( k T M + τ [ k ] - δ ) , x ( k T M + τ [ k ] ) , and x ( k T M + τ [ k ] + δ ) . One possibility is to straightforwardly sample three times. Sincesampling is done by hardware, this is a hardware intensive solution. Alternatively, the values can be interpolated. Recall from thesampling theorem that a waveform can be reconstructed exactly at any point, as long as it is sampled faster than twice thehighest frequency. This is useful since the values at x ( k T M + τ [ k ] - δ ) and at x ( k T M + τ [ k ] + δ ) can be interpolated from the nearby samples x [ k ] . Recall that interpolation was discussed in [link] , and the M atlab routine interpsinc.m makes it easy to implement bandlimited interpolation and reconstruction.Of course, this requires extra calculations, and so is a more “software intensive” solution. This strategy is diagrammed in [link] .

One implementation of the adaptive element Equation 20 uses three digital interpolations (resamplers). After the τ[k] converge, the output x[k] is a sampled version of the input x(t), with the samples taken at times that minimize the cluster variance.
One implementation of the adaptive element [link] uses three digital interpolations (resamplers). After the τ [ k ] converge, the output x [ k ] is a sampled version of the input x ( t ) , with the samples taken at times that minimize the cluster variance.

The following code prepares the transmitted signal that will be used subsequently to simulate the timing recovery methods.The user specifies the signal constellation (default is 4-PAM), the number of data points n , and the oversampling factor m . The channel is allowed to be nonunity, and a square-root raised cosine pulsewith width 2*l+1 and rolloff beta is used as the default transmit (pulse shaping) filter.An initial timing offset is specified in toffset , and the code implements this delay with an offset in the srrc.m function. The matched filter is implemented using the same SRRC (but without the time delay).Thus, the timing offset is not known at the receiver.

n=10000;                         % number of data points m=2;                             % oversampling factorbeta=0.3;                        % rolloff parameter for srrc l=50;                            % 1/2 length of pulse shape (in symbols)chan=[1];                        % T/m "channel"toffset=-0.3;                    % initial timing offset pulshap=srrc(l,beta,m,toffset);  % srrc pulse shape with timing offsets=pam(n,4,5);                    % random data sequence with var=5 sup=zeros(1,n*m);                % upsample the data by placing...sup(1:m:n*m)=s;                  % ... m-1 zeros between each data point hh=conv(pulshap,chan);           % ... and pulse shaper=conv(hh,sup);                  % ... to get received signal matchfilt=srrc(l,beta,m,0);      % matched filter = srrc pulse shapex=conv(r,matchfilt);             % convolve signal with matched filter
clockrecDD.m (part 1) prepare transmitted signal (download file)

The goal of the timing recovery in clockrecDD.m is to find (the negative of) the value of toffset using only the received signal—that is, to have tau converge to -toffset . The adaptive element is implemented in clockrecDD.m using the iterative cluster variance algorithm [link] . The algorithm is initialized with an offset estimateof tau=0 and stepsize mu . The received signal is sampled at m times the symbol rate, and the while loop runs though the data, incrementing i once for each symbol (and incrementing tnow by m for each symbol). The offsets tau and tau+m are indistinguishable from the point of view of the algorithm.The update term contains the interpolated value xs as well as two other interpolated values to the left and right that are used to approximate the derivative term.

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Software receiver design. OpenStax CNX. Aug 13, 2013 Download for free at http://cnx.org/content/col11510/1.3
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Software receiver design' conversation and receive update notifications?

Ask