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
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 ▪ Preamble Detection ▪ Frequency Offset Estimation ▪ Channel Estimation ▪ Equalization ▪ Results/Conclusions
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?
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
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
Receiver System Received samples r[n] frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector
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
Preamble Detection frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector
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
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
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
Preamble Detection L NCPDI-1 [u]
Preamble Detection L NCPDI-1 [u] L NCPDI-1 [u+1]
Preamble Detection L NCPDI-1 [u] L NCPDI-1 [u+1] L NCPDI-1 [u+2]
Preamble Detection L NCPDI-1 [u] L NCPDI-1 [u+1] L NCPDI-1 [u+2] L NCPDI-1 [u+L q ]
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
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
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
Frequency Offset Estimation frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector
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
Channel Estimation frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector
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
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
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
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
Equalization frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector
Equalization ▪ Implementing four equalizers 1. Zero-Forcing 2. MMSE in time 3. MMSE in frequency 4. Constant Modulus Algorithm (Constant Envelope)
Equalization ▪ Zero-Forcing and MMSE equalizers require matrix inversion to evaluate (naïve solution)
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
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 † 𝜏 𝑡
Equalization ▪ Levinson Durbin gives us solution in O(n^2) time ▪ Runs fast enough for real-time solution
Detection frequency SOQPSK- channel preamble estimate compute TG h ( n ) estimator channel detector equalizer noise data equalizer detector
Detection ▪ For CPM waveform, optimal thing to do is use Viterbi algorithm for detection ▪ Viterbi can be complicated to implement ▪ Need something simpler
Detection ▪ Use OQPSK detector to make final bit decisions
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
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
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
Explore More Topics
Stay informed with curated content and fresh updates.