<< Chapter < Page Chapter >> Page >

To be precise, the goal of the optimization is to find τ so as to maximize

J O P ( τ ) = avg { x 2 [ k ] } = avg x 2 k T M + τ ,

which can be optimized using an adaptive element

τ [ k + 1 ] = τ [ k ] + μ ¯ d J O P ( τ ) d τ τ = τ [ k ] .

The updates proceed in the same direction as the gradient (rather than minus the gradient) becausethe goal is to maximize, to find the τ that leads to the largest value of J O P ( τ ) (rather than the smallest).The derivative of J O P ( τ ) can be approximated to swap the differentiation and averaging operations

d J O P ( τ ) d τ avg d x 2 [ k ] d τ = 2 avg x [ k ] d x [ k ] d τ .

The derivative of x [ k ] can be approximated numerically. One way of doing this is to use [link] , which is valid for small δ . Substituting [link] and [link] into [link] and evaluating at τ = τ [ k ] gives the algorithm

τ [ k + 1 ] = τ [ k ] + μ avg { x [ k ] · x k T M + τ [ k ] + δ - x k T M + τ [ k ] - δ } ,

where the stepsize μ = μ ¯ δ . As usual, the small stepsize algorithm acts as a lowpass filter tosmooth the estimates of τ , and it is common to remove the explicit outer averaging operation, leading to

τ [ k + 1 ] = τ [ k ] + μ x [ k ] · x k T M + τ [ k ] + δ - x k T M + τ [ k ] - δ .

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

Using the algorithm [link] is similar to implementing the cluster variance scheme [link] , and a “software intensive” solution is diagrammed in [link] . This uses interpolation (resampling) to reconstructthe values of x ( t ) at x ( k T M + τ [ k ] - δ ) and at x ( k T M + τ [ k ] + δ ) from nearby samples x [ k ] . As suggested by [link] , the same idea can be implemented in analog, hybrid,or digital form.

One implementation of the adaptive element Equation 25 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 maximize the power of the output.
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 maximize the power of the output.

The following program implements the timing recovery algorithm using the recursive output power maximization algorithm [link] . The user specifies the transmitted signal, channel,and pulse shaping exactly as in part 1 of clockrecDD.m . An initial timing offset toffset is specified, and the algorithm in clockrecOP.m tries to find (the negative of) this value using only the received signal.

tnow=l*m+1; tau=0; xs=zeros(1,n);           % initialize variables tausave=zeros(1,n); tausave(1)=tau; i=0;mu=0.05;                                    % algorithm stepsize delta=0.1;                                  % time for derivativewhile tnow<length(x)-l*m                    % run iteration   i=i+1;  xs(i)=interpsinc(x,tnow+tau,l);           % interpolated value at tnow+tau   x_deltap=interpsinc(x,tnow+tau+delta,l);  % get value to the right  x_deltam=interpsinc(x,tnow+tau-delta,l);  % get value to the left   dx=x_deltap-x_deltam;                     % calculate numerical derivative  tau=tau+mu*dx*xs(i);                      % alg update (energy)   tnow=tnow+m; tausave(i)=tau;              % save for plottingend
clockrecOP.m clock recovery maximizing output power (download file)

Typical output of the program is plotted in [link] . For this plot, the message was drawn from a 2-PAM binary signal,which is recovered nicely by the algorithm, as shown in the top plot. The bottom plot shows thetrajectory of the offset estimation as it converges to the “unknown” value at -toffset .

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