Real-Time Telemetry Group Variant of Shaped Offset Quadrature Phase - - PowerPoint PPT Presentation

real time telemetry group
SMART_READER_LITE
LIVE PREVIEW

Real-Time Telemetry Group Variant of Shaped Offset Quadrature Phase - - PowerPoint PPT Presentation

Real-Time Telemetry Group Variant of Shaped Offset Quadrature Phase Shift Keying (SOQPSK-TG) Communications with CUDA Andrew D. McMurdie Brigham Young University Outline Telemetry Application SOQPSK-TG & iNET Receiver System


slide-1
SLIDE 1

Real-Time Telemetry Group Variant of Shaped Offset Quadrature Phase Shift Keying (SOQPSK-TG) Communications with CUDA

Andrew D. McMurdie Brigham Young University

slide-2
SLIDE 2

Outline

▪ Telemetry Application ▪ SOQPSK-TG & iNET ▪ Receiver System ▪ Preamble Detection ▪ Frequency Offset Estimation ▪ Channel Estimation ▪ Equalization ▪ Results/Conclusions

slide-3
SLIDE 3

Telemetry Application

▪ Building a system for the test range at Edwards Air Force Base ▪ Telemetry receivers won’t lock because of multipath - plane can’t get clearance to take off ▪ Need real-time equalizer to help capture telemetry ▪ Can we build SDR in GPU to solve problem?

slide-4
SLIDE 4

SOQPSK-TG

▪ Shaped Offset Quadrature Phase Shift Keying – Telemetry Group ▪ Partial response CPM waveform with h=.5, raised cosine pulse shape ▪ TG version has constrained ternary alphabet with precoding function

slide-5
SLIDE 5

iNET Formatting

▪ integrated Network Enhanced Telemetry (iNET) ▪ Specifies packetized transmission mode ▪ Preamble, Attached Sync Marker, LDPC codeword

Preamble 128 bits ASM 64 bits Data 6144 bits

CD98 CD98 CD98 CD98 CD98 CD98 CD98 CD98

slide-6
SLIDE 6

Receiver System

channel h(n) SOQPSK- TG

noise

estimate channel compute equalizer equalizer data detector preamble detector frequency estimator

Received samples r[n]

slide-7
SLIDE 7

Receiver System

channel h(n) SOQPSK- TG

noise

estimate channel compute equalizer equalizer data detector preamble detector frequency estimator

Received samples r[n] Implemented on GPU

slide-8
SLIDE 8

Preamble Detection

channel h(n) SOQPSK- TG

noise

estimate channel compute equalizer equalizer data detector preamble detector frequency estimator

slide-9
SLIDE 9

Preamble Detection

▪ Must be robust in presence of unknown multipath, unknown frequency and phase offset ▪ All detectors prototyped were Maximum-Likelihood (ML) detectors ▪ The optimal detectors were too computationally complex to allow us to run in real-time

slide-10
SLIDE 10

Preamble Detection Function

▪ Non-Coherent Post Detection Integration (NCPDI) ▪ r(n) are received SOQPSK-TG samples ▪ p(n) are samples of local (good) copy of preamble ▪ Function evaluated over a packet’s worth of data

slide-11
SLIDE 11

Preamble Detection

▪ Leveraged preamble structure ▪ q(l) are samples of modulated CD98 sequence

Preamble 128 bits q(l) q(l) q(l) q(l) q(l) q(l) q(l) q(l)

slide-12
SLIDE 12

Preamble Detection

LNCPDI-1[u]

slide-13
SLIDE 13

Preamble Detection

LNCPDI-1[u] LNCPDI-1[u+1]

slide-14
SLIDE 14

Preamble Detection

LNCPDI-1[u] LNCPDI-1[u+1] LNCPDI-1[u+2]

slide-15
SLIDE 15

Preamble Detection

LNCPDI-1[u] LNCPDI-1[u+1] LNCPDI-1[u+2] LNCPDI-1[u+Lq]

slide-16
SLIDE 16

Preamble Detection

LNCPDI-1[u] LNCPDI-1[u+1] LNCPDI-1[u+2] LNCPDI-1[u+Lq] But wait! We’ve computed these correlations previously

slide-17
SLIDE 17

Preamble Detection

LNCPDI-1[u] LNCPDI-1[u+1] LNCPDI-1[u+2] LNCPDI-1[u+Lq] And these ones, too LNCPDI-1[u+Lq+1]

slide-18
SLIDE 18

Preamble Detection

▪ Modified kernel to first calculate all inner sums

  • nce, perform outer sums second

