software defined radiocci.usc.edu/wp-content/uploads/2017/09/class-9-qpsk... · 2017-09-28 · real...

27
SOFTWARE DEFINED RADIO USR SDR WORKSHOP, SEPTEMBER 2017 PROF. MARCELO SEGURA SESSION 5: QPSK TX/RX IMPLEMENTATION 1

Upload: others

Post on 09-Apr-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

SOFTWARE DEFINED RADIOUSR SDR WORKSHOP, SEPTEMBER 2017

PROF. MARCELO SEGURA

SESSION 5: QPSK TX/RX IMPLEMENTATION

1

Page 2: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

QPSK

• In the case M-PSK modulation, due to rotational symmetry, the synchronization could lock to any of the M

phases.

• To solve this situation, differential encoding can be used or Data Aided rotation.

DR ING MARCELO SEGURA

2

PHASE AMBIGUITY

Page 3: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

QPSK

• Differential encoding maps the data to the phase shift instead to the absolute phase.

• For BPSK, M=2, is very simple implementation using an XNOR

DR ING MARCELO SEGURA

3

DIFFERENTIAL ENCODING

Page 4: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

QPSK

• If we have a phase error of π, the encoded and decoded data is as follow:

• ENCODER

• DECODER

DR ING MARCELO SEGURA

4

DIFFERENTIAL ENCODING: BPSK

Page 5: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

QPSK

• M=4

DR ING MARCELO SEGURA

5

DIFFERENTIAL ENCODING: QPSK

Page 6: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

QPSK

• Example

• ENCODER Phase error π

• DECODER

DR ING MARCELO SEGURA

6

DIFFERENTIAL ENCODING: QPSK

Page 7: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

QPSK

• From now we just work on the PHY layer, then we need to move to the Data Link Layer.

DR ING MARCELO SEGURA

7

COMM PROTOCOL

Page 8: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• The basic task is to detect the start of a signal information. If we are transmitting text, encoded as ASCII,

we need to detect the sequence start to decode properly.

DR ING MARCELO SEGURA

8

FRAME SYNC

Page 9: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• The Header transport the information useful for synchronization.

• Advantages: in cases of error just re-transmite the lost part.

DR ING MARCELO SEGURA

9

FRAME SYNC

Page 10: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• Usually the Header contain a Preamble, that is a sequence with good autocorrelation properties.

• The preamble sequence is very important for start detection.

• BARKER sequence is one with have this characteristics.

DR ING MARCELO SEGURA

10

FRAME SYNC: PREAMBLE

Page 11: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• The receiver implement a correlator, FIR with inverted coefficients, to detect the frame start, usually called

Start Frame Delimiter (SFD).

DR ING MARCELO SEGURA

11

FRAME SYNC: CORRELATOR

Page 12: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• Depends on the type of communication systems, will be the load that header will introduce.

DR ING MARCELO SEGURA

12

FRAME SYNC

Page 13: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• In order to get better correlation peaks, the sequence can be repeated, this also reduce efficiency.

• Ex Barker N=26, Frame=200, Payload=174, efficiencies 174/200=87%

DR ING MARCELO SEGURA

13

FRAME SYNC

Page 14: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• A threshold should be selected to capture the payload when the correlator output cross that level.

DR ING MARCELO SEGURA

14

FRAME SYNC

Page 15: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• Tx Model

• Bit Generation block:

• Data Frame = 200 bits

• Header= 2 Baker 13 sequences (26 bits)

• DataLenght= 200-26= 174bits

• MessageLength=7bits (Ascci) x 15 (Hello World xxx)= 105 bits

• Random bits to improve Scramble= 69 (Bernoulli Gen)

• Scramble: use to reduce the number of consecutives ‘1’ or ‘0’, helps the synchronization.

DR ING MARCELO SEGURA

15

QPSK TX

Page 16: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• Bit generator

DR ING MARCELO SEGURA

16

QPSK TX

Page 17: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

DR ING MARCELO SEGURA

17

QPSK RX

AGC: The AGC is placed before the Raised Cosine Receive Filter so that the signal amplitude can be measured

with an oversampling factor of four.

RRC: in this implementation decimate by 2

Page 18: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• FFT implementation

DR ING MARCELO SEGURA

18

QPSK RX: COARSE FREQUENCY

Page 19: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

DR ING MARCELO SEGURA

19

QPSK RX: FINE FREQUENCY

Page 20: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

DR ING MARCELO SEGURA

20

QPSK RX: TIME RECOVERY

Page 21: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• Interpolation Filter

DR ING MARCELO SEGURA

21

QPSK RX: TIME RECOVERY

Page 22: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• SYMBOL RECOVERY

DR ING MARCELO SEGURA

22

QPSK RX: TIME RECOVERY

Page 23: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

DR ING MARCELO SEGURA

23

QPSK RX: DATA DECODING

Page 24: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• FRAME SYNC

DR ING MARCELO SEGURA

24

QPSK RX: DATA DECODING

Page 25: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• Frame Sync

DR ING MARCELO SEGURA

25

QPSK RX: DATA DECODING

From Barker detector

Page 26: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• Phase ambiguity correction: Data aided

DR ING MARCELO SEGURA

26

QPSK RX: DATA DECODING

Page 27: SOFTWARE DEFINED RADIOcci.usc.edu/wp-content/uploads/2017/09/CLASS-9-QPSK... · 2017-09-28 · real time qpsk •In order to get better correlation peaks , the sequence can be repeated,

USC SDR WORKSHOP

REAL TIME QPSK

• Header remove & Descramble

• Send data to workspace for ASCII conversion

DR ING MARCELO SEGURA

27

QPSK RX: DATA DECODING