G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in...

10
G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation for Satellite Communication Carin Jakobsson and Olof Sj¨ odin Abstract—SDR (Software Defined Radio) is a radio commu- nication system that has been of great interest and development over the last 20 years. It decreases communication costs signifi- cantly as it replaces expensive analogue system components with cheap and flexible digital ones. In this article we describe an SDR implementation for communication with the SEAM (Small Explorer for Advances Missions) satellite, a CubeSat satellite that will perform high quality magnetic measurements in the Earth orbit. The project result consists of carefully chosen SDR transceiver and software tools, integrated with parts of the current satellite communication system. The implementation has required studies within the field of digital processing, SDR and specifications of the SEAM satellite communication system, and has been developed and tested using a radio identical to an on board satellite radio and coaxial cables as transmission media. The system is able to interpret incoming messages from the radio as hexadecimal data and will serve as a prototype when implementing SDR for another, more complex and expensive system that is used for communication with the SEAM satellite. I. I NTRODUCTION C OMMUNICATION over vast distances is today nothing out of the ordinary. Because it is so widely used, its function is often taken for granted and its complexity could easily be diminished. But how obvious is it really, and what work lies behind the signal processing schemes and electrical devices? And of course, how do we use these carefully developed tools to communicate over large distances? In this article, we describe a prototype software implemen- tation for satellite communication as a part of the SEAM CubeSat project, an EU-funded project managed by KTH that aims to achieve high quality magnetic measurements in the Earth orbit. The measurements will be collected using a 3U CubeSat satellite, constructed and tested at KTH, hopefully, launched during 2017. A. Project aim The communication model of the SEAM satellite includes data transfer at two different channels: UHF (HAM radio frequency 400 MHz) and S-band (2 GHz). The UHF channel serves as a backup data link and will be useful in the early mission and in case of anomalies. S-band is responsible for reliable information transfer and is the primary communication channel of the SEAM satellite [1]. The current communication model involves analogue signal processing at the S-band ground station causing unnecessary expenses and inflexibility as certain changes to the model would have to be integrated at circuit level. A cheaper and more flexible solution would be to implement SDR, i.e. to process the signals to a larger extent digitally. This project aims to achieve a prototype SDR implementation for com- munication over the UHF channel of the SEAM satellite. This implementation will later constitute as a base when developing SDR for communication over S-band, which will make the SEAM satellite communication independent of the expensive analogue signal processing blocks at the S-band ground station. The SEAM satellite will communicate with UHF ground station using an on-board UHF transceiver. In order to fulfil the project aim we need to find suitable hardware and software intractable with this setup and to process incoming signals according to predefined communication specifications. B. Report overview Section II gives necessary background to understand satel- lite communication and our implementation. It is divided into four parts, the first part (section II-A) gives general background of satellite communication and signal proecessing, whereas section II-B, II-C and II-D are separated according to the OSI Layer Model [2] and describes the physical layer, the data link layer and the network/transport layer respectively. Section III describes the implementation method and section IV our results. Section V addresses difficulties, discusses results and evaluates the implementation. In section VI the project results are summarised and further work to improve the SEAM satellite communication channels is suggested. II. BACKGROUND THEORY A. Tele and satellite communication Telecommunication is defined as information transfer be- tween electrical devices either with the use of physical me- dia, such as cables or via electromagnetic radiation. Satellite communication is a type of telecommunication that requires wireless information transmission systems able to produce information carrying electromagnetic signals that can travel long distances without distorting information. Furthermore, satellite communications require antennas able to distinguish and absorb these electromagnetic signals, as well as proper signal processing methods in order to retrieve the information they carry. The satellite ground station consists of the follow- ing basic parts: i Antennas ii Converter between analog and digital signals iii Software to perform signal processing iv Data analysis program 1) Carrier frequency: All systems that use electromagnetic communication are assigned a certain frequency. This is the frequency of the signal that will transfer or carry information between the receiver and transmitter and is therefore referred to as the carrier frequency f c . The system antennas are con- structed to be susceptible for the carrier frequency and react to

Transcript of G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in...

Page 1: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

SDR Implementation for Satellite CommunicationCarin Jakobsson and Olof Sjodin

Abstract—SDR (Software Defined Radio) is a radio commu-nication system that has been of great interest and developmentover the last 20 years. It decreases communication costs signifi-cantly as it replaces expensive analogue system components withcheap and flexible digital ones. In this article we describe anSDR implementation for communication with the SEAM (SmallExplorer for Advances Missions) satellite, a CubeSat satellitethat will perform high quality magnetic measurements in theEarth orbit. The project result consists of carefully chosen SDRtransceiver and software tools, integrated with parts of thecurrent satellite communication system. The implementation hasrequired studies within the field of digital processing, SDR andspecifications of the SEAM satellite communication system, andhas been developed and tested using a radio identical to an onboard satellite radio and coaxial cables as transmission media.The system is able to interpret incoming messages from theradio as hexadecimal data and will serve as a prototype whenimplementing SDR for another, more complex and expensivesystem that is used for communication with the SEAM satellite.

I. INTRODUCTION

COMMUNICATION over vast distances is today nothingout of the ordinary. Because it is so widely used, its

function is often taken for granted and its complexity couldeasily be diminished. But how obvious is it really, and whatwork lies behind the signal processing schemes and electricaldevices? And of course, how do we use these carefullydeveloped tools to communicate over large distances?

In this article, we describe a prototype software implemen-tation for satellite communication as a part of the SEAMCubeSat project, an EU-funded project managed by KTH thataims to achieve high quality magnetic measurements in theEarth orbit. The measurements will be collected using a 3UCubeSat satellite, constructed and tested at KTH, hopefully,launched during 2017.

