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!

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend