designideas Rotational (or linear) measurement using an optical mouse sensor De-embed transmission lines with FIR filters By Mohit Kumar Serial data rates out of networking SERDES have reached as high as 28 Gbps and are continuously evolving. At such high data rates, even small PCB traces act as transmission lines, degrading the signal integrity through attenuation and dispersion. It is difficult to monitor the SERDES transmitter output right at the chip balls. Usually, the signal will be brought to an SMA or SMP connector to be monitored by oscilloscope. However, the signal characteristics change due to the transmission line present between the IC and the connector. The challenge is to monitor the signal performance at SERDES pins, and this can be accomplished by de-embedding the effect of the trace. This Design Idea describes a methodology to de-embed the transmission line. Let H(s) be the impulse response of the trace, if X(s) is the input signal, mathematically: Y(s) = H(s) * X(s) X(s) = Y(s) * H-1(s) We can implement H-1(s) as an FIR filter, using MATLAB to determine the filter coefficients (link to files at end of article). The H(s) of a trace can be measured using a network analyser by measuring Sdd21. We need to determine the coefficients of an FIR filter (hf(t)) whose frequency response(Hf(s)) is close to the inverse of Sdd21 measured above, i.e., Hf(s) = H-1(s). The approach used to compute the filter coefficients is to start with certain coefficients and compute the frequency response. Compute the error magnitude between H(s) and Hf(s). Using an optimisation algorithm, coefficients are varied to minimise the sumsquared error. Referring to FIR_filter_design.m, nc is the number of coefficients in the FIR filter, and drate is the data rate in Gbps of the input serial data. Choose fs such that fs/drate is an integer. This will define the number of coefficients present in one bit. ncbit gives the time difference between the adjacent coefficients. Let N be the number of points in the frequency response Hf(s), and numfpts = N/2 is the number of frequency points in the Nyquist range. The Nyquist frequency for the filter transfer function is fs/2. Define a frequency range finmin to finmax over which the magnitude error is computed. Frequency points up to the Nyquist for the filter are given by: Hz1 = (k*fs)/(2*numfpts), where k = 0 to numpts-1 Interpolation is done to compute the Sdd21 magnitude at Hz1 frequency points. Initialise filter coefficients to some value. Compute the magnitude of the frequency response of the filter using freqz MATLAB function, and determine the error between the Sdd21 magnitude data obtained after interpolation. The sum square error is minimised using the MATLAB fminbnd function. The minimisation algorithm can be implemented in many ways; the code presented here is only one way of implementing it. Experimental results To demonstrate the effect of the FIR filter, a Keysight 86100D sampling scope is used, along with a Tektronix BERTScope, generating a pattern at 10.3125 Gbps. The output of BERTScope is connected to the DSO, and the waveform is stored in the scope memory, as shown in Figure 2 (magenta). The BERTScope output is then connected to a transmission line on a PCB; the SDD21(dB) profile of the channel 32 EDN Europe | MAY 2015 www.edn-europe.com

EDNE MAY 2015

To see the actual publication please follow the link above