1 Introduction

The Chirp signal which frequency varies over time was introduced to communication system by Winkeler [1] in 1960s. He used up-chirp or down-chirp signals to map binary data. Gott analyzed the performance of the narrow and wide band chirp signals by using orthogonal signal and match filter techniques [2] in 1970s, and concluded that bandwidth of such a communication system is little relevant. Then, he introduced the differential encoding to the binary data in [3]. In 1981, Kowatsch reported the combined of PSK and chirp modulations [4]. The BOK(Binary Orthogonal Keying) modulation was developed by X. Wang in 2008 [5]. The chirp spread spectrum communication is developing gradually.

In recent years, the Internet of Things (IoT) technology has been attracting more and more attentions. The chirp spread spectrum became an important modulation technique of the IoT. The performance and characteristics of the chirp spread spectrum communication system were investigated in [6]. Two important chirp based communication system standards are IEEE 802.15.4a [7] and LoRa [8]. The CSS(Chirp Spread Spectrum) using DM(Direct Modulation) is adopted by IEEE 802.15.4a. But LoRa uses BOK(Binary Orthogonal Key) modulation extension in stand. Because of the lower power consumption and larger covering area, and low system complexity, also higher system reliability and stability which build in CCS communication systems, BOK is getting more popular. There are many publications which take a further research of the LoRa technique, [9,10,11,12,13,14,15,16,17]. The CSS technique is widly used to wireless sensors because of its excellent anti-interference and long-distance transmission ability. The CSS technique usually works in the narrow-band ISM band. However, its low transmission rate gradually can not meet the data rate requirements of the wireless sensors. [18] use half cycle sine and full cycle sine. [19] introduce a quasi-orthogonal Chirp-rate based DSSS-CDMA method. [20] leverages the orthogonality to overlap multiple chirp carriers. The Orthogonality of the Chirp signal is somewhat reduced in these method. In this paper, we propose another modulation method besides BOK and DM modulation techniques. In this method the Doppler effect is implanted into the chirp signal at the transmitter. Then the pulse compression signal is obtained by using the matched filter. And the position of the peak in the pulse duration is used for demodulation.

The main contributions of this paper are as below:

  1. (1)

    We have redeveloped a modulation method based on CSS communication system. The modulation method uses the Doppler effect, which makes the realization of the system is quite simple. As Doppler frequency shift is implanted to the chirp at the transmitter, the system can be called the Implanted-Doppler Chirp Spread Spectrum(ID-CSS) communication system.

  2. (2)

    We provide the ability of using the ID-CSS modulation method to realize M-ary chirp modulation in a single pulse.

2 Theory of Implanted-Doppler

The linear chirp signal is used in this paper. As we all know, when there is velocity between transmitter and receiver, the receiver will have the Doppler frequency shift. When a matched filter is applied to the pulse linear chirp signal, the peak value of the compressed pulse shifts from the center position. In order to make use of this, we discuss the conditions of the peak generation in this section. Generally speaking, the pulse complex chirp signal is,

$$\begin{aligned} s(t)=rect(t/T)e^{jKt^2} \end{aligned}$$
(1)

Where T is the pulse duration, K = B/T, and B is the bandwidth of the pulse chirp signal. The rectangular signal is