A. Project aim

The communication model of the SEAM satellite includesdata transfer at two different channels: UHF (HAM radiofrequency ∼ 400 MHz) and S-band (∼ 2 GHz). The UHFchannel serves as a backup data link and will be usefulin the early mission and in case of anomalies. S-band isresponsible for reliable information transfer and is the primarycommunication channel of the SEAM satellite [1].

The current communication model involves analogue signalprocessing at the S-band ground station causing unnecessaryexpenses and inflexibility as certain changes to the modelwould have to be integrated at circuit level. A cheaper andmore flexible solution would be to implement SDR, i.e. toprocess the signals to a larger extent digitally. This projectaims to achieve a prototype SDR implementation for com-munication over the UHF channel of the SEAM satellite.

This implementation will later constitute as a base whendeveloping SDR for communication over S-band, which willmake the SEAM satellite communication independent of theexpensive analogue signal processing blocks at the S-bandground station.

The SEAM satellite will communicate with UHF groundstation using an on-board UHF transceiver. In order to fulfilthe project aim we need to find suitable hardware and softwareintractable with this setup and to process incoming signalsaccording to predefined communication specifications.

B. Report overview

Section II gives necessary background to understand satel-lite communication and our implementation. It is dividedinto four parts, the first part (section II-A) gives generalbackground of satellite communication and signal proecessing,whereas section II-B, II-C and II-D are separated according tothe OSI Layer Model [2] and describes the physical layer, thedata link layer and the network/transport layer respectively.Section III describes the implementation method and sectionIV our results. Section V addresses difficulties, discussesresults and evaluates the implementation. In section VI theproject results are summarised and further work to improvethe SEAM satellite communication channels is suggested.

II. BACKGROUND THEORY

A. Tele and satellite communication

Telecommunication is defined as information transfer be-tween electrical devices either with the use of physical me-dia, such as cables or via electromagnetic radiation. Satellitecommunication is a type of telecommunication that requireswireless information transmission systems able to produceinformation carrying electromagnetic signals that can travellong distances without distorting information. Furthermore,satellite communications require antennas able to distinguishand absorb these electromagnetic signals, as well as propersignal processing methods in order to retrieve the informationthey carry. The satellite ground station consists of the follow-ing basic parts:

i Antennasii Converter between analog and digital signals

iii Software to perform signal processingiv Data analysis program1) Carrier frequency: All systems that use electromagnetic

communication are assigned a certain frequency. This is thefrequency of the signal that will transfer or carry informationbetween the receiver and transmitter and is therefore referredto as the carrier frequency fc. The system antennas are con-structed to be susceptible for the carrier frequency and react to

Page 2: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

Figure 1. Frequency band partitioning

the electrical field of the corresponding electromagnetic waveby producing a corresponding current. The current intensityvaries as a sine wave with a certain phase, frequency andamplitude at a given instant. By changing one or a combinationof these parameters with time according to a predefinedscheme, we can interpret these parameter shifts as binary datathat can be further processed by a computer into informationinterpretable for the end user [3].

The carrier frequencies used in telecommunication are radiofrequencies, extending from 104 to 1015 Hz. The spectrumof frequencies is separated into different frequency bands,visualised in Figure 1 found at NASA’s website [4]. At thesame website one can read about further spectrum partitioningincluding the UHF (300-1000 MHz) and S-band (2-4 GHz)frequencies which are the frequency bands of interest for thecommunication channels of the SEAM CubeSat satellite.

2) Telemetry and Telecommand: We are concerned withchoosing and integrating components ii and iii in the list ofsection II-A into the communication system. In order to under-stand the description of the tools used, the following paragraphgives an overview of the SEAM communication system andintroduces the concepts of Telemetry and Telecommand.

The data transferred between satellite and ground station canbe separated in two categories: Telemetry and Telecommand.Telemetry is data transferred from satellite to ground station(downlink), for example a beacon-message from the on boardcomputer to the ground station. It is sent as a CubeSat SpaceProtocol (CSP) packet (further explained in section II-D) tothe satellite bus and is collected by the GomSpace NanoComAX100 radio transceiver (see section II-B5). AX100 modu-lates and encodes the telemetry and transmits the informationon a carrier signal of around 400 MHz. The ground stationneeds to detect this signal, convert it to data (demodulate it),decode it, retain the CubeSat encoded information and send itto the program for data analysis (RAMSES).

Telecommand is data transferred from ground station tosatellite (uplink), for example a request for system healthinformation. The on board AX100 transceiver will detect acarrier signal at about 400 MHz and retain the telecommandinformation in such a way that the on board computer canunderstand it [1].

3) Digital signal processing: Satellite communication usesdigital signal processing. There are several reasons for process-ing signals digitally instead of analoguely, mentioned earlieris the cost and maintenance of the analogue blocks. In generalthere is another important aspect; digital signal processing can

be used to correct errors resulting from inevitable disturbancesin the transmission channel (noise), this is further explainedin the next two paragraphs.

In analogue signal processing, the values of a quantity ofinterest represented by the signal, are continuous i.e. can takeany value. This causes channel unreliability. For example,assume that the signal amplitude is set to be proportional to thetemperature measured by a sensor and that the transmissionchannel has noise that is unlikely to cause signal distortionsof more than 0.5 V . This means that the received signal maydeviate from the sent signal with ±0.5V . Thus, depending onthe magnitude of the channel noise, analogue signal processingcan cause imprecision in the transmitted data, which mayresult in a too unreliable data transfer [3].

