real time telemetry group
play

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


  1. Real-Time Telemetry Group Variant of Shaped Offset Quadrature Phase Shift Keying (SOQPSK-TG) Communications with CUDA Andrew D. McMurdie Brigham Young University

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

  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?

  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

  5. iNET Formatting ▪ integrated Network Enhanced Telemetry (iNET) ▪ Specifies packetized transmission mode ▪ Preamble, Attached Sync Marker, LDPC codeword Preamble ASM Data 128 bits 64 bits 6144 bits CD98 CD98 CD98 CD98 CD98 CD98 CD98 CD98

  6. Receiver System Received samples r[n] frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector

  7. Receiver System Implemented on GPU Received samples r[n] frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector

  8. Preamble Detection frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector

  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

  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

  11. Preamble Detection Preamble 128 bits q(l) q(l) q(l) q(l) q(l) q(l) q(l) q(l) ▪ Leveraged preamble structure ▪ q(l) are samples of modulated CD98 sequence

  12. Preamble Detection L NCPDI-1 [u]

  13. Preamble Detection L NCPDI-1 [u] L NCPDI-1 [u+1]

  14. Preamble Detection L NCPDI-1 [u] L NCPDI-1 [u+1] L NCPDI-1 [u+2]

  15. Preamble Detection L NCPDI-1 [u] L NCPDI-1 [u+1] L NCPDI-1 [u+2] L NCPDI-1 [u+L q ]

  16. Preamble Detection L NCPDI-1 [u] L NCPDI-1 [u+1] L NCPDI-1 [u+2] L NCPDI-1 [u+L q ] But wait! We’ve computed these correlations previously

  17. Preamble Detection L NCPDI-1 [u] L NCPDI-1 [u+1] L NCPDI-1 [u+2] L NCPDI-1 [u+L q ] L NCPDI-1 [u+L q +1] And these ones, too

  18. Preamble Detection ▪ Modified kernel to first calculate all inner sums once, perform outer sums second ▪ Increased speed by a factor of 20 ▪ Preamble detector was no longer processing bottleneck

  19. Frequency Offset Estimation frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector

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

  21. Channel Estimation frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector

  22. Channel Estimation ▪ Is a vector matrix multiplication ▪ Use cuBLAS cgemm() function to evaluate SOQPSK- channel preamble frequency estimate TG h ( n ) detector estimator channel noise

  23. Channel Estimation ▪ Is a vector matrix multiplication ▪ Use cuBLAS cgemm() function to evaluate frequency SOQPSK- channel preamble estimate estimator TG h ( n ) detector channel noise

  24. Channel Estimation ▪ Is a matrix-vector multiplication ▪ Use cuBLAS cgemm() function to evaluate estimate channel SOQPSK- preamble Preamble ASM channel h ( n ) TG detector noise x[n] Can use knowledge of x[n] to estimate channel

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

  26. Equalization frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector

  27. Equalization ▪ Implementing four equalizers 1. Zero-Forcing 2. MMSE in time 3. MMSE in frequency 4. Constant Modulus Algorithm (Constant Envelope)

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

  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

  30. Equalization ▪ Matrices to be inverted are all Toeplitz ▪ Can use recursive Levinson-Durbin algorithm to solve linear equation (𝐈 † 𝐈)𝑑 𝑎𝐺 = 𝐈 † 𝑣 𝑜 0 2 (𝐇𝐇 † + 𝜏 w 2 I 𝑀 2 +𝑀 1 +1 )𝑑 𝑁𝑁𝑇𝐹 = g † 𝜏 𝑡

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

  32. Detection frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector

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

  34. Detection ▪ Use OQPSK detector to make final bit decisions

  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

  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 once with much less equipment ▪ GPU offers flexibility in implementing new features

  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!

Recommend


More recommend