ECE 4117 Experiment 4 Binary Phase-Shift Keying (BPSK) ECE 4117 – Telecommunications Laboratory Fall 2012 Purpose The concepts of Phase-Shift Keying are explored, with emphasis on BPSK. An exploration and real implementation will be done using the USRP and GNU radio. Introduction Digital modulation, like analog modulation, modulates an analog carrier signal to carry information. However, in digital modulation, the modulation is done by a digital bit stream as opposed to a continuous signal (such as sound). The most fundamental digital modulation schemes rely on keying, where the signal takes only one of two or more values at all times. Keying relies on the fact that the modulating signal will have a limited number of states at all times, to represent the corresponding digital states. Binary (1 or 0) is a common example of the number of states a digital signal can take. The three basic modulation techniques are Amplitude-Shift Keying (ASK), Frequency-Shift Keying (FSK), and Phase-Shift Keying (PSK). For the following, consider all three modulation schemes for the case of binary, where there are only two states, 1 or 0. In ASK modulation, the transmission of a 1 bit or a 0 bit is represented by turning the signal on or off. As with AM, the ASK modulates the amplitude of the carrier depending on the value of information. Below, we see a figure depicting the ASK modulation. In FSK modulation, the transmission of either bit is represented by a difference in frequency from the original carrier wave. In this case, a zero is represented by a frequency less than the original carrier frequency and a one is represented by a frequency more than the original carrier frequency. This is similar to the analog FM. Below, we see a figure depicting the FSK modulation. 1 ECE 4117 In PSK modulation, the transmission of either bit is represented by a difference in phase from the original carrier wave. A one is represented by the original carrier signal (no phase difference) and the zero is represented by a 180 degree phase difference (negative amplitude). Below, we see a figure depicting the PSK modulation. In this lab, we will be exploring BPSK through the use of GNU Radio and the USRP2. However, GNU Radio only has the option of Differential BPSK. Both DBPSK and BPSK will be explained further below. Binary Phase Shift Keying (BPSK) BPSK represents each bit as a symbol, i.e. it transmits one of two possible phases corresponding to the bit value. For the previous example, the binary 1 was represented by a phase difference of 0 degrees and the binary 0 was represented by a phase difference of 180 degrees. In general this can be done with multiple phase differences. For example, the previous example could have been also represented by a phase difference of 90 degrees or 1j in complex notation for binary 1 and a phase difference of 270 degrees or -1j for binary 0. Below we see the mapping of binary 1 and binary zero to a constellation graph below. 2 ECE 4117 Notice that the constellation graph shows the in-phase and quadrature components of the signal. The coordinates are represented in complex format. Therefore, the I-Q components are in fact real and complex representations of the signal. Mathematically, and in general, we can represent the modulated signal for one bit as, where 𝜑𝑏 is the phase shift which represents 0 or 1 and fm is the frequency of the baseband modulation. For the previous example, we can see through complex notation what the signal looks like for both bits. The representation of the binary number sequence ‘101’ using the previous equations, we can see BPSK modulation below. Note that fm and the period of this sinusoid in this case is equivalent to the amount of time that is required to represent one symbol. 3 ECE 4117 The complete BPSK signal is obtained by multiplying m(t) by asinusoidal “carrier” signal at frequency fc. s(t) = Asb(t) cos(2*pi*fc*t) Encoding the binary information on a high frequency carrier accomplishes several goals. Depending on the selection of the carrier frequency fc, the signal s(t) may be radiated, either acoustically or electrically. By selecting different carrier frequencies for each signal, multiple data streams may use the same physical media without interfering with each other The bandwidth of the BPSK signal illustrated here is approximately B = 2/Tb Differential BPSK Bit streams going through the many communications circuits in the channel can be unintentionally inverted. In many cases, signal processing circuits cannot tell if the whole stream is inverted. This is called phase ambiguity. Differential Encoding is used to protect against this possibility. It is one of the simplest forms of error protection coding done on a baseband sequence prior to modulation. Essentially, differential encoding (which includes DBPSK) is a technique that makes data to be transmitted to depend on both the current bit as well as the previous bit received. It uses the data to change the phase rather than set the phase. To illustrate the usefulness of differential encoding, an example is done below on a data stream of bits. To compare to the phase shift encoding needed for DBPSK, imagine that the first bit determines your initial phase shift and the subsequent bits are the next shifts. 4 ECE 4117 Encoding is determined by initial reference bit (either 0 or 1) that the circuit or software chooses. The incoming data sequence is added (binary math) to this reference bit and forms the second bit of the encoded sequence. This bit is then added to the next data bit to continue the process as shown below. Note that the carry bit from the binary addition is discarded, as it is not necessary in the encoding sequence. For DBPSK we can say that the initial bit 1 (or state) represents an initial phase shift of 180 degrees. Since the next number is 1, there is another 180 phase shift and the resulting encoded output is 0 (goes all the way back around to state 0). The same is done for the next bit. Since the zero represents a zero degree phase shift, the next encoded state is also zero. Again, since the next bit is a 180 degree phase shift, the next encoded state is now 1. This continues until all the data is encoded. We can see DBPSK a little better below with a different data stream and an actual phase shifted signal. We can still see that encoding scheme for the graph is the same as the encoding scheme example above. The first ‘1’ is now represented by a 180 degree difference from the initial phase (which we do not see, the initial bit is cut off). The next ‘1’ shifts the signal again by 180 degrees. The next three ‘0’ data bits keep the signal in the same phase. The next two ‘1’ data bits change the phase back and forth. The final ‘0’ bit keeps the signal the same. The decoding process reverses the above. The incoming bits are added together to recreate the input data sequence. We will explore the possibility that the signal has in fact inverted and thus highlight why DBPSK is used. Below we see both the normal and inverted possibilities. 5 ECE 4117 Even if there was signal inversion, as you can see, the decoded data sequence is the same, and thus protects against any inversion errors. As with the previous example, we can apply the same principles to a DBPSK signal. Using the signal above, we can derive an encoded sequence based on the DBPSK signal. This encoded sequence is dependent on the phase shifts. So assuming an intitial phase shift of 0 degrees, we derive the following encoded sequence. Encoded sequence: 0 1 0 0 0 0 1 0 0 As you can tell, the first phase shift to 180 degrees from the initial 0 degree phase shift results in the second number in being 1. Since there is another phase shift of 180 degrees, the third number is 0 since it returns to its initial phase. Three consecutive 0s result in no shift changes, or three encoded zeros. The next 1 changes the phase to 180 degrees and thus encoded a 1. Another 1 changes the phase back to 0 and thus encodes a 0. The last 0 does not change anything and thus encodes a 0. Now using the encoded series, we can decoded and obtain our data by adding each number. 6 ECE 4117 Encoded sequence: Decoded (Data): 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 1 0 The decoded data matches our initial data sequence; therefore we have successfully transferred data through DBPSK. Procedure 1. Transmit and receive a .jpg file using BPSK. Use file included. Record Data 2. Build Transmit and Receive Path using GRC 3. Report 7