A Doppler Correcting Software Defined Radio Receiver Design for Satellite Communications

Page 1

Feature Article:

DOI. No. 10.1109/MAES.2019.2960952

A Doppler Correcting Software Defined Radio Receiver Design for Satellite Communications Edwin G. W. Peters, Craig R. Benson, School of Electrical Engineering, University of New South Wales Canberra, Canberra, BC, Australia

INTRODUCTION Traditionally in satellite downlink radios, causal signal processing techniques are applied. This means that the received samples are processed in a flow as the analog to digital converter provides them. The reason for this is that historically, storing samples for later processing requires memory, which is scarcely available on embedded chips, field programmable grid arrays, etc. However, significant benefits can be achieved by storing the samples and processing them noncausally in blocks. The main one being that we can take advantage of the fast convolution algorithm, which utilizes fast Fourier transforms (FFTs) to do the convolution. Furthermore, high performance FFT algorithms exist that can take advantage of different architectures and parallel execution. This opens up the potential to do significantly more signal processing in real time compared to causal approaches. In addition to this, it is worth recalling that by using acausal signal processing methods, the information contained in future samples can be utilized. In contrast, only the past samples can be utilized with causal signal processing methods. Communications to and from satellites in orbit around earth, and other bodies, are normally affected by a frequency offset due to the Doppler effect [1]. While the frequency offset due to the Doppler effect can be predicted using a priori information, such as an orbit propagation using a two line element (TLE) set other frequency offsets such as oscillator drift and offsets, atmospheric disturbances (mostly at higher frequencies) and inaccuracies in the

Authors’ current address: E. G. W. Peters and C. R. Benson, School of Electrical Engineering, University of New South Wales Canberra, Canberra, BC 2610, Australia. E-mail: (edwin.peters@unsw.edu.au; c.benson@unsw.edu.au). Manuscript received May 19, 2019, revised November 15, 2019; accepted November 20, 2019, and ready for publication December 17, 2019. Recommended for acceptance by M. De Sanctis. 0885-8985/19/$26.00 ß 2019 IEEE 38

orbit prediction can affect the frequency offset that is observed while communicating with satellites. To successfully acquire a phase lock with a phase locked loop (PLL), the loop bandwidth of the PLL has to be chosen to be sufficiently wide to accommodate for the worst case frequency offset [2]. In addition to this, the transmitted packets do need a carrier to be present for a while prior to the data, such that the PLL can achieve a phase lock. While a PLL can be used in combination with precompensation using a priori information, the loop bandwidth has to be wide enough to be able to accommodate for unknown frequency offsets. There exist multiple demodulation techniques that are robust to large frequency shifts [3], [4], [5]. While the methods presented in [3] and [4] are limited to a single modulation scheme (frequency shift keying (FSK) and quadrature phase shift keying (QPSK), respectively), the discrete Fourier transform method presented in [5] utilizes the carrier only to estimate the frequency offset. There also exists physical/data link layer protocols that are entirely robust against large frequency offsets [2], [6]. In this article, we propose a flexible software defined radio (SDR) receiver design for the reception and demodulation of satellite signals. This SDR processes the data noncausally. The SDR utilizes matched filters for the demodulation, and performs a full Doppler search and compensation in real time. The matched filter approach allows the proposed SDR architecture to be adapted to suit any modulation scheme. This allows the proposed SDR to be used in conjunction with commercial of-the-shelf radios. The Doppler search is, however, computationally demanding, since multiple convolutions have to be performed on the same signal. In fact, a MATLAB implementation of the exhaustive Doppler search took 5 h to process a 15 min satellite pass, where the data link was 9600 bit/s and over sampled a factor 16. However, by utilizing an entry level Nvidia Quadro K620 GPU, this pass could be processed in less than 5 min. For many applications, the proposed SDR receiver can run on general purpose computers with entry level and most likely also on embedded GPUs. The Doppler search makes the radio suitable for satellite communications without any knowledge of the satellites range

IEEE A&E SYSTEMS MAGAZINE

FEBRUARY 2020

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


rate, which can be useful especially in the launch and early orbit phase (LEOP) phase when a satellite is transmitting automated beacons, or for large spacecraft constellations where a priori information for all communicating parties is not necessarily known. Furthermore, the Doppler search makes the proposed SDR tolerant to crystal offsets between the transmitter on the satellite and the receiver on the ground. By changing the set of matched filters, the SDR can be adapted to demodulate any modulation scheme. The advantage of this approach to demodulation is that besides the modulation scheme and a coarse estimate of the center frequency and code rate, no knowledge of the signal is required. Using GPUs for radio frequency (RF) signal processing and demodulation has been done in multiple settings. For example, Wu et al. [7] utilized GPUs to perform tracking and acquisition for global positioning system (GPS) signals. Demodulation and interference removal for offset QPSK using GPUs is presented in [8], as well as carrier and timing synchronization using the Kurtosis on QPSK signals [9]. In contrast to existing GPU-based SDRs, the proposed SDR receiver features the unique ability, that the matched filters are used for the entire SDR receive chain. This includes the removal of the Doppler frequency, timing synchronization, and demodulation. This allows the demodulator to support multiple modulation schemes by merely changing the set of filters. Additionally, we present methods that combine decoded signals, allowing for application to multiple antenna systems, or even dispersed ground stations. This provides robustness against localized burst interference and increases the sensitivity of the demodulation. The proposed Doppler shift agnostic SDR is currently in use for communications with in-orbit satellites and has proven itself useful during LEOP satellite acquisition when the TLE is not exact and the satellite has unknown crystal offsets while nonsynchronized clocks are present at the ground station. Additionally, the proposed SDR receiver is robust to changes in crystal offsets throughout the life time of the satellite. In the following, we present a brief background on traditional SDRs before providing an overview of the proposed SDR design. This is followed by an in-depth presentation of the blocks that make up the proposed

FEBRUARY 2020

SDR. Before presenting the algorithms used when implementing the proposed SDR, we present a discussion on utilizing multiple antennas and ground stations to reduce the effects of burst interference and polarization fading. An example of the SDR when in use with an in-orbit satellite and simulations are finally shown before a brief discussion on future directions concludes this article.

BACKGROUND Most low earth orbit (LEO) cube- and microsatellites communicate in the ultrahigh frequency (UHF)/very high frequency (VHF) bands using low data rates (9600 baud and lower [10]). Satellites in LEO travel at 6.2 km/s to 8.2 km/s. The observed center frequency of an object (satellite) that is nonstationary to the observer (ground station) is given by fo ¼ fc þ fd where fo is the observed frequency, fd is the Doppler frequency, and fc the center frequency of the transmitter. The Doppler frequency depends on the range rate (the relative velocity between the satellite and ground station), and is given by fd ¼

vr

where vr is the relative velocity in m/s and is the wavelength in meters. This is computed as ¼ fcc where c is the speed of light. For UHF/VHF communications, the Doppler frequencies can be of the order of 10s of kilohertz. This can, depending on the symbol rate, result in a significant phase wrap in each symbol period. Therefore, it is necessary to compensate for the Doppler offset to properly demodulate these satellite signals. Traditionally, the Doppler offset is estimated from the satellites TLE using a propagator [11], [12], [13]. Here, the RF signal is downmixed to an intermediate frequency (IF) and low pass filtered. The coarse Doppler compensation will, then, be done by mixing the IF signal with a local oscillator (LO). The frequency of the LO is based on the range rate [see Figure 1(a)]. The range rate is

IEEE A&E SYSTEMS MAGAZINE

39

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


A Doppler Correcting Software DeďŹ ned Radio Receiver Design for Satellite Communications

Figure 1. (a) Flow diagram of a traditional radio for satellite communications that performs Doppler correction using external range rate estimates based on accurate a-priory knowledge of the position (such as TLE). (b) Structure of the proposed SDR with active Doppler correction. Note, that no range rate or external information is required. The bottom of (b) shows the details of the Doppler search block, while the top shows the timing recovery.

normally provided by a propagator, which predicts the satellites path and range rate based on a TLE. Provided that the TLE is accurate, the Doppler offset is removed sufficiently for envelope detection, differential decoding, or for a PLL to lock on the carrier. An inaccurate TLE or path propagation

40

of a satellite can result in a significant error in the Doppler estimate, which results in decreased effectiveness of the demodulation. Additionally, the presence of unknown carrier offsets due to crystal drift or atmospheric effects cannot be predicted using a TLE.

IEEE A&E SYSTEMS MAGAZINE

FEBRUARY 2020

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


Peters and Benson

To mitigate the abovementioned problem, we propose a SDR receiver that finds the signal carrier in real time, and thereby the Doppler offset. This makes the radio robust for internal oscillator offsets, inaccurate TLEs and propagations. In fact, as long as the modulation scheme, approximate code rate, and approximate center frequency are known, the carrier offset can be found. The proposed radio is illustrated in Figure 1(b). Doppler search is, however, not a new idea, since it is frequently used, for example for GPS/global navigation satellite system (GNSS) signal acquisition [14], [15], [16], [17]. However, a brute force Doppler search is computationally expensive [16]. In the proposed design, the Doppler search is made feasible by taking advantage of noncausal signal processing techniques, such as the fast convolution algorithm that utilizes FFTs. However, a central processing unit (CPU) implementation of the proposed algorithm was still an order of magnitude too slow for real-time processing. To address this performance issue, we demonstrate a GPU implementation, that supports real-time Doppler search and acquisition for data rates in excess of 1 Mbaud. Additionally, the demodulator also performs a code rate and code phase search for accurate symbol synchronization. Another advantage of the proposed approach is that the Doppler search algorithm can be tuned to any modulation scheme by merely replacing a set of filters. This allows one to switch between different modulation schemes without redesigning the entire algorithm. These filters are also used for subsequent demodulation of the signal. In addition, if the signal has embedded markers, the cost of the Doppler search can be reduced by limiting the number of matched filters employed. This makes the proposed SDR highly flexible. A customizable decoder is integrated in the SDR that finds packetized data in the bit stream. This decoder is compatible with the AX.25 protocol [18], and can easily be altered to support different protocols.

SDR BLOCKS This section introduces and explains the modules that make up the SDR in detail.

DOPPLER SEARCH AND COMPENSATION The SDR utilizes an universal software radio peripheral (USRP) that downmixes the RF signal and samples the base band (BB) in a selected bandwidth. We perform a coarse Doppler search by cross correlating the received signal with templates of the modulated carrier with different Doppler offsets. The coarse Doppler shift can then be found from the magnitude of the cross correlations. Figure 2 provides an overview of the Doppler search. FEBRUARY 2020

Figure 2. Illustration of the computations in the Doppler search. The blocks in the blue box are executed for each combination of Doppler offset and filter template. This can be done sequentially or in parallel.

For a received signal xðkÞ 2 C and filter hðkÞ 2 C, the cross correlation is given by cðk; hÞ ¼ xcorrðxðkÞ; hðkÞÞ , xðkÞ hðkÞ 1 X ¼ xðk tÞhðtÞ

(1)

t¼ 1

or in the frequency domain as Cðf; HÞ ¼ XðfÞHðfÞ where XðfÞ ,

1 X

k

xðkÞe2pjT f

k¼ 1

is the Fourier transform of xðkÞ and T is the sample interval. Let the signal xðkÞ be given by xðkÞ ¼ rðkÞ þ vðkÞ where rðkÞ is a BB signal with unknown carrier remnants due to the Doppler shift (While the Doppler frequency fd is time-varying during a satellite pass, it can be assumed constant during the processing window, which generally is less than 500 ms long.) k

rðkÞ ¼ sðkÞej2pfd T

and vðkÞ representing other disturbances, such as white Gaussian noise and sporadic bursts. While the carrier remnants fd are unknown, the upper and lower bounds are usually known, i.e., fd 2 ½fd ; fdþ , F. The upper and lower bounds on the frequency offset due to Doppler, can

IEEE A&E SYSTEMS MAGAZINE

41

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


A Doppler Correcting Software Defined Radio Receiver Design for Satellite Communications

Figure 3. Flow of the Doppler search, Demodulation and timing recovery. The demodulator receives the Doppler corrected signal from the Doppler search and cross correlates each symbol template against the signal. The fine timing recovery is done using local peak searches around the symbol sampling points.

be found directly from the satellites orbit parameters (see for example [1]). Additional frequency offsets due to atmospheric disturbances, oscillator drift, etc., can be included in F by increasing the upper and lower bounds. The modulation scheme used in sðkÞ is known. Thus, when the filter hðkÞ uses a bit sequence modulated with the same scheme, the magnitude of the cross correlation, i.e., jxcorrðsðkÞ; hðkÞÞj2 would peak if that bit sequence is present. Thus, hðkÞ is a matched filter. However, since xðkÞ is a received IF signal, there are some unknown carrier remnants left in the signal. In this case, the magnitude of (1) would only peak if the filter has a very similar carrier fd present. To find fd , we perform a search among the carriers in F. The filter design is discussed in further detail at the end of this section. In the proposed SDR, the correlation is performed on length N blocks of the signal. The filter spans M symbols. At a sampling rate of sps samples/symbol, the filter h , ½hð0Þ hðMsps 1Þ 2 CNh , where Nh ¼ Msps. When using a modulation scheme that maps one bit per symbol, 2M different filters are required to cover all bit combinations (It is worth noting, that the Doppler search also can be performed successfully by only using a subset of the filters as it is not necessary to match all symbol patterns, and in modulation schemes such as binary phase shift keying (BPSK) some filters are inverted versions of others.) These filters form the set H. The cross correlation at time k for frequency f and filter h 2 H is given by

cðk; f; hÞ ,

M 1 X t¼0

xðk tÞhðtÞej2p

k tf T

f2F k ¼ 0; . . . ; N 1

(2) with N being the signal length. Then, the Doppler estimate can be found by 42

fd ¼ argmax f2F

1 XN X jcðk; f; hÞj2 :

(3)

h2H k¼0

Remark 1. It is worth noting that in (3), we choose to only find the frequency where the signal is present. It would, however, also be possible to find a rough estimate of the time where the signal starts and/or ends. This can, for example, be done using sstart ¼ min

" X

k

send ¼ max k

# jcðk; fd ; hÞj sthresh

h2H

" X

# jcðk; fd ; hÞj sthresh

h2H

where sthresh 0 is the threshold. In the current implementation, we, however, rely on the decoder to find packet boundaries. The threshold sthresh has to be tuned, such that the threshold level is higher than the noise plus disturbances that are present in the signal. The noise level can, for example, be determined directly from the FFT bins in XðfÞ where no carrier is present. An example of the magnitude output of the Doppler search is shown on the left in Figure 3, where a modulated signal is found with a Doppler offset of around 22 kHz. The transmission starts at around sample 20 000.

TIMING SYNCHRONIZATION After the Doppler frequency is found, the code rate can be found from the interval between the peaks of the magnitude of the cross correlations. Let the cross correlations at the estimated Doppler frequency fd be given by cðk; fd ; hÞ 8h 2 H, with c defined in (2). Then, the total magnitude of the correlation against all symbols of each sample is found by

IEEE A&E SYSTEMS MAGAZINE

FEBRUARY 2020

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


Peters and Benson

with the Doppler compensated signal. The magnitudes of these correlations are summed over the templates using (4). The code rate and phase are, then, found in the frequency domain using (5) and scaled using (7) and (8). The FFT and outcome of the code rate search is depicted on the right-hand side of Figure 3. The plot shows the FFT of the masks (6). The peak in Figure 3 corresponds to a symbol rate of 16.4 samples/symbol.

Remark 2. In the set S, the bin at 0 is omitted, since in practical situations there will likely be a dc-offset present due to the magnitude of the cross correlations. This results in a high energy bin at 0. In practical implementations, the code-rate search is performed in the interval

Figure 4. Illustration of the timing recovery, which is done using a code rate and phase search in the frequency domain.

cðkÞ ¼

X jcðk; fd ; hÞj2 :

(4)

h2H

If there is a modulated carrier present in the signal x with the same modulation scheme as assumed in the filters h, and the over sampling rate is high enough, then c will contain spikes in amplitude on every symbol match. The interval of these spikes is given by the baud rate or code rate of the message in the signal. When the code rate is constant, the interval of these spikes is common. Taking the magnitude of the FFT of c will reveal a spike, which represents the code rate. The algorithms location in the SDR is illustrated in the top ? of Figure 1(b). Formally, this is done as follows: Let i be the index in the one-sided N-point FFT that satisfies i ¼ arg maxjCðiÞj2 ?

(5)

i2S

where the interval S ¼ 0; N2 1 represents the sequence of scaled code rates. It is worth noting, that the bin at 0 in C is excluded, since there normally is a dc offset present in the sum of the magnitude of the correlations cðkÞ (see the right-hand side of Figure 3) . In (5), CðiÞ is the ith index of C, with C ¼ F ðcÞ:

(6)

Then, the code rate is found by simple scaling r¼

N : i?

(7)

S,

DEMODULATION Now, the Doppler frequency fd , the code-rate r and the code-phase f are known. This will provide sufficient information to demodulate the signal. The demodulator is designed such that the implementation can be parallellized for the entire signal block. It is worth noting that cross correlating a template covering M symbols to the signal essentially is a maximum likelyhood detector. Here, the correlation between the two gives a pseudoprobability that the received signal represents the sequence of M symbols. Thus, for the demodulation, all that has to be done is to find which filter, or sequence of symbols, maximizes the detected energy (or probability) when correlated with the received signal. The conventional method to detect the symbols is to integrate the correlation function over time, and select the symbol that maximizes the signal-to-noise ratio (SNR). However, given the code-phase f and code-rate r, it is sufficient to investigate the peaks of the cross correlations at certain intervals ½f; f þ r; f þ 2r; . . . ; f þ nr in the entire signal block at once. Formally, the detection is done as h ðiÞ ¼ arg maxjcðiÞj2 ?

h2H

i 2 ½f; f þ r; f þ 2r; . . . ; f þ nr :

?

ð9Þ

(8)

A flow chart depicting the algorithm is shown in Figure 4. The timing recovery block, shown in Figure 4, gets the cross correlations of each code template (mask) FEBRUARY 2020

where N is the length of the signal block and spsmin and spsmax are the minimum and maximum expected over sampling rates, respectively.

The code delay is, then, found by taking the argument of ? Cði Þ and scaling accordingly rffCði Þ f¼ : 2p

N N ; spsmin spsmax

While the method described in (9) works well in good signal to noise ratio (SNR) situations, the peaks of the masks can be offset by a few samples. For that reason, a local peak search is performed for each mask. This extends (9) to

IEEE A&E SYSTEMS MAGAZINE

43

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


A Doppler Correcting Software Defined Radio Receiver Design for Satellite Communications

Figure 6. Figure 5. Flow diagram of the demodulator. The green box presents the timing recovery module, which is illustrated in Figure 4.

h ðiÞ ¼ arg max maxk¼½ W;...;W jcði þ kÞj2

Few examples of templates of waveforms used for demodulation. Note that for GMSK, the inverse bit sequences (i.e., (0,0,1,0,0) and (1,1,0,1,1)) are related through complex conjugation, whereas the BPSK inverse bit sequences are related through sign reversal.

?

h2H

i 2 ½f; f þ r; f þ 2r; . . . ; f þ nr

(10)

where W is smaller than or equal to half the search window width. It is worth noting that (10) only depends on the estimated symbol index, allowing a parallel implementation of the demodulator. This is illustrated as the yellow box in Figure 5. A flow diagram of the demodulator is presented in Figure 5. First, the Doppler corrected signal that is received from the Doppler search is cross correlated with each mask. Next, the code rate and code offset from the timing recovery module are used to estimate the locations of the symbols in the over-sampled cross correlation output. Each symbol location is then fine synchronized independently using the inner maximization in (10) (the yellow box in Figure 5). Finally, the symbol that corresponds to the largest peak magnitude in the local search domain for each symbol is selected, which is formally described in the outer maximization in (10). Finally, the demodulator utilizes a lookup table to map the detected masks to symbols, and/or bits. Since the template is multiple symbols long, any symbol in the template can be chosen to “represent” the decoded bits. However, if the templates are weighted using a windowing function, the symbol in the center of the template is usually selected.

FILTER TEMPLATE DESIGN The filter templates are designed as a set of matched filters of the modulated wave form. These templates can span multiple symbols to achieve stronger correlations for signals with inter symbol interference and to avoid high frequency artifacts at the edges of the waveform. The filter templates have two purposes: First, they are used for signal detection during the Doppler search, and second, they are used for symbol synchronization and detection in the demodulator. There are multiple ways to utilize 44

the symbol detection in the demodulator. Depending on the modulation waveform, one can directly map the center symbol in the template to an encoded symbol and discard the other symbols in the template. This works very well for continuous phase modulation schemes such as FSK and minimum shift keying (MSK). In this case, it is recommended to use a windowing/weighting function on the matched filters to reduce the contribution of high frequency artifacts and possible distortion on the edges of the filters. Figure 6 illustrates unweighted Gaussian MSK (GMSK) and BPSK waveforms for a few length 5 bit sequences. It is worth noting, that for GMSK, the waveform for the inverse bit sequence, i.e., (0,0,1,0,0) and (1,1,0,1,1) are complex conjugates. The reason for this is that the phase in MSK schemes increases or decreases by p2 rad depending on the bit. However, for BPSK, the filter for the inverse bit sequence is merely a sign change of the filter for the original bit sequence. This results in a detection ambiguity when purely the magnitude is used, since both filters will result in the same correlation energy. The ambiguity can, however, be resolved by observing the phase of the detection. Another approach to resolve the ambiguity is to interpret the filters as sliding windows. This means that the previous symbol is taken into account when detecting the current symbol. The advantage of this method is, that for a modulation scheme with n symbols, there are from each previous template only n templates that can cover the next symbol. Additionally, only half of the filters have to be tested on the signal. Using this, it is possible to detect potential bit errors in case consecutive templates do not match. One issue that remains is to resolve the ambiguity of the first bit. Encoding schemes such as nonreturn to zero (NRZ) coding or the error control system [cyclic redundancy check (CRC) or forward error correction (FEC)] could be used to resolve this issue [19]. If no non-return to zero (NRZ) coding is used, the ambiguity can be removed in the decoder by detecting packets in both the decoded and flipped bit sequence and performing a CRC or FEC on the bits, as is done in GPS [19].

IEEE A&E SYSTEMS MAGAZINE

FEBRUARY 2020

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


Peters and Benson

Example 1. For a BPSK modulated signal, at time k, the filters for the bit sequence (0,0,1,0,0) (and (1,1,0,1,1)) contained the most energy; then, at time k þ 1, we expect filters (0,1,0,0,1) or (0,1,0,0,0) ((1,0,1,1,0) and (1,0,1,1,1)) to contain the most energy. If this is not the case, there is very likely a bit error in the decoding. The abovementioned bit sequences are illustrated in Figure 6. Remark 3. It is worth noting, that the proposed SDR can be tuned to any modulation scheme. The filters can be designed manually by curve fitting received signals. This has, for example, been done for an amateur satellite that beacons using GFSK-2 modulation.

Figure 7. Signal over time for two receiving stations located 90 km apart during a downlink transmission with burst interference. Note that the interference is independent between the stations.

MULTICHANNEL DEMODULATION The proposed SDR can blend information from multiple receivers. This blending can be performed with differing levels of cost/benefit. For example, our implementation is dealing with burst interference and time varying polarization, with both colocated antennas and an additional receiving station on the far end of low-rate Internet connection. Hence, we perform hard detection of the bits from each antenna (receiver), but flag bits where confidence is low. We then perform simple voting on the remaining bits. More capable but expensive approaches suggest themselves for other scenarios. The bits and the flags from each receiver are collected and temporally aligned. The temporal alignment is in this implementation purely done using cross correlation, but could also use a priori knowledge and/or high-quality clocks. The coherent mixer/voter delays the processing for a short amount of time until it ensures that the bits and flags from most (or all) receivers are received. If the cross correlation exceeds a threshold, the bits get aligned and voting commences. If the cross correlation is below the threshold, the mixer delays the cross correlation for a short time period. If too many time periods passed, the raw bits get forwarded to the decoder. The bits from all channels are taken into account when the voting commences. Figure 7 illustrates the magnitude of the received signal from two stations during the same time period. The stations are located 90 km apart. A packet reception commences after 0.1 s. The large spikes are caused by the local burst interference. It is clear from Figure 7 that the local burst interference is spatially uncorrelated. Therefore, by detecting the bursts in the signal, the demodulator at each station can flag the bits decoded during the bursts with low confidence. Another effect apparent on the blue trace on Figure 7 is polarization fading. This occurs since the satellites spin in the orbit is not synchronized with its movement over the earth. The polarization fading is compensated for by utilizing two linearly polarized antennas at each station. FEBRUARY 2020

IMPLEMENTATION The presented SDR is computationally expensive to use due to the large number of cross correlations that are required to do the Doppler search. However, the realworld implementation cost is not well aligned to a narrow view of computational complexity. For example, the economies of scale of GPUs drives an appetite for a very large number of multiply-accumulate units to lower other costs.

Example 2. Consider a satellite in LEO traveling at 7500 m/s that communicates on the UHF band (450 MHz). From a ground station that communicates horizon to horizon, this results in a frequency offset due to the Doppler effect between 11 and 11 kHz. For a mask covering p ¼ 5 bits, there are N h ¼ 25 ¼ 32 masks. If a frequency resolution of 500 Hz is desired card ðFÞ ¼ 45 frequencies have to be tested. This results in 32 45 ¼ 1440 convolution per block. For a GMSK modulated signal with a symbol rate of 9600 bit/s, (resulting in a signal bandwidth of 14.4 kHz). With a frequency search resolution of 500 Hz, this results in a remaining Doppler offset of up to 0.052 Hz/bit, which equals a phase rotation of 0.104 p rad/bit. Recall that GMSK alternatingly modulates the bits on the in-phase component and the quadrature-phase component of the carrier, corresponding to a 0:5p rad/bit phase rotation. To avoid ambiguity in the symbol detection, the additional phase rotation due to Doppler offsets should be less than 0.5p rad/bit. Since this is the case with a 500 Hz frequency search resolution, the demodulator presented in this work can directly demodulate the Doppler corrected signal. The oversampling rate is set to 16 samples/symbol and FFT length set to 32 768 samples, these 1440 convolutions have to be done within 0.21 s since this is the block sampling interval. Using the built in FFT algorithm from the Python package NumPy, a single 32 768 point FFT takes approximately 0.785 ms.

IEEE A&E SYSTEMS MAGAZINE

45

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


A Doppler Correcting Software Defined Radio Receiver Design for Satellite Communications

Figure 8. Ground station. Left: USRPs, switching equipment and power amplifiers. Middle left: low noise amplifier s (LNAs) for the UHF chain and feeds. Middle right: S-band dish, delivered by Cingulan Space. Right: VHF, UHF, and industrial, scientific and medical band antennas.

Thus, it would take approximately 1.13 s to just do all the FFTs required for one Doppler search. Note that this does not include the other computations!

Algorithm 1. GPU algorithm for performing the Doppler search. x

1: procedure FINDDOPPLER-CUDA x 2 CN , F ðHÞ 2: X F ðxÞ 3: in parallel 8f 2 F do 4: in parallel 8H 2 F ðHÞ do 5: cðf; HÞ F 1 ðXHðfÞ Þ 6: end 7: end 8: in parallel P 8f 2 F doP N 1 2 9: mðfÞ H2F ðHÞ k¼0 jcðk; f; HÞj 10: end 11: fd argmaxf2F mðfÞ 12: end procedure

As shown in Example 2, the Doppler search is computationally intensive due to the computation of the cross correlations. A single CPU will not be able to provide sufficient performance to perform a Doppler search even for low symbol rates. However, the Doppler search algorithm is highly paralellizable, and there exist high-speed FFT algorithms for GPUs. Algorithm 1 presents a GPU implementation of the computationally heavy computations which involved in the Doppler correction. The entire algorithm is implemented in CUDA and runs on a GPU. This leads to a SDR receiver that can demodulate high symbol rates using entry level GPUs. The proposed SDR is currently in use on two UNSW Canberra Space ground stations. Some images of the 46

hardware at one of the ground stations is shown in Figure 8. The SDR runs on an HP Z230 workstation with an Intel I76700 quad core CPU, 16 GB of random access memory (RAM) and an Nvidia Quadro K620 with 2 GB of random access memory (RAM) or an Nvidia GTX 1060 with 6 GB of RAM. While the former GPU carries sufficient performance to simultaneously demodulate a 9.6 kb/s UHF and 300 kb/s S-band link, the Nvidia GTX 1060 provides enough performance to simultaneously demodulate multiple UHF channels and S-band beyond 1 Mbit/s. In addition, the extra memory on the Nvidia GTX 1060 allows for longer FFT lengths, which is beneficial when sampling at higher rates. In typical situations, the UHF is oversampled by a factor 16 to off-tune the centre frequency and to capture the entire Doppler range. The S-band is typically oversampled by a factor 4. These oversampling rates can be halved if no off-tuning of the centre frequency is required. The RF front-end consists of B210 USRPs and two Mini Kits PGA-103-UHF LNAs for UHF located at the antenna feed. The UHF utilises a 14 dBi gain Yagi antenna mounted on a Yaesu rotator. The S-band receive chain consists of a 3 m 31 dBi gain dish, connected to a Mini Circuits ZX60-272LN-S+ LNA.

TEST AND SIMULATIONS Figure 9 shows a waterfall from a medium elevation LEO satellite pass with the Doppler estimate overlayed. The Doppler estimates are computed in real time for block lengths of 32 768 samples, corresponding to 210 ms. The Doppler estimates for the no transmission cases have been removed for easier viewing. The data rate is 9600 bit/s modulated using BPSK, and the signal is over sampled 16 times.

IEEE A&E SYSTEMS MAGAZINE

FEBRUARY 2020

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


Peters and Benson

Figure 9.

Figure 11.

Waterfall of a medium elevation pass from a LEO satellite with the real-time Doppler estimate overlayed. The Doppler search was performed with signal length N x Âź 215 and frequency search resolution 960 Hz.

Computation time per block for the Doppler search on different block lengths for 9600 bit/s BPSK sampled at 153 600 samples/s.

even entry level GPUs can achieve a 10 times speedup over a CPU. Figure 12 illustrates the computational times normalized to the block length for a signal sampled at 153.6 kHz. Results below 100% indicate that the Doppler search can run in real time. It is worth noting that even older generation entry level GPUs, such as the Quadro K620 and Quadro K600 are 10 times faster than a high-end CPU. The four generations old Geforce GTX 670 performs approximately two orders of magnitude faster than the CPU when the block size is greater than 32 768 samples, and merely needs 1% of the block time to perform the Doppler search over 64 frequency candidates.

Figure 10 shows the BER for different SNRs for GMSK, FSK, and BPSK modulation schemes, all modulated at 9600 bit/s. The simulations have been oversampled by a factor 16, resulting in 153 600 samples/s. The simulations are performed by transmitting 2000 packets of 10 000 bits each with a Doppler offset applied over a simulated additive white Gaussian noise (AWGN) channel. The output of the modulator is fed through a software-based AWGN channel before being fed into the SDR receiver. The modem then performs the course Doppler correction, timing synchronization, and demodulation. The BER is computed by comparing the received packets to the transmitted packets. This is only done among packets that are successfully detected by the demodulator. The results shown in Figure 10 closely resemble the theoretical results for satellite communications [20]. It is worth noting that the test was performed without the use of FEC algorithms. The Doppler search algorithm is the most computationally demanding element of the proposed SDR. The computational time for different block lengths are shown in Figure 11. The benchmark is executed with a frequency resolution of 960 Hz over a frequency range of 30.72 kHz, resulting in 64 frequencies in the set F. The results in Figure 11 illustrate that

We demonstrated a SDR receiver that for a known modulation scheme, center frequency and code rate estimate can perform a Doppler search, find the code delay and exact code rate and perform a demodulation in real time. The Doppler search is performed by performing an exhaustive search over a specified frequency range. The proposed SDR receiver is flexible in the sense that it can be applied to any modulation scheme by merely adapting a set of filters. The SDR design is proven through simulation studies and

Figure 10.

Figure 12.

bit error rate (BER) for different SNR’s for two different modulation schemes with course Doppler correction applied. No FEC is used when obtaining these metrics.

Computation time per block normalized to the time per block for the Doppler search for 9600 bit/s BPSK sampled at 153 600 samples/s.

FEBRUARY 2020

CONCLUSION

IEEE A&E SYSTEMS MAGAZINE

47

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


A Doppler Correcting Software Defined Radio Receiver Design for Satellite Communications

through operations with in-orbit satellites. Decoding over multiple channels makes the SDR ground station agnostic, and can greatly increase robustness against local burst interference. Furthermore, the signal power loss due to polarization mismatch can be reduced by using multiple antennas with different polarization at the same ground station. The proposed SDR design is currently used for communications with in-orbit satellites. For these satellites the modulation schemes and code rates are known. The proposed design, however, opens up for various possibilities, such as cognitive radio, where the demodulator learns new waveforms based on detected energy in the received signal. The use of matched filters in the SDR also opens up for the possibility to simultaneously detect and demodulate multiple modulation schemes with different data rates. Furthermore, by using multiple ground stations, the SDR can be used to refine satellite orbits using triangulation. Triangulation using multiple stations can, for example, be done using the frequency difference of arrival (FDoA) method as presented in [21] or the time difference of arrival (TDoA) method [22]. The observed Doppler frequency can also be used for orbit determination or for localization of other emitters. This can, for example, be done using the signal Doppler frequency (SDF) method [23]. The SDF method can be used by itself with a single receiver or in conjunction with FDoA/TDoA methods and multiple receiver stations.

[8] J. Gunther, H. Gunther, and T. Moon, “GPU acceleration of DSP for communication receivers,” in Proc. GNU Radio Conf., 2017, vol. 2, no. 1, pp. 9–18. [9] E. C. Young, “GPU-accelerated demodulation for a satellite ground station,” Dec. 2019. [Online]. Available: https://digitalcommons.usu.edu/etd/7635/ [10] S. Janson, “Cubesat technology and systems,” presented at the USGIF Small Satellite Working Group, Herndon, VA, USA, May 27, 2015. [11] ISIS, “ISIS ground station datasheet v2.2,” 2015. [Online]. Available: https://www.isispace.nl/ [12] A. Done, A. C ailean, C. Leşanu, M. Dimian, and A. Graur, “Design and implementation of a satellite communication ground station,” in Proc. Int. Symp. Signals, Circuits Syst., Jul. 2017, pp. 1–4. [13] C. Shields, “SatNOGS 2017 update,” 2017. [Online]. Available: https://satnogs.org/ [14] M. Braasch and A. Dempster, “Tutorial: GPS receiver architectures, front-end and baseband signal processing,” IEEE Aerosp. Electron. Syst. Mag., vol. 34, no. 2, pp. 20–37, Feb. 2019. [15] F. Johansson, R. Mollaei, J. Thor, and J. Uusitalo, “GPS sat

ellite signal acquisition and tracking,” Lulea University of Technology, Aug. 1998. [Online]. Available: http://www. sm.luth.se/csee/courses/sms/019/1998/navstar/navstar.pdf [16] S. U. Qaisar and C. R. Benson, “Processing cost of Doppler search in GNSS signal acquisition: Measuring Doppler shift in navigation satellite signals,” IEEE Signal Process. Mag., vol. 34, no. 5, pp. 53–58, Sep. 2017.

REFERENCES

[17] D. Akopian, “Fast FFT based GPS satellite acquisition

[1] I. Ali, N. Al-Dhahir, and J. E. Hershey, “Doppler charac-

methods,” IEE Proc.-Radar, Sonar Navigation, vol. 152,

terization for LEO satellites,” IEEE Trans. Commun.,

no. 4, pp. 277–286, Aug. 2005.

vol. 46, no. 3, pp. 309–313, Mar. 1998. [2] A. Kajiwara, “Mobile satellite CDMA system robust to

[18] W. A. Beech, D. E. Nielsen, and J. Taylor, “AX.25 link

Doppler shift,” IEEE Trans. Veh. Technol., vol. 44, no. 3,

teur Packet Radio Corporation, Chicago, IL, USA, Tech.

pp. 480–486, Aug. 1995.

access protocol for amateur packet radio,” Tucson Ama-

[3] S. Hara, A. Wannasarnmaytha, Y. suchida, and N. Morinaga,

Rep. 2.2, Oct. 1998. [19] GPS Directorate, “Global positioning systems directorate

“A novel FSK demodulation method using short-time DFT

systems engineering & integration interface specification

analysis for LEO satellite communication systems,” IEEE

IS-GPS-200,” Apr. 2018. [Online]. Available: https://

Trans. Veh. Technol., vol. 46, no. 3, pp. 625–633, Aug. 1997.

www.gps.gov/technical/icwg/IS-GPS-200J.pdf

[4] A. Wannasarnmaytha, S. Hara, and N. Morinaga, “Twostep Kalman-filter-based AFC for direct conversion-type

[20] P. Harati et al., “Is E-band satellite communication via-

receiver in LEO satellite communications,” IEEE Trans.

the next frequency band for SatCom,” IEEE Microw.

Veh. Technol., vol. 49, no. 1, pp. 246–253, Jan. 2000.

ble?: Advances in modern solid-state technology open up

[5] G. J. R. Povey and J. Talvitie, “Doppler compensation and

Mag., vol. 18, no. 7, pp. 64–76, Nov. 2017. [21] R. K. Otnes, “Frequency difference of arrival accuracy,”

code acquisition techniques for LEO satellite mobile radio

IEEE Trans. Acoust., Speech, Signal Process., vol. 37,

communications,” in Proc. 5th Int. Conf. Satell. Syst. Mobile Commun. Navigation, May 1996, pp. 16–19.

48

no. 2, pp. 306–308, Feb. 1989. [22] H. C. So, Y. T. Chan, and F. K. W. Chan, “Closed-form formu-

[6] E. G. W. Peters, K. Day, and C. R. Benson, “A real-time Doppler compensating physical/data link layer protocol

lae for time-difference-of-arrival estimation,” IEEE Trans. Sig-

for satellite communications,” in IEEE Arosp. Conf., 2020.

[23] P. Gajewski, C. Zi o»kowski, and J. M. Kelner, “Using

[7] F. Wu, K. Zhang, and A. Yasuda, “GPS signal acquisition and tracking using software GPS receiver,” in Proc. 8th Int.

SDF method for simultaneous location of multiple radio transmitters,” in Proc. 19th Int. Conf. Microw., Radar

Symp. Signal Process. Appl., Aug. 2005, vol. 2, pp. 843–846.

Wireless Commun., May 2012, vol. 2, pp. 634–637.

nal Process., vol. 56, no. 6, pp. 2614–2620, Jun. 2008.

IEEE A&E SYSTEMS MAGAZINE

FEBRUARY 2020

Authorized licensed use limited to: Khwaja Fareed University of Eng & IT. Downloaded on July 04,2020 at 03:48:20 UTC from IEEE Xplore. Restrictions apply.


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.