# TigerSHARC CLU Closer look at the XCORRS

TigerSHARC CLU Closer look at the XCORRS M. Smith, University of Calgary, Canada [email protected] The practice

Suppose we have the vector in-phase and out-of- phase data gathered over an antenna from a satellite for example. Gain issues make it x16 -16-16j, 16+16j, 16+16j, -16-16j 16+16j, 16+16j -16-16j, 16+16j, 16+16j, -16-16j 16+16j, 16+16j, -16-16j

16+16j, 16+16j, etc Question if the original data from the satellite had this form -1-j,1+j,1+j, -1-j,1+j,1+j, -1-j,1+j,1+j, -1-j,1+j,1+j, -1-j,1+j,1+j, -1-j,1+j,1+j, How is the satellite data delayed? FOR THIS EXAMPLE .. 0, 3, 6, 9, 12 etc

Tackle the issue with FIR First modify correlation function to handle complex values

Ignore that issue at the moment Imagine 1024 data points + 1024 PRN Need to do 1024 FIR each of 1024 taps We know how to optimize to do 2 taps every cycle (one in X and one in Y) Cycle time is 1024 * 512 cycles = 1 ms at 500 MHz

XCORS can do 8 * 16 taps each cycle in each compute block 148 times faster Where does the CLU fit in? XCORRS definition

Uses registers TR D C And something called CUT

THEORY Mathematical definition Satellite data

Quad fetch brings in 8 complex values 8 bits each Pattern here is -1 + 0j, 1 + 0j, 1 + 0j, -1 + 0j, 1 + 0j, 1 + 0j, . PRN code 2 bit complex number Seems strange to have two dummy bits

But actually makes sense PRN -1+ -1j, 1 + j, 1 + j, -1 + -1j, 1 + j, 1 + j, . +1, -1 are associated with the PSK more next lecture Problem BINARY means 1 and 0, so how represent 1 and -1 PRN

PRN 0x3 value go in as C15 and C16 0011 -- C15 = -1 j C16 = +1 + j

Loading the THR registers Standard XCORRS instruction Lower 46 bits ofTHR1:0 R7:3

TR0, TR1, TR2 . TR15 TR15:0 = XCORRS(R7:4, THR3:0) TR0 += D7 * C22 + D6 * C21 + 8 taps TR1 += D7 * C21 + D6 * C20 + 8 taps .. ..

TR15 += D7 * C7 + D6 * C6 + 8 taps 64 taps each cycles on both x and y compute blocks if set up properly 128 taps each cycle these are complex taps compared to 2 real taps / cycle after lab. 3 TR15:0 = XCORRS(R7:4, THR3:0) (CUT -7)

TR0 += D7 * C22 + D6 * C21 + 8 taps TR1 += D7 * C21 + D6 * C20 + 8 taps .. .. TR14 += D7 * C8 + D6 * C7 2 taps TR15 += D7 * C7

1 taps TR15:0 = XCORRS(R7:4, THR3:0) (CUT -15) TR0 += D7 * C22 + D6 * C21 8 taps TR1 += D7 * C21 + D6 * C20 7 taps .. TR7 += D7 * C15

1 taps TR0 += 0 0 taps .. TR15 += 0 0 taps TR15:0 = XCORRS(R7:4, THR3:0) (CUT +15)

TR0 += 0 0 taps TR1 += D0 *C14 1 taps .. TR7 += D6 * C14 + D5 * C13 + 7 taps TR0 += D7 * C14 + D6 * C13 + 8 taps

.. TR15 += D7 * C7 + D6 * C7 + 8 taps TR15:0 = XCORRS(R7:4, THR3:0) (CUT -15) TR0 += D7 * C22 + D6 * C21 8 taps TR1 += D7 * C21 + D6 * C20 7 taps ..

TR7 += D7 * C15 1 taps TR0 += 0 0 taps .. TR15 += 0 0 taps

