1 Introduction

Chaotic behavior is present in many systems where it has been labeled as noise or some internal non-linear characteristic of the observed system. Chaotic oscillations come from non-linear system elements that cause unwanted behavior. Those chaotic signals have been identified as a component in all man-made and natural complex systems. Research has found that these chaotic oscillations can be reproduced using relatively simple mathematical constructs that led to better understanding of chaotic and non-linear system behavior.

Various applications of non-linear dynamics and chaos have been researched in the past decades [1]. With the discovery of chaotic synchronization by Pecora and Carrol [2], chaotic signals are used in communication systems. After the development of electronics for generating chaotic signals using Chua’s circuit [3, 4], chaos could be used in digital communications as well. Since these discoveries, various digital communication systems, have been developed with chaotic signals [3, 510] with further advances in different fields of chaotic modulation techniques [1115].

Chaotic systems display interesting properties that can be used in digital communication systems. One of these properties is sensitivity to system parameter change and changes to initial conditions. Another property is the random nature of chaotic signals. Both properties can be used to increase the capacity in multiple access systems [16, 17]. Sensitivity to initial conditions and system parameters can be used to generate sequences from discrete chaotic maps. These sequences have been known to have random characteristics similar to pseudo-random sequences [1618]. Chaotic sequences can be used instead of pseudo-random sequences in cryptography, spread-spectrum systems, image, and video coding.

Research in using chaotic sequences in spread spectrum for multiple access has been made before [3, 69, 1921] with some implementations in various hardware architectures [10, 22, 23].

This paper was inspired by previous work on simulated chaotic spread-spectrum system models. In this paper, the focus is on bit error performance comparison of orthogonal and chaotic sequences on a spread-spectrum communication system based on software-defined radio.

This paper is organized as follows: Section 2 explains spread spectrum modulation with a high overview of spread spectrum receiver. Section 3 explains how chaotic sequences for multiple access can be generated. Section 4 gives the overview of spread spectrum system model built in LabVIEW for software-defined radio. Section 5 discusses results obtained from software-defined radio system. Section 6 concludes this paper.

2 Spread spectrum multiple access principles

Spreading sequences are used in direct sequence-spread spectrum (DS-SS) systems for spreading the baseband information signal. Spreading sequence is known only to the valid transmitter–receiver pair where spreading the information signal can be seen as a coding operation. The result of baseband signal spreading enables increased interference mitigation and improved performance in multipath propagation as well as signal security and low probability of interception [24].

Direct sequence-spread spectrum modulation can be explained through two modulation stages. First, the data sequence is spread using a wideband spreading code. The spreading code is used to spread the baseband data stream into a wideband signal with the low power-spectral density and noise-like properties. Spread signal is modulated on a carrier using a phase-shift keying modulation. Resulting wideband signal will have bandwidth that is almost equal to spreading code’s bandwidth [25].

If R b denotes the baseband information rate of data signal in bits/s, and bit duration T b =1/R b , then the information signal b(t) can be expressed as [26]:

$$ b(t)=\sum_{n= -\infty}^{\infty} a_{n} g_{T}(t-{nT}_{b}) $$
(1)

where a n =±1, −<n<, and g T (t) is a rectangular pulse of duration T b .

Spreading, pseudo-noise signal can be given as [26]:

$$ c(t)=\sum_{n= -\infty}^{\infty} c_{n} p(t-{nT}_{c}) $$
(2)

where {c n }=±1 represents a pseudo-noise symbols series, and p(t) is a rectangular pulse of duration T c .

The spreading sequence has a much larger bandwidth than the information signal T c <<T b . In spread-spectrum systems p(t) is also called a chip, and T c is called a chip duration. 1/T c is approximately equal to spreading signal’s bandwidth W m ≈1/T c [26].

By multiplying the data signal with the spreading signal, each baseband information bit is spread to N c chips where N c is the number of spreading sequence samples. The main characteristic of DS-SS signal is that the power-spectral density of the spread signal can be below channel noise power-spectral density level. The low power-spectral density of spread signal allows for stealthy communications and provides protection against interference or jamming [24].

