Software Defined Radio Engineering course sampler

49
07/03/2022 John Reyland, PhD

description

This 3-day course is designed for digital signal processing engineers, RF system engineers, and managers who wish to enhance their understanding of this rapidly emerging technology. Most topics include carefully described design analysis, alternative approaches, performance analysis, and references to published research results. Many topics are illustrated by Matlab simulation demos. An extensive bibliography is included.

Transcript of Software Defined Radio Engineering course sampler

Page 1: Software Defined Radio Engineering course sampler

04/12/2023 John Reyland, PhD

Page 2: Software Defined Radio Engineering course sampler

04/12/2023 John Reyland, PhD 2

Software Defined Radio EngineeringDay 1:

• SDR Introduction • SDR Approaches:

• Software Communications Architecture (SCA)• NASA STRS• GNU Radio and Simulink

• SDR Advantage/Disadvantage• Digital Modulation for SDR

Day 2:

Day 3:

• RF Channels• Channel Equalization• Multiple Access Techniques• Source and Channel Coding

• Analog Signal Processing• Digital Signal Processing Stop me

and ask!!!!

Page 3: Software Defined Radio Engineering course sampler

04/12/2023 John Reyland, PhD 3

Software Defined Radio EngineeringBasic High Level Structure of a Software Defined Radio:

Page 4: Software Defined Radio Engineering course sampler

04/12/2023 John Reyland, PhD 4

Software Defined Radio EngineeringThe SDR Challenge:

Page 5: Software Defined Radio Engineering course sampler

04/12/2023 John Reyland, PhD 5

Software Defined Radio EngineeringEconomical approach to getting started in SDR

Not shown: GPP feeds back setup commands to reconfigure the radio

Page 6: Software Defined Radio Engineering course sampler

04/12/2023 John Reyland, PhD 6

Software Defined Radio EngineeringWhat can you make from these?

• Software defined radio?

• A radio that has a well defined configuration file system that can be setup for any signal within the limits of available hardware. The key concept is that hardware and configuration files are flexible enough to be used in the future for signals and were not anticipated when the radio was first built.

• Switch defined radio?

• A radio that requires the user to choose between a set of explicitly provided signal functionality. Also called a multimode radio.

• Software designed radio?

• A radio that depends on programed components to process a predefined signal. A pager or Gen 2 cell phone is an example.

Page 7: Software Defined Radio Engineering course sampler

Space Telecommunications Radio System (STRS)

04/12/2023 John Reyland, PhD

Goal: A single architecture capable of supplying the range of NASA mission classes

NASA requirements range from a small highly optimized radio with severe size, weight and power constraints to complex radios with multiple operating frequencies and high data rates. From [S13]:

“The STRS standard provides a common, consistent framework to develop, qualify, operate and maintain complex reconfigurable and reprogrammable radio systems. ...

The standard focuses on the key architecture components and subsystems by describing their functionality and interfaces for both the hardware and the software including waveform applications. “

7

Page 8: Software Defined Radio Engineering course sampler

Space Telecommunications Radio System (STRS)

04/12/2023 John Reyland, PhD 8

Page 9: Software Defined Radio Engineering course sampler

Software Communications Architecture (SCA)

A personal computer is based on an architectural infrastructure that establishes an set of common practices and interfaces for writing applications.

04/12/2023 John Reyland, PhD

Can a radio be designed like this?

The US Government seems convinced!

Page 10: Software Defined Radio Engineering course sampler

Software Communications Architecture (SCA)

A goal of SCA is, from [S2]:

“Provide for the portability of applications between different SCA compliant implementations.”

SCA seeks to save time and money by enabling deployment of SCA compliant waveform applications on radio hardware manufactured by various companies.

04/12/2023 John Reyland, PhD

Page 11: Software Defined Radio Engineering course sampler

GNU Radio and Simulink

04/12/2023 John Reyland, PhD

Simulink and GNU Radio comparison:

Simulink runs sample by sample (or frame by frame) simulation steps. Time steps are locked to the fastest sample rate (however, not all blocks need to change state at this rate). For each time step, a simulation state is updated. Subtle but important: simulation states are updated as fast as the CPU can run, but they still match how the state progression in a hardware sampling clock implementation such as an FPGA.