$$\begin{aligned} rect(t/T) = {\left\{ \begin{array}{ll} 1, &{} t\in [-T/2, T/2] \\ 0, &{} \text {else} \end{array}\right. } \end{aligned}$$
(2)

And the instantaneous phase of the linear chirp signal is,

$$\begin{aligned} \varnothing (t)=Kt^2=[\varnothing _1,\varnothing _2,\ldots ,\varnothing _N], t\in [-T/2, T/2] \end{aligned}$$
(3)

Where N is the sampling number of the phase. The formula used by the matching filter is,

$$\begin{aligned} s_o(t)=\int ^{\infty }_{-\infty }s^*(-u)s(t-u)du \end{aligned}$$
(4)

The star in the equation (4) represents complex conjugate. Therefore, the system impulse response of the matching filter and and its phase can be written as,

$$\begin{aligned}&s^*(-t)=rect(t/T)e^{-jKt^2} \end{aligned}$$
(5)
$$\begin{aligned}&\varnothing ^*(t)=-Kt^2=[-\varnothing _1,-\varnothing _2,\ldots ,-\varnothing _N] \end{aligned}$$
(6)

Its time variable is limited to [−  T/2,T/2]. Through some efforts, we can get the maximum value of equation (4) occurs in t=0 ,

$$\begin{aligned} s_{o,max}(t)=\int ^{\infty }_{-\infty }s^*(-u)s(-u)du \end{aligned}$$
(7)

Therefore, combining equations (1)-(3) and (5)-(7), the output of the matching filter is,

$$\begin{aligned} s_{o,max}(t)=(e^{j[-\varnothing _1,-\varnothing _2,\ldots ,-\varnothing _N]})^Te^{j[\varnothing _1,\varnothing _2,\ldots ,\varnothing _N]} \end{aligned}$$
(8)

The T in the equation (8) represents transpose. Now, the phase array in the above equation can be written as,

$$\begin{aligned} \varnothing _{o,max}(t)=[\varnothing _N-\varnothing _1,\varnothing _{N-1}-\varnothing _2,\ldots ,\varnothing _1-\varnothing _N] \end{aligned}$$
(9)

It is obvious that the angles of the phase array is symmetry about the real axis in the complex plane, as shown Fig. 1. As it can be seen, the sum of the complex vector array falls on the real axis of the complex plane. In fact, the phase shape of the chirp is not necessary parabolic. The phase of any shape is consistent with the result of the sum of the complex vectors.

Fig. 1
figure 1

Sum of two symmetry unit vectors on the complex plane

Because the parabolic function is even function, so that,

$$\begin{aligned} \varnothing _N=\varnothing _1,\varnothing _{N-1}=\varnothing _2,\ldots ,\varnothing _1=\varnothing _N \end{aligned}$$
(10)

When N is odd number, the approximate equal of equation (10) should be used. All the complex vectors fall on the positive real axis of the complex plane, making the sum maximum.

On the other hand, when the receiver has signal partially received, The phase array used by the matching filter is partial. As a result, the peak of the compress pulse does not reach the maximum value.

The sum of complex vectors is extended to a simple general case, suppose the phase of a group of the complex vector increases linearly,

$$\begin{aligned}{}[e^{-jM\varDelta \varnothing },e^{-j(M-1)\varDelta \varnothing },\ldots ,e^{j(M-1)\varDelta \varnothing },e^{jM\varDelta \varnothing }] \end{aligned}$$
(11)

The sum of the array is deduced as in equation (12). It should be noted that, the \(\varDelta \varnothing \) is the different phase between the reference chirp and the receiving chirp in the matching filter. The following analysis is divided into 5 cases. By using the unit complex different phase vector array in the equation (13), as shown in the fig.1, the cases can be shown graphically.

$$\begin{aligned} s_{sum}= & {} \frac{e^{jM\varnothing }e^{j\varDelta \varnothing }-e^{-jM\varnothing }}{e^{j\varDelta \varnothing }-1}\nonumber \\= & {} \frac{e^{j\varDelta \varnothing /2}(e^{jM\varnothing }e^{j\varDelta \varnothing /2}-e^{-jM\varnothing }e^{-j\varDelta \varnothing /2})}{e^{j\varDelta \varnothing /2}(e^{j\varDelta \varnothing /2}-e^{-j\varDelta \varnothing /2})}\nonumber \\= & {} \frac{sin(M\varDelta \varnothing +\varDelta \varnothing /2)}{sin(\varDelta \varnothing /2)}\nonumber \\= & {} \frac{sin[(M+0.5)]\varDelta \varnothing }{sin(0.5\varDelta \varnothing )} \end{aligned}$$
(12)

Where the \({\bar{e}}_{mp}\) represents a unit vector with different phase between the mth sampling point in the local chirp and the pth sampling point in the receiving chirp in the complex plane. Let the maximum deviation of the different phase be \(\varnothing _{max}=0.5(N+1)\varDelta \varnothing \). The M, when its maximum value is \(M=0.5N\), is related to the sampling frequency.

When \(\varDelta \varnothing =0\), i.e. \(\varnothing _{max}=0\), using parabolic phase, or even shape phase, All the unit differential phase complex vectors are fall on the real axis, as shown in Fig. 2. Take the limit of equation (12), and the sum is,

$$\begin{aligned} s_{sum}= & {} \frac{(M+0.5)cos((M+0.5)\varDelta \varnothing )}{0.5cos(0.5\varDelta \varnothing )}\nonumber \\= & {} 2M+1 \end{aligned}$$
(13)
Fig. 2
figure 2

All different vectors on the real axis

2.1 Case 1

It can be seen that, when \(M=N\), the sum is at its maximum value, i.e. the whole incoming chirp is received. The position of the peak is deduced in a graphically way next. The incident chirp passing through the matching filter is demonstrated in the Fig. 3. As shown in the figure, the maximum peak value is in the center of the matching filter window, when at time t3.

Fig. 3
figure 3

Incoming chirp passing though

2.2 Case 2

When \(\varnothing _{max}<\pi /2\), all the unit differential phase complex vectors locate symmetrically in the first and the fourth quadrant, as shown in the Fig. 4. Since the sin function monotonically increases in the 1st quadrant, the position of the maximum peak value is the same as in case 1). The value is,