In multiple access system, all users occupy the same frequency bandwidth at the same time slot. Multiple access is achieved by multiplying the information signals of different users with their respective spreading sequences so different information sources are separated only by their spreading sequences.

Wideband spreading is usually done with pseudo-random or pseudo-noise (PN) sequences that are deterministic periodic signals known to the transmitter and receiver. Because pseudo-noise sequences are periodic, there are only a limited number of sequences of given length. Also, there exists a finite number of uncorrelated or orthogonal pseudo-noise sequences that set the limit on the number of users in multiple access schemes.

Most significant limitation in spread-spectrum multiple access systems is the interference introduced by an increasing number of users in the bandwidth-limited channel. Multiple access interference (MAI) reduces overall system capacity and increases bit error rate (BER) of the individual user. MAI can be reduced using sequences with good cross-correlation properties. Sequences in spread spectrum multiple access should be orthogonal while retaining good autocorrelation properties. Good cross-correlation (orthogonal) properties reduce MAI while good autocorrelation properties are needed for sequence synchronization and despreading [27].

2.1 Spread spectrum receiver

Digital communication system receiver is modeled as an optimal filter for the specific user or sequence. Spread-spectrum receiver can be thought as an optimal filter where the spreading sequence acts as a filter coefficient. Spread spectrum receiver generates a local copy of spreading sequence that is used to despread the received signal r(t). Received signal is first multiplied by a synchronized copy of a spreading sequence. Noise is suppressed and useful signal is amplified after low-pass filtering the despread signal. A high view overview of such spread-spectrum receiver model can be seen in Fig. 1.

Fig. 1
figure 1

Direct sequence-spread spectrum receiver

Despread signal z(t) can be given as [25]:

$$ z(t)=c(t) r(t) = c^{2}(t)b(t)+c(t)n(t). $$
(3)

Spreading sequence is bipolar and alternates between ±1, so squaring gives:

$$ c^{2}(t)=1, \forall t, $$
(4)

so z(t) can be written as:

$$ z(t)=b(t)+c(t)n(t). $$
(5)

From Eq. 5 it can be seen that noise signal is spread over a large bandwidth, and therefore, its power spectral density is low, much like the information signal in transmitter spreading procedure. After despreading, the information signal can be viewed as narrowband, where noise signal is made broadband. Using a low-pass filter, original information signal b(t) is recovered and noise n(t) is filtered out. Using a threshold detector, original message can be recovered [25].

3 Generating chaotic sequences for spread spectrum multiple access

Sample based chaotic signals can be generated from chaotic maps that give the mathematical description of a non-linear dynamical system. Although the signals are produced using a discrete non-linear system, they can be viewed as deterministic because their method of generation is known and is repeatable [17].

Chaotic maps are mathematical objects that can be given as [28]:

$$ X_{n+1}=F(X_{n}), $$
(6)

where X n is a state variable and F(X n ) is a mapping function.

There exists a large number of chaotic maps that can be used as chaotic sequence generators that were intensely studied before [17, 29]. Following one-, two-, and three-dimensional maps were chosen to generate chaotic spreading sequences in this paper:

Tent map [30]:

