You are on page 1of 8


Radio Science
RESEARCH ARTICLE SDR implementation of the receiver
of adaptive communication system
Special Section: Jacek Skarzynski1, Marcin Darmetko1, Sebastian Kozlowski1, and Krzysztof Kurek1
URSI AT-RASC (Atlantic Radio
Science Conference) Warsaw University of Technology, Institute of Radioelectronics and Multimedia Technology, Warsaw, Poland

Key Points:
The method of adaptive communication
Abstract The paper presents software implementation of a receiver forming a part of an adaptive
with LEO satellites is proposed communication system. The system is intended for communication with a satellite placed in a low Earth orbit
The SDR-based receiver supporting (LEO). The ability of adaptation is believed to increase the total amount of data transmitted from the satellite to
the proposed method was
the ground station. Depending on the signal-to-noise ratio (SNR) of the received signal, adaptive transmission is
The correct operation of the receiver realized using different transmission modes, i.e., different modulation schemes (BPSK, QPSK, 8-PSK, and 16-APSK)
was veried using LEO satellite and different convolutional code rates (1/2, 2/3, 3/4, 5/6, and 7/8). The receiver consists of a software-dened
passage simulator
radio (SDR) module (National Instruments USRP-2920) and a multithread reception software running on
Windows operating system. In order to increase the speed of signal processing, the software takes advantage of
single instruction multiple data instructions supported by x86 processor architecture.
Correspondence to:
S. Kozlowski, 1. Introduction
The key feature of a software-dened radio (SDR) technique is that a large part of signal operations is realized
Citation: using digital signal processing implemented in general purpose processors, signal processors, or eld program-
Skarzynski, J., M. Darmetko, S. Kozlowski,
and K. Kurek (2016), SDR implementa- mable gate arrays (FPGAs) [Fette, 2006]. Typical structure of an SDR receiver consists of two parts: hardware and
tion of the receiver of adaptive com- software modules. The hardware module is responsible for signal amplication, downconversion to the base-
munication system, Radio Sci., 51, band using quadrature mixer, and conversion to a digital form. The output signals, namely, digital representa-
344351, doi:10.1002/2015RS005899.
tions of inphase (I) and quadrature (Q) signals, are sent to the software module, where information carried by
Received 1 DEC 2015 the received signal is recovered by software procedures. Such conguration of the receiver is exible and
Accepted 7 APR 2016 universal since it allows to implement new features (e.g., modulation schemes) only by software/VHDL code
Accepted article online 9 APR 2016 modications, without any changes of hardware. Also considering implementation time and cost, the use of
Published online 28 APR 2016
SDR can be benecial, especially in case of recongurable or adaptive system.
The adaptive communication system dynamically changes its transmission mode depending on the quality
of the received signal, allowing to t to varying characteristics of the propagation channel. When the quality
of the received signal is high, more spectrum efcient modulation scheme and channel code can be used,
which increases transmission data rate. On the other hand, when the quality of the signal decreases, more
robust scheme is used to decrease the number of transmission errors. Such system can be used to improve
transmission efciency or to increase the total amount of data sent during a single communication session.
It is known that in case of a low Earth orbit, a satellite is visible from a given point on the ground for a short period
of time. Moreover, during this period the signal-to-noise ratio (SNR) changes due to changing distance between
the satellite and the ground station. Since the onboard communication devices are designed to work properly
with the lowest SNR, their capabilities are not fully utilized when the conditions in the communication channel
are good. This is why an adaptation mechanism was proposed to increase the efciency of communication with
a LEO satellite [Butchart and Braun, 1998].
This paper is focused on a ground stations SDR receiver capable of maximizing the amount of data down-
loaded from a LEO satellite. This problem was previously discussed by a number of authors. Since SDR-based
solutions are usually signicantly cheaper than the traditional ones, it is possible to develop many simple
ground stations located around the world and to take advantage of the geographic diversity. In such a sce-
nario, when a LEO satellite leaves the area served by one station, it becomes visible for the other one, so the
data downloading can be performed almost continuously [Androlewicz et al., 2011]. However, such solution
exploits low cost of the SDR receiver rather than its exibility. Also, other authors are focused either on cost
or on technical issues related to SDR receiver implementation while proposing support for only basic trans-
2016. American Geophysical Union. mission schemes (e.g., GFSK) already utilized in small LEO satellite missions [Rodriguez-Osorio et al., 2008;
All Rights Reserved. Dascal et al., 2013; Bosco et al., 2014].


Radio Science 10.1002/2015RS005899

Table 1. Transmission Modes (Modulation Scheme and Convolutional Code Rate) Used for Adaptive Transmission in the
SACC System
Transmission Mode Modulation Code Rate Useful Data Bits per Symbol Duration

1 BPSK 1/2 0.5

2 BPSK 2/3 0.667
3 QPSK 1/2 1
4 QPSK 2/3 1.333
5 8-PSK 1/2 1.5
6 16-APSK 1/2 2
7 16-APSK 2/3 2.667
8 16-APSK 3/4 3
9 16-APSK 5/6 3.333
10 16-APSK 7/8 3.5

In this paper we make use of the exibility of the SDR receiver to introduce an adaptation mechanism to the
communication between a satellite and a single ground station. The goal is to maximize the total amount of
downloaded data during the time interval when the satellite is visible over the horizon line. It is assumed that
the satellites transceiver supports many transmission schemes differing in spectral efciency and reliability
and can switch between them when instructed to do so by a ground station. Such a satellite was simulated
to verify the design of the receiver described below.
The paper is organized as follows. Section 2 presents basic description of the SACC (Satellite Adaptive
Communication Channel) system, then in section 3 the structure of the adaptive software receiver is
described. Correct operation of the developed software receiver has been veried during measurement tests
presented in section 4. Finally, conclusions are delivered in section 5.

2. SACCAdaptive Communication System for LEO Satellite