$$\begin{aligned} s_{sum}=\frac{sin(\varnothing _{max})}{sin(0.5\varDelta \varnothing )} \end{aligned}$$
(14)

Actually, ignoring the randomfluctuationof \(\varDelta \varnothing \), which due to various implementation deviations, this is the case of communication system implementation in the actual situation.

Fig. 4
figure 4

Different vectors in 1st and 4th quadrant

2.3 Case 3

A \(\pi \) phase shift is added to the incoming chirp. The result is the same as case 2). However, the maximum peak value is negative. And its position is also in the center of the matching filter window. The unit differential phase complex vectors are shown in Fig. 5.

Fig. 5
figure 5

Different vectors in 2nd and 3rd quadrant

2.4 Case 4

Now, based on 2), we increase the \(\varnothing _{max}\), making \(\pi /2<\varnothing _{max}<\pi \). Then, as illustrated in Fig. 6, the distribution of the unit differential phase complex vectors crosses the imaginary axis. There are some composite vectors pointing to negative side of the real axis. But the sum of all vectors still points to the positive direction on the real axis. Starting from the negative phase, rotating anticlockwise, the maximum peak value appears at the \((M+M_0+0.5)\varDelta \varnothing \), where away from the center of the matching filter window. And its value is

$$\begin{aligned} s_{sum}=\frac{(sin(M+M_0+0.5)\varDelta \varnothing }{sin(0.5\varDelta \varnothing )} \end{aligned}$$
(15)

By adjusting the \(\varnothing _{max}\), different \(M_0\) can be obtained. Continue to enlarge \(\varnothing _{max}\), until the number of the unit differential phase complex vectors is equal between the 1st and 2nd quadrant, and the position of the maximum value is at the edge of the matching filter window. Go on to enlarge \(\varnothing _{max}\) (at the 3rd and 4th quadrant), there will be more unit differential phase complex vectors in the 3rd and 4th quadrant. As a result, we will have multiple peaks.

Fig. 6
figure 6

Different vectors in 4 quadrants

On the opposite aspect, when rotating clockwise from the positive phase, the maximum peak value position is on the other side of the center of the matching filter window.

2.5 Case 5

This is similar to (4). Compare with (4), case (3) is used as basis here. Unlike case (4), a negative summation can be obtained in this case.

3 Implanting the Doppler Frequency Shift in the Linear Chirp

Armed with the theory described in section II, the Doppler frequency shift effect is ready to be implanted into the chirp. There are many ways to achieve this goal. The key is the instantaneous different phase between the incident chirp and the local chirp of the matching filter. The incoming chirp comes from the transmitter, which should be implanted with Doppler frequency shift.

3.1 Method 1

One way is to use two different parabolic phases. However, it must be noted that, the phase differences are symmetry near zero. By adjusting the initial phase of the transmission chirp, a different parabolic phase curve is obtained, as shown in the Fig. 7.

Fig. 7
figure 7

Parabolic phase Doppler implantation

3.2 Method 2

Another way is to use all positive or negative phase differences. Two parabolic phase curves with different curvature are shown in Fig. 8. When all different phases are positive, the distribution of the unit differential phase complex vectors is no longer symmetry about real axis. But the curve is symmetry about y axis in the \(\varnothing \leftrightarrow t\) plane. The sum rule of complex vectors is still valid. By adjusting the \(\varnothing _{max}\), we can have the Doppler effect implanted. The sum of the unit differential phase complex vectors has an angular offset from the real axis.

Fig. 8
figure 8

Positive phase Doppler implantation

3.3 Method 3

A third method of implanting the Doppler effect, which is to create non-zero phase differences, is to use asymmetric function in the \(\varnothing \leftrightarrow t\) plane. This is the main focus of this paper. The main idea of this method is to discrete the phase of the chirp signal,

$$\begin{aligned} \varnothing (t)={\bar{\varnothing _1},\bar{\varnothing _2},...\bar{\varnothing _u},...\bar{\varnothing _U}} \end{aligned}$$
(16)

with the phase vector \(\bar{\varnothing _u}\), which is an array of linearly increasing phases,

$$\begin{aligned} \bar{\varnothing _u}=[\varnothing {^1_u},\varnothing {^2_u},...\varnothing {^v_u},\ldots ,\varnothing {^V_u}] \end{aligned}$$
(17)

where V is the length of the array, and \(\varDelta \varnothing _u\) is its growth interval. The \(\varDelta \varnothing _u\) between each phase vector \(\bar{\varnothing _u}\) is different. Using the discrete phase arrays, the instantaneous frequency of the linear chirp signal is discrete, which produces a frequency vector,

$$\begin{aligned} {\bar{f}}=[f_1,f_2,...f_u,...f_U] \end{aligned}$$
(18)

When the element in \({\bar{f}}\) increases linearly, assuming the increasing step is constant, the element of the frequency vector is

$$\begin{aligned} f_u = {\left\{ \begin{array}{ll} f_1, &{} u=1 \\ f_{u-1}+\varDelta f, &{} u=\text {else} \end{array}\right. } \end{aligned}$$
(19)

The Doppler frequency shift is introduced by manipulating the frequency vector. A simple example is as follows,

$$\begin{aligned} f_u = {\left\{ \begin{array}{ll} f_{u-1}+\varDelta f^p, &{} u=2,4,6,... \\ \text {keep primary}, &{} u=\text {else} \end{array}\right. } \end{aligned}$$
(20)
Fig. 9
figure 9

Frequency vector which implanted the Doppler frequency shift

Where \(\varDelta f\) and \(\varDelta f^p\) are two different frequency increments. In fact, the increments of the frequency vector \({\bar{f}}\) can be some random numbers. Let \(B=120\text {kHz}\), \(T=1\text {ms}\), \(U=200\), and \(\varDelta f^p=20\text {kHz}\), the normalized frequency vector \({\bar{f}}\) is shown in Fig. 9. And the different phase curves are shown in Fig. 10. M-ary modulation is obtained by using different \(\varDelta f^p\).

Fig. 10
figure 10

Different phase curves related to Fig. 7

However, when there is an external deviation between the carrier frequency of the received chirp signal and that of the local chirp signal, it is important to decide which demodulation method to use. For most wireless communication systems working in the frequency band below 6GHz, the external Doppler shift caused by the relative speed of the transmitter and receiver can be handled in the same way. These is the content of the next section.

4 Analysis and Demodulation of the Doppler Implanted Chirp Signal

Equation (11) is used when the phase differences with symmetries. Generally speaking, there are N complex unit vectors on the unit circle, which are distribute at one angle , i.e. \(\varnothing =N\varDelta \varnothing \). The vector sum becomes,

$$\begin{aligned} s_{sum}=e^{j(0.5\varnothing _{scat}+0.5\varDelta \varnothing +\varnothing _0)}\frac{sin(0.5\varDelta \varnothing _{scat})}{0.5\varDelta \varnothing } \end{aligned}$$
(21)

Where \(\varnothing _0\) is the initial phase of the unit differential phase complex vectors. Let the sampling number N be constant, and equals to 300. While \(\varnothing _{scat}\) varies, the normalized magnitude of the vector sum is shown in the Fig. 11. It can be seen from the figure that there are zeros when \(\varnothing _{scat}=2n\pi \). This can be demonstrated graphically. The unit differential phase complex vectors are uniformly distributed on the whole unit circle. And due to the symmetry of phase differences in the matching filter, the sum of the vectors is zero. In addition, when \(\varnothing _{scat}>2\pi \), it can be seen that, as discussed in the 4th case of section II, there will be multiple peaks in the matching filter window. According to equation (22), it is found that the sum of the vectors does not depend on B and T, and only on N and \(\varnothing _{scat}\).

Fig. 11
figure 11

Vector sum vs different sweeping angle

According to how to use the reference chirp signal in the matched filter, as shown in the Fig. 12, there are two demodulation methods.

Fig. 12
figure 12

Diagram of the matching filter

4.1 Differential Encode

In this method, the reference chirp used in the matching filter is the chirp without the Doppler frequency shift implantation. Here, \(\pi<\varnothing _{scat}<2\pi \) is chosen. Then, the compressed pulse has a single peek. But its position in the compress pulse window is shift away from the center as discussed in section II. The Fig. 13 shows a demodulation diagram of the ID-CSS signals. The receiver receives a set of ID-CSS pulses, which have different deviations in the compressed pulse when they pass through the matching filter. Next, the compressed pulse is sent to the Max Finder. Max Finder searches for the maximum value in the compression pulse and its position in the compression window. Then, Max Value Recorder records the peek value, and the Position Recorder records the position value. After that, Deviation Decision module calculates the deviations. Finally, the demodulation data is output by Differential Decoder module. In the transmitter, the different ID-CSS pulses are generated according to,

$$\begin{aligned} (\varDelta f^p) = \left( \begin{array}{c} \varDelta f^1,\text {ID-CSS1}\\ \varDelta f^2,\text {ID-CSS2}\\ \varDelta f^3,\text {ID-CSS3}\\ \varDelta f^4,\text {ID-CSS4}\\ \varDelta f^5,\text {ID-CSS5} \end{array} \right) \end{aligned}$$
(22)

The deviations are distributed on the matching filter window as shown in the Fig. 14. It is assumed that the pulses which are transmitted, shown in Fig. 15, are differential modulation packets. Then, we connect the beginning and the end of the matching filter window to form a band ring, that is, the matching filter ring. IDmn refers to the distance(differential deviation) from ID-CSSm to ID-CSSn. ID-CSSn is used as the reference point in the matching filter ring. The differential deviations (ID21, ID52, ID23, ID24) are shown in Fig. 16. By using the matching filter ring, and the 5 ID-CSS pulses, an 4-level modulation system is formed. The differential deviations use the previous ID-CSS as reference. An example of the differential deviations is given in Table 1.

Table 1 Example differential deviations
Fig. 13
figure 13

Diagram of the differential decoder

Fig. 14
figure 14

Deviations in the matching filter window

Fig. 15
figure 15

Differential modulation of the deviations

Fig. 16
figure 16

Differential deviations in the matching filter ring

4.2 Phase Compensation

There are 4 ID-CSS pulses used in the second method. The scan angle \(\varnothing _{scat}\) is chosen as a larger number, so that the sum of the vectors is much smaller than that when the normal CSS pulse is used as local chirp in the matching filter, i.e. bigger than \(2\pi \). When other ID-CSS conjugate chirps are used in the matched filter, the phase difference will also be large. The demodulation diagram is shown in the Fig. 17.

$$\begin{aligned} (\varDelta f^p) = \left( \begin{array}{c} \varDelta f^1,\text {ID-CSS1}\\ -\varDelta f^1,\text {ID-CSS2}\\ \varDelta f^2,\text {ID-CSS3}\\ -\varDelta f^2,\text {ID-CSS4} \end{array} \right) \end{aligned}$$
(23)

The \(\varDelta f^p\) is chosen big enough so that \(\varnothing _{scat}\) is big. From Fig. 17, the incoming ID-CSS chirp is split and sent to 4 matching filters with different local chirps. The first matching filter uses ID-CSS1 conjugate signal as the reference chirp, then its output indicates the ID-CSS2 incoming pulse. By analogy, the second indicates ID-CSS1 incoming pulse, the third indicates ID-CSS4 incoming pulse, the forth indicates ID-CSS3 incoming pulse. The idea is to use a corresponding reference chirp to make All the unit differential phase complex vectors in the matching filter fall on real axis on the complex plan again. Next, the 4 compressed pulses are sent to the Max module, which selects the max peak pulse. The demodulation data is finally completed by the De-mapping module. In addition to the first method, the maximum value of the peak is compensated. However, due to the use of 4 matched filters, this method is more complex than the first one.

Fig. 17
figure 17

Cross matching demodulation

5 Conclusion

In this paper, we studied the characteristics of the matching filter in Chirp Spread Spectrum(CSS) communication system. The performance of matched filter is analyzed by using the unit complex vectors in complex plane. By manipulating the max different phase of the unit complex vector, the Doppler frequency shift is implanted to the chirp. And then, two kinds of ID-CSS(Implanted Doppler Chirp Spread Spectrum) systems are proposed. In the first method, the differential deviation in the matching filter ring is used to map and de-map data . The second method uses different reference chirps in the matched filter to complete demodulation by compensating phase differences in the matched filter.

Symbols for convenience

Symbol

Comment

\(\bar{\varnothing _u}\)

Phase vector

\({\bar{f}}\)

Frequency vector

\(\varDelta f^p\)

The p-th frequency increment

\(s_{o,max}(t)\)

Maximum output of the matching filter

ID-CSSm

The m-th Implanted-Doppler Chirp Spread Spectrum(ID-CSS) wave packet

IDnm

The differential deviations from ID-CSSm to ID-CSSn