$$ F(X_{n+1}) =\left\{ \begin{array}{ll} 2 \mu X_{n} & \text{if} ~0 \leq X_{n} \leq 0.5 \\ 2 \mu (1- X_{n}) & \text{if} ~0.5 < X_{n} \leq 1. \end{array}\right. $$
(7)

Quadratic map [29]:

$$ F(X_{n+1}) = \mu X_{n} (1-X_{n}), $$
(8)

Two-dimensional Hénon map [31]:

$$ \begin{aligned} & F(X_{n+1})= Y_{n}+1-a X_{n}^{2}, \\ & F(Y_{n+1})=b X_{n}, \end{aligned} $$
(9)

Two-dimensional Duffing map [32]:

$$ \begin{aligned} & F(X_{n+1})=Y_{n}, \\ & F(Y_{n+1})=-b X_{n}+a Y_{n} - Y_{n}^{3}, \end{aligned} $$
(10)

Three-dimensional Chua’s map [17]:

$$ \begin{aligned} f(X_{n})&= \frac{2}{7} X_{n} - \frac{3}{14}(|X_{n}+1|-|X_{n}-1|),\\ F(X_{n+1})&=9 Y_{n} - f(X_{n}),\\ F(Y_{n+1})&=X_{n}-Y_{n}+Z_{n},\\ F(Z_{n+1})&=-14,286 Y_{n}. \end{aligned} $$
(11)

More detailed descriptions and properties of these chaotic maps can be found in [17, 29].

Changing the system parameter or initial conditions alters the dynamics of the system, therefore, exhibiting chaotic behavior [16]. Minor change to the non-linear system parameters produces different signals that can be used as an alternate spreading sequence in multiple access spread spectrum communication schemes. Sensitivity to initial conditions and system parameter makes chaotic maps ideal for generating spreading sequences of the appropriate length.

Chaotic system dependence on system parameters can be seen in Fig. 2 where two chaotic signals are generated using tent map Eq. 7 with bifurcation parameters μ=1.99 and μ=1.9899999. If a threshold function is applied to these two signals, the generated binary sequences are different [16]. The bifurcation parameter, or any other parameter in a chaotic system, can be known to transmitter and receiver in multiple access system. Locally generated spreading sequence can be reconstructed from a known chaotic system parameter [16]. Storing only one parameter and not the whole sequence can lead to increased security.

Fig. 2
figure 2

Chaotic signals generated with different bifurcation parameters

Chaotic sequences in this paper were generated using chaotic maps Eqs. 7, 8, 9, 10, 11. A threshold function is applied to the chaotic signals to obtain chaotic spreading sequences. These sequences are then used to spread BPSK-modulated signals in DS-SS system model built in LabVIEW. Discretization of chaotic signals leads to loss of information and randomness, but only binary values are allowed as spreading signals in this system model. Further improvements to this system model are needed so that sequences with more states can be used.

3.1 Measures of correlation properties of spreading sequences

Correlation properties give a numerical description of the quality of generated spreading sequences. In spread spectrum systems, two correlation functions are observed: the autocorrelation function and the cross-correlation function.

Correlation properties can be evaluated using aperiodic correlation function and statistical tests [33, 34]. If c X and c Y are sequences, then aperiodic correlation can be defined as [27]:

$$ {}\begin{aligned} C_{XY}(\tau) =\left\{ \begin{array}{lll} \sum\limits_{k=0}^{N-1-\tau} c_{X}(k) c^{*}_{Y}(k+ \tau) & \text{for} ~0 \leq \tau \leq N-1 \\ \sum\limits_{k=0}^{N-1+\tau} c_{X}(k) c^{*}_{Y}(k) & \text{for}~1-N \leq \tau < 0 \\ \hfil 0 &\text{elsewhere} \end{array}\right. \end{aligned} $$
(12)

The Golay figure of merit factor (FoM) for a sequence of length N is given as [27, 33, 34]:

$$ M_{x}=\frac{N^{2}}{2 \sum\limits_{\tau=1}^{N-1}|C_{XX}(\tau)|^{2}} $$
(13)

where C XX is the aperiodic correlation function.

Golay figure of merit measures the energy in autocorrelation function sidelobes. Low energy sidelobes lead to better and faster sequence synchronization. Better synchronization gives better performance in systems where sequence synchronization is performed using autocorrelation function.

Pearson correlation coefficient measures correlation between two sequences and can be given as [34]:

$$ C_{P}=\frac{\sum_{i=1}^{N}(c_{X_{i}}- \overline{c_{X}})\cdot (c_{Y_{i}}- \overline{c_{Y}})}{\left[\sum_{i=1}^{N}(c_{X_{i}}- \overline{c_{X}})^{2}\right]^{1/2} \cdot \left[\sum_{i=1}^{N}(c_{Y_{i}}- \overline{c_{Y}})^{2}\right]^{1/2}}, $$
(14)

where \(\overline {c_{X}}=\sum _{i=1}^{N} c_{X_{i}} / N\) and \(\overline {c_{Y}}=\sum _{i=1}^{N} c_{Y_{i}} / N\) are the mean values of c X and c Y . A strong correlation occurs between two sequences for C P ≃±1, and no correlation exists for C P ≈0. Pearson coefficient is calculated for each pair of sequences. The mean Pearson coefficient is used for specified number of users as a measure of cross-correlation between sequences. Low cross-correlation is essential for better performance in multiple access systems where several users share same time-frequency resource. Sequences with low cross-correlation minimize noise received from other users thus minimizing multiple access interference (MAI).

The performance of different spreading sequences in software-defined radio model will be compared against mean Pearson correlation coefficient and Golay figure of merit factor.

4 Software-defined radio system model in LabVIEW

This paper presents a spread-spectrum multiple access communications system model built and tested in LabVIEW for software-defined radio Universal Software Radio Peripheral (USRP) transceiver chain. A receiver and a transmitter programs are built separately for two USRP software-defined radio devices.

The transmitter for a single user consists of a random number generator that generates data bits. Data bits are first encoded using a convolutional encoder with code rate 1/2 and constraint length 9. The frame is constructed using padding head bits, Barker code of length 13, encoded data bits, and tail padding bits as can be seen in Fig. 3. Padding bits are necessary due to filter delay in LabVIEW filters. Barker code is used for phase synchronization during phase shift keying demodulation as well as for frame synchronization after bit recovery. Constructed frame is BPSK-modulated and spread using different codes. The generated signal is upsampled to 1 million samples per second and transmitted through software-defined radio transmitter. Output port of the transmitter and input port of the receiver device are connected using a coaxial cable so the channel can be considered single path. Although the transmitter and receiver are directly connected using a coaxial cable, there exists some fading and attenuation which is not taken into account. Any channel anomalies or other interference from hardware components is not taken into account. The feedforward equalizer is used to minimize the error from channel and hardware imperfections.

Fig. 3
figure 3

Frame structure

The receiver side software-defined radio device receives the raw IQ data. The data is downsampled and low-pass filtered so that most channel and oscillator noise is removed.

The receiver relies on sequence synchronization to start the despreading and demodulation process where good autocorrelation properties are essential. Longer sequences will have better correlation properties, but increased sequence length leads to more time needed for synchronization. When a sequence is synchronized above a set threshold level of 0.05 using a majority vote sliding correlator, despreading and demodulation is performed. After despreading, the signal is equalized using a feedforward equalizer and BPSK demodulated where phase ambiguity in demodulation process is resolved using Barker sequence in the preamble. The data recovered after demodulation is grouped into a frame where the start of the recovered frame is synchronized and aligned using Barker sequence in the preamble. Data bits are decoded using convolutional decoder with traceback depth of 15 bits. Received data bits are extracted and compared against sent bits so that bit error rate can be calculated. Complete transceiver chain can be seen in Fig. 4.

Fig. 4
figure 4

SDR transceiver chain

The number of users is varied from 1 to 16 users so that performance in multiple access case can be evaluated. The waveforms of all users in the channel are added together and sent through USRP transceiver chain.

5 Results

Performance evaluation is performed after all decoded data bits were received and recovered. The multiple access system was scaled from 1 to 16 users separated only by their spreading sequence.

Bit error performance comparison of chaotic and Walsh sequences against can be seen in Figs. 5, 6, and 7.

Fig. 5
figure 5

BER for sequences of length 32

Fig. 6
figure 6

BER for sequences of length 64

Fig. 7
figure 7

BER for sequences of length 128

Chaotic sequences generated from simple one-dimensional map functions can perform equivalently to widely used sequences in spread spectrum systems. Although performance of sequences generated from one-dimensional maps is the same or better than commonly used sequences, the number of chaotic sequences of the appropriate length surpasses the number of orthogonal or maximum length sequences.

Chaotic sequences generated from two-dimensional maps outperform other spreading sequences by a large margin. Those results can be clearly seen in cases with a large number of users where good cross-correlation properties are essential. Two-dimensional maps are more complicated than one-dimensional but require little more resources for sequence generation. The performance gain from using two-dimensional maps justifies some additional resource consumption. It is interesting to notice the different performance between Hénon and Duffing map. Hénon map sequences behave the same as Walsh sequences, where Duffing map sequences show large performance gain. These results show the strengths and weaknesses of using chaotic systems where it is essential to choose good initial values and to tweak the chaotic system parameters.

Sequences generated from Chua’s three-dimensional map show interesting behavior, although the performance is worse compared to two-dimensional maps. The bit error curve acts like a sawtooth function, which can be explained through varying auto- and cross-correlation functions in a regular manner.

More tests were done on correlation properties of spreading sequences. Results of these tests can be seen in Tables 1, 2, and 3. Golay figure of merit and Pearson correlation coefficient were used to observe auto- and cross-correlation properties of all sequences. Mean BER and correlation coefficients were computed for all sequence lengths as well as for cases where we have 5, 10, and 16 users.

Table 1 Correlation properties for codes of length 32
Table 2 Correlation properties for codes of length 64
Table 3 Correlation properties for codes of length 128

From correlation testing, it can be seen that low figure of merit factors combined with low mean Pearson coefficient yield the best performance results. Low figure of merit means low sidelobe energy that result in better autocorrelation function with more energy in the main peak. Main peak is used for synchronization and despreading, therefore, it is ideal to have as much energy as possible in the main peak. Mean Pearson coefficient shows the cross-correlation or linear dependence of all sequences in a set. Codes that are used in spread spectrum systems need to have a large autocorrelation and low cross-correlation value. It can be seen from Tables 1, 2, and 3 that Walsh codes have mean Pearson coefficient of 0 which is not surprising as those codes are orthogonal and should, theoretically, have no cross-correlation or linear dependence. From bit error performance of Duffing map from Figs. 5, 6, and 7 and Duffing map correlation performance in Tables 1, 2, and 3, a conclusion for generating optimal code can be drawn. Optimal code should have figure of merit and Pearson coefficient values equal to 0. Code optimization could be performed to find the minimum of those two values. The bit error performance can be checked in a simulation or using software-defined radio model.

Average channel power was measured using Anritsu MT 8222 spectrum analyzer. Signal power measurement was performed by averaging the modulated signal power in 1 MHz bandwidth for all spreading codes and all code lengths for system of 16 users, the example of such measurement can be seen in Fig. 11. Average power was measured using 10 kHz resolution bandwidth (RBW) with 100 averaging traces. The noise power was measured as an average noise power in 1 MHz bandwidth without modulated signal. The average noise power was measured to be −58.64 dBm. To increase the signal level, transmitter amplifier gain was varied by 1 dB increments. Due to USRP hardware imperfections and limitations, the average signal level was amplified from 0.8 to 1.1 dB with transmitter amplifier gain increments. Because of the USRP amplifier non-linear gain and measurement inaccuracy, the measured average power interval for BER performance analysis was set to 2 dB.

For each signal level value, BER for system of 16 users was evaluated for a choice of one-dimensional, two-dimensional, and three-dimensional maps, as well as for Walsh codes. The results in Figs. 8, 9, and 10 confirm that sequences generated from two-dimensional maps have better performance for all signal level values. Sequences generated from one-dimensional and three-dimensional maps and Walsh sequences are not suitable for usage in software-defined radio spread-spectrum systems with a large number of users regardless of channel power or sequence length. As is expected, longer sequences have better error rate performance. Due to limitations USRP amplifier’s and input filters, the results are corrupted by hardware used in this analysis [35]. The spectrum of Duffing sequences of length 128 with measurement details form spectrum analyzer can be seen in Fig. 11.

Fig. 8
figure 8

Mean BER against average channel power for sequences of length 32

Fig. 9
figure 9

Mean BER against against average channel power for sequences of length 64

Fig. 10
figure 10

Mean BER against against average channel power for sequences of length 128

Fig. 11
figure 11

Measurement of average channel power using spectrum analyzer for Duffing sequence

These diverse results in chaotic sequences come from non-linearities in dynamical systems used for spreading sequence generation where more study is needed to generate chaotic sequences with specific properties. There does not yet exist a proven method to generate chaotic sequences with desired correlation properties, rather the sequences are generated, and their properties are compared post generation [28].

Results are corrupted by USRP’s as well. USRP represents a real-world communication systems with hardware that has it’s faults and limitations. Main problem is the imperfect synchronization of oscillators and data transmission between transmitter and receiver. Data transmission is synchronized using packet energy where some packets are lost due to synchronization and need to be sent multiple times. There exists a certain frequency drift between transmitter and receiver oscillators, especially after a long operating time. Frequency drift leads to loss of synchronization and increases in bit error rate.

Possible usage of chaotic codes could be found for Low rate-wireless personal area networks (LR-WPAN) and also for LoRa and IoT networks in the unlicensed spectrum. WPAN’s in IEEE 802.14 k and IEEE 802.15 hp use BPSK modulation with DS-SS where spreading is done using orthogonal codes. LoRa uses orthogonal codes with varying spreading factors. These networks are used for monitoring and control applications as well as for wireless sensor networks and automation. Using chaotic codes, even alongside orthogonal codes, could increase security, reliability as well as network capacity. Many of WPAN’s operate in unlicensed spectrum where a lot of interference comes from other devices that use spread spectrum with conventional spreading codes. Good signal-to-noise ratio is essential for LoRa operation where chaotic codes could minimize multiple access interference from other devices.

Devices for critical monitoring (i.e., in medical or industrial environment) could benefit from new types of codes to limit the interference from existing systems. One especially interesting application of chaotic codes for WPAN’s is for networks with varying data rates such as sensor networks. Devices in sensor networks generate varying baseband data rate and codes of varying length are needed to spread the data to the same chip rate. Chaotic codes can be generated in any length where the length of orthogonal sequences has to be an exponent of 2. Another advantage of chaotic sequences is their large number. Chaotic systems can generate an almost infinite number of sequences if system parameters and starting conditions are chosen appropriately. Such a large number of chaotic sequences of varying lengths could be used in large distributed, sensor networks in which the node operates independently. Every node could have its own code from some code table and could be identified by it. While transmitting, nodes would not interfere between themselves.

Using chaotic sequences of varying lengths could increase network capacity and reduce energy consumption. The only drawback in using chaotic sequences is in changing existing system structures and modulation techniques, but using software-defined radios with most of the processing done in FPGA should enable future systems to accommodate various modulation techniques. Even today low-cost software-defined radio systems, that operate in specific band, can be used as sensor networks. Such sensor networks would be especially suitable for chaotic modulation techniques.

6 Conclusions

Software-defined radio system gives an easy insight to the system behavior through a simple and reconfigurable tool for system modeling and parameter observation. That level of freedom in modeling is especially interesting in proofing new system elements or parameters. The spread spectrum system model based on LabVIEW, and software-defined radio enables insight into the behavior of chaotic sequences in spread-spectrum system and shows that these sequences can be used as spreading sequences in spread spectrum systems. Additional testing is needed with different maps and sequence generators to determine their characteristics and performance in real systems as well as their statistical properties. In this paper, where only a few sequences were tested, it was shown that chaotic sequences behave differently with small changes to non-linear system parameters. Further research should be made in the statistical analysis of chaotic signals and comparison to known sequences with varying system parameters and potential usages. Chaotic spreading sequence generators could be optimized for specific channel conditions and user number. Generating chaotic signals with desired properties is also an interesting research topic, especially with implementation in multiple access systems where performance can be tested in real systems on software-defined radio systems. From results of the statistical and correlation properties testing with real-world performance evaluation chaotic sequences with desired properties can be generated.