▪ Increased speed by a factor of 20 ▪ Preamble detector was no longer processing bottleneck

slide-19
SLIDE 19

Frequency Offset Estimation

channel h(n) SOQPSK- TG

noise

estimate channel compute equalizer equalizer data detector preamble detector frequency estimator

slide-20
SLIDE 20

Frequency Offset Estimation

▪ Once we have preamble locations, this is simply a different correlation over inner six q(l) sequences ▪ Performed on all packets in our data buffer at once ▪ Very efficient on GPU

Preamble q(l) q(l) q(l) q(l) q(l) q(l) q(l) q(l)

slide-21
SLIDE 21

Channel Estimation

channel h(n) SOQPSK- TG

noise

estimate channel compute equalizer equalizer data detector preamble detector frequency estimator

slide-22
SLIDE 22

Channel Estimation

▪ Is a vector matrix multiplication ▪ Use cuBLAS cgemm() function to evaluate

channel h(n) SOQPSK- TG

noise

estimate channel preamble detector frequency estimator

slide-23
SLIDE 23

Channel Estimation

▪ Is a vector matrix multiplication ▪ Use cuBLAS cgemm() function to evaluate

channel h(n) SOQPSK- TG

noise

estimate channel preamble detector frequency estimator

slide-24
SLIDE 24

Channel Estimation

▪ Is a matrix-vector multiplication ▪ Use cuBLAS cgemm() function to evaluate

channel h(n) SOQPSK- TG

noise

estimate channel preamble detector

Preamble ASM

Can use knowledge of x[n] to estimate channel x[n]

slide-25
SLIDE 25

Channel Estimation

▪ Build convolution matrix X with x[n] ▪ Use left-sided pseudo-inverse to solve for h ▪ We precompute and store 𝑠 𝑜 = 𝑦 𝑜 ∗ ℎ 𝑜 + 𝑥[𝑜] 𝒔 = Xh + w 𝒊 = 𝒀∗𝒀 −1𝒀∗𝒔 𝒀∗𝒀 −1𝒀∗

slide-26
SLIDE 26

Equalization

channel h(n) SOQPSK- TG

noise

estimate channel compute equalizer equalizer data detector preamble detector frequency estimator

slide-27
SLIDE 27

Equalization

▪ Implementing four equalizers

  • 1. Zero-Forcing
  • 2. MMSE in time
  • 3. MMSE in frequency
  • 4. Constant Modulus Algorithm (Constant Envelope)
slide-28
SLIDE 28

Equalization

▪ Zero-Forcing and MMSE equalizers require matrix inversion to evaluate (naïve solution)

slide-29
SLIDE 29

Equalization

▪ Using batched processing and solving for inverse through LU decomposition, could not process in real-time ▪ Can’t use bank of GPUs to solve ▪ Stopped our experiments; don’t have results yet

slide-30
SLIDE 30

Equalization

▪ Matrices to be inverted are all Toeplitz ▪ Can use recursive Levinson-Durbin algorithm to solve linear equation

(𝐈†𝐈)𝑑𝑎𝐺= 𝐈†𝑣𝑜0 (𝐇𝐇† + 𝜏 w

2

𝜏𝑡

2 I𝑀2+𝑀1+1)𝑑𝑁𝑁𝑇𝐹= g†

slide-31
SLIDE 31

Equalization

▪ Levinson Durbin gives us solution in O(n^2) time ▪ Runs fast enough for real-time solution

slide-32
SLIDE 32

Detection

channel h(n) SOQPSK- TG

noise

estimate channel compute equalizer equalizer data detector preamble detector frequency estimator

slide-33
SLIDE 33

Detection

▪ For CPM waveform, optimal thing to do is use Viterbi algorithm for detection ▪ Viterbi can be complicated to implement ▪ Need something simpler

slide-34
SLIDE 34

Detection

▪ Use OQPSK detector to make final bit decisions

slide-35
SLIDE 35

Results

▪ We measure system performance by bit error rate (BER) ▪ Send PN11 pseudo-random sequence for data ▪ If you’d like the results of the experiments or to know more about the GPU implementation, contact me by email

slide-36
SLIDE 36

Conclusions

▪ GPU allows us to construct a real-time Software Defined Radio system for SOQPSK-TG communications ▪ We gain the ability to run several equalizers at

  • nce with much less equipment

▪ GPU offers flexibility in implementing new features

slide-37
SLIDE 37

Questions? Andrew McMurdie

amcmurdie@gmail.com

Please complete the Presenter Evaluation sent to you by email or through the GTC Mobile App. Your feedback is important!