2.1 CPRG and CPPM
In this section, we describe the BCPPM communication system. To begin with, we introduce the chaos pulse regenerator (CPRG). The block diagram of the CPRG is presented in Figure 1. When the value of time T reaches the value of delay T_{
n
} for the n th round, the comparator will send an enabled signal to trigger:

a)
The function F(x) calculates the delay value T _{n+ 1} for the next round;

b)
The timer resets and starts timing for the next round;

c)
The pulse generator outputs a narrow pulse whose width is T _{
w
} ≪ T _{
n
} (n = 1, 2, …).
The sequence of time intervals {T_{
n
}} represents the iterations of a chaotic process. It can be calculated by the function F(x) which is always a nonlinear function, T_{
n
} = F(T_{n − 1}, T_{n − 2}, …, T_{1}). From the formula, we know that T_{
n
} is determined by the former n − 1 delay value. When n = 1, it is just a function of one variable. Through the F(x), the output of CPRG feedbacks to itself directly, constituting a feedback loop. Some studies on such CPRG can be found in [9, 10].
In CPPM, the information is encoded within the chaotic pulse signal by using additional delays inside the feedback loop, in other words, by changing the intervals T_{
n
}. When transmitting ‘0’, the CPRG will output the pulse immediately, while transmitting ‘1’, the pulse will delay for a fixed time T_{
d
}T_{
d
} ≪ T_{
n
} (n = 1, 2, …). At this time, the F(x) function can be expressed as T_{
n
} = F(T_{n − 1}, T_{n − 2}, …, T_{1}, T_{
d
}). And in this way, the CPRG output waveform contains the binary information. The block diagram of classical CPPM is shown in Figure 2.
2.2 BCPPM modulator
BCPPM is based on the CPRG, and the modulator of BCPPM is shown in Figure 3. When the system initialization is complete, CPRG unit starts working: The nonlinear function outputs the delay time value T_{
n
}; the timer starts timing; the comparator compares its two inputs constantly. When CPRG outputs the enable signal, the system reads the first bit data to decide whether to add the T_{
d
} before entering later modules. After that, it reads the second bit data to choose the polarity of the narrow pulse for output.
In Figure 3, we can see that the sent data are grouped in every two bits. In each round, the first bit data and the chaotic map determine the position of pulse and the second bit determines its polarity. The delay module is moved outside of the feedback loop compared with that of CPPM. It makes the signal intervals of CPRG only relevant to the states of nonlinear function which is inside the CPRG. They are independent of the information sequence. Here, we get T_{
n
} = F(T_{n − 1}). In this way, it avoids the possible adverse effects of information sequence to the chaotic map and keeps the no regularity of output pulse intervals sequence of CPRG. Besides, it eliminates the possibility of divergence. In each transmission period, the BCPPM modulator outputs a bipolar pulse, which contains twobit information under the same conditions with CPPM. So, the BCPPM scheme doubles the information rate.
Through the above analysis, the transmitted signal of BCPPM can be expressed as
\mathit{U}\left(\mathit{t}\right)={\displaystyle \sum _{\mathit{j}=0}^{\infty}{\left(1\right)}^{{\mathit{b}}_{2\mathit{j}+1}}\mathit{\omega}\left(\mathit{t}{\mathit{t}}_{\mathit{j}}\right)}
(1)
where ω(t) is the baseband transmission signal.
{\mathit{t}}_{\mathit{j}}={\mathit{t}}_{0}+{\displaystyle \sum _{\mathit{j}=0}^{\mathit{j}1}{\mathit{T}}_{\mathit{n}}}+{\mathit{b}}_{2\mathit{j}}{\mathit{T}}_{\mathit{d}}
(2)
where t_{0} is the initial delay for system.
b_{
j
} is the data to be transmitted:
{\mathit{b}}_{\mathit{j}}=\left\{\begin{array}{l}0\\ 1\end{array}\right.\phantom{\rule{1em}{0ex}}\mathit{j}=1,2,\cdots
(3)
2.3 BCPPM demodulator
Pulse sequence with delay and polarity modulation becomes the signal to be transmitted in the channel. If an unauthorized receiver does not know the interval information of pulse sequence, it is impossible to judge whether a received pulse was delayed. Therefore, it cannot judge whether ‘0’ or ‘1’ is transmitted at this moment. If there is an ideal synchronization between the transmitter's CPRG and the receiver's CPRG, it will output the same signal with the sent signal in channel except some of the pulses delayed due to the data modulation. By estimating the received signal and the time when CPRG outputted the corresponding pulse, the first bit data can be restored. On this basis, according to the polarity information of pulse, the second bit data can be judged. While the CPRGs of both sides of the transceiver are not enough to match, it will generate a large number of errors. Therefore, the initial parameters of CPRG act like a private key and play a decisive role in the transmission.
In the case of ideal synchronization between transmitter and receiver, the receiver will know the time or time window when the pulse is expected to appear. That allows the output of the receiver to be kept locked before the appearance of excepted pulses. During this period, other users can transmit their information pulses. In BCPPM, there are two time windows in the receiver. The BCPPM receiver is shown in Figure 4. Based on the synchronization of the transmitter and the receiver, the CPRG of the receiver enables the sampler near the time when the pulse is expected to appear. It will create a time window which contains the expected pulse, then divide the window into two parts based on the time T_{
d
}, time window ‘0’ and time window ‘1’ , respectively. The signal in time window ‘0’ and time window ‘1’ are transferred to a twopeak detector, then it figures out the two bits of information. The detailed demodulation process can be described as follows:While demodulating the twobit data, priority should be given to the first bit, then the second one. The first bit, delay information, can be judged from the sampling value in which window it has the larger peak. If the peak is in window ‘0’ , the first bit is ‘0’. Otherwise, it is ‘1’. On this basis, the detector detecting the polarity of pulse in the above time window, if it is positive, the second bit information is ‘0’. Otherwise, it is ‘1’. So, there are a total of four cases for the twobit data, as it is shown in Figure 5.It is clear that the feedback loop in CPPM was removed in Figure 4. This eliminates the dependence of receiver CPRG synchronization on the accuracy of the demodulator judgment. It also eliminates the asynchronous problem between transmitter's CPRG and receiver's CPRG due to the wrong judgments, thus avoiding the error propagation. Thus, the BCPPM scheme greatly improves the practicability of the system.
2.4 Performance of BCPPM
Let x_{1} = 1, denoting that the demodulation of the first bit is incorrect, and x_{1} = 0, denoting that the demodulation of the first bit is correct. With the same notation, x_{2} = 1, which means that the demodulation of the second bit is incorrect; while x_{2} = 0, which means that the demodulation of the second bit is correct. The first bit and the second bit are dependent in the demodulator of the BCPPM system. The judgment of the second bit depends on the time window which is decided by the first bit. So the output of the first bit will affect the judgment of the second bit. If the demodulation of first bit is incorrect, as a result, the second bit will not fall in the corresponding time window. The sampling value of the signal is the noise level so the judgment is like coin tossing. In this case, the probability of correct demodulation for the second bit is 0.5. So, in the case of ideal timing, the BER of the BCPPM system is the following:
\begin{array}{l}{\mathit{P}}_{\mathit{e}}=\frac{1}{2}\left(\mathit{p}\left({\mathit{x}}_{1}=1,{\mathit{x}}_{2}=0\right)\phantom{\rule{0.25em}{0ex}}+\phantom{\rule{0.25em}{0ex}}\mathit{p}\left({\mathit{x}}_{1}=0,{\mathit{x}}_{2}=1\right)+2\right.\\ \left(\right)close=")">\phantom{\rule{3.5em}{0ex}}\times \mathit{p}\left({\mathit{x}}_{1}=1,{\mathit{x}}_{2}=1\right)\end{array}\n
\begin{array}{l}=\frac{1}{2}\left(\mathit{p}\left({\mathit{x}}_{1}=1\right)\times \mathit{p}\left({\mathit{x}}_{2}=0\left\right.{\mathit{x}}_{2}=1\right)+\phantom{\rule{0.25em}{0ex}}\mathit{p}\left({\mathit{x}}_{1}=0\right)\right.\\ \phantom{\rule{2em}{0ex}}\times \mathit{p}\left({\mathit{x}}_{2}=1\left\right.{\mathit{x}}_{1}=0\right)+\phantom{\rule{0.25em}{0ex}}2\times \mathit{p}\left({\mathit{x}}_{1}=1\right)\\ \phantom{\rule{2em}{0ex}}\left(\right)close=")">\times \mathit{p}\left({\mathit{x}}_{2}=1\left\right.{\mathit{x}}_{1}=1\right)\end{array}\n
\begin{array}{l}=\frac{1}{2}\left(\mathit{p}\left({\mathit{x}}_{1}=1\right)\times \frac{1}{2}+\phantom{\rule{0.25em}{0ex}}\mathit{p}\left({\mathit{x}}_{1}=0\right)\times \mathit{p}\left({\mathit{x}}_{2}=1\left\right.{\mathit{x}}_{1}=0\right)\right.\\ \left(\right)close=")">\phantom{\rule{2em}{0ex}}+\phantom{\rule{0.25em}{0ex}}2\times \mathit{p}\left({\mathit{x}}_{1}=1\right)\times \frac{1}{2}\end{array}\n
\begin{array}{l}=\frac{1}{2}\left(\mathit{Q}\left(\sqrt{\frac{{\mathit{E}}_{\mathit{b}}}{{\mathit{N}}_{0}}}\right)\times \frac{1}{2}+\left(1\mathit{Q}\left(\sqrt{\frac{{\mathit{E}}_{\mathit{b}}}{{\mathit{N}}_{0}}}\right)\right)\right.\\ \left(\right)close=")">\phantom{\rule{2em}{0ex}}\times \mathit{Q}\left(\sqrt{\frac{2{\mathit{E}}_{\mathit{b}}}{{\mathit{N}}_{0}}}\right)+\mathit{Q}\left(\sqrt{\frac{{\mathit{E}}_{\mathit{b}}}{{\mathit{N}}_{0}}}\right)\end{array}\n
=\frac{3}{4}\left(\mathit{Q}\left(\sqrt{\frac{{\mathit{E}}_{\mathit{b}}}{{\mathit{N}}_{0}}}\right)\right)+\frac{1}{2}\left(1\mathit{Q}\left(\sqrt{\frac{{\mathit{E}}_{\mathit{b}}}{{\mathit{N}}_{0}}}\right)\right)\times \mathit{Q}\left(\sqrt{\frac{2{\mathit{E}}_{\mathit{b}}}{{\mathit{N}}_{0}}}\right)
(4)