![Page 1: Software Defined Radio Engineering course sampler](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/1.jpg)
04/12/2023 John Reyland, PhD
![Page 2: Software Defined Radio Engineering course sampler](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/2.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/3.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/4.jpg)
04/12/2023 John Reyland, PhD 4
Software Defined Radio EngineeringThe SDR Challenge:
![Page 5: Software Defined Radio Engineering course sampler](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/5.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/6.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/8.jpg)
Space Telecommunications Radio System (STRS)
04/12/2023 John Reyland, PhD 8
![Page 9: Software Defined Radio Engineering course sampler](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/10.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/11.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/13.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/16.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/17.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/19.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/21.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/22.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/28.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/29.jpg)
04/12/2023
Multiple Access Techniques
I
Spread Spectrum is used for Multiple Access:
![Page 30: Software Defined Radio Engineering course sampler](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/30.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/34.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/35.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/36.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/37.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/38.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/39.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/40.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/41.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/42.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/43.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/44.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/45.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/46.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/47.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/48.jpg)
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](https://reader036.vdocuments.net/reader036/viewer/2022081602/55592e81d8b42a543d8b481e/html5/thumbnails/49.jpg)
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