GNU Radio block diagrams achieve high speed simulation by generating the largest possible batch of output samples when the scheduler determines the input samples are available. GNU Radio block processing is event driven, an event (i.e. output data ready) in an upstream block triggers processing in a downstream block. Items can have metadata time tags, however this is an add-on that slows down processing..

Both Simulink and GNU Radio are developed in BDEs running on a PC. However, Simulink seems to have been able to take over a large part of the FPGA development market.

11

Page 12: Software Defined Radio Engineering course sampler

SDR Advantages

04/12/2023 John Reyland, PhD

SDR Makes Possible Adaptive Coding and Modulation (ACM):

20

1 sPC WLogWN

W = Channel bandwidth limit (Hz)C = Input data rate, not including coding (bits/second)Ps = Signal power (watts)N0 = Noise power spectral density (watts/Hz) R = Actual channel data rateR<C for arbitrarily low error rate

“Given a discrete memoryless channel [i.e. each signal symbol is perturbed by Gaussian noise independently of the noise effects on all other symbols] with capacity C bits per second, and an information source with rate R bits per second, where R<C, there exists a code such that the output of the source can be transmitted over the channel with an arbitrarily small probability of error.”

12

Page 13: Software Defined Radio Engineering course sampler

SDR Advantages

04/12/2023 John Reyland, PhD

Adaptive Coding and Modulation (ACM):

ACM attempts to take advantage of the extra BW efficiency available when link conditions improve

100

10 2 1C

WbE WLog

N C

0

signalb

noise

P CE

N P W

Shannon limit graph is based on equations from [A19], page 388

13

Page 14: Software Defined Radio Engineering course sampler

SDR Advantages

04/12/2023 John Reyland, PhD

Adaptive Coding and Modulation:

Given a current and slowly changing set of channel conditions, select a combination of modulation and channel coding for best throughput. Practical ACM has two basic requirements:

1. Current channel conditions must be accurately known and must be slowly changing. This works best where the receiver can report performance back to the transmitter over a return channel. Open loop approaches, based on weather conditions or link distance computed from GPS, may also be possible. In any case long reporting delays make the system less stable. Note also that ACM is probably restricted to slow fading channels

2. The radio must support multiple waveforms at multiple data rates.

14

Page 15: Software Defined Radio Engineering course sampler

04/12/2023

SDR Modulation Types

A standard GMSK transmitter design, let’s discuss each block separately

Page 16: Software Defined Radio Engineering course sampler

SDR Modulation Types

04/12/2023 © John Reyland, PhD

Here is the output spectrum showing orthogonal channels spaced 1/12TS apart

Note that sampling is faster than the original symbol rate: fsample = 4/3Ts

0 2

SMT16

sampleS

fMT

2

SMT

8

SMT

8

SMT

16sample

S

fMT

16

Page 17: Software Defined Radio Engineering course sampler

SDR Modulation Types

04/12/2023 © John Reyland, PhD

We take advantage of the cyclic nature of the IFFT output by adding a block of endsamples to the beginning of each block shifted out.

This prefix has no useful data, however it’s starting phase will be discontinuous withthe phase of the previous block. This discontinuity results in a transient that the receiver can ignore due to the prefix.

Consider that each block has M user symbol streams on M orthogonal channels.This means that each symbol in each channel has it’s own prefix, thus multipath echos occurring during the prefix can be ignored by the receiver

17

Page 18: Software Defined Radio Engineering course sampler

SDR Modulation Types

04/12/2023 © John Reyland, PhD

Here is how the OFDM circuit is changed to add the cyclic prefix

18

Page 19: Software Defined Radio Engineering course sampler

RF Propagation Channels

04/12/2023 © John Reyland, PhD

Diversity combining not difficult to implement on uplink:

What about down link from tower to handset? Handset cannot have multiple receive antennas spaced about ½ wavelength apart, about 16.6 cm at 900 MHz

19

Page 20: Software Defined Radio Engineering course sampler

RF Propagation Channels

04/12/2023 © John Reyland, PhD

Space-time coding [R12]:

Two base station antennas transmit the same symbols but with different coding. Receiver has only one antenna. Performance is equivalent to two receive antenna diversity combining using maximum ratio combining. This is using in LTE [R10] and wireless LANs [R11].

In this example, transmit signal is:

Symbol Time: Symbols ready to transmit

Transmit antenna 0 Transmit antenna 1

0 s(0), s(1) s(0) s(1)

1 -s(1)* s(0)*

2 s(2), s(3) s(2) s(3)

3 -s(3)* s(2)*

… …. … …

0 1( ) ,s t s s

20

Page 21: Software Defined Radio Engineering course sampler

RF Propagation Channels

04/12/2023 © John Reyland, PhD

* *0 1

* *1 0

(0) (0) (1)

(1) (0) (1)

s h r h r

s h r h r

Time: Symbols ready to transmit

Transmit antenna 0

Transmit antenna 1

0 s(0), s(1) s(0) s(1)

1 -s(1)* s(0)*

2 s(2), s(3) s(2) s(3)

3 -s(3)* s(2)*

… …. … …

0 1

* *0 1

(0) (0) (1)

(1) (1) (0)

r h s h s

r h s h s

Signal at receive antenna during the first two symbol times

Receive decoder has already estimated the channels and forms these signals

21

Page 22: Software Defined Radio Engineering course sampler

04/12/2023

RF Propagation Channels

.( )t

( )v t

( ) ( ) cos ( )rv t v t t

Fixed inertial reference frame

Doppler frequency shift andtime dilation affect RF channelswhere receiver and/or transmitter are moving relative to each other

Page 23: Software Defined Radio Engineering course sampler

RF Propagation Channels

Some Definitions:

04/12/2023

c Speed of light, 3e8 meters/second

cf Carrier frequency (Hz)( )t Angle between receiver’s forward velocity and

line of sight between transmitter and receiver

( ) ( ) cos ( )rv t v t t Velocity of receiver relative to transmitter

( )df t Doppler carrier frequency shift at receiver

( )tT t Transmit symbol time

( )rT t Receive symbol time

Page 24: Software Defined Radio Engineering course sampler

RF Propagation Channels

Example 1:

04/12/2023

cf 1 GHz = 1e+9 Hz

( )v t v 350 meters/second (constant, approx. Mach 1)

( )t 0 (constant, worst case for Doppler shift)

rv v Velocity of receiver relative to transmitter

350 10(350)( ) 1 9 1167

3 8 3d d c

vf t f f e Hz

c e

Doppler carrier frequency shift at receiver

1( ) 1 6

1 6t tT t T ee

Transmit symbol time

350( ) (1 6) 1 (1 6)(1.000001167)

3 8t

r r t

vTT t T T e e

c e

Receive symbol time

This means receive symbol time increases by 0.0001167%. - called time dilation

Page 25: Software Defined Radio Engineering course sampler

04/12/2023

RF Propagation Channelsd = distance between transmitter and receiver at leading edge of transmit pulsed+vTt = distance between transmitter and receiver at trailing edge of transmit pulse

Transmit Pulse, duration = Tt

Received Pulse, duration = Tr

d

c

td vT

c

Propagation time at leading edge of transmit pulse

Propagation time at trailing edge of transmit pulse

t td vT vTd

c c c

Additional time duration of pulse at the receiver

1tt t

vT vT T

c c

Dilated time duration of pulse at the receiver

Page 26: Software Defined Radio Engineering course sampler

04/12/2023

Multiple Access Techniques

Transmitter applies spreading chip sequence:

Receiver applies known transmitter chip sequence to remove spreading:

Page 27: Software Defined Radio Engineering course sampler

04/12/2023

Multiple Access Techniques

Transmitter applies spreading chip sequence:

Receiver applies INCORRECT transmitter chip sequence, customer data is still spread:

Page 28: Software Defined Radio Engineering course sampler

04/12/2023

Multiple Access TechniquesDe-Spreading results in 10Log(4) = 6dB noise reduction, called Processing Gain:

I

Page 29: Software Defined Radio Engineering course sampler

04/12/2023

Multiple Access Techniques

I

Spread Spectrum is used for Multiple Access:

Page 30: Software Defined Radio Engineering course sampler

04/12/2023

Source and Channel CodingOverview: A real world example - an IS-95 cell phone handset voice channel

Long Code Generator

Long Code Mask

Symbol Repetition

BlockInterleaver

Speech Samples Walsh

Code Modulator

Data Burst Randomizer

To

Offs

et Q

PS

K M

odu

lato

r

1200 bps2400 bps4800 bps9600 bps

3600 bps7200 bps14400 bps28800 bps

28800 bps 28800 bps 307200 cps

1.22

88 M

cps

1.22

88 M

cps

8420

I-Chan Chips

1.2288 Mcps

Q-Chan Chips

1.2288 Mcps

Variable Rate

Vocoder

Convolutional Encoder

Rate 1/3, k=9

64000 bps

Source Coding

Removes Redundancy

Channel Coding

Adds Redundancy

Interleaving Isolates Errors

Spectrum Spreading

for processing

gain

We will discuss each block in detail …

Page 31: Software Defined Radio Engineering course sampler

04/12/2023

Source and Channel CodingStep 7: Traceback from largest final PM

© John Reyland, PhD

Note traceback bit sequence: 1 1 1 0 1, reversed = 1 0 1 1 1 = transmit bit sequence

31

Page 32: Software Defined Radio Engineering course sampler

Channel Equalization Techniques

04/12/2023John Reyland, PhD

Raised cosine pulses have an extremely important attribute: at the ideal sampling points, they don’t interfere with each other

Over an ideal channel, delayed transmit signal will be observed at the receiver.

Ideal channel: ( ) ( )received transmits t s t

Page 33: Software Defined Radio Engineering course sampler

Channel Equalization TechniquesIntersymbol Interference (ISI) comes about due to imperfect channels:

04/12/2023John Reyland, PhD

( ) 0.5 1 0.5 1receivey n x n x n x n

Green = postcursor, occurs prior to the main sampleBlue = main sample in this illustrationYellow = precursor, occurs after the main sample

Page 34: Software Defined Radio Engineering course sampler

Channel Equalization TechniquesFor this simple channel, we can calculate the effect of ISI:

04/12/2023John Reyland, PhD

x(n-1) x(n) x(n+1) Received signal, no ISI Received signal, ISI

-1 -1 -1 -1 -2 = -0.5-1-0.5

-1 -1 1 -1 -1 = -0.5-1+0.5

-1 1 -1 1 0 = -0.5+1-0.5

-1 1 1 1 1 = -0.5+1+0.5

1 -1 -1 -1 -1 = 0.5-1-0.5

1 -1 1 -1 0 = 0.5-1+0.5

1 1 -1 1 1 = 0.5+1-0.5

1 1 1 1 2 = +0.5+1+0.5

Primary effect of ISI is to degrade the BER . Simple BER calculations are no longer valid:

0

2(bit error) bEP Q

N

For the non-ISI case becomes much more complicated with ISI

Page 35: Software Defined Radio Engineering course sampler

Analog Signal Processing

04/12/2023 © John Reyland, PhD

Continuing on, we can calculate the receiver noise at the ADC input

RXnoisedBm NdBm RXdB RXdBP P NF G

Composite Noise Figure up to the VGA output:

31 2 410 0

0 0 1 0 1 2 0 1 2 3

11 1 110RxdB

FF F FNF Log F

G G G G GG G GG G

Composite Gain (max AGC gain): 10 0 1 2 3 410RXdBG Log G GG G G

35

Page 36: Software Defined Radio Engineering course sampler

Analog Signal Processing

04/12/2023 © John Reyland, PhD

Composite ADC noise floor consists of receiver noise plus ADC noise:

310

5 10RXnoisedBmP

RXnoise ADCV G R

Start by converting receiver noise at the ADC input to a voltage:

/20, 10 SNR

ADCnoise FS RMSV V

Given the ADC data sheet SNR rating, calculate the ADC generated input noise voltage:

G5 = 2 = transformer turns ratio. RADC = ADC input resistance

2 2NoiseFloorADC ADCnoise RXnoiseV V V

We assume these two are normally distributed random variables, therefore we sum the variance and take the square root to get back to a composite ADC noise floor voltage

