INTERNATIONAL JOURNAL OF INNOVATIVE TECHNOLOGIES, VOL. 02, ISSUE 02, FEB 2014 ISSN 2321 8665 BPSK System on Spartan 3E FPGA MICHAL JON 1 M.S. California university, Email:santhoshini33@gmail.com. ABSTRACT- The paper presents a theoretical background overview of the digital communication systems and the BPSK modulation and demodulation. The purposed design is the BPSK system. The BPSK modulation and demodulation represents an important modulation technique in terms of signal power. The BPSK system is simulated using Matlab/ Simulink environment and System Generator, a tool from Xilinx used for FPGA design as well as implemented on two Spartan 3E Starter Kit boards. The first board behaves as a modulator and the second as a demodulator. The modulator and demodulator algorithms have been implemented on FPGA using the VHDL language on Xilinx ISE 9.2. The local clock oscillator of the board is 50 MHz which corresponds with a period of 20ns.The Frequency of the BPSK carrier is 31,250 khz. Both, the modulator and demodulator, have been designed and simulated and theirs performances were evaluated by measurements. 1. INTRODUCTION In the last years, a major transition from analog to digital modulation techniques has occurred and it can be seen in all areas of satellite communications systems, cellular and wireless. A digital communication system is more reliable than an analog one thanks to the advanced signal processing algorithms used at the transmitter and the receiver ends. The aim of the paper is to create a BPSK (Binary Phase Shift Keying) system made of a modulator, a channel and a demodulator. The modulated signal was achieved in the first Spartan 3E board, passed through a channel and transmitted to the second board, which behaves as a demodulator. At the end of the demodulator, the modulating signal was obtained. The main difference is the System Generator block which makes possible the administration of the Xilinx components. Important studies were made in this field and were cited in this paper The resources www.picopublications.org used in generating the BPSK modulation and demodulation were a computer with the Xilinx Web Pack ISE on it, two Spartan 3E Starter Kit boards and a LeCroy Wave Surfer Xs Series Oscilloscope, a high performance digital oscilloscope. The paper is organized into 6 sections. The paper begins with an introduction in section 1. Section 2 presents the theoretical backgrounds about the digital communication system and about the BPSK modulation and demodulation. After discussing in theory, implementation of the BPSK system in Matlab/ Simulink and System Generator are presented in section 3. Section 4 is dedicated to the implementation of the system: modulator and demodulator on the Spartan 3E Starter Kit boards. 1.1 Theoretical Backgrounds A. Digital Communication System A typically digital communication system is presented Fig : 1.1 A Digital Communication System. The components of the digital communication system are both digital and analog parts. The digital part consists of digital source/user, source encoder/ decoder, channel encoder/ decoder and the digital modulator/ demodulator. The analog part is made of the transmitter, receiver, the channel models and 81
noise models [8]. The message to be sent is from a digital source, in our case, from a computer. The source encoder accepts the digital data and prepares the source messages. The role of the channel encoder is to map the input symbol sequence into an output symbol sequence. The binary information obtained at the output of the channel encoder is than passed to a digital modulator which serves as interface with the communication channel. The main purpose of the modulator is to translate the discrete symbols into an analog waveform that can be transmitted over the channel In the receiver, the reverse signal processing happens. A channel is the physical medium that carries a signal between the transmitter and the receiver. The signal is corrupted with noise whatever the medium used for transmission. The role of a digital communication system is to transport digital data between the transmitter and receiver. As the signals propagate between the two nodes, they may be submitted to distortion due the channel Imperfection. The digital data is transmitted between the transmitter and the receiver by varying a physical characteristic of a sinusoidal carrier, either the frequency or the phase or the amplitude. This operation is performed with a modulator at the transmitting end to impose the physical change to the carrier and a demodulator at the receiving end to detect the resultant modulation. 2. BPSK BPSK System in Simulink In a BPSK modulator and demodulator is implemented in the Simulink environment for a practical teaching course. Fig. Represents a communication system implemented in the Matlab/ Simulink environment that uses the BPSK modulation technique. The system is composed of the binary data source, a modulator, a channel and a demodulator. The binary data source is made of a random data source and a rounding function. The corresponding signal is illustrated in fig. Figure 2.1 BPSK System. The BPSK modulator (fig.6) is made of two sine carriers, the second one delayed with 180º and a switch which will choose between the first or third output depending on the value of the second input. If the second input is 1, the output value will be sine (fig.7a), but if the second input is 0, the output will be sine (fig.7b). Figure 2.2 Binary data source and BPSK Modulator The modulated signal is then pass through a channel where noise is added. The channel also has a limited frequency bandwidth so that it can be viewed as a filter (fig.8). The corresponding signals are shown in fig.9. The modulated signal added with noise arrives at the input of the demodulator. The first block in the demodulator is saturation (fig.10). www.picopublications.org 82
Figure 2.3 BPSK demodulator The saturation block [16] establishes upper and lower bounds for an input signal. If the input signal is within the limits of upper and lower bounds, the input signal passes through unchanged, otherwise the signal is clipped to the upper and/ or lower bounds (fig.11). BPSK System in System Generator multiplexer. It has one select input and a configurable number of data inputs that can be defined by the user. The d0 and d1 inputs of mux represent the sine waves. The sel input of mux represents the modulating signal and selects between the d0 and d1 inputs. If LFSR is 1, the modulated signal remained same as the carrier, but if 0 was transmitted, the yielded carrier is transmitted. System Generator is a digital signal processing design tool from Xilinx. Designs are made in the Simulink environment using a Xilinx specific block set. All implementation steps, including synthesis, place and route are automatically performed to generate an FPGA programming file [17]. In [6] and [7] implementations of a BPSK system are presented. In [7], a hybrid DSP/FPGA architecture of a BPSK transceiver is discussed with implementation is System Generator. In [6], a method of designing BPSK modulator and demodulator is presented. The method uses a DDS (Direct Digital Synthesis), same as we used in our model implemented in System Generator. Our BPSK system implemented in System Generator has the same block as in fig.5: data source, a modulator [15], a channel and a demodulator. The main difference is the System Generator block which makes possible the administration of the Xilinx components. The modulating signal (fig.15c) is generated internal by a LFSR (Linear Feedback Shift Register(fig.14). The carrier is generated internal by DDS blocks from System Generator(fig.14). The DDS Compiler Block is a direct digital synthesizer and it uses a lookup table scheme to generate sinusoids. A digital integrator generates a phase that is mapped by the lookup table into the output waveform [17]. The sine waveforms can be seen in fig.the mux block implements a Figure 2.4 BPSK Modulator in System Generator The carrier is recovered due to the DDS compiler and then multiplied with the modulated signal affected by noise. The obtained signal is then added with all the samples, multiplied, from a period. This operation takes place in the accumulator. Once we have a result, it is compared with a threshold. If the compared signal is positive, the demodulator take the decision that 1 was transmitted, otherwise, 0. Figure 2.5 BPSK Demodulator in System Generator www.picopublications.org 83
The modulating signal is generated internal, in the modulator, by a LFSR. The carrier is also generated internal, and is made of 16 different values kept in a ROM memory [1].The yielded carrier with 180º phase shift is obtained by reading the ROM memory later with 8 samples. If LFSR was 1, the modulated signal remained same as the carrier, but if 0 was transmitted, the modulated signal became the yielded carrier. The modulated signal is then sent to the DAC (Digital-to Analog Converter) on the board in order to be sent through the channel. A design of a BPSK transmitter using FPGA with DAC is presented in [3]. Figure 2.7 The principle of the BPSK demodulator on the FPGA 3. SIMULATION RESULTS Fig: 3.1 Simulation results of BPSK System Figure 2.6 The principle of the BPSK modulator on the FPGA The modulated signal affected with noise arrives at the second board which behaves as a demodulator. The signal enters the demodulator with the help of a pmod AD1 which transforms the analog signal into a digital one. This digital signal is then multiply with the recovered carrier, generated internal in a ROM memory, practically an integration was achieved. The result is kept in an accumulator and compared with a decision threshold and so, the demodulated signal is obtained. The principle of the BPSK demodulator implemented on the FPGA is illustrated in fig.23. Fig 3.2 design summary of BPSK system Fig 3.3 RTL Schematic of BPSK System www.picopublications.org 84
propagation, implementation and logic utilization of the Spartan 3E boards used in this work. 5. REFERENCES Fig: 3.4 Technical Schematic of Proposed System 4. CONCLUSION We proposed a implementation of the BPSK System (Modulator and Demodulator) in the Matlab/Simulink environment. Then, we made a proposal of a BPSK System in System Generator. Both, the modulating signal and the carrier are generated internal, the modulating signal by a LFSR and the carrier by a DDS Compiler. The modulated signal is obtained at the output of a mux block and, then, passed through a communication channel where noise is added. In the demodulator, the carrier is recovered due to another DDS compiler and then multiplied with the modulated signal affected by noise. The obtained signal is then added with all the multiplied samples from the carrier in a period. The operation takes place in the accumulator. Once we have a result, it is compared with a decision threshold. If the compared signal is positive, the demodulator take the decision that 1 was transmitted, otherwise, 0. The BPSK System implemented on the Spartan 3E Starter Kit board has the same principle as the implementation in System Generator. Although System Generator has an option to generate the VHDL code, for this design the code was made from the beginning because the generated code was hard to read. The only difference was that of the carrier which was indeed generated internal, in a ROM memory, but made of 16 different values. The yielded carrier with 180º phase shift was obtained by reading the ROM memory later with 8 samples. Comparing the design summary obtained with other works in this field [1] - [8], the logic utilization of the board was lower in terms of the slice flip-flops and LUTs used. All of these make the design suitable in terms of [1] Fathomed, A.Scorpino, An educational digital communications project using FPGAs to implement a BPSK Detector, IEEE Transactions on Education, Vol.48, No.1, 2005, pp.191-197. [2] O.Azarmanesh, S.Bilen, Developing a rapid prototyping method using a Matlab/ Simulink/ FPGA development to enable importing legacy code, Proceedings of the SDR 08 Technical Conference and product Exposition, USA, 2008. [3] Y.H.Chye, M.F.Ain, N.M.Zawawi, Design of BPSK Transmitter Using FPGA with DAC, in Proceedings of the 2009 IEEE 9thMalaysia Conference on Communications, Malaysia, 2009, pp.451-456. [4] P.Dondon, J.M.Micouleau, J.Legall,.K.Kadionik, Design of a low cost BPSK modulator/demodulator for a practical teaching of digital modulation techniques, in the 4 th WSEAS/IASME International Conference on Engineering Education, Greece, 2007, pp.61-66. [5] P.Krivić, G.Štimac, FPGA Implementation of BPSK Modem for Telemetry Systems Operating in Noisy Environments, Proceedings of the 33rdInternational Convention on Information and Communication Technology, Electronics and microelectronics, Croatia, 2010, pp.1727-1731. [6] W.Song, J.Zhang, Q.Yao, Design and Implementation of BPSK Modulator and Demodulator on Modern DSP Technology, 3rd IEEE International Symposium on Microwave, Antenna, Propagation and EMC Technologies for Wireless Communications, China, 2009, pp.1135-1137. [7] Y.Tachwali, H.Refai, Implementation of a BPSK Transceiver on Hybrid Software Defined Radio Platforms, 3 rd International Conference on Information and Communication www.picopublications.org 85
Technologies: From Theory to Applications, Syria, 2008, pp. 1-5. [8] A.Gürgör, F.Arikan, O.Arikan, Simulation of a digital communication system, in Proceedings of the 13thEuropean Signal Processing ConferenceEUSIPCO, 2005, Turkey, http://www.eurasip.org/proceedings/eusipco/eu sipco2005/defevent/papers/cr1142.pdf [9] H.Nguyen, E.Shwedyk, A first Course in Digital Communications, Cambridge University Press, New York, 2009. [10] J.G. Proakis, Digital Communications, 4Thedition, McGraw Hill, New York, 2001. [11] G. Smithson, Introduction to Digital Modulation Schemes, in IEE Colloquium on The Design of Digital Cellular Handsets, 1998, United Kingdom, pp. 2/1-2/9 www.picopublications.org 86