In digital signal processing on the other hand, the signalamplitude would only be allowed to take certain discretevalues. If these values are sufficiently spread out over a largeenough spectrum, a value distorted by noise will end up inneither of the discrete allowed values [3]. For example, say thatthe signal amplitude is allowed to take values of the discrete set0, 1, .., 5V and that certain combination of discrete amplitudevalues would then correspond to a certain temperature ofdesired precision. Now if the received value is 1.35 V , it ismost probable that 1 V was transmitted. In this way, digitalsignal processing allows for distortions caused by statisticallydetermined channel noise to be noticed and corrected resultsin more reliable channel transmission. However, errors inthe transmitted data do occur also when using digital signalprocessing, in order to correct these, error correcting codes areused. The UHF channel uses Reed Solomon error correctingcode, which is further explained in section II-C4.

Note that in the example of digital signal processing abovethe signal amplitude was shifted between a few discrete values.The temperature information could just as well be transferredthrough discrete shifts in signal frequency or phase. Rulesfor how to shift parameters efficiently and how to interpretthese shifts are summarised in modulation schemes which willbe discussed in section II-B2. The UHF channel uses GMSK(Gaussian Minimum Shift Keying) modulation.

4) Software Defined Radio: SDR is a radio communicationsystem that has been a topic for great interest and researchover the last 20 years. It allows for digital signal processingto a larger extent than other standard communication systemswhich usually includes heavy analogue blocks with costsranging up to many thousands of dollars. The currently usedcommunication system for the SEAM satellite costs aroundone million SEK, while the SDR system costs approximatelyfifteen thousand SEK. The SDR system means increasedaffordability and portability just as its precursor, the crystalradio, developed during the mid 1900s [5].

B. Physical Layer

The Physical layer is concerned with the bit stream trans-mission over the physical medium (in our case the coax cable).To interpret physical layer data one must consider concepts offor example I/Q data, modulation scheme, cable attenuationand hardware set up which are further explained below.

Page 3: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

Figure 2. Phasor diagram

1) I/Q data: Two signals are said to be ”in quadrature”if they are shifted by 90 degrees (one quarter of a cycle) inphase. For example a sine and a cosine signal are said tobe in quadrature. For the purpose of signal processing it isconvenient to send signals as a stream of I/Q data (I(t), Q(t))where I(t) is referred to as the In Phase component and Q(t)as the Quadrature component. A signal s(t) is then interpretedas the difference between a cosine and a sine signal of thesame angular frequency ω = 2πfc where fc is the carrierfrequency with amplitude coefficients corresponding to the I/Qdata points. The in phase component I(t) corresponds to theamplitude of the cosine signal, and the quadrature componentQ(t) to the amplitude of the sine signal (see Equation 1). Ingeneral the In Phase and Quadrature components can take anyvalue and are referred to as base band signals. The frequencycontent in their variations are called base band frequency.

By varying the In Phase and Quadrature components appro-priately, we can create complex variations of phase, amplitudeand frequency (i.e. modulations) in the resulting sum andthereby conveying information in an efficient manner. Notethat using Z(t) = I(t) + jQ(t), s(t) can be written in thefollowing form:

s(t) = I(t)cosωt−Q(t)sinωt (1)

= Re{(I(t) + jQ(t)

)(cosωt+ jsinωt

)}= Re

{Z(t)ejωt

}(2)

Thus, the signal can be illustrated by the polar representationZ(t)ejωt of a point in the complex plane (see Figure 2). Figure2 is a phasor diagram that can be used to understand differentmodulation schemes. A certain point in the phasor diagramcorresponds to a certain combination of I and Q-values, aswell as the resulting signal amplitude and phase of the carriersignal. The digital modulation schemes usually force the I/Qdata to take certain values in the phasor diagram. The allowedpoints in the phasor diagram corresponds to a certain binarynumber (or a certain combination of binary numbers).

2) Modulation: I/Q data thus contain information of thephase and amplitude shifts in a signal. Conversion between I/Qand binary data is handled by modulation schemes. Differentmodulation techniques transfers I/Q data at different rates.In order to compare the different modulation techniques theconcepts of symbol rate and bit rate are introduced.

Of course, it is in our interest to convey information asfast as possible which indicates that fast signal parametershifts are to prefer. However, shifting the parameters too fast

Figure 3. IQ representation of a BPSK modulated signal

would result in an indistinguishable signal phase, frequencyor amplitude. How often can a sine curve for example changephase in order to still convey digital information properly?This is where the symbol rate fs and bit rate fb conceptsare of importance for modulation. The smallest part of awaveform that is allowed to be transmitted without changein any information carrying parameter is called a symbol.In phase modulation, a symbol can be one whole waveformi.e. one whole time period. If each phase corresponds to thetransmission of 1 bit, then the bit rate is same as the symbolrate. Different modulation schemes has been developed toincrease the symbol rate (baud rate) as well as the number ofbits per symbol in order to optimise the speed of informationtransmission.

As mentioned earlier, the UHF channel uses GMSKmodulation which is a form of continuous phase frequencyshift keying, meaning that the information is contained infrequency shifts while keeping the signal phase continuous.In order to explain this modulation technique we willfirst explain more basic frequency and phase modulationtechniques. Among these are BPSK and QPSK which arealso used as modulation schemes for the S-band channel.

BPSKBinary Phase Shift Keying transfers information using phaseshifts. The In Phase component is only allowed to take valueszero or one and the Quadrature component is always zero.

The allowed I/Q-states and the corresponding binarynumber are visualized in Figure 3, a phase at zero degreescorresponds to a binary 1 and a phase of 180 degreescorresponds to a binary 0 [6]. BPSK transfers one bit persymbol.