TR15:0 = XCORRS(R7:4, THR3:0) (CUT -7) TR0 += D7 * C22 + D6 * C21 + 8 taps TR1 += D7 * C21 + D6 * C20 + 8 taps .. .. TR14 += D7 * C8 + D6 * C7 2 taps

TR15 += D7 * C7 1 taps TR15:0 = XCORRS(R7:4, THR3:0) TR0 += D7 * C22 + D6 * C21 + 8 taps TR1 += D7 * C21 + D6 * C20 + 8 taps ..

.. TR15 += D7 * C7 + D6 * C6 + 8 taps 64 taps each cycles on both x and y compute blocks if set up properly 128 taps each cycle these are complex taps compared to 2 real taps / cycle after lab. 3

Problem at this point -- THR3:2 empty Need to bring in more PRN values TR15:0 = XCORRS(R7:4, THR3:0) (CUT +15) TR0 += 0 0 taps TR1 += D0 *C14

1 taps .. TR7 += D6 * C14 + D5 * C13 + 7 taps TR0 += D7 * C14 + D6 * C13 + 8 taps .. TR15 += D7 * C7 + D6 * C7 + 8 taps

Final Result Maximum correlation occurs every 3 shifts which is what we expect Is it the correct results Correlation result expected In step

-1 +0j, 1 + 0j, 1 + 0j, 16 times with -1 - j, 1 + j, 1 + j, 16 times -1 * -1 + 1 * 1 + 1 * 1 + 48 = 0x30 -- Real component

Out of step -1 +0j, 1 + 0j, 1 + 0j, 16 times with 1 + j, 1 + j, -1 - j, 16 times -1 * 1 + 1 * 1 + 1 * -1 + -16 = -0x10 = 0xFFF0

Final Result 1) Now have correlation values for 16 shifts in TR registers store to external memory Repeat for all other necessary shifts find the maximum 2) Now make parallel in SISD mode 3) Now make parallel in SIMD

Take home Quiz 4 Old requirement Do Lab 4 with FFT and XCORRS Write tests and demonstrate XCORRS used for correlation a) Not parallel instruction format but in a loop b) Now do in optimized SISD mode c) Now do in optimized SIMD mode

## Recently Viewed Presentations

• PREFACE TO THIS BOOK. WhentheDirectoriscalledtoatabletodealwithapotentialproblem,hemay beexpectedtohandle. a ...
• Partner Facing Tool for Organizing, Tracking & Ordering Cisco Service Contracts. Use the Reseller Services Portal to View Renewal Auto Quotes & Track Closure. Improve Renewal Rate. Training Webinars Available. Reseller Services Portal.
• Arial MS Pゴシック Osaka Times Calibri Times New Roman Tahoma Verdana 굴림 Wingdings Blank Presentation Microsoft Office Excel Chart Microsoft Visio Drawing Slide 1 Slide 2 Re-engagement in Agriculture (some examples) Slide 4 Slide 5 Slide 6 Slide 7 Slide...
• An Inspector CallsCharacterisation. Friday, 23 June 2017 " This girl. Eva Smith, was one of them, she'd had a lot to say - far too much - so she had to go." " It's the only time I've ever done...
• Consistent with observations during the Holocene, changes in 21st century climate and wildfire regimes altered vegetation composition and ecosystem function across Alaska. The relative dominance of deciduous plants nearly doubled, accounting for 58% of Alaska ecosystem net primary productivity by...
• Sequencing. A problem in which it is necessary to determine the orders or sequences of jobs in which they should be performed so as to minimize the total effectiveness on the sum of the pertinent costs is known as sequencing...
• „Event marketing jako nowa forma procesów komunikacyjnych." Wydarzenia charytatywne jako sposób komunikacji tożsamości przedsiębiorstwa. Konferencja 31.03.2008 Wyższa Sz
• Valentine By Carol Ann Duffy