Typically < 0.5 milliVolt. Note that both voltages are measured across RADC

36

Page 37: Software Defined Radio Engineering course sampler

Analog Signal Processing

04/12/2023 © John Reyland, PhD

ADC dynamic range details for one in-band signal:

10max

20log 8FS

ADC

VdB

V

Minimum SNR required by the modulation type:

Signal power must be backed off by peak to average power ratio (PAPR). For OFDM:

min1020log ADC

MinNoiseFloorADC

VSNR

V

Note: ADC driver amplifier must also have sufficient dynamic range

37

Page 38: Software Defined Radio Engineering course sampler

Digital Signal Processing

04/12/2023 John Reyland, PhD

Packet payloads generally use more complicated bandwidth efficient modulationA simple example where the packet data length is based on the interleaver size:

Page 39: Software Defined Radio Engineering course sampler

Digital Signal Processing

We will organize the SDR DSP discussion around the receiver architecture below:

04/12/2023 John Reyland, PhD

This setup is suitable for many linear modulations in common use today:

• Nonlinear demodulation would replace equalizer with phase discriminator and also probably not have carrier tracking

• CDMA would required additional code synchronization circuits• OFDM would require an FFT to separate subcarriers

Page 40: Software Defined Radio Engineering course sampler

Digital Signal Processing

04/12/2023 John Reyland, PhD

Intermediate center frequency Fif = 44.2368 MHz. Does this mean sampling frequency Fs > 88.4736 MHz ?

No, we can bandpass sample, by making Fs = (4/3) Fif = 58.9824 MHz. This has advantages:

• Lower sample rate => smaller sample buffers and fewer FPGA timing problems• Fif can be higher for the same sample rate, this may make frequency planning easier

Disadvantage is that noise in the range [Fs/2 Fs] is folded back into [0 Fs/2]

Page 41: Software Defined Radio Engineering course sampler

Digital Signal Processing

04/12/2023 John Reyland, PhD

Complex basebanding process in the frequency domain, ends with subsampled Fs = 29.491 MHz

Page 42: Software Defined Radio Engineering course sampler

Digital Signal Processing

04/12/2023 John Reyland, PhD

Halfband Filter response

Typical Matlab code:

1 2 3 4 5 6 7 8 9 10 11-0.2

0

0.2

0.4

0.6HalfBand filter Impulse Response, Order=11

0 3.6864 7.3728 11.0592 14.7456 18.432 22.1184 25.8048 29.4912-40

-30

-20

-10

0

Frequency (MHz)

Re

sp

, d

B

0 3.6864 7.3728 11.0592 14.7456 18.432 22.1184 25.8048 29.49120

0.5

1

Frequency (MHz)

Re

sp

, lin

ea

r

Fss = 58.9824e6;

% Setup halfband filter for input subsamplingPassBandEdge = 1/2-1/8;StopBandRipple = 0.1;b=firhalfband('minorder', … PassBandEdge, … StopBandRipple, … 'kaiser');

% Check frequency response[hb,wb] = freqz(b,1,2048);plot(wb,10*log10(abs(hb)));set(gca,'XLim',[0 pi]);set(gca,'XTick',0:pi/8:pi);set(gca,'XTickLabel',(0:(Fss/16):(Fss/2))/1e6);

Page 43: Software Defined Radio Engineering course sampler

Digital Signal Processing DSP Circuits for IF to Complex BB process

04/12/2023 John Reyland, PhD

Inphase Halfband Filter

HI(z) = h0 + z-2h2 + z-3h3 + z-4h4 + z-6h6

Quadrature Halfband Filter

HQ(z) = h0 + z-2h2 + z-3h3 + z-4h4 + z-6h6

Fs/4 Local Oscillator

I(n) + jQ(n) = [1+j0,0+j1,-1+j0,0-j1,1+j0, ...]

x(n)

Ib(n)

Qb(n)

Z-1

0h0

Z-1

h6

Z-1

0

Z-1

h4

Z-1

h3

Z-1

h2

2

Z-1

0h0

Z-1

h6

Z-1

0

Z-1

h4

Z-1

h3

Z-1

h2

2