QPSKSimilar to BPSK, Quadrature Phase Shift Keying allocatesinformation in the signal phase shifts. However QPSK allowsfour different combinations of the In Phase and Quadraturecomponents letting them both take on the values -1 or +1 [6].

The four resulting possible outcomes are depicted in Figure4 along with the corresponding combination of binary data.QPSK transfers two bits per symbol.

FSK, PCFSK and BPCFSKIn Frequency Shift Keying, information is encoded in fre-

Page 4: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

Figure 4. IQ representation of a QPSK modulated signal

quency shifts. Assuming that the modulated signal can berepresented by a sine function, by letting the frequency shiftonly at integer multiples of the time period T = 1

fcof the

carrier signal, the signal phase can be remained constant.The modulation scheme is thus referred to as PCFSK (PhaseContinuous FSK) which is often preferred to a non-continuousFSK modulation scheme, as it generally provides better spec-tral properties [7], i.e. its easier to distinguish the encoded datain the signal.

By allowing the frequency to take two different valuesf0 = fc+∆f and f1 = fc−∆f , a Binary PCFSK (BPCFSK)modulated signal is obtained. The magnitude 2∆f is thenreferred to as the signal bandwidth. A BPCFSK modulatedsignal can be written in the following form:

s(t) = cos(2πfit+ θk), kT ≤ t ≤ (k + 1)T (3)

where i is either 0 or 1, k is an integer value and θk is thephase of the signal that was transmitted during the last timeinterval. An equivalent representation is obtained as:

s(t) = cos(2πfc ± 2π∆ft+ θk) (4)

We can expand Equation 4 in its quadrature base band compo-nents using a trigonometric identity, resulting in the followingsignal representation:

s(t) = cos(2π∆ft+ θk)cos(2πfc)

∓sin(2π∆ft+ θk)sin(2πfc) (5)

Now, we can recognise the In Phase and Quadrature com-ponents as:

I(t) = cos(2π∆ft+ θk)

Q(t) = sin(2π∆ft+ θk)

The modulation index m of a frequency modulation schememeasures the bandwidth in relation to the bit rate, i.e.

m =∆f

fb(6)

Where fb is the bitrate [6]. A small modulation index,m � 1, corresponds to a narrow band signal and a largemodulation index, m ≈ 1, to a broad band frequency.

MSK and GMSKMinimum Shift Keying is a subset of PCFSK with modulation

index m = 12 resulting in an especially spectrally efficient

scheme. MSK encodes information onto the carrier signalaccording to the following equation [8], [9]:

s(t) = aI(t) cos πt2T cos 2πfc + aQ(t) sin πt

2T sin 2πfc (7)

For kT ≤ t ≤ (k + 1)T , where aI(t) is an even square pulsefunction and aQ(t) is an odd square pulse function with a pulseduration of 2T taking on values ±1. Comparing with Equation1 the In Phase component is given by I(t) = aI(t) cos πt

2Tand Quadrature component by Q(t) = −aQ(t) sin πt

2T . Usinga trigonometric identity as earlier, Equation 7 can be written:

s(t) = cos(

2πfct+ bk(t) πt2T + θk(t))

where

bk(t) =

{+1 if aI(t) = −aQ(t)

−1, if aI(t) = aQ(t)(8)

and

θk(t) =

{0 if aI(t) = 1

π if aI(t) = −1(9)

Now, this results in four different signals:

s(t) =

cos(2πfct+ πt

2T + π) if aI = −1 = −aQcos(2πfct− πt

2T + π) if aI = −1 = aQ

cos(2πfct+ πt2T ) if aI = 1 = −aQ

cos(2πfct− πt2T ) if aI = 1 = aQ

(10)All signals are defined for whole time periods, and whenfollowed by each other, the result is a continuous phasesignal with varying frequency. The corresponding In Phaseand Quadrature components can be used in the same way asthe QPSK quadrature components to represent four differentcombinations of binary data; 00, 01, 10, 11 (see Figure 4).Thus MSK conveys 2 bits per symbol just like QPSK.

The rapid frequency transition results in a signal containingout-of-band frequencies. Gaussian MSK (GMSK) is a specialform of MSK in which the base band waveform (representedby I/Q data) is sent through a Gaussian pulse shaping filterbefore applying MSK modulation. This leads to that thesignal is smoother which is preferable because a smoothersignal implies lower bandwidth [10].

3) Spectral and Bandwidth Efficiency: Satellite communi-cation channels are usually power-limited, meaning that themodulation schemes used are developed in order to save powerat the expense of bandwidth. A spectrally efficient modulationscheme aims to maximise the channel bandwidth efficiencyi.e. maximise the relation:

BWe =fbBW

(11)

for a given BER (see section II-B4) while minimising thesignal power. BW = 2∆f is the channel bandwidth [9].

Page 5: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

4) Bit Error Rate (BER): There is an upper limit tothe ratio in Equation 11. A too high ratio will result in anincreased error in the transmitted information as it becomesmore difficult to distinguish the different parameter shiftsand noise may cause disturbances big enough to distortinformation. The BER is a measure of how many bits thatconvey wrong information per second [6].

5) NanoCom AX100: The satellite radio is a NanoComAX100 constructed by GomSpace, a company that specializein electronic equipment for CubeSats. FSK, MSK, GFSKand GMSK are available modulation options for the channelof interest. AX100 is a half duplex transceiver (tranceiverunable to send and receive at the same time) supporting carrierfrequencies between 430 and 440 MHz. The radio transceiverhas a maximum input power of -5 dBm and a maximal outputof 31 dBm.