The model of the adaptive communication system for small LEO satellites has been proposed in the project
SACCSatellite Adaptive Communication Channel, funded by European Space Agency (ESA). The pro-
posed system allows to increase the total amount of data sent from the satellite to a ground station during
a single satellite passage over the station. As the satellite passes over the station, the distance between them
changes and, consequently, variations of the received signal power can be observed. The received power and
SNR are relatively low when the satellite is just above the horizon and increase while the satellite approaches
the zenith. This allows to increase transmission data rate by switching to more efcient transmission mode.
Depending on received SNR, the signal is transmitted using one of the following modulation schemes: BPSK,
QPSK, 8-PSK, and 16-APSK (the last three ones are compatible with DVB-S2 standard [ETSI EN 302 307, 2009])
and convolutional code rates: 1/2, 2/3, 3/4, 5/6, and 7/8, (the code is compatible with DVB-S standard [ETSI EN
300 421, 1997]. The receiver estimates the value of SNR and sends a request for a change of the transmission
mode to the transmitter via a feedback channel.
Based on a simulation model, system behavior for each transmission mode (modulation scheme and code rate)
has been determined and then thresholds for switching between particular modes have been chosen. It was
assumed that changes of transmission modes are realized with 2 dB steps of SNR, and maximum allowable bit
error rate (BER) has to be bellow 106. The selected transmission modes are presented in Table 1. As it was esti-
mated by means of simulations, appropriate switching between those modes during a single satellite passage
results in increase of the total amount of data sent to the ground station with a factor of approximately 2.
The transmission is conducted in a frame-based manner. The frame has xed symbol length independent on
transmission mode and includes the following elds: (1) synchronization preamblesynchronization sequence
with xed symbol length for any modulation scheme considered in the SACC system, (2) frame header contain-
ing basic parameters of transmitted data (length of useful data packet in the frame, transmission mode of the
next frame, the frame number, etc.), and (3) data packetpacket of channel coded transmitted data.
The frame header and the data packed are protected by Cyclic Redundancy Check (CRC) codes to detect
errors in the received frames.


Radio Science 10.1002/2015RS005899

3. Software Receiver of the

Adaptive Communication System
3.1. Structure of the Receiver
The model of the SACC system receiver
includes SDR hardware module (NI USRP-
2920) generating the baseband representa-
tion of the received signal and a software
running on personal computer (PC) respon-
sible for recovery of information carried by
the received signal. The software is designed
as a C++ standalone console application for
Microsoft Windows. In order to increase
speed of the signal processing, the software
is designed as a multithread application
using SIMD (single instruction multiple data)
instructions supported by x86 processor
architecture. The application is divided into
three separate threads (Figure 1) performing
the following functions: data acquisition
(Thread 1), data processing (Thread 2), and
signal demapping and decoding (Thread 3).
Data exchange between particular threads
Figure 1. Structure of the receiver software. is realized using buffers. Data trafc is con-
trolled by Windows API Events. When feed-
ing thread lls in the buffer, it clears Write
Possible event and goes to sleep. When reading thread frees some space in the buffer, it sets back this event
and wakes up the rst thread.
In the data acquisition thread, communication with the SDR hardware module is done. The input data are
received from the SDR hardware module in form of blocks of samples. Every received sample consists of I
and Q component in 16 bits signed integer format. Before further processing, each block is deinterleaved
to separate I and Q streams and converted to 32 bits oating point format.
The data processing thread is designed to perform baseband signal processing, including carrier recovery, frame
and symbol timing recovery, and channel equalization. The thread outputs a number of data symbols constitut-
ing a stable constellation. These symbols are then demapped and decoded in Thread 3, and output data are writ-
ten to a binary le.
Conguration of the application is based on a text le. The user can set various transmission parameters like
carrier frequency, frame length, and symbol rate. Over 30 different parameters are dened.

3.2. Data Processing Thread

The data processing thread is responsible for recovery of symbols carried by consecutive frames. Particular
operations of this thread and the signal ow are presented in Figure 2.
First, the received signal is shifted in the frequency domain with the last known frequency shift value. Due to
high orbital velocity of the satellite, the Doppler shift changes rapidly, and thus, this last known frequency
shift value is usually obsolete. Consequently, resulting signal is not accurately DC centered and still needs
some ne carrier synchronization. It is done after the signal is ltered by the root-raised cosine lter.
Filtered signal is subjected to an appropriate nonlinear operation, namely, nth power, where the exponent
n depends on current modulation scheme and is equal to 2 for BPSK, 4 for QPSK, 8 for 8-PSK, and 12 for
16-APSK. The spectrum of such signal comprises a component corresponding to the carrier wave. This com-
ponent is searched for as the highest peak of the amplitude spectrum, and its frequency is determined. It is
equal to the desired frequency shift multiplied by n. Values obtained for consecutive frames are passed
through the Kalman lter to increase the receivers tolerance for random carrier recovery errors.


Radio Science 10.1002/2015RS005899

Figure 2. Block diagram of the receiver thread.

In the next step, frame and symbol timing are obtained by searching for peaks of cross-correlation function
between the frequency-shifted signal and a local copy of synchronization preamble. For frame synchroniza-
tion, the cross correlation is calculated with time increment equal to a half of the symbol duration for data
blocks comprising 100 symbols. When the peak exceeding a threshold is found, further calculations are inter-
rupted, whereas when there is no such peak for all data blocks in the input buffer, calculations for other mod-
ulation schemes are performed. For symbol timing, the signal is interpolated enabling calculation of cross-
correlation function with time increment of 1/32 of the symbol duration. This operation is performed only
on already determined beginning part of the frame. Next, the frame is resampled (i.e., interpolated and deci-
mated) to obtain one sample per symbol. Finally, channel equalization is performed using channel impulse
response estimated by comparing received and original synchronization preamble.
Special procedure for the frequency synchronization is performed for reception of the rst frame after start-
ing the receiver software, when there is no last known frequency shift value available. The initial pass of the
data processing thread calculates a large fast Fourier transform of undecimated powered signal segment
containing at least three frames and then looks for the peak indicating the frequency shift value.
In order to increase the speed of signal processing in this thread, the most time-consuming operations have
been implemented using SIMD instructions of x86 processor.
The concept of using the instruction enabling four multiplications in one step is presented below on an example
of ltering operation. Due to 16 byte alignment required for this instruction, special arrangement of data is

Figure 3. Realization of ltering operation using SIMD instruction (thick line separates blocks used by a single SIMD instruction).


Radio Science 10.1002/2015RS005899

necessary. Filter coefcients are stored in mem-

ory in four copies, each shifted one sample
right. Such representation of lter coefcients
is shown in Figure 3 (the length of the lter
impulse response must be a multiple of four).
The entire ltering process consists of two loops:
rst loop iterates over output samples, while the
Figure 4. The measurement setup. second loop is embedded in the rst one and
iterates over lter coefcients. In an iteration of
the second loop four output samples are calculated. The rst one is calculated as dot product of the rst row
of the table of lter coefcients and corresponding input vector. The second, third, and fourth samples are cal-
culated using the second, third, and fourth rows, respectively. Dot product operation involves a number of ele-
mentwise multiplications of two blocks, each containing four oating point numbers. Each such multiplication of
two blocks is a single SIMD instruction. One can notice that by utilizing such algorithm the total number of multi-
plications is reduced four times.

3.3. Soft Decision Demapper and Viterbi Decoder

Soft decision demapper and Viterbi decoder are implemented in one thread, with the use of SIMD instruc-
tions for faster computations. Demapping of the received signal consists in assigning particular samples to
corresponding points of the constellation. Soft decision demapping performs the assignment with a measure
of likelihood, which can be expressed in terms of log likelihood ratio (LLR) [Su et al., 2011]. Implemented algo-
rithm uses LLR values calculated for separate bits. To further increase the speed of computation, certain
approximations of LLR are used [Su et al., 2011; Yao et al., 2010].
Soft decision Viterbi decoder is used to decode the received data, basing on calculated values of LLR. Before
decoding it is necessary to depuncture the data, according to the puncturing pattern used in the transmitter
(the information about the pattern is sent in the frame header), inserting 0 bit in place of those removed. The
decoder uses simplied branch metrics based on calculated values of LLR
BM q0 LLRb0 q1 LLRb1
where values q1 and q2 are equal to 1, based on corresponding branch bits.
After decoding is done, CRC of the received data is checked and then the data are written to a le. Additionally,
in this thread estimation of the SNR is performed and requests for change of transmission mode are sent to the
transmitter by the feedback channel. SNR estimation is performed using hard decision demapping of the
received symbols.

Estimated SNR for satellite passage over GS 4. Tests of the Software Receiver
The performance of the receiver model was
tested using the measurement setup of
Figure 4. The setup includes the receiver-
under-test (referred to as SDR adaptive RX
in the gure), the transmitter, and the satel-
SNR [dB]

lite channel simulator. Those two latter
devices were constructed using the same
SDR modules as used as a part of the recei-
ver, but since they are beyond the scope of
5 this paper they will not be described in
details here. The LAN connection between
0 the receiver and the transmitter represents
0 100 200 300 400 500 600
a feedback channel from the ground station
t [s]
to the satellite. This channel is used to com-
Figure 5. SNR versus time for a single selected passage of the satel- municate requests for changes of transmis-
lite over the ground station. sion mode to the transmitter.


Radio Science 10.1002/2015RS005899

Bit rate of adaptive transmission

for satellite passage over GS
The way the feedback is simulated in the
4 setup causes that the transmitter communi-
cates with the receiver almost immediately,
whereas in the real word the latency as long
3 as 0.1 s can be expected (the shortest tele-
command packet according to ECSS-E-ST-

Rb [b/s/Hz]
50-04C [2008] transmitted with rate typically
2 lower than 24 kb/s). Such latency has insig-
nicant impact on the entire system perfor-
mance when the channel conditions are
1 improvingduring a short time interval
the transmission is just less efcient that it
could be. However, when the conditions
0 are worsening and the transmitter is not
0 100 200 300 400 500 600
t [s] requested to switch to some lower mode
on time, errors may occur or, in the worst
Figure 6. Bits per symbol duration versus time for a single selected case, the communication may be inter-
passage of the satellite over the ground station. rupted. This problem was not taken into
consideration. It should be solved by higher
layers of the communication protocol stack.
Several passages of the satellite over the ground station were simulated in the setup. The phenomena observed
during these experiments will be discussed basing on the exemplary results illustrated by Figures 5 and 6.
Figure 5 shows the SNR as a function of time for a single passage of the satellite. The 1 dB step occurring when
the satellite is in the highest part of its orbit (approximately 320 s) reects the fact that 16-APSK modulation
scheme used at this time has power little lower than other schemes. This was introduced intentionally to
maintain xed maximal signal amplitude rather than xed power in order to utilize always the same fraction
of total analog-to-digital and digital-to-analog converters range.
One can observe that the accuracy of an SNR measurement is approximately 2 dB. This is why a hysteresis had to
be introduced to the adaptation mechanism to avoid frequent changes of transmission mode. The second phe-
nomenon clearly visible in Figure 5 is rapid decrease of SNR value (approximately 110 s) resulting from symbol
timing or carrier synchronization loss. Failures of this kind were reported from time to time during the measure-
ments, forcing the system to return to the lowest mode, i.e., BPSK . Figure 6 presents transmission efciency,
expressed in bits per symbol duration, as a function of time for a single passage of the satellite over the ground
station. The efciency can be directly translated into transmission mode using Table 1. The mode follows the SNR
changes presented in Figure 5 with the exception of time interval for which symbol timing or carrier synchroni-
zation loss was reported. After the loss, the system returned to the lowest mode as it was mentioned above.
In addition to the SNR level, also, the frame length was identied as a factor strongly inuencing the perfor-
mance of the receiver. This is clearly visible in test results presented in Table 2. The data were obtained for the

Table 2. Receiver Performance Reported for Various Frame Lengths

Frame Length (Symbols) (Duration (ms)) 624 (2.5 ms) 1,248 (5 ms) 2,520 (10 ms) 5,040 (20 ms) 10,080 (40 ms)

Total no. of frames 356,492 178,010 88,068 44,032 21,825

No. of frames with carrier errors 0 0 0 0 0
No. of frames with symbol timing errors 69 0 0 8 0
No. of received frames 356,423 178,010 88,068 44,024 21,825
No. of frames with CRC error in header 92 9 19 13 8
No. of decoded frames 356,331 178,001 88,049 44,011 21,817
No. of frames with CRC in data 200 17 31 42 1,064
No. of error-free frames 356,131 177,984 88,018 43,969 20,753
FER 7.6E04 1.5E04 5.7E04 1.4E03 4.9E02
Average bit rate (bit/symbol) 1.32 1.32 1.21 1.11 0.93
Average bit rate to lowest mode 2.65 2.64 2.43 2.22 1.85
bit rate ratio


Radio Science 10.1002/2015RS005899

orbit for which the Doppler shift change reaches 1 kHz/s in the highest point (orbit altitude: 300 km). The
adaptation mechanism was active, so the modulation scheme and the code rate changed with time. It
was assumed that when the satellite is just above the horizon, SNR is so low that only operation in the
lowest mode is possible. The performance of a single communication session corresponding to a single
passage over the ground station was expressed in terms of total frame error rate (FER), average bit rate,
and a ratio of the average bit rate in considered system to the one theoretically calculated for an error-free
transmission in the lowest mode. Any error detected for a frame caused that this frame was considered as
completely lost.
Short frames carry little useful data in comparison with the amount of synchronization and header data. On
the other hand, for long frames the channel characteristics, especially the Doppler shift, are not xed during
the frame duration. This may cause serious degradation of the performance. In the experiments summarized
in Table 2, for relatively short frames frame error rate is lower than 103; however, for the long ones it can
reach almost 0.05 because many frames are erroneous due to improper carrier synchronization.
Consequently, the average bit rate signicantly decreases with the longer frame.

5. Conclusions
The paper presents software implementation of a receiver forming a part of an adaptive communication
system intended to communicate with a satellite placed in a low Earth orbit (LEO). The receiver was tested
in the setup including a transmitter which acts as a satellite and the satellite channel simulator. The entire
setup was designed using a number of SDR modules. The receiver being the main subject of this paper
consists of the SDR module and the software part running on PC. Because PCs are known to be much
slower than dedicated signal processing devices, such as FPGAs, implemented software was optimized
using SIMD instructions.
Performed tests showed that the receiver has operated correctly. Proposed adaptation mechanism
switched transmission modes to increase the data rate while maintaining desired level of BER. However,
a number of incorrectly received frames were observed. Errors were caused by several factors: a presence
of noise in the channel, temporary synchronization losses, and rapidly changing Doppler shift typical for
LEO satellite systems. The rst source of errors can be eliminated by introducing an additional channel
coder and decoder to the system. Actually, a number of known communication systems adopt this
technique (e.g., DVB-S, where so-called inner and outer coder is present). Elimination of synchronization
losses requires some improvement of corresponding synchronization algorithms used in the receiver. To
avoid errors due to varying Doppler shift, one can either use shorter frames or employ better carrier
tracking methods.
Despite of the above, the use of the proposed receiver in the adaptive satellite system allows to increase the
total amount of data sent from the satellite during a single passage over the ground station approximately
two times.

Acknowledgments References
The presented work is part of the SACC
(Satellite Adaptive Communication Androlewicz, J. F., R. L. Bufngton, C. J. Kief, R. S. Erwin, J. Crane, K. Avery, and J. Lyke (2011), Software-dened and cognitive radio technology
Channel) project funded by the for military space applications, Paper presented at Wireless Innovation Forum Conference on Communications Technologies and
Government of Poland through an Software Dened Radio, Washington, D. C.
European Space Agency contract Bosco, M., P. Tortora, and D. Cinarelli (2014), Alma mater ground station transceiver: A software dened radio for satellite communications, in
under the PECS (Plan for European Proceedings of 2014 IEEE International Workshop on Metrology for Aerospace (MetroAeroSpace), pp. 549554, Institute of Electrical and
Cooperating States). The data being a Electronics Engineers, Inc., doi:10.1109/MetroAeroSpace.2014.6865986.
base of the research are presented only Butchart, K., and R. M. Braun (1998), An adaptive modulation scheme for low Earth orbit satellites, in Proceedings of the 1998 South African
in ESA project reports. They are Symposium on Communications and Signal Processing COMSIG98, pp. 4346, Institute of Electrical and Electronics Engineers, Inc., doi:10.1109/
available (if at all) under the conditions COMSIG.1998.736919.
of ESA. Dascal, V., P. Dolea, O. Cristea, and T. Palade (2013), Low-cost SDR-based ground receiving station for LEO satellite operations, in Proceedings
of the 11th International Conference on Telecommunication in Modern Satellite, Cable and Broadcasting Services (TELSIKS), pp. 627630,
Institute of Electrical and Electronics Engineers, Inc., doi:10.1109/TELSKS.2013.6704456.
ECSS-E-ST-50-04C (2008), Space engineering: Space data linksTele command protocols synchronization and channel coding.
ETSI EN 300 421 (1997), Digital Video Broadcasting (DVB); Framing structure, Channel coding and modulation for 11/12 GHz satellite services, V1.1.2.
ETSI EN 302 307 (2009), Digital Video Broadcasting (DVB); Second generation framing structure, Channel coding and modulation systems for
Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2), V1.2.1.
Fette, B. A. (Ed.) (2006), Cognitive Radio Technology, Elsevier, Oxford, U. K.


Radio Science 10.1002/2015RS005899

Rodriguez-Osorio, R. M., S. R. D. M. Coca, and F. R. Vedal (2008), Educational Ground Station Based On Software Dened Radio, in Proceedings of
the 59th International Astronautical Congress IAC 2008, vol. 13, pp. 83718378, paper code IAC-08.E1.1.12, International Astronautical
Federation, Paris.
Su J., Z. Lu, X. Yu, and C. Hu (2011), A novel low complexity soft-decision demapper for QPSK 8PSK demodulation of DVB-S2 systems, in Proceedings
of International Conference of Electron Devices and Solid-State Circuits (EDSSC), pp. 12, Institute of Electrical and Electronics Engineers, Inc.,
Yao E., S. Yang, and W. Jiang (2010), A simplied soft decision demapping algorithm of 16-APSK signals in AWGN channels, in Proceedings of
Second International Conference on Networks Security Wireless Communications and Trusted Computing NSWCTC 2010, pp.103106,
Institute of Electrical and Electronics Engineers, Inc., doi:10.1109/NSWCTC.2010.32.