Skip to content

NustyFrozen/QPSK-Modulator-Demodulator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C# QPSK DE-/MODULATOR

This repository is a working prototype of QPSK (Quadrature phase shift keying) modulator and Demodulator in C# (with channel impairment compensation: unstable transcievers LO, multipath,etc...)

Simulations:

SDR Test

moddemodoversdr.mp4

RF Simulation

testfulldemodchain.mp4

capabilities

  • the modulator and demodulator both uses RRC for ISI mitagation, message framing to have consistent "packets",differential encoding for phase ambiguity, and TSC (for stabling receiver PLL & symbol sync before starting to send actual data)
  • you may send raw data as byte[], raw text or string of bytes (0101...)
  • FIR uses SIMD techniques, all models try to implement as much as possible data as span (faster for iteration)
  • demod chain: Band-Edge FLL -> MF(RRC) -> Mueller muller (TED) + cubic lagrange interpolator -> Costas Loop -> decode message frame

Solution tree:

QPSK (main module):

  • QPSKDeModulator
  • QPSKModulator
  • Band-Edge FLL (Frequency Locked loop)
  • General FIRFilter with group delay
  • general RRC FIR taps generator
  • MuellerMuller TED (time error detector) + symbol sync based on TED with linear interpolator
  • Costas Loop PLL (Phase Locked Loop)
  • HelperFunctions for complex[] and float[] functions

TestBench

  • ModDemodOverSDR - sdr over the air test (tested on USRP b205 mini) + ZMQ -> Gnuradio View of the results with data framing
  • testFullDemodChain - simulation of an SDR and the demodulation chain using two unstable LO and each demodulation block seperatley + ZMQ -> Gnuradio View of the results
  • testAtDataLevel -> simple test of the mod and demod blocks and check for bit-Errors with two unstable LO

dependencies:

  • ZeroMQ
  • MathNet
  • PothosWare SoapySDR .NET bindings

N.B

this project is heavily based on the course of "Learn SDR with Prof Jason" by HarveyMuddPhysicsElectronicsLab

Releases

No releases published

Packages

 
 
 

Contributors