<< Chapter < Page Chapter >> Page >

The remainder of this handout describes a symbol-timing recovery loop for a BPSK signal (equivalent to a QPSK signalwhere only the in-phase signal is used). As with the above examples, a symbol period of T s 16 samples is assumed.

Early/late sampling

One simple method for recovering symbol timing is performed using a delay-locked loop ( DLL ). is a block diagram of the necessary components.

DLL block diagram.

Consider the sawtooth waveform shown in , the output of the matched filter with a square wave as input. The goal of the DLL is to sample thiswaveform at the peaks in order to obtain the best performance in the presence of noise. If it is not samplingat the peaks, we say it is sampling too early or too late.

The DLL will find peaks without assistance from the user. When it begins running, it arbitrarily selects a sample,called the on-time sample , from the matched filter output. The sample from the time-index one greaterthan that of the on-time sample is the late sample , and the sample from the time-index one less than that of the on-time sample is the early sample . shows an example of the on-time, late, and early samples. Note in this casethat the on-time sample happens to be at a peak in the waveform. and show examples in which the on-time sample comes before a peak and after the peak.

The on-time sample is the output of the DLL and will be used to decide the data bit sent. To achieve the bestperformance in the presence of noise, the DLL must adjust the timing of on-time samples to coincide with peaks in thewaveform. It does this by changing the number of time-indices between on-time samples. There are threecases:

  • In , the on-time sample is already at the peak, and the receiver knows that peaks arespaced by T symb samples. If it then takes the next on-time sample T symb samples after this on-time sample, it will be at another peak.
  • In , the on-time sample is too early. Taking an on-time sample T symb samples later will be too early for the next peak. To move closer to the next peak, the next on-timesample is taken T symb 1 samples after the current on-time sample.
  • In , the on-time sample is too late. Taking an on-time sample T symb samples later will be too late for the next peak. To move closer to the next peak, the next on-timesample is taken T symb 1 samples after the current on-time sample.
The offset decision block uses the on-time, early, and late samples to determine whether sampling is at a peak, tooearly, or too late. It then sets the time at which the next on-time sample is taken.

Sampling at a peak.
Sampling too early.
Sampling too late.

The input to the offset decision block is on-time late early , called the decision statistic . Convince yourself that when the decision statistic ispositive, the on-time sample is too early, when it is zero, the on-time sample is at a peak, and when it is negative,the on-time sample is too late. It may help to refer to , , and . Can you see why it is necessary to multiply by the on-time sample?

The offset decision block could adjust the time at which the next on-time sample is taken based only on the decisionstatistic. However, in the presence of noise, the decision statistic becomes a less reliable indicator. For thatreason, the DLL adds many successive decision statistics and corrects timing only if the sumexceeds a threshold; otherwise, the next on-time sample is taken T symb samples after the current on-time sample. The assumption is that errors in the decision statistic causedby noise, some positive and some negative, will tend tocancel each other out in the sum, and the sum will not exceed the threshold because of noise alone. On the otherhand, if the on-time sample is consistently too early or too late, the magnitude of the added decision statistics willcontinue to grow and exceed the threshold. When that happens, the offset decision block will correct the timingand reset the sum to zero.

Sampling counter

The symbol sampler maintains a counter that decrements every time a new sample arrives at the output of the matchedfilter. When the counter reaches three, the matched-filter output is saved as the late sample, when the counter reachestwo, the matched-filter output is saved as the on-time sample, and when the counter reaches one, the matched-filteroutput is saved as the early sample. After saving the early sample, the counter is reset to either T symb 1 , T symb , or T symb 1 , according to the offset decision block.

Matlab simulation

Because the DLL requires a feedback loop, you will have to simulate it on a sample-by-sample basis inMATLAB.

Using a square wave of period 32 samples as input, simulate the DLL system shown in . Your input should be several hundred periods long. What does it model? Set thedecision-statistic sum-threshold to 1.0 ; later, you can experiment with different values. How do you expect different thresholds to affect the DLL?

and show the matched filter output and the on-time sampling times(indicated by the impulses) for the beginning of the input, before the DLL has locked on, as well as after 1000 samples(about 63 symbols' worth), when symbol-timing lock has been achieved. For each case, note the distance between theon-time sampling times and the peaks of the matched filter output.

Symbol sampling before DLL lock.
Symbol sampling after DLL lock.

Dsp implementation

Once your MATLAB simulation works, DSP implementation is relatively straightforward. To test your implementation, youcan use the function generator to simulate a BPSK waveform by setting it to a square wave of the correct frequency for yoursymbol period. You should send the on-time sample and the matched-filter output to the D/A to verify that your system isworking.

Extensions

As your final project will require some modification to the discussed BPSK signaling, you will want to refer to the listedreferences, (see Proakis and Blahut , and consider some of the following questions regarding such modifications:

  • How much noise is necessary to disrupt the DLL?
  • What happens when the symbol sequence is random (not simply
      +1 -1 +1 -1
    )?
  • What would the matched filter look like for different symbol shapes?
  • What other methods of symbol-timing recovery are available for your application?
  • How does adding decision statistics help suppress the effects of noise?

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Dsp laboratory with ti tms320c54x. OpenStax CNX. Jan 22, 2004 Download for free at http://cnx.org/content/col10078/1.2
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Dsp laboratory with ti tms320c54x' conversation and receive update notifications?

Ask