Post on 06-Aug-2020
FHSS Radio Design
T. C. McDermott, N5EGSpread Spectrum Seminar
October 12, 1997
Outline
• Design Objectives• System Level Requirements• Implementation Options• Implementation Details• Status
Design Objectives
• Provide ~ ISDN throughput (128 kb/s)• with options for greater throughput
• Path length of 20 miles• For Internet Protocol (IP) frames• Minimal disruption of existing users
• 902-926 MHz
• Accommodate reasonable number of simultaneous users
• Provide point-to-point and hub functions• Ethernet Interface to Computer• Future - Router Functionality Supporting TCP/IP
System Level
• Time-Division Half-Duplex (TDHD) is cost effective• No duplexers needed• Single antenna, feedline
• Radio to transmit for 10 milliseconds, then receive for 10 milliseconds• Minimize latency with fast switching
• Normally, time slots alternate between transmit and receive.
• Possible to have more transmit slots than receive slots when traffic is asymmetrical• Potentially doubles throughput
Throughput
• Modulation format: QPSK• Symbol rate: 300 ksym/s• Raw bit rate = 2 * 300k = 600 kb/s
10 milliseconds
Tx
RxMode 0
Tx
RxMode 1T
1 2 3 4 5 6 7 8 9 10 11 0 1
Tx
RxMode 1R
20 3 4
Tx
RxMode 2T
Tx
RxMode 2R
FEC Rate = 1/2
FEC Rate = 1/2
FEC Rate = 7/8
Mode 0, 1, 2: new hop each 10 msec slot
Throughput Calculations
skbskbMode
skbskbMode
skbskbMode
/424.94375 10
83.8
12
11
8
7/600:2
/825.24210
83.8
12
11
2
1/600:1
/45.13210
83.8
2
1
2
1/600:0
=•••
=•••
=•••
FEC Rate
Transmit Density
Overhead Factor
Hubbing Configuration
• Multiple radio configuration is useful (hub)• Concentrate users onto a single Internet connection• Provide link to a remote Internet connection
• Requires Synchronization between T/R switching of radios• All radios transmit, receive at same time (Mode 0)• One radio is in control
FHSSRadio
FHSSRadio
PassivePower
Combiner /Splitter
10-base-THub
To Internet
Highlinearity
PA
Filter + RX Amp
Hub Functions
• Multiple access (one radio is control channel, assigns users to data radios)
• Remote linking (occupy one data radio as link)• Spreading sequence the same for all radios,
but each starts at a different sequence offset
Radio
Radio
Radio
Radio
Control Chan
User Chan
User Chan
Link Chan Radio To Internet
Radio User
(Link)
(User)
System Gain Requirements
AssumptionsTx Output Power = 1.0 wattTx Antenna gain = 6 dB, Cable loss = 3 dBRx Antenna Temperature = 293KRx Antenna gain = 8 dB, cable loss = 3 dBFrequency = 915 MHz, Rx BW = 600 KHzRx NF = 8.0 dBCalculations • Tx ERP = 2.0 watts• Rx Noise Temperature = 438.4K• S/N at Rx = +21.1 dB.
(Eb/No = +18.1 dB for QPSK)
Eb/No Requirement
1E-12
1E-11
1E-10
1E-09
1E-08
1E-07
1E-06
1E-05
0.0001
0.001
0.01
0.1
1
0 0. 1 1. 2 2. 3 3. 4 4. 5 5. 6 6. 7 7. 8 8. 9 9. 10 10 11 11 12 12 13 13 14 14 15 15 16
Signal to Noise ratio, per bit ,
ate
Coherent 2PSK,
4PSK
Coherent 2FSK
For BPSK or QPSK, a BER of 10-6 requires +10.5 dB Eb/No
BER of 10 -9 requires +12.5 dB Eb/No
Differential QPSK degrades 2.3 dB, thus a BER of 10 -6 requires +12.8 dB Eb/No
Implementation Margin
Available Eb/No = +18.1 dBNeeded Eb/No at 10 -6 is +12.8 dB• Implementation Margin = 5.3 dB.Can improve Eb/No requirement by using
Forward Error Correction (FEC).Convolutional Codes (3-bit soft):Rate 1/2, 10-6 BER, needed Eb/No = 5.1 + 2.3 dBRate 7/8, 10-6 BER, needed Eb/No ~ 6.7 + 2.3 dB• Implementation Margin = 10.7 dB (rate 1/2)• Implementation Margin = 9.1 dB (rate 7/8)
Feedline Loss at 900 MHz
• RG58 = 16 dB / 100 feet• RG8 = 6.7 dB / 100 feet• 9913 = 4.2 dB / 100 feet
IF & RF Diagram
ComplexUp / DownConverterRx Limiter
I
Q
I
Q
LocalOscillator
85.35 MHzSAW Filter
HoppingVCO 1
HoppingVCO 2
915 MHzRF Filter
LNA
PA
915 MHzRF Filter
T/RSwitch
Sin+Cos
Baseband Diagram
MotorolaMC68360processor
MotorolaMC68160Ethernet
10-base- TLAN I/F
QualcommConvolutionalFEC
FLASH+ DRAM
BasebandAnalogInterface
DigitalQPSKDemod
QPSKModulator& Filter
A-to-DConverter
I
Q
A-to-DConverter
I
Q
Receiver Front-End Calculations
Stage 1 2 3 4
Filter+T/R LNA+Mix IF filter IF Post Amp
Noise Figure (dB) 0 5.5 0 8
Gain (dB) -3 28 -15 18
Pout (dBm) -111 -83 -98 -80
Input Power (dBm) -108
Cascade NF (dB) 7.84
Temperature (C) 25
BW (kHz) 650
Noise Power (dBm) -108
Noise voltage (uV) 0.9 ( @ 50 ohms)
BPFT/R Sw LNA IF SAWFilter
Amp
915±13 MHz 600 KHz
1 2 3 4
85.35 MHz IF
Frequency-Hopping VCOs
• Frequency Hopping is achieved by altering the Local Oscillator frequency. Otherwise, the radio looks like a non-SS radio.
• Key issue is ‘settling time’ of the VCO’s.• This radio changes frequency each 10
milliseconds.• If there is one VCO, it must settle much, much
faster than 10 milliseconds -- this is very difficult.
• Solution: use 2 VCO’s. One slews to a new frequency whilst the other is being utilized. This allows 10 milliseconds settling time.
• 3 VCO’s would allow 20 msec settling time, etc.
Data Rate vs. SAW bandwidth
2x Symbol Rate
Transmit Spectrum - No filtering
Transmit Spectrum - alpha = 1 filtering
2x Symbol Rate
Transmit Spectrum - alpha < 1 filtering
(1+α) x Symbol Rate
α = 1.0, 300 ksym/s=> 600 kHz
α = 0.4, 300 ksym/s=> 420 kHz
Low-alpha raised-cosine filters narrow the emission bandwidth, minimize interference
from adjacent channels
FHSS - key issues
• Top three: • Speed• Speed• Speed
• VCO lockup time⇒ Multiple VCOs
• Carrier Recovery Lockup Time⇒ Memorize (compute) frequency error [make a really
good guess]
• Symbol Recovery Lockup Time⇒ Usually faster than carrier recovery lockup time
FEC / QPSK Modulator
• FEC doubles the bit rate (for rate = 1/2). Input is 300 kb/s, output is 600 kb/s.
• Each ‘pair’ of bits are used to select one of four phase states, producing 300 ksym/s.
• QPSK modulator filters the baseband signals, and differentially-encodes them. This coding means that the phase output difference is proportional to the symbol value.
ConvolutionalCoder
300 kb/s
600 kb/s
DiffEnc
FIR Filt
FIR Filt
300 kb/s I
300 kb/s Q
QPSK Modulator Fwd Err Correctionα = 0.4 rolloff
D-A Conv
D-A Conv
QPSK Upconversion
I
Q
Oscillator0-degrees
90-degrees
+ IF-output
I
QConstellation point (1,1)
1
0
1
0
QPSK Demodulator HSP50210
ComplexMult
NCO
CosSin
I
Q
RRC Filter
RRC Filter
I
Q
I
Q22 QI +
I
Q1tan−
Mag
Phase
Phase Error Det
Freq Error
Freq Sweeper
Loop Filter d/dt
AGC Loop
Symbol Error Det Sym Err
Slicer
Slicer
Isoft
Qsoft
Clock Recovery
ExpectedSymbol Values
TransitionMid-point
Sampling Error
Sampling too early (positive slope)
TransitionMid-point
Sampling Error
Sampling too early (negative slope)
ExpectedSymbol Values
Sign of error term depends on direction of slopeas well as early / late timing of the sample
Mid-symbol samples
End-symbol sample
Clock Recovery Process
HSP 50210Demodulator
A-D Conv
A-D Conv
Sampling (Position) Error
Reg
iste
r
+Sign Bit
+
Con
stan
t
I
Q
Ana
log
Inpu
t
Numeric-Controlled Oscillator (NCO)
Loop Filter
Carrier Recovery
I
QExpected constellation point
Actual constellationpoint
θ error
I
Q
θ error
Rotation by 45 degreesInitial Constellation
I
Q
θ error
Multiplication by 4
1. Rotation,2. Multiplication by 4.This Removes modulationcomponents from the error term,and references error to thezero-phase position.
Carrier Recovery
• Carrier Error Detector implements ‘Frequency Error’ term (how much the phase rotates each sample).
• If the loop is too far off-frequency, the phase error accumulation increases too fast and the loop cannot lock.
• Sweep-aided acquisition allows the carrier reference oscillator to ‘sweep’ up and down in frequency. When the frequency gets close enough, the sweeper disconnects, and the loop acquires by phase alone.
• Sweeping takes a long time, and is to be avoided (except maybe during link setup).
s-plane vs. z-plane
• Frequency analysis on s-plane is conducted over j ω (the imaginary axis).
• Left-hand plane of s-plane maps to unit-disk of z-plane
• Thus, frequency analysis on z-plane is conducted over unit circle
s = jω z = ejωtRegion of
stability of poles in s-plane
Region of stability of poles
in z-plane
Loop Filter Analysis
• Frequency & Phase Response of digital filters most easily analyzed in Z-domain
• Apply Z-transform by inspection (a register is equivalent to multiplying by z -1)
• Derive Amplitude & Phase by evaluating H(z) on the unit circle in the Z-plane [substituting z = ejωt and varying ω from zero to 2 π/t]
• Excel spreadsheet can evaluate and plot results.
z = ejωt
Lead Lag Filter
Reg
iste
r
+
+
Filter Clock
In Out
Lead Gain
Lag Gain
Digital Multiplier
Filter Analysis
Klead
+ +Klag z-1W V
X
Y
Y = Klead X + V
V = Klag W z-1
W = X + V
V = Klag (X + V) z-1 = Klag X z-1 + Klag V z-1
V ( 1 - Klag z-1 ) = X Klag z-1
V = X Klag z-1
1 - Klag z-1
Y = X Klead + X Klag z-1
1 - Klag z-1
YX
=Klag + Klead ( 1 - Klag) z-1
1 - Klag z-1H(z) =
Loop Filter PerformanceKlead = 20
Klag = 0.98
-10
-5
0
5
10
15
20
25
30
35
40
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Normalized Frequency, n/T
-90
-45
0
45
90
mag H(s), dB
phase H(s),
degrees
NCO - Phase response
• NC-VCO converts error signal to accumulating phase (i.e.: frequency).
• Need to derive relationship of output phase to input error signal.
Register (z
-1)
+In Out
( )
( )
1
1
1
1
−=
=−+=
+= −
zIn
Out
InOutz
OutInOutz
zOutInOut
(thus: phase = integral of frequency vs. time)
Carrier Loop
• Loop Filter resides inside Carrier Recovery Loop. Closed-loop transfer function needs to be computed.
Loop FilterBasebanddata
NCO
Phase ErrorCalculation
RecoveredCarrier
H(z)ϕe
ϕe filt
Kp
( )( )
NH
NH
NHNH
HN
i
o
io
oio
+=
=+−=
1
1
ϕϕ
ϕϕϕϕϕ
)(1
)(1
zHKz
zHKz
KN
p
p
i
o
p
+−=
−=
ϕϕ
A poor choice for filter constants
-25
-20
-15
-10
-5
0
5
10
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency
dB
.
-180
-135
-90
-45
0
45
90
135
180
Loop Response - Track Mode
-80
-70
-60
-50
-40
-30
-20
-10
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency
dB
.
-180
-135
-90
-45
0
45
90
135
180
Track Mode - High Resolution
-6
-5
-4
-3
-2
-1
0
0.00E+00 1.00E-04 2.00E-04 3.00E-04 4.00E-04 5.00E-04 6.00E-04 7.00E-04 8.00E-04 9.00E-04 1.00E-03
Frequency
dB
.
-70
-60
-50
-40
-30
-20
-10
0
Loop Response - Acquisition Mode
-80
-70
-60
-50
-40
-30
-20
-10
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Frequency
dB
.
-180
-135
-90
-45
0
45
90
135
180
Overall T/R timing
Pd
2Pd
Pd
Txp
Txp
Start Tx
Stop Tx
Start Tx
Stop Tx
( )dp
pd
PTcycleTx
TxPcycleRT
−=
+=+ 22
For Pd = 110 µsec (20 miles):Txp = 10 msec - 110 µsec = 9890 µsec transmit duration
Receiver recovery time = 2 P d = 220 µsec (+ tx ramp time)
Hub End User End
Receiver Acquisition Timing
Receive
Hub End
User End
Transmit
100 µsec transmitter power rampup800 µsec carrier recovery lockup< 800 µsec symbol recovery lockup
60 µsec Viterbi decoder lockup
960 µsec total receiver lockup time
Detailed Timing
Hub End
User End
100 µsec transmitter power rampdown
110 µsec:
210 to 320 µsec receiver recovery(prop delay + Tx rampup)
ReferenceEpoch
960 µsec receiver lockup
10000 µsec 10000 µsec
9890 µsecTx duation
8830 µsecdata portion
20 miles: propagation delay0 miles: channel idle time10 miles: half prop delay, half idle time
Receive
Transmit Receive
Transmit
10000 µsec 10000 µsec
T/R timing
• Hub establishes 10.000 millisecond period from it’s internal clock.
• Timing epoch is the opening FLAG from the Hub radio transmit frame, 960 µsec after the transmission starts.
• User radio establishes timing by listening for the hub epoch, smooths arrival times.
• Transmitter ramp-up and ramp down consume 100 milliseconds each.
• Transmission duration is 9,890 µsec, data portion is 8830 µsec.
• Propagation delay is measured during link startup. Hub computes the delay, communicates to user.