Many hardware components are reused from the NanoComU482C including the Power Amplifier, DC-DC converter,RX/TX switch, microcontroller, oscillators and RAM memory.

CubeSat Space protocol (CSP) is the main method used byAX100 to route packets. This protocol supports sending thepackets over I2C/TWI, USART and CAN. USART is mainlyused to communicate with the computer in the radio over aprotocol called KISS. This is achieved by connecting a USBdevice that is specialised to translating the characters writtenin the computer to the internal computer in the radio via KISSover USART.

The micro controller is used as a router for the CSP packetswith a radio link interface. If it is going to the radio the packetshould be surrounded with control bits. The control bits thatAX100 supports is CRC32 and Reed-Solomon where the latteris a error correction code. CRC32 is only a checksum used tocheck if there are any bits flipped [11].

There are various commands that can be used to control theAX100. USRP NI-2901 is susceptible with frequencies from70MHz to 6GHz and are in the range what signals AX100 canproduce. The ping and up command in the AX100 producesa CSP packet and a carrier wave respectively with the radio,and because they generates a signal it can be analysed withthe USRP.

The AX100 transceiver send a synchronisation sequencebefore each transmission to determine what is a high and alow signal. Usually this sequence consists of a series of onesand zeroes and is per default 10101010 in binary or 0xAA inhexadecimal [12].

6) USRP NI-2901: The NI-2901 is an USRP (UniversalSoftware Radio Peripheral) constructed for SDR purposesand sold by Ettus Research’s parent company NationalInstruments. It is a full-duplex transceiver susceptible forfrequencies between 70 MHz and 6 GHz. Below is adescription of the steps involved when converting betweenRF signals and I/Q data, and the parameters that need to beconfigured.

Transmit Front-EndThe computer sends I/Q data representing the informationto be transceived through USB to a transmission control

buffer in the USRP. The buffer is read from at a specifiedI/Q rate. The I/Q data is sent to a Digital to AnalogueConverter (DAC) which produces the corresponding analogueinformation-carrying base band signal and then through a lowpass filter to clean up potential errors in the channel. Theinformation signal is then up-converted in the mixer usingthe TX Local Oscillator (LO) to a specified carrier frequency,amplified and sent through the antenna port. See Figure 5 for avisualisation of the data flow in the TX front-end of NI-2901.

TX configuration parameters:• Carrier frequency - The frequency of the local oscillator

(LO) that is used to up-convert the signal in the mixer.• Gain - Uncalibrated value for the power amplifier.• I/Q Rate - The rate at which the I/Q data is sent to the

DAC from the Transmit Control Buffer.

Figure 5. TX front-end block scheme

Recieve Front-EndThe receiver used in the NI-2901 is a Direct ConversionReceiver (DCR) meaning it is possible to configure the carrierfrequency of interest resulting in a direct down-mix to baseband signal. It has a maximum power input of -15 dBm [13].

The RX antenna absorbs the transmitted signal (assumingcarrier frequency is between 70 MHz and 6 GHz) and down-mixes it analogously using two different local oscillator toretrieve the I and Q components of the signal. The mixerworks in the following way: The incoming signal is givenby Equation 1. Then after down mix it with either cos(−ωt)or sin(−ωt) results in this equations:

I(t)− I(t)sin2ωt− Q(t)

2sin2ωt (12)

Q(t)−Q(t)cos2ωt− I(t)

2sin2ωt (13)

Thus, the signal after passing the low pass filter remainsonly I(t) and Q(t). This is because the other terms inEquations 12 and 13 consist of higher than ω

2π which areremoved by the low pass filter. The Analogue to DigitalConverter (ADC) then measures the magnitude of I(t) andQ(t) at a specified I/Q Rate to produce corresponding I/Qsample which is queued in the receive control buffer. Thebuffer sends to the computer through USB. See Figure 6 fora visualisation of the data flow in the RX front-end of NI-2901.

RX configuration parameters• Carrier frequency - The frequency of the LO that is used

to down-convert the signal in the mixer.• Gain - Uncalibrated value for the power amplifier.

Page 6: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

Figure 7. MSK Demodulation block in LabView. Source:http://www.ni.com/documentation/en/labview-comms/1.0/mt-node-ref/mt-demodulate-msk/

• I/Q Rate - The rate at which the information carryingsignal is sampled

Figure 6. RX block scheme

7) LabView Communications: Labview Communications isa newly developed software tool for communication purposesby National Instrument that provides a graphical interface. Itis possible to integrate code from several languages such asMATLAB and C. LabView has built in drivers to connect withthe NI-2901.

LabView Communications provides a range of predefinedmodulation and demodulation schemes. One of them is a MSKdemodulation blocks that converts the retrieved signal into abit stream with in and out parameters as shown in Figure 7.

C. Data Link Layer

The data link layer in the AX100 computer is executive fordelimiting the payload with an overhead containing a descrip-tion of the package. It will encapsulate the data into a datalink layer frame, providing frame-level error correction andcontrol. The layer is also responsible for collision avoidanceand carrier sense using the Medium Access Control (MAC)protocol.

1) Framing types supported in AX100: AX100 supportsfour different data link layer formats. This includes AttachedSync Marker (ASM) mode, High-Level Data Link Control(HLDC) mode and Viterbi FEC mode. Ax25 is mentionedin the datasheet, but not in the manual. RAW is mentionedin the manual as an option, it is not known whether Ax25corresponds to RAW or not.

Attached Sync Marker is a mode where the packet isattached with a synchronisation sequence (this is discussedin detail under section II-C2) followed by an 1-byte lengthfield, and then the RAW data. However, an 1-byte length fieldis very dangerous. If a bit in the length field flicks, it can resultin a complete corrupted message

HLDC is a mode where the CSP packets are sending contin-uously. send the data containing the CSP packets continuously.

A start and stop sequence is needed to be able to distinguishbetween the packets. Per default this start and stop sequenceis 0x7E. However, 0x7E often occurs in random noise whichmakes this method of sending data at a disadvantage.

HLDC + Viterbi FEC mode is a way to encode the wholepackage by using the Viterbi module that the AX100 has. Thismethod removes the disadvantage mentioned in the previoussection, by using a special synchronisation sequence theremust be four valid packets with 0x7E between two framesto maximise the probability of a valid packet.

2) Synchronisation sequence: A preamble is sent for eachpacket. Its purpose is to determine what is a high and lowsignal. What this preamble is and what length it has isconfigurable in the internal computer of AX100.

3) Medium Access Control protocol: The MAC protocol isa type of CSMA/CA (Carrier Sense Medium Access/CollisionAvoidance) and is used in the AX100. That is because AX100is a half-duplex radio which means that it listen before sendinga signal.

The Carrier Sense part of CSMA/CA has two ways todetermine if the communication is used. The first one is called”Receiver de-framer” which checks whether the radio got astart frame, and the second one is Received Signal StrengthIndicator (RSSI) which checks if the signal strength is abovea certain threshold. If one of two of the condition previouslymentioned fulfils, then the receiver is considered busy.

Collision Avoidance is achieved by the presumption thatthere are only two radios involved in the channel. Aftertransmitting there is a guard time, and it is this guard timethat will guarantee that there is no collision. [12]

4) Frame Check Sequence: Frame check sequence (FCS)refers to the extra bits of information in the packet that appendsonto the payload. The purpose of this is to determine if apacket is corrupt or not.

The AX100 supports two different ways to detect a error.The first one is CRC32 and stands for cyclic redundancy checkwhich is only used for validation of the package. This isachieved by checking if one of the the bits flipped.

Reed Solomon is the second method that AX100 supports,it is a family of error correcting codes and adds a extra setof bits. The transceiver uses Reed-Solomon (223,255) in theFCS. What it means is by sending 223 bits and require thefinal package to be 255 bits one can correct up to 16 corruptedbits of data [14].

D. Network/Transport Layer

CubeSat Space Protocol (CSP) is responsible for routingof the telemetry and telecommand packet produced by thesatellite. It consists of a 32 bit header as seen in Figure 8and this is what the incoming packet looks like after beingprocessed by the Data Link Layer.

A CSP packet does not contain a length field. It is remark-able considered that CSP header is not enough to determinewhere the data ends. To allocate memory for the incoming dataan end user need to retrieve this information from the DataLink Layer which makes the usage of this protocol complex.

Page 7: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

Figure 8. A CubeSat Space Protocol packet. Source:https://en.wikipedia.org/wiki/Cubesat Space Protocol

Figure 9. Loop back configuration setup

III. METHOD

A. Choice of hardware and software

The tools we decided to use in order to achieve the projectaim are USRP NI-2901 and LabView Communications. Wewere recommended a family of USRPs developed by NationalInstruments susceptible for the frequencies of interest. Wechose NI-2901 because two receiver and two transmission port.The advantage of having four channels is that it will make itpossible to send and receive at S-band and UHF at the sametime.

We looked at two different providers of SDR software, onewas GnuRadio and the other one was LabView Communica-tion. The latter was chosen as it provides an easily understoodinterface as well as good documentation and support.

B. Initial tests

The USRP NI-2901 was tested through a loop back config-uration, i.e. a signal was sent from the USRP TX front endand received by the RX front end of the same USRP. TheTX and RX front ends were connected using a coax cablewith -30 dB attenuation (see Figure 9). When the transmittedsignal could be visualised properly using the samples obtainedin the RX front end, the cable connection of the TX portwas disconnected and instead connected to the TX port of theAX100 satellite radio, now with an attenuation of -50 dB (seeFigure 10). The resulting maximal power input to the NI2901thus becomes 31 dB −50 dB = −19 dB which is less than themaximal power input of −15 dB. The configuration parametersof NI-2901 were set to those specified in the AX100 (seesection IIIB for detailed information), and the up and pingcommands were sent from AX100. The results obtained bythe RX front end are visualised in Figures 13 and 14.

C. Demodulation of data transferred from AX100 to NI-2901

The samples obtained by the RX front end of NI2901was processed using GMSK demodulation. In the followingsection we explain how we prepared the AX100 radio andthe NI-2901 in order to implement the GMSK demodulator.The data output of the GMSK demodulator was analysed by

Figure 10. AX100 to NI-2901 configuration setup

Table ISETTINGS MODIFIED IN THE AX100. OTHER PARAMETER VALUES ARE

LEFT AS DEFAULT.

Parameter ValueCarrier frequency of the transmitted signal 434 MHzModulation index of the FSK modulator 0.5Symbol rate 4800 baudPreamble 0xAAPreamble length 100 bytesPing message length 100 bytesError Correlating Code CRC32Data Link Layer mode ASM

hexadecimal viewer in order to compare the received data withthe knowledge of the data sent from the AX100 radio, this toolis explained in III-C3. The resulting received data is presentedin hexadecimal code and visualised in Figure 15. The samesetup was used as mentioned in III-B and shown in Figure 10.

1) AX100 Computer Setup: AX100 Computer need to beconfigured in order to determine what signal AX100 is send-ing. Relevant parameters was setup using the configuration intable I.

In order to use the ping command it is required to knowwhat interface the ping packet are going to go, this is accom-plished by looking at the routing table. The routing table (asseen in Figure 11) has an outgoing interface called AX100 andthis is the radio. To be able to send to the radio we have tosend a ping message to a network address that belongs to thenetwork 0/1, the last digit stands for the number of subnet bitsand is per definition 16 in decimal. The process to determinewhat network an address belongs to is called ANDing, whichwe won’t get into detail. By ANDing 1 with the decimal value16 gives 0 which means that it will send the packet to theAX100 radio using the routing table in the AX100 computer.Thus by sending the ping message to 1 with size 100 in lengthwe could generate the Figure 14.

2) LabView Communication Setup: How do one receive asignal and demodulate it in LabView? The USRP needs to beconfigured with the parameters in Table II. This is done firstas seen in figure 12 before being able to to retrieve samples.

20/5 LOOP0/1 AX10016/1 KISS

Figure 11. The routing table of the AX100 computer where the network areto the left with the format n/m and the outgoing interface on the right.

Page 8: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

Configure USRP

Retrieve I/Q data Gaussian filter Extract binary

data

Write to fileShould

the program

exit?

Yes

No

GMSK Demodulator

Start

Stop

I/Q stream

Bit array

Figure 12. Flowgraph of the program made in LabView Communication. Theprogram starts at top middle and stops on the down left corner.

Table IISETTINGS USED BY THE NI-2901 WHEN RETRIEVING DATA FROM THE

USRP.

Parameter ValueCarrier frequency 434 MHzGain 60 dBI/Q-rate 153 600 Samples/s

As samples being collected by the USRP with the desired I/Qrate LabView will in the meantime download the buffer i.e.the I/Q-data.

To retrieve the I/Q data from the USRP one need to usea block to download the samples as seen in the flow graphon Figure 12. Then, to extract the bits, one need to create ablock that converts the I/Q-data to bits. This block is called anMSK Demodulator and as seen in Figure 7 it requires severalparameters such as: MSK system parameters, matched filtercoefficients, synchronisation parameters.

MSK system parameters is a block that contains two values:An integer samples per symbol, and if the differential encodingshould be enabled (which is a boolean value). The MTGenerate filter coefficient block generates two return valuesthat is needed to shape the incoming signal. Synchronisationparameters is a set of values needed to determine the synchro-nisation sequence. This sequence is referred to as the preambleand is set for every packet.

After giving the MSK Demodulator the required in param-eters the output will be a bit stream. This bit stream was thensaved to file and thus can we process it in Hexdump afterexiting the program. See section III-C3 for more informationon how Hexdump works and how it was used.

3) Hexdump: Hexdump retrieves the data in the producedbinary file and stores it in the memory. The memory consistof elements called word, for each word you can store a bunchof integers. Hexdump prints every integer in the memory in ahexadecimal format which allows us to analyse the content ofthe binary file and thus get the information about the incomingbit stream.

IV. RESULTS

We are able to receive carrier waves and ping messages sentfrom AX100 to NI-2901 through coax cable with attenuationof -50 dB. The corresponding frequency spectras are visualisedin figures 13 and 14 respectively. The frequency unit in the di-agrams is Hz (derived by analysing the result of the loop backconfiguration where the transmitted base band frequency wasknown). When sending a carrier wave we get a peak at about960 Hz in the frequency spectrum. Sending a ping messageresults in an increased intensity of a spectrum of frequenciesraging from zero to about 7000 Hz, some frequencies morecommon than others.

Figure 13. A carrier wave frequency plot

Figure 14. Frequency plot while sending a ping packet

The GMSK demodulated data from the receive channelwhen sending a ping message is represented in the hexadeci-mal system as in figure 15. Worth noticing is the marked 100AA’s that occur each time a ping message is sent. However,sometimes when sending a ping, instead of 100 received AA’s,100 55’s are received.

V. DISCUSSION

Figures 13 and 14 displays the frequency spectrum of thebase band signal when receiving a bare carrier wave and whenreceiving a ping message respectively.

Note that when sending a bare carrier wave there is no trans-ferred data, i.e. there are no frequency shifts. Thus, the peakat approximately 600 Hz in Figure 13 illustrates the frequencydeviation from the carrier frequency of the transmitted signal,i.e. half of the signal bandwidth. The frequency spectrum in

Page 9: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

Figure 15. HexDump result with marked preamble

Figure 14 is broad because the signal discontinuities will beinterpreted as a signal consisting of not only one, but severalfrequencies. Fourier analysis indicates that in theory, a signaldiscontinuity consists of an infinite amount of frequencies,however, because of inevitable imprecision in hardware, thesignal discontinuities will be represented by a finite spectrumof frequencies.

Figure 15 shows the transmitted data in hexadecimal codewhen two ping messages has been sent. The preamble (set to100 bytes corresponding to 0xAA i.e. AA in the hexadecimalsystem) can easily be identified. We can see that it has thecorrect length i.e 100 AA16 symbols = {A16 = 10102} =800 bits = 100 byte, which is the specified length of a pingpreamble (see Table I). Before the ping message nothing issent, thus the data before the sequence of AA’s corresponds

to channel noise.Sometimes however, we receive 100 55’s instead of 100

AA’s. The reason for this is their representations in the hex-adecimal system where A16 = 10102 and 516 = 01012. Thus,when receiving fives, the frequency changes are interpretedwrongly in the GMSK demodulator. To fix this, a propersynchroniser has to be implemented. Further more, the actualmessage needs to be extracted from the received data, themessage length is defined in the AX100 is set to 100 bytes.Thus, the 100 bytes of data after the preamble corresponds tothe ping message in the data link layer.

The ping message is 100 bytes long (see Table I), thus,the 100 bytes after the preamble is the actual ping message,the rest of the data represents noise. When sending the pingmessage several times, if the preamble is interpreted correctly,we expect to see the same pattern in the message data, howeverthis is not the case (see sequence after the two preambles inFigure 15). We have thus reason to assume that the messageis scrambled in the data link layer. The reason for scramblingdata is to avoid long sequences of bits with the same valuewhich may cause timing or interference difficulties in the RXfront end [15].

Although we have not yet found specifications that supportsour suspicions, we are considering the possibility that theRAW mode included in the ASM framing format (see sectionII-C1) corresponds to the Ax.25 mode which uses scrambling.Further more we have found an AX100 demodulator onGitHub [16] where a descrambler has been implemented.Thus, we conclude that a reasonable continuation of thisproject involves implementation of a descrambler.

VI. SUMMARY/CONCLUSION

In this bachelor project satellite communication has beenstudied and a prototype SDR implementation has been de-veloped for data reception at the UHF channel of the SEAMsatellite. Further work remains to establish full communicationi.e. reception and transmission seamlessly integrated with thesatellite radio AX100 and the data analysis tool RAMSES.This includes retrieving information enclosed in the data linklayer and transport layer as well as an implementation of aReed Solomon encoder and a descrambler in the physicallayer. Further more, a natural extension of this project isto implement SDR also for the S-band channel. This willrequire implementation of a BPSK and QPSK modulationas well integration with the CCSDS (Consultative Committeefor Space Data Systems) protocol. The current analog S-bandsignal processor is very expensive so an SDR implementationwould significantly reduce the costs.

ACKNOWLEDGMENT

The authors would like to thank Chip from ICT at KTHfor the help with identifying the problem with our USRP. Wewould also like to thank Payman and Gustav from NationalInstrument support for their engagement, encouragement andhelp with the use of Labview Communications and USRP NI-2901. Further more, we would like to thank Malte who hasbeen of great help in controlling the AX100 satellite radio. At

Page 10: G5. SDR FOR SATELLITE COMMUNICATION SDR Implementation …1120520/FULLTEXT01.pdf · be discussed in section II-B2. The UHF channel uses GMSK (Gaussian Minimum Shift Keying) modulation.

G5. SDR FOR SATELLITE COMMUNICATION

last we also want to thank our supervisor Nickolay, who hasbeen supportive in navigating and performing the project.

REFERENCES

[1] D. Skaborn, D3.5 Telemetry and Telecommand, Uppsala, 2016, SEAMproject documentation.

[2] Microsoft. (2017, May) The OSI Model’s sevenlayers defined and functions explained. [On-line]. Available: https://support.microsoft.com/en-us/help/103884/the-osi-model-s-seven-layers-defined-and-functions-explained

[3] W. G. Chambers, Basics of Communications and Coding. New York:Oxford University Press, 1985.

[4] T. Mai. (2017, May) NASA satellite communication. [Online].Available: https://www.nasa.gov/directorates/heo/scan/communications/outreach/funfacts/txt band designators.html

[5] R. W. Stewart, K. W. Barlee, D. S. W. Atkinson, and L. H. Crockett,Software Defined Radio Using MATLAB & Simulink and the RTL-SDR.UK: Strathclyde Academic Media, 2015.

[6] M. Tsamsakizoglou, “Radiation tolerant satellite communication mo-dem,” Master’s thesis, KTH Royal Institute of Technology, Stockholm,2012.

[7] M. Svanstrom. (2017, May) Minimum shift keying. [Online]. Available:http://www.commsys.isy.liu.se/TSDT76/mskpaper/msk.pdf

[8] A. Munir, N. Febrian, A. D. Setiawan et al., “Signal analysis of GMSKmodulation-based CubeSat automatic identification system receiver,” inInformation Technology, Computer, and Electrical Engineering (ICI-TACEE), 2016 3rd International Conference on. IEEE, 2016, pp. 439–442.

[9] S. Pasupathy, “Minimum shift keying: A spectrally efficient modulation,”IEEE Communications Magazine, vol. 17, no. 4, pp. 14–22, 1979.

[10] B. Pravin. (2017, Apr.) Bluetooth: 1.applications, technologyand performance. [Online]. Available: http://faculty.kfupm.edu.sa/coe/mayez/ps-coe541/references/Chapter11.ppt

[11] Gomspace, NanoCom AX100 Datasheet Long-range soft-ware configurable VHF/UHF transceiver, Aug. 2016. [On-line]. Available: https://gomspace.com/UserFiles/Subsystems/datasheet/gs-ds-nanocom-ax100-33.pdf

[12] Gomspace, AX100 User Manual Interface Description and Usage Guide,Aalborg, 2015.

[13] National Instruments. (2017, Apr.) USRP NI-2901 specifications. [On-line]. Available: http://www.ni.com/documentation/en/labview-comms/1.0/2901/specs/

[14] M. Riley and I. Richardson. (2017, Apr.) Reed-solomon codes. [Online].Available: http://www.cs.cmu.edu/∼guyb/realworld/reedsolomon/reedsolomon codes.html

[15] Wikipedia. (2017, Apr.) Scrambling. [Online]. Available: https://en.wikipedia.org/wiki/Scrambler

[16] GitHub. (2017, Apr.) AX100 demodulator GNU Radio. [Online].Available: https://github.com/daniestevez/gr-ax100