Ihb(n)

Qhb(n)

Page 44: Software Defined Radio Engineering course sampler

Digital Signal Processing

04/12/2023 John Reyland, PhD

Input Samp. Index @ Fs

Local Oscillator:I(n) + jQ(n) =

Mixer Output Quadrature Halfband Filter Tap Signals Quadrature Half Band Output @ sample rate = Fs/2

x(n) I(n) Q(n) Ib(n) Qb(n) h0 0 h2 h3 h4 0 h6  x(0) 1 0 x(0) 0 0 0 0 0 0 0 0 0x(1) 0 1 0 x(1) x(1) 0 0 0 0 0 0 x(1)*h0x(2) -1 0 -x(2) 0 0 x(1) 0 0 0 0 0 0x(3) 0 -1 0 -x(3) -x(3) 0 x(1) 0 0 0 0 -x(3)*h0 + x(1)*h2x(4) 1 0 x(4) 0 0 -x(3) 0 x(1) 0 0 0 x(1)*h3x(5) 0 1 0 x(5) x(5) 0 -x(3) 0 x(1) 0 0 x(5)*h0 - x(3)*h2 + x(1)*h4x(6) -1 0 -x(6) 0 0 x(5) 0 -x(3) 0 x(1) 0 -x(3)*h3x(7) 0 -1 0 -x(7) -x(7) 0 x(5) 0 -x(3) 0 x(1) -x(7)*h0 + x(5)*h2 - x(3)*h4 +

x(1)*h6

x(8) 1 0 x(8) 0 0 -x(7) 0 x(5) 0 -x(3) 0 x(5)*h3x(9) 0 1 0 x(9) x(9) 0 -x(7) 0 x(5) 0 -x(3) x(9)*h0 - x(7)*h2 + x(5)*h4 -

x(3)*h6

x(10) -1 0 -x(10) 0 0 x(9) 0 -x(7) 0 x(5) 0 -x(7)*h3x(11) 0 -1 0 -x(11) -x(11) 0 x(9) 0 -x(7) 0 x(5) -x(11)*h0 + x(9)*h2 - x(7)*h4 +

x(5)*h6

x(12) 1 0 x(12) 0 0 -x(11) 0 x(9) 0 -x(7) 0 x(9)*h3x(13) 0 1 0 x(13) x(13) 0 -x(11) 0 x(9) 0 -x(7) x(13)*h0 - x(11)*h2 + x(9)*h4 -

x(7)*h6

x(14) -1 0 -x(14) 0 0 x(13) 0 -x(11) 0 x(9) 0 -x(11)*h3x(15) 0 -1 0 -x(15) -x(15) 0 x(13) 0 -x(11) 0 x(9) -x(15)*h0 + x(13)*h2 - x(11)*h4

+ x(9)*h6

Page 45: Software Defined Radio Engineering course sampler

Digital Signal Processing Final Design: Fs/4 downconvert, halfband filter and subsample by 2

04/12/2023 John Reyland, PhD

Page 46: Software Defined Radio Engineering course sampler

Digital Signal Processing

After subsampling to Fs = 29.491 MHz, we can filter with an arbitrary low pass filter to reject as much noise as possible:

04/12/2023 John Reyland, PhD

We can also subsample further to reduce processing load

Page 47: Software Defined Radio Engineering course sampler

Digital Signal Processing A popular filter and decimate circuit is the cascaded integrator comb (CIC) filter

04/12/2023 John Reyland, PhD

2 24

1 1

1 1 1 1

1

1 1 1

1 1( ) 1

( ) 1 1

1 1 1 1

1

1 1 1

z zu z z

x z z z

z z jz jz

z

z jz jz

Page 48: Software Defined Radio Engineering course sampler

Digital Signal Processing

This CIC filter has the same frequency response as a 4 tap boxcar filter, see [D2]

04/12/2023 John Reyland, PhD

Page 49: Software Defined Radio Engineering course sampler

Digital Signal Processing

Downsample by 4 shown as 2 downsamples by 2.

Two CIC problems: • Spectral droop applied to desired

signal (blue)• Aliasing into desired signal

bandwidth

04/12/2023 John Reyland, PhD