SIM UNIVERSITY SCHOOL OF SCIENCE AND TECHNOLOGY ONLINE EXPERIMENTS IN DIGITAL COMMUNICATIONS STUDENT : WONG CHAN WEN : (T6121401) SUPERVISOR : MR CHUA PENG HUAT PROJECT CODE : JAN2009/BSTE/02 A project report submitted to SIM University in partial fulfilment of the requirements for the degree of Bachelor of Science in Technology with Electronics Nov 2009 i ABSTRACT The purpose of this project is to design and produce interactive online experiments in digital communications. The experiments will serve as study aids for students of digital communications which include Eye diagrams, constellation plots, BER-SNR plots and digital modulation schemes with data inputted by them. There is also a section for self-test questions where students can test their knowledge of digital communications. The digital communications experiments presented were designed using Mathworks MATLAB®. The scripts, known as m-scripts, were tested and built in MATLAB® Java Builder to produce Java component jar file. The Java component file was compiled together with a Java servlet written to access the methods inside the Java component file to produce Java classes. In order for the experiment to function in a webpage, a HTML page, a JSP page and a web.xml, which is a Web descriptor file, were written specifically for the Java classes’ interfaces. The experiments simulation results were compared with theories and were verified correctly designed and implemented successfully. It is concluded that developing such a project is advantages where digital communication theories and techniques can be shared over the Internet, promoting portability and also reducing printed materials thereby promoting green environment. In addition, students or users do not have to go through manual calculations for certain equations or formulas in digital communications. ii ACKNOWLEDGEMENT First, I would like to express my utmost gratitude towards my supervisor, Mr Chua Peng Huat for giving me the opportunity and helping me to attain progression and smoothness during the course of this project. This project may not have been carried out and completed successfully without him for all his guidance, supervision and encouragement. Second, my next sincere appreciation goes to the instructors especially Dr Alan Lim Teik Cheng for his splendid support and assistance. Third, I would like to thank my family for being tolerant and most importantly, the kind words of encouragement. Lastly, to everyone that has directly or indirectly contributed to my project completion, my extended sincere thanks to you. Where this report succeeds, I share the credit with you. Thank you! iii TABLE OF CONTENTS ABSTRACT ACKNOWLEDGEMENT LIST OF FIGURES LIST OF TABLES CHAPTER ONE Introduction 1.1 Background and Motivation 1.2 Objectives 1.3 Scope 1.4 Layout of the Project report CHAPTER TWO Technical Background 2.1 Digital Communications 2.2 Digital Modulations 2.3 Digital Transmissions 2.4 Line Codes 2.5 Constellation Diagrams 2.6 Equalizers 2.7 MATLAB® 2.8 Apache Tomcat 2.9 JavaScript CHAPTER THREE Experiments 3.1 Digital Modulations 3.1.1 Amplitude Shift Keying 3.1.2 Frequency Shift Keying 3.1.3 Phase Shift Keying 3.1.4 Pulse Amplitude Modulation 3.1.5 Quadrature Amplitude Modulation 3.2 Digital Transmissions 3.3 Line Codes 3.4 Constellation Diagrams 3.5 Equalizers 3.5.1 RLS and LMS Equalizers 3.5.2 MLS Equalizer 3.6 MATLAB® 3.7 Apache Tomcat 3.8 Quiz CHAPTER FOUR Results 4.1 Digital Modulations 4.1.1 Amplitude Shift Keying 4.1.2 Frequency Shift Keying 4.1.3 Phase Shift Keying 4.1.4 Pulse Amplitude Modulation 4.1.5 Quadrature Amplitude Modulation 4.2 Digital Transmissions 4.3 Line Codes i ii v ix 1 1 2 3 4 5 5 6 21 24 27 32 35 36 36 37 37 37 37 39 40 40 41 42 44 45 45 46 47 47 48 50 50 50 54 58 65 65 67 81 iv 4.4 4.5 Constellation Diagrams Equalizers 4.5.1 RLS and LMS Equalizers 4.5.2 MLS Equalizer 4.6 Quiz CHAPTER FIVE Discussion 5.1 Digital Modulations 5.1.1 Amplitude Shift Keying 5.1.2 Frequency Shift Keying 5.1.3 Phase Shift Keying 5.1.4 Pulse Amplitude Modulation 5.1.5 Quadrature Amplitude Modulation 5.2 Digital Transmissions 5.3 Line Codes 5.4 Constellation Diagrams 5.5 Equalizers 5.5.1 RLS and LMS Equalizers 5.5.2 MLS Equalizer 5.6 Quiz CHAPTER SIX Reflections CHAPTER SEVEN Conclusions and Recommendations LIST OF REFERENCES BIBLIOGRAPHY GLOSSARY 106 109 109 112 115 117 117 117 117 118 119 119 121 123 125 125 125 126 126 127 130 132 134 135 v LIST OF FIGURES Figure 2.1 Figure 2.2 Figure 2.3 Figure 2.4 Figure 2.5 Figure 2.6 Figure 2.7 Figure 2.8 Figure 2.9 Figure 2.10 Figure 2.11 Figure 2.12 Figure 2.13 Figure 2.14 Figure 2.15 Figure 2.16 Figure 2.17 Figure 2.18 Figure 2.19 Figure 2.20 Figure 2.21 Figure 2.22 Figure 2.23 Figure 2.24 Figure 2.25 Figure 2.26 Figure 2.27 Figure 2.28 Figure 2.29 Block Diagram of a Digital Communications System An Additive White Gaussian Noise (AWGN) Channel ASK Modulator On-Off Keying Modulation FSK Modulator Frequency Shift Keying Modulation PSK Modulator Phase Shift Keying Modulation QPSK Modulator QPSK Constellation Diagram 8-PSK Constellation Diagram 16-PSK Constellation Diagram PAM Modulator 2-PAM with Raised Cosine Filter QAM modulator 4-QAM Constellation Diagram 16-QAM Constellation Diagram 64-QAM Constellation Diagram Transmitted Waveform Bit Sequence 101101 Sent Symbols Received Transmitted Signal Versus Received Signal Eye Diagram Interpretation Unipolar Non-Return-To-Zero Coding Polar Non-Return-To-Zero Coding Unipolar Return-To-Zero Coding Bipolar Return-To-Zero Coding Manchester Coding QPSK Constellation Diagram with 0 o 5 6 7 8 9 10 11 12 14 15 16 16 17 18 18 19 20 20 21 22 23 23 24 25 25 26 26 27 28 Figure 2.30 QPSK Constellation Diagram with 45 o 28 Figure 2.31 8-PSK Constellation Diagram with 0 Figure 2.32 Figure 2.33 Figure 2.34 Figure 2.35 Figure 2.36 Figure 2.37 Figure 2.38 Figure 3.1 Figure 3.2 Figure 4.1 Figure 4.2 Figure 4.3 Figure 4.4 Figure 4.5 Figure 4.6 64-QAM Constellation Diagram with 0 BER vs E/No for p 1 , p 0 and p 1 QPSK Noisy Constellation 64-QAM Noisy Constellation RLS Filter in Negative Feedback LMS Filter Block Diagram MLSE End to End Wireless System Block Diagram Tomcat required files in bin folder Digital Modulation Quiz Screen Capture ASK Experiment Plots ASK-SNR Experiment No of bits = 8, SNR = 10dB ASK-SNR Experiment No of bits = 8, SNR = 15dB ASK-SNR Experiment No of bits = 8, SNR = 35dB OOK-SNR Experiment No of bits = 8, SNR = 5dB OOK-SNR Experiment No of bits = 8, SNR = 10dB o 29 o 30 31 31 32 33 34 35 48 49 50 51 51 52 52 53 vi Figure 4.7 Figure 4.8 Figure 4.9 Figure 4.10 Figure 4.11 Figure 4.12 Figure 4.13 Figure 4.14 Figure 4.15 Figure 4.16 Figure 4.17 Figure 4.18 Figure 4.19 Figure 4.20 Figure 4.21 Figure 4.22 Figure 4.23 Figure 4.24 Figure 4.25 Figure 4.26 Figure 4.27 Figure 4.28 Figure 4.29 OOK-SNR Experiment No of bits = 8, SNR = 35dB FSK Experiment Plots FSK-SNR Experiment No of bits = 8, SNR = 5dB FSK-SNR Experiment No of bits = 8, SNR = 15dB FSK-SNR Experiment No of bits = 8, SNR = 35dB FSK-BER Experiment using 20000 symbols, 8 symbol duration FSK-BER Experiment using 20000 symbols, 32 symbol duration PSK Experiment Plots PSK-SNR Experiment No of bits = 8, SNR = 5dB PSK-SNR Experiment No of bits = 8, SNR = 15dB PSK-SNR Experiment No of bits = 8, SNR = 35dB QPSK-SNR Experiment No of bits = 8, SNR = 5dB QPSK-SNR Experiment No of bits = 8, SNR = 15dB QPSK-SNR Experiment No of bits = 8, SNR = 35dB 8-PSK-SNR Experiment No of bits = 9, SNR = 5dB 8-PSK-SNR Experiment No of bits = 9, SNR = 25dB 8-PSK-SNR Experiment No of bits = 9, SNR = 35dB PSK-BER Experiment No of bits = 300000, symbol duration = 8 16-PSK-SER Experiment No of bits = 300000 4-PAM-SER Experiment No of bits = 300000 4-QAM-SER Experiment No of bits = 300000 16-QAM-SER Experiment No of bits = 300000 64-QAM-SER Experiment No of bits = 300000 Figure 4.30 4-QAM Filtered Signal and Figure 4.31 Figure 4.32 Figure 4.33 Figure 4.34 Figure 4.35 Es 5dB Noisy Signal N0 E 4-QAM Filtered Signal and s 20dB Noisy Signal N0 E 4-QAM Filtered Signal and s 40dB Noisy Signal N0 E 4-PSK Filtered Signal and s 5dB Noisy Signal N0 E 4-PSK Filtered Signal and s 25dB Noisy Signal N0 E 4-PSK Filtered Signal and s 40dB Noisy Signal N0 Figure 4.36 Figure 4.37 4-QAM Transmitted Signal Eye Diagram 4-PSK Transmitted Signal Eye Diagram Figure 4.38 4-QAM Received Signal Eye Diagram with Figure 4.39 Figure 4.40 Es 5dB N0 E 4-QAM Received Signal Eye Diagram with s 20dB N0 E 4-QAM Received Signal Eye Diagram with s 40dB N0 53 54 55 55 56 57 57 58 59 59 60 60 61 61 62 62 63 63 64 65 66 66 67 68 69 70 71 72 73 74 74 75 76 77 vii Figure 4.41 Figure 4.42 Figure 4.43 Figure 4.44 Figure 4.45 Figure 4.46 Figure 4.47 Figure 4.48 Figure 4.49 Figure 4.50 Figure 4.51 Figure 4.52 Figure 4.53 Figure 4.54 Figure 4.55 Figure 4.56 Figure 4.57 Figure 4.58 Figure 4.59 Figure 4.60 Figure 4.61 Figure 4.62 Figure 4.63 Figure 4.64 Figure 4.65 Figure 4.66 Figure 4.67 Figure 4.68 Figure 4.69 Figure 4.70 Figure 4.71 Figure 4.72 Figure 4.73 Figure 4.74 Figure 4.75 Figure 4.76 Figure 4.77 Figure 4.78 Figure 4.79 Figure 4.80 Figure 4.81 Figure 4.82 Figure 4.83 Figure 4.84 Figure 4.85 Figure 4.86 Es 5dB N0 E 4-PSK Received Signal Eye Diagram with s 25dB N0 E 4-PSK Received Signal Eye Diagram with s 40dB N0 4-PSK Received Signal Eye Diagram with Unipolar NRZ - 11001010 Polar NRZ - 11001010 Unipolar RZ - 11001010 Bipolar RZ - 11001010 Manchester Coding - 11001010 Unipolar NRZ Power Spectral Density, Rb = 1kbps Unipolar NRZ Power Spectral Density, Rb = 10kbps Polar NRZ Power Spectral Density, Rb = 1kbps Polar NRZ Power Spectral Density, Rb = 10kbps Unipolar RZ Power Spectral Density, Rb = 1kbps Unipolar RZ Power Spectral Density, Rb = 10kbps Bipolar RZ Power Spectral Density, Rb = 1kbps Bipolar RZ Power Spectral Density, Rb = 10kbps Manchester Coding Power Spectral Density, Rb = 1kbps Manchester Coding Power Spectral Density, Rb = 10kbps Unipolar NRZ, AWGN = 0W Unipolar NRZ, AWGN = 0.02W Polar NRZ, AWGN = 0W Polar NRZ, AWGN = 0.02W Unipolar RZ, AWGN = 0W Unipolar RZ, AWGN = 0.02W Bipolar RZ, AWGN = 0W Bipolar RZ, AWGN = 0.02W Manchester Coding, AWGN = 0W Manchester Coding, AWGN = 0.02W Unipolar NRZ, Bandwidth = 1kHz Unipolar NRZ, Bandwidth = 4kHz Polar NRZ, Bandwidth = 1kHz Polar NRZ, Bandwidth = 4kHz Unipolar RZ, Bandwidth = 1kHz Unipolar RZ, Bandwidth = 4kHz Bipolar RZ, Bandwidth = 1kHz Bipolar RZ, Bandwidth = 4kHz99 Manchester Coding, Bandwidth = 1kHz Manchester Coding, Bandwidth = 4kHz Unipolar NRZ, BW = 4kHz, AWGN = 0W Unipolar NRZ, BW = 4kHz, AWGN = 0.02W Polar NRZ, BW = 4kHz, AWGN = 0W Polar NRZ, BW = 4kHz, AWGN = 0.02W Unipolar RZ, BW = 4kHz, AWGN = 0W Unipolar RZ, BW = 4kHz, AWGN = 0.02W Bipolar RZ, BW = 4kHz, AWGN = 0W Bipolar RZ, BW = 4kHz, AWGN = 0.02W 78 79 80 81 82 82 83 83 84 85 85 86 86 87 87 88 88 89 90 90 91 91 92 92 93 93 94 94 95 96 96 97 97 98 98 99 99 100 101 101 102 102 103 103 104 104 viii Figure 4.87 Figure 4.88 Figure 4.89 Figure 4.90 Figure 4.91 Figure 4.92 Figure 4.93 Figure 4.94 Figure 4.95 Figure 4.96 Figure 4.97 Figure 4.98 Figure 4.99 Figure 4.100 Figure 4.101 Figure 4.102 Figure 4.103 Figure 6.1 Manchester Coding, BW = 4kHz, AWGN = 0W Manchester Coding, BW = 4kHz, AWGN = 0.02W QPSK at SNR = 5dB Constellation Diagram QPSK at SNR = 35dB Constellation Diagram 8-PSK at SNR = 5dB Constellation Diagram 8-PSK at SNR = 35dB Constellation Diagram 64-QAM at SNR = 5dB Constellation Diagram 64-QAM at SNR = 35dB Constellation Diagram 4-QAM RLS Equalized, Non-Equalized 1 Iteration Constellation 4-QAM LMS Equalized, Non-Equalized 1 Iterations Constellation 4-QAM RLS Equalized, Non-Equalized 8 Iterations Constellation 4-QAM LMS Equalized, Non-Equalized 8 Iterations Constellation 8-PSK MLSE Equalized, Non-Equalized Constellation 64-PSK MLSE Equalized, Non-Equalized Constellation 8-QAM MLSE Equalized, Non-Equalized Constellation 64-QAM MLSE Equalized, Non-Equalized Constellation Digital Modulation Quiz Result Revised TMA01 Gantt Chart 105 105 106 107 107 108 108 109 110 110 111 111 112 113 114 115 116 129 ix LIST OF TABLES Table 3.1 Table 3.2 Table 3.3 Table 3.4 Table 3.5 Table 3.6 Table 3.7 Table 3.8 Table 3.9 Table 3.10 Table 3.11 Table 3.12 Table 3.13 Table 3.14 Table 3.15 Table 5.1 Table 5.2 ASK-SNR and OOK-SNR Experiments Parameters FSK-SNR Experiments Parameters FSK-BER Experiments Parameters PSK-SNR, QPSK-SNR and EPSK-SNR Experiments Parameters PSK-BER,16-PSK-SER Experiments Parameters 4-QAM, 16-QAM, 64-QAM Experiments Parameters Transmission Path Experiments Parameters Line Code Experiments Parameters Part 1 Line Code Experiments Parameters Part 2 Line Code Experiments Parameters Part 3 Line Code Experiments Parameters Part 4 Line Code Experiments Parameters Part 5 Constellation Diagram Experiments Parameters RLS, LMS Experiments Parameters MLSE Experiments Parameters FSK and PSK-BER Plots’ Comparisons PSK, PAM, QAM-SER Plots’ Comparisons Table 5.3 4-QAM, 4-PSK Table 5.4 Table 5.5 Table 5.6 Table 5.7 Table 5.8 Table 5.9 4-QAM, 4-PSK Transmitted Signal Eye Diagram Comparisons 4-QAM, 4-PSK Received Signal Eye Diagram Comparisons Line Codes’ Comparisons Line Codes’ Eye Diagram Values Line Codes’ Advantages and Disadvantages RLS and LMS Comparisons Es (dB) Comparisons N0 37 38 39 39 40 41 42 43 43 43 44 44 45 46 46 119 120 121 121 122 123 124 124 125 1 CHAPTER ONE Introduction 1.1 Background and Motivation Communications, becoming an important role in our daily lives, has evolved from traditional television broadcast, to digital television; from public switched telephone network, to voice-over-IP. It is one of the fastest growing technologies today which have advanced from wired to wireless communications. At this rate of advancement, it is important that the communications students are well-versed in this area of study before being presented with more sophisticated and complex theories. Books and texts are readily available for digital communications techniques and theories, even for advanced digital communications. Some texts provide online printed version which can be downloaded over the Internet. However, not many had online experiments where visitors can perform digital communications simulations without the need for a physical hardware laboratory presence. There are three web sites that were found offering online digital communications experiments. They are at: http://web.singnet.com.sg/~tanweb/. The author has topics covered in baseband transmission on line codes and channel coding on Convolutional codes and Hamming codes. Examples and experiments are available for unipolar and polar non-return-to-zero and return-to-zero coding, Manchester coding and alternate mark inversion coding. The experiments are written using Java applet. They are straight forward but only offer 8 input bits entry. Other examples and experiments include Convolutional coding and Hamming. http://www.eng.newcastle.edu.au/~c3039337/index_August2.html. The author displays working experiments on binary phase shift keying (BPSK) with waveforms of transmitted modulated signal, received modulated signal, additive white Gaussian noise (AWGN), product detector, integrator, sample and hold and recovered signal. Some editable parameters are pulse shape, phase shift and input bits. Fixed parameters are the carrier frequency and Energy per bit (Eb). The waveforms can be freeze for analysis. 2 http://www.eng.newcastle.edu.au/~c3039032/. The web site touches on digital modulation technique, non-coherent detection method for differential phase shift keying and hamming code. The author demonstrated clear experiments on amplitude shift keying, frequency shift keying and phase shift keying all on a single page with user entry input bits and user defined k for M-ary modulation where M = 2k. On the non-coherent differential phase shift keying experiment, it is easy to understand and manipulate. The last two experiments are on the hamming code (7, 4) and single error correction detection. Both experiments are workable and nicely done up. This is a professionally done up web site on web experiment on digital communications. There is another similar project done by past year student dated year 2008 but stop short on deploying the experiments online. The experiments are designed and developed using MATLAB® GUI, demonstrating modulation and demodulation schemes, equalization and channel coding. The author had problems deploying the experiments online, which in effect is considered ‘offline’. 1.2 Objectives In this project, an online web experiments in Digital Communications are to be designed and developed. It will have experiments that are not covered by the three web sites found on the Internet. In addition, the experiments will be deployed onto the web server for Internet access which was not completed by past year student on the same project. The experiments will serve as study aids for students of digital communications including digital modulation schemes, Eye diagrams, digital transmission, constellation plots, line codes and equalizers. Users are able to find plots of graphs with data inputted by them as well as self-test questions to check on their knowledge of digital communications. The overall objectives are to provide: Current and past students the ability to study their digital communications topics online and revisit the topics; and to check on their knowledge; Interested parties who want to learn more on digital communications techniques and theories; Instructors and lecturers who want to demonstrate the experiments to students. The advantages on developing such a project is that firstly, digital communication theories and techniques can be shared over the Internet, promoting portability and also reducing printed materials thereby promoting green environment. Secondly, students or users 3 do not have to go through manual calculations for certain equations or formulas in digital communications. Thirdly, experiment simulations can be done without the need for physical hardware involvement. Lastly, instructors and lecturers can make use of the online experiments to assign laboratory tests and homework to students. 1.3 Scope During the review of literature, it was noted that current similar websites covered topics such as digital modulation but limited to amplitude shift keying, frequency shift keying and phase shift keying. Number of bits that can be inputted is limited to only 8. No experiments are touched on constellation diagram, digital transmission and equalization. It was also noted that the programming language used for experiment design are based on Java applet. As with the past year project, it was done using MATLAB® GUI but unable to be deployed onto the Internet. Hence, the scope of this project will be threefold as listed below: 1. Improve on the digital communications experiments for uncovered topics; 2. Make use of MATLAB® to design and develop the experiments for simulations and plots generation; 3. Deploy the complied MATLAB® experiments onto a web server, notably a Java web server. The additional experiments which will enhance the current online ones include: More digital modulation experiments such as pulse amplitude modulation and quadrature amplitude modulation; BER-SNR and SER-SNR plots for digital modulation schemes; Constellation diagrams; Digital transmissions; Equalization; Quiz section for self-test questions. Instead of using Java applet to design and develop the experiments, MATLAB® will be used for simulations and plots generation. MATLAB® is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easyto-use environment where problems and solutions are expressed in familiar mathematical notation [1]. As for the deployment of experiments over the Internet, a web server is required. The choice of web server needs to fulfill the requirement to support JSP pages as the MATLAB® Java compiled experiments only work in this format. Apache Tomcat web server was chosen 4 ahead of the rest of Java web server due to easy deployment and more importantly, ability to support JSP pages for the Java compiled MATLAB® experiments. It also supports JavaScript which will be used to write the quiz programs. 1.4 Layout of the Project report The layout of the project report continues with Chapter 2, which will have a technical background review that is required to understand the remaining sections. The topics covered include digital communications theories and techniques, essentially being the backbone to the design and development of the MATLAB® experiments. It will also touch on MATLAB® Java Builder for Java component jar file compilation and interfaces necessary for the Java jar file and classes to function on JSP web server. Chapter 3 provides detailed methods for all the MATLAB® experiments, describing their functions, features and interfaces. Experiments will be shown how they are conducted. Chapter 4 takes a critical look at each experiment and how they will perform against their intended task with screen captured figures and generated plots. Chapter 5 discusses the results obtained from experiments and identifies any error against the manual calculations if any. Chapter 6 summarises and concludes on the work done and identifies if any improvements can be made to further enhance the features. The final chapter, chapter 7, will discuss how the project was tackled and what was learnt. An account will be provided on how skills have developed. Achievements are compared with targets specified in TMA01 with any discrepancies if any. 5 CHAPTER TWO Technical Background 2.1 Digital Communications In the simplest form, transmission-reception system is a three-block system, consisting of a) a transmitter, b) a transmission medium and c) a receiver [2]. An illustrated block diagram showing the important processes of modulation and demodulation; source coding and decoding and channel encoding and decoding is shown in Figure 2.1 below: - Transmitter Input Receiver Source Encoder Source Decoder Source Codeword Output Estimated Source Codeword Channel Coder Channel Decoder Channel Codeword Received Codeword Modulator Demodulator Channel Noise Figure 2.1 Block Diagram of a Digital Communications System 6 Basically the source encoder has the function of converting the input from its original form into a sequence of bits [3]. This approach of conversion is normally known as analog to digital conversion (A/D). During this conversion, the source encoder often has to transmit as few bits as possible, performing function such as data compression. The sequence of bits entering the channel encoder is typically long and never ending. Hence the channel encoder must be capable of keeping with the stream of incoming bits, encoding and transmitting them so that they can be recreated at the decoder with small error probability. In other words, it has to ensure that the data sent over is protected using error correction code. The modulator accepts bit sequence from the channel encoder and modulates the signal using digital modulation schemes such as the amplitude shift keying or frequency shift keying. Channel is a communication medium known as physical channel going from source location to destination. It can be a coaxial cable, an optical fibre or just a pair of wires. It is inevitable that there is zero noise in the channel. Therefore, a common channel model involves a waveform input X (t ) , an added noise waveform Z (t ) and a waveform output Y (t ) , where Y (t ) X (t ) Z (t ) as shown in Figure 2.2. Z(t) Noise X(t) Input Output Y(t) Figure 2.2 An Additive White Gaussian Noise (AWGN) Channel 2.2 Digital Modulations Modulation is the process of facilitating the transfer of information over a medium [4]. In digital modulation, an analog carrier signal is modulated by a digital bit stream. Digital modulation methods can be considered as digital to analog conversion. The three basic types of digital modulation techniques are amplitude shift keying (ASK), frequency shift keying 7 (FSK) and phase shift keying (PSK). Some modulation schemes use both analog and digital modulation such as the pulse amplitude modulation (PAM) and the quadrature amplitude modulation (QAM). Amplitude shift keying (ASK) is a form of modulation that represents digital data as variations in the amplitude of a carrier wave [5]. In its simplest form as binary amplitude shift keying or BASK, binary logic ‘0’ and ‘1’ represents variations in the amplitude of a carrier wave. Figure 2.3 shows the block diagram of a ASK modulator. Figure 2.3 ASK Modulator While keeping frequency and phase constant of an analog carrier signal, this signal varies accordance with modulating signal’s bit stream. Similar to amplitude modulation, amplitude shift keying is also linear. It is unavoidable to distortions, propagation conditions and atmospheric noise on different kinds of routes during transmission. On-off keying (OOK) is a special form of amplitude shift keying modulation where one of the amplitudes is zero as shown in Figure 2.4. The amplitude shift keying modulation is represented in equation (2.1). x(t ) s (t ) sin( 2ft ) (2.1) Where x(t ) is the modulated signal; sin( 2ft ) is the carrier signal; s (t ) is the modulating signal. 8 Figure 2.4 On-Off Keying Modulation In frequency shift keying (FSK), the signal has various frequencies representing different binary data. In its simplest form as binary frequency shift keying (BFSK), it uses two symbols of binary logic ‘0’ and ‘1’ corresponding to two different frequencies. The FSK modulator block diagram is shown in Figure 2.5. 9 Figure 2.5 FSK Modulator The equation representing a frequency shift keying modulation is shown as follows in equation (2.2): - sin( 2f1t ) x(t ) sin( 2f 2 t ) for bit 1 for bit 0 (2.2) Where x(t ) is the modulated signal; sin( 2f1t ) is the carrier signal A; sin( 2f 2 t ) is the carrier signal B. The performance of a FSK signal is evaluated by means of the bit error probability p e or Bit Error Rate, BER as expressed in equation (2.3) for coherent FSK and equation (2.4) for non-coherent FSK. E No Coherent FSK pe T Non-coherent FSK 1 . p e e 2 No 2 (2.3) 1 E (2.4) In non-coherent FSK, the instantaneous frequency is shifted between two discrete values. In coherent FSK, there is no phase discontinuity in the output signal. An example of a frequency shift keying modulation is shown in Figure 2.6. 10 Figure 2.6 Frequency Shift Keying Modulation In phase shift keying, the carrier frequency remains constant while its phase changes in discrete quantities in accordance with the login state of the data bit [6]. It uses a finite number of phases which encodes an equal number of bits with a unique pattern of binary bits. Figure 2.7 shows the PSK modulator block. 11 Figure 2.7 PSK Modulator Each pattern of bits will form symbols which will represent a particular phase. The simplest form of phase shift keying is the binary phase shift keying (BPSK). It uses two symbols to represent binary logic ‘0’ and ‘1’ which is segments of a sinusoid of the same frequency but differ in their phase. Because the two symbols can be distinguished if their phases differ by as much as possible, they are invariably separated by 180°. The equation representing a phase shift keying modulation is shown as follows in equation (2.5): - sin( 2ft) x(t ) sin( 2ft ) for bit 1 for bit 0 (2.5) Where x(t ) is the modulated signal; sin( 2ft ) is the carrier signal. The bit error probability p e for BPSK is expressed in equation (2.6). BPSK pe T 2. E No Figure 2.8 shows an example of phase shift keying modulation. (2.6) 12 Figure 2.8 Phase Shift Keying Modulation QPSK, quadrature phase shift keying, uses four points on the constellation diagram also known as scatter plot, equally spaced, around a circle. A constellation diagram is utilized to show the relationship among the different amplitude and phase states of the modulated signal by displaying the error vector at the symbol sample time. The error vector is the difference between the theoretical symbol location and the actual symbol location on the constellation diagram [7]. In PSK, modulation alphabet is often conveniently represented on a constellation diagram, showing the amplitude of the In-phase channel, known as I-channel at the x-axis and the amplitude of the Quadrature channel, known as Q-channel at the y-axis for each symbol. QPSK signal is an extended version of BPSK where both are of type M-ary signals. In mathematics polar form, the modulated QPSK signal can be represented by equation (2.7): - xi (t ) Ac p s (t ). cos( 2f c t Where p s (t ) is the pulse shaping functions, modulation. 2i ) M (2.7) 2i is the phase change, M is the order of M 13 2 T p s (t ) 0t T (2.8) Substituting equation (2.8) into equation (2.7), we have xi (t ) Ac 2 2i cos( 2f c t ) T M (2.9) Where i 0,1,...M Expanding equation (2.9), we have xi (t ) Ac 2 2i 2i [cos( 2f c t ) cos( ) sin( 2f c t ) sin( )] T M 4 M 4 (2.10) The relation of the In-phase and Quadrature projections of the signal are: Magnitude of signal x I 2 Q2 Phase of the signal x tan 1 I Q I Ac 2 cos( 2f c t ) T Q Ac 2 sin( 2f c t ) T With (2.11) (2.12) (2.13) Multiplying equation (2.10) with (2.13), we have x(t ) Ac 2 2 cos( (t )) cos( 2f c t ) Ac sin( (t )) sin( 2f c t ) T T Where 2 M (2.14) Equation (2.14) is called the quadrature form of the modulation equation where Ac 2 2 cos( (t )) is the amplitude of I channel, while Ac sin( (t )) is the T T amplitude of Q channel. Hence a phase modulated signal is seen as a combination of two quadrature signals, the amplitude changes in response to the phase change. The modulating signal is seen as a vector with the I-channel and Q-channel as its x and y components. Do note that the signal created by I and Q channels is not transmitted. In fact, it is the sum of these two channels that is the real modulated signal. Going back to the M denotation, hence for QPSK, M = 4. The bit error probability p e for QPSK is expressed in equation (2.15): - 14 QPSK pe T 2. E No (2.15) Where M = 8, it is said of an 8-PSK signal with eight points on the constellation diagram, equally spaced. In 8-PSK, there are four different phase values, namely 3 5 8 , 8 , 8 and 7 . 8 Each of these phase shifts is 45° apart, which when applied to the sine and cosine waveforms result in a total of eight values. This modulation scheme has a smaller phase transitions than QPSK but since the signals are also less distinctly difference from each other, it is thus prone to higher bit errors. A QPSK modulator block is shown in Figure 2.9. Figure 2.9 QPSK Modulator Where M = 16, it is said of a 16-PSK signal with sixteen points on the constellation diagram, equally spaced. 16-PSK can convey 4bits in a symbol and bit rate is four times of BPSK for the same symbol rate. Despite 16-PSK being bandwidth efficient, it has higher bit error rate than a common modulation which resulted that it is rarely used. As 16-PSK is considered Mary PSK modulation scheme, the bit error probability p e for M-ary PSK is expressed in equation (2.16): - 15 M-ary PSK pe 2T . 4. E . sin( ) No 2M (2.16) Figure 2.10, 2.11 and 2.12 show the constellation diagrams for the QPSK, 8PSK and 16PSK signals respectively. Figure 2.10 QPSK Constellation Diagram 16 Figure 2.11 8-PSK Constellation Diagram Figure 2.12 16-PSK Constellation Diagram 17 Pulse amplitude modulation (PAM) allows the narrowband of an analog signal to be transferred as a digital signal in quantized discrete time signal at a fixed bit rate over a digital transmission system. As shown in Figure 2.13, the block diagram of a PAM modulator demonstrates the sequence of bits going through the process. Figure 2.13 PAM Modulator Each data symbol in a PAM contains J bits of information. Thus, for M-ary PAM with M 2 J , each discrete message matches the amplitude of the waveform in each symbol of period Tsym . The bit rate is Jf sym where symbol rate f sym 1 Tsym . The uniformly spaced amplitude is given by: - ai d (2i 1) Where i (2.17) M M 1,...,0,..., 2 2 The PAM modulated signal is thus expressed as: a (t kT ) x * (t ) k k (2.18) The x * (t ) signal has an infinite bandwidth and cannot be sent by a real transmitter. Hence, the bandwidth has to be limited by a pulse shaping filter whose impulse response is g r (t ) which gives x(t ) a k k g r (t kT ) (2.19) PAM is widely used in Ethernet communication standard where a 5-level PAM running at 25Mpulses/sec over two wire pairs. A 2-PAM modulated signal is shown in Figure 2.14 below where the generated PAM sequence goes through a Raised cosine filter. 18 Figure 2.14 2-PAM with Raised Cosine Filter Quadrature amplitude modulation (QAM) conveys two digital bit streams by changing the amplitudes of two carrier waves using amplitude shift keying. These two sinusoidal waves are out of phase with each other by 90 degrees. Figure 2.15 shows a QAM modulator block. Figure 2.15 QAM modulator The in-phase signal (the I-signal, e.g., cosine waveform) and a quadrature phase signal (the Q-signal, e.g., sine waveform) are amplitude modulated with a finite number of amplitudes and summed, resulting a combination of phase shift keying and amplitude shift keying. The QAM equation is represented as follow in equation (2.20): - 19 s(t ) Ac 2 2 cos( (t )) cos(2f c t ) Ac sin( (t )) sin( 2f c t ) T T Where 2 M (2.20) For a 4-QAM signal, we have M = 4, so we have 4 symbols representing a two bit word. Therefore, for M = 16 and 64, we have 16 symbols representing a four bit word and 64 symbols representing a six bit word respectively. The bit error probability p e for M-ary QAM is expressed in equation (2.21): M-ary QAM pe 4(1 1 M ).T . 3 E . M 1 No (2.21) Figure 2.16, 2.17 and 2.18 show the constellation diagram for the 4-QAM, 16-QAM and 64QAM diagrams. Figure 2.16 4-QAM Constellation Diagram 20 Figure 2.17 16-QAM Constellation Diagram Figure 2.18 64-QAM Constellation Diagram 21 2.3 Digital Transmissions A digital transmission system may or may not include conversions between analog and digital signals (sampling, A/D- and D/A- conversion). The transmitter end of the transmission chain converts a digital bit-stream into an analog waveform which is sent to the physical channel, which is in practice analog. The receiving end converts the received analog waveform back to digital format [8]. The transmitter filter forms a continuous time signal from the symbol sequence Am with g (t ) as the impulse response of the filter. The resulting signal is known as the transmitted pulse shape and is represented in equation (2.22) below: - s (t ) A m Where T is the symbol interval; and m g (t mT ) (2.22) 1 is the symbol rate T An example of the transmitted waveform would look like Figure 2.19. Figure 2.19 Transmitted Waveform Most of the important modulation methods in digital transmission systems are based on complex alphabets and complex quadrature modulation which is the I/Q-modulation. In quadrature modulation, the sine and cosine waveforms with the same carrier frequency can be double-side-band modulated and detected independently which results the sine and cosine waves carrying independent information signals. The two independent real baseband signals (I and Q) are transmitted by modulating them into cosine and sine waveforms of the carrier frequency. In the I-components and Q-components, nyquist pulse shaping is applied to achieve high spectral efficiency. In a complex modulation model, the equation representing the signal s (t ) is: - 22 s (t ) k a k g (t kT ) (2.23) At the channel block, the received waveform is represented in equation (2.24) as follow: R(t ) b(t ) * s(t ) N (t ) b( )s(t )d N (t ) b( ) Am g (t mT )d N (t ) m A m m h(t mT ) N (t ) (2.24) Where h(t ) is the received pulse shape, h(t ) b(t ) * g (t ) b( ) g (t )d At the receiver block, the receiver has to recover the signal as much as possible after the channel attenuates and distorts the signal. The receiver also needs to minimize the bit error rate. The receiver filter filters out the adjacent channels and out-of-band noise and interferences. It also effects on the pulse shape and acts as equalizer to compensate the linear distortion of the channel. The timing recovery defines the right symbol timings for different blocks and the correct sampling rate. Samples are taken at the sampling block from the continuous time signal. In the ideal case, the samples are taken at time instants that correspond to the transmitted symbol and when ISI, inter-symbol interference, is at minimum. Inter-symbol interference (ISI) is an unavoidable consequence of both wired and wireless communication systems [9]. How ISI affects the signal is illustrated in Figure 2.20 and 2.21, waveform transmitted and waveform received. Figure 2.20 Bit Sequence 101101 Sent 23 Figure 2.21 Symbols Received It is observed that the each symbol received, interferes with one or more of the subsequent symbols. The transmission medium has created a tail of energy that stretches longer than needed. Figure 2.22 shows the actual transmitted signal (in dotted lines) versus the received signal (green line), where it is the sum of the distorted symbols. This spreading and smearing of symbols at the receiver which effects adjacent symbols have a high probability of incorrect interpreting is known as inter-symbol interference or ISI. Figure 2.22 Transmitted Signal Versus Received Signal An eye diagram consists of many synchronized, overlaid traces of small sections (a few symbols) of a signal. It is assumed that symbols are random and independent, so all the possible symbol combinations are expected to have occurred [10]. The inter-symbol interference can easily be seen in the eye diagram. The eye diagram depends on the received pulse shape and the used constellation. Depending on the vertical opening, it is said to be smaller with greater noise. The relation between the eye diagram and the ISI here is that the ISI will reduce the vertical opening. The smaller the horizontal opening, the greater the sensitivity to errors in timing phase. Figure 2.23 shows an interpretation of an eye diagram. 24 Figure 2.23 Eye Diagram Interpretation 2.4 Line Codes A line code is a mapping of bits to signals that takes account of the transmission medium through which it will be propagated [11]. The advantages of line coding includes: resistance to noise and inter-symbol interference; has good match to the channel medium. No energy is wasted on unnecessary frequencies; simple decoding method; less complex resulting in lesser cost; highly reliable; system can be easily predictable. The intended goals of line coding are to: keep the spectrum narrow remove DC component in AC coupled system avoid synchronization problem Notable line coding methods are: Unipolar non-return-to-zero Polar non-return-to-zero Unipolar return-to-zero 25 Bipolar return-to-zero Manchester coding The signal levels used for unipolar line code are ‘+V’ and ‘0’; polar are ‘+V’ and ‘–V’; and bipolar are ‘+V’, ‘0’ and ‘–V’. As shown in Figure 2.24, in unipolar non-return-to-zero coding, the ‘+A’ is represented by bit 1 and remains ‘+A’ on the trailing clock edge of the previous bit. The ‘0’ is represented by bit 0 and remains low on the trailing clock edge of the previous bit. Figure 2.24 Unipolar Non-Return-To-Zero Coding In polar non-return-to-zero coding, shown in Figure 2.25, the ‘+A’ is represented by bit 1 and remains ‘+A’ on the trailing clock edge of the previous bit while ‘-A’ is represented by bit 0 and remains low on the trailing clock edge of the previous bit. Figure 2.25 Polar Non-Return-To-Zero Coding 26 In unipolar return-to-zero coding, the ‘+A’ is represented by bit 1 and drops to zero between each pulse while the ‘0’ is represented by bit 0 and remains low between each pulse shown in Figure 2.26. Figure 2.26 Unipolar Return-To-Zero Coding In bipolar return-to-zero coding, the ‘+A’ is represented by bit 1 and drops to zero between each pulse while the ‘-A’ is represented by bit 0 and remains low between each pulse shown in Figure 2.27. Figure 2.27 Bipolar Return-To-Zero Coding Lastly, as shown in Figure 2.28, in Manchester coding, a ‘+A’ is represented by bit 1 from high to low transition at midpoint of a period while a ‘-A’ is represented by bit 0 from low to high transition at midpoint of a period. 27 Figure 2.28 Manchester Coding 2.5 Constellation Diagrams Signal constellations are graphical descriptions of the used signal space (set of signal vectors in terms of desired basis). The signal space may be 1, 2, 3 or even N-dimensional. In practice, there is always a combination of modulation errors that may be difficult to separate and identify, as such, it is recommended to evaluate the measured constellation diagrams using mathematical and statistically methods [12]. In a signal si (t ) , we may represent the signal by a point w S i in a D-dimensional Euclidean space [13]. The set of points specified by the columns of matrix is therefore the signal constellation represented below: - W wS w , wS2 ,..., wS M The distance between two signals of si (t ) and s j (t ) is the Euclidean distance between their associate vectors w S i and wS j is represented by d ij as: - d ij Ei E j 2 ij Ei E j (2.25) For a M-ary PSK signal, the channel symbols are: - si (t ) A. cos( 2Fc t 2 .(i 1) ) M (2.26) Where i 1,2,..., M The constellation points are on circle at regular intervals. If M 4 and 0 o , the alphabet size is 2 B 4 , two bits per symbol, B 2 and the constellation diagram will look like Figure 2.29 below which is a QPSK modulation: - 28 Figure 2.29 QPSK Constellation Diagram with 0 o If M 4 and 45 o , the alphabet size is 2 B 4 , two bits per symbol, B 2 and the QPSK constellation diagram will look like Figure 2.30 below: - Figure 2.30 QPSK Constellation Diagram with 45 o 29 If M 8 , the alphabet size is 2 B 8 which is three bits per symbol B 3 and it is a 8PSK signal. With 0 o , the constellation diagram for the 8-PSK will look like Figure 2.31 below: - Figure 2.31 8-PSK Constellation Diagram with 0 o For a M-ary QAM signal, the channel symbols are: - si (t ) Ai . cos( 2Fc t i ) (2.27) Where i 1,2,..., M The constellation points are in regular rectangular shape. If M 64 , the alphabet size is 2 B 64 , 6 bits per symbol B 6 , it is a 64-QAM signal that will look like Figure 2.32 with 0 o . 30 Figure 2.32 64-QAM Constellation Diagram with 0 o Generally, the quality of a digital communication system is expressed in terms of the accurate delivery of the binary digits at the output of the detector with the binary digits that were fed into the digital modulator. The measurement of the quality of the communication system where a fraction of the binary digits that are delivered back in error is termed as the bit error probability, p e or Bit Error Rate, BER. The performance of M-ary communication systems is evaluated by means of the average probability of symbol error p e ,ce , which, M 2 , is different than the average probability of bit error (or Bit-Error-Rate BER), p e [14]. pe,cs pe for M 2 pe,cs pe for M 2 (i.e. Binary Communication Systems) It is because that binary data are transmitted, the probability of bit error p e is chosen over p e ,ce for performance evaluation in digital communication systems. The probability of error can be calculated using the following equation (2.28): - pe T (1 p). E No (2.28) Where average signal energy = 1 Tcs E . ( s 0 (t ) 2 s1 (t ) 2 )dt 2 0 Time cross-correlation between signals = (2.29) 31 p 1 Tcs . s 0 (t ) s1 (t )dt E 0 (2.30) If p 1 , s0 (t ) s1 (t ) which is know as the optimum or ideal binary communication system. Figure 2.33 illustrates when p 1 , p 0 and p 1 . Figure 2.33 BER vs E/No for p 1 , p 0 and p 1 Because of ISI, noise, and other type of distortions, the received samples will not correspond exactly to points in the signal constellation, for example, as shown in Figure 2.34 and 2.35, noisy constellations for QPSK and 64-QAM respectively. Figure 2.34 QPSK Noisy Constellation 32 Figure 2.35 64-QAM Noisy Constellation 2.6 Equalizers Equalization refers to any signal processing or filtering technique that is designed to eliminate or reduce channel distortions. How well the channel effects can be equalized depends on how well we know the channel transfer function [15]. The equalization process is based on the knowledge that the impulse response of a finite impulse response or FIR filter is same as its tap weights. Once the channel impulse response is known or estimated, by applying the inverse of this to the filter, signal is distorted in the opposite direction of the channel impulse response, and thus equalizing it. The use of adaptive equalizers include: Compensate for signal distortion attributed to inter-symbol interference (ISI) which is caused by multipath within time-dispersive channels; Employed in high speed communication systems which do not use differential modulation schemes or frequency division multiplexing [16]. Recursive least square (RLS) algorithm is used in adaptive filters to find the filter coefficients that relate to recursively producing the least squares (minimum of the sum of the 33 absolute squared) of the error signal (difference between the desired and the actual signal) [17]. The block diagram shown in Figure 2.36 demonstrates the RLS filter in minimizing a cost function by selecting the filter coefficients wn and updating the filter whenever new data arrives. e(n) and d (n ) are the error signals and desired signal respectively. Figure 2.36 RLS Filter in Negative Feedback The RLS algorithm for p th order RLS filter can then be summarized as: With parameters of p = filter order; = forgetting factor; = value of initialize P (0) . At initialization, wn 0 , P(0) 1 I , where I is the ( p 1) by ( p 1) identity matrix. At computation for n 0,1,2,... , x ( n) x(n 1) x ( n) x(n p) (2.31) (n) d (n) w(n 1) T x(n) (2.32) g (n) P(n 1) x * (n) x T (n) P(n 1) x * (n) 1 (2.33) P(n) 1 P(n 1) g (n) x T (n)1 P(n 1) (2.34) w(n) w(n 1) (n) g (n) (2.35) Least mean squares (LMS) algorithms are used in adaptive filters to find the filter coefficients that relate to producing the least mean squares of the error signal (difference 34 between the desired and the actual signal). It is a stochastic gradient descent method in that the filter is only adapted based on the error at the current time [18]. Figure 2.37 shows the block diagram of a LMS example. Figure 2.37 LMS Filter Block Diagram The LMS algorithm for p th order LMS filter can then be summarized as: With parameters of p = filter order; = step size. ^ At initialization, h(0) 0 At computation for n 0,1,2,... , x(n) x(n), x(n 1),..., x(n p 1) T (2.36) ^H e(n) d (n) h (n) x(n) ^ ^ h(n 1) h(n) e * (n) x(n) ^H (2.37) (2.38) ^ Where h (n) denotes the Hermitian transpose of h(n) Maximum likelihood sequence estimation (MLSE) avoids the problem of noise enhancement since it doesn’t use an equalizing filter: instead it estimates the sequence of transmitted symbols [19]. The block diagram for a MLSE end to end wireless system is shown in Figure 2.38 below: - 35 Figure 2.38 MLSE End to End Wireless System Block Diagram The MLSE is described by the following equation. ^ L d arg max 2 d k* yk d k d m* f k m (2.39) k m k It is obvious that MLSE output depends only on the sampler output of y(k ) and the channel parameters of f n k f nTs kTs given that f (t ) h(t ) * h * (t ) . 2.7 MATLAB® MATLAB® is a high-performance language for technical computing. It integrates computation, visualization, and programming in an easy-to-use environment where problems and solutions are expressed in familiar mathematical notation. MATLAB is an interactive system whose basic data element is an array that does not require dimensioning. This allows you to solve many technical computing problems, especially those with matrix and vector formulations, in a fraction of the time it would take to write a program in a scalar noninteractive language such as C or Fortran [20]. For the purpose of this project, MATLAB will be used to generate plots and spectrums in a web page for topics that will be covered such as digital modulation, eye diagram and equalization. With the help of Simulink models such as the frequency shift keying model can be simulated. The MATLAB® Builder™ JA product is an extension to the MATLAB® Compiler™ product [21]. Using the MATLAB Builder JA product, M-code functions can be wrapped from the MATLAB® product into one or more Java™ classes. A Java class is a portion of 36 Java code that houses a Java method, or a unit of code that performs some action. Java classes are compiled into Java components, self-contained modules that run Java applications. When deployed, each MATLAB function is encapsulated as a method of a Java class and can be invoked from within a Java application. When Java packages are created, there is an option of including the MATLAB Compiler Runtime (MCR), allowing users to run and deploy their new applications on computers that do not have MATLAB installed. 2.8 Apache Tomcat Apache Tomcat is an open source software implementation of Java Servlet and Java Server Pages technologies [22]. Apache Tomcat is chosen as the web server for this project because in order to run MATLAB® Builder™ JA compiled files, the web server must be capable of running accepted Java frameworks like J2EE. 2.9 JavaScript JavaScript is an interpreted programming language with object-oriented (OO) capabilities. Syntactically, the core JavaScript language resembles C, C++ and Java, with programming constructs such as the if statement, the while loop and the && operator. JavaScript is most commonly used in web browsers and in that context, the general purpose core is extended with objects that allow scripts to interact with the user, control the web browser, and alter the document content that appears within the web browser window. This embedded version of JavaScript runs scripts embedded within HTML web pages. It is commonly called client-side JavaScript to emphasize that scripts are run by the client computer rather than the web server [23]. 37 CHAPTER THREE Experiments 3.1 Digital Modulations 3.1.1 Amplitude Shift Keying There are three experiments on ASK as listed below: Amplitude shift keying Amplitude shift keying with Signal-to-Noise ratio On-off keying with Signal-to-Noise ratio The amplitude shift keying experiment is created to take in any length of bit streams consisting “0” and “1” and output the modulated signal against the modulating signal and its carrier waveform. In this experiment, bit streams of “10101111” is inputted to demonstrate how it will perform with the carrier signal being a sine wave of sin( 2ft ) where f = 1 kHz. The amplitude shift keying with signal-to-noise ratio experiment demonstrates how SNR will affect the modulated signal in this experiment. The number of bits entered is randomized to have equal probability of “0” and “1” with the frequency set at 2 kHz. The on-off keying with signal-to-noise ratio is similar to the ASK with SNR except that bit “0” is represented as level “0”. Both SNR experiments output plots are shown in the Results section using the following parameters in Table 3.1. ASK-SNR OOK-SNR Number of bits SNR (dB) Number of bits SNR (dB) 1st simulation 8 10 8 5 nd 2 simulation 8 15 8 10 3rd simulation 8 35 8 35 Simulation Table 3.1 3.1.2 ASK-SNR and OOK-SNR Experiments Parameters Frequency Shift Keying Three experiments in the frequency shift keying are demonstrated as follow: Frequency shift keying Frequency shift keying with Signal-to-Noise ratio 38 Frequency shift keying Bit Error Rate plot The FSK experiment here will have a bit stream of “10010011” being its input. Carrier signal A is a sine wave of sin( 2ft ) and carrier signal B is a sine wave of sin( 6ft ) where f = 1 kHz. The bit stream is modulated by both carrier signal A and B. The output plots are shown in the Results section. The FSK-SNR experiment demonstrates how SNR affects the modulated signal. Like the ASK-SNR experiment, the number of bits entered is randomized to have equal number of “0” and “1”. The frequency of carrier A and B are set to 1 kHz and 2 kHz respectively. Using Table 3.2 as the experiment parameters, the results are shown in Results section. Simulation 1st simulation 2nd simulation 3rd simulation Table 3.2 FSK-SNR Number of bits SNR (dB) 8 5 8 15 8 35 FSK-SNR Experiments Parameters The FSK-BER plot demonstrates the simulated plot against the theory calculated plot. The number of bits entered is randomized and converted to appropriate frequencies. They are then passed through additive white Gaussian noise channel and demodulated. The equation representing the FSK is given by: - si (t ) 2E cos( 2f i t ) T (3.1) Where E is the energy, T is the symbol duration and is the arbitrary phase (assume to be zero). The two frequencies f1 and f 2 are orthogonal as shown: T 0 T 0 2E 2 cos(2f1t ) cos(2f1t )dt E T T (3.2) 2E 2 cos( 2f1t ) cos( 2f 2 t )dt 0 T T (3.3) The bit error probability for coherent frequency shift keying is: - Pb Eb 1 erfc( ) 2 2N 0 The input parameters for this experiment are shown in Table 3.3. (3.4) 39 FSK-BER Number of bits Symbol Duration 1st simulation 20000 8 2nd simulation 20000 32 Simulation Table 3.3 3.1.3 FSK-BER Experiments Parameters Phase Shift Keying Under phase shift keying experiments, there are six experiments listed as follow: Phase shift keying Phase shift keying with Signal-to-Noise ratio Quadrature phase shift keying with Signal-to-Noise ratio 8-Phase shift keying with Signal-to-Noise ratio Phase shift keying Bit Error Rate plot 16-Phase shift keying Symbol Error Rate plot In phase shift keying, the experiment will receive input bit stream of “11011011”. The carrier signal is set at sin( 2ft ) where f = 1 kHz and is modulated with the bit stream. The output of this experiment will plot the modulating signal, carrier signal and the modulated signal. For the PSK-SNR, QPSK-SNR and 8-PSK-SNR experiments, the SNR and number of bits are set according to Table 3.4. These numbers of bits are randomized with equal probability of “0” and “1” with frequency set at 2 kHz. The output plots are shown in Results section. Simulation PSK-SNR Number of SNR bits (dB) 1st simulation 2nd simulation 3rd simulation Table 3.4 QPSK-SNR Number of SNR bits (dB) EPSK-SNR Number of SNR bits (dB) 8 5 8 5 9 5 8 15 8 15 9 25 8 35 8 35 9 35 PSK-SNR, QPSK-SNR and EPSK-SNR Experiments Parameters 40 Both the PSK-BER and 16-PSK-SER experiments randomized the number of bits entered pass them through additive white Gaussian noise. The received symbols are demodulated based on the location in the constellation and compared with the theory calculated BER or SER plots. Symbol duration is needed for the PSK-BER experiment. The bit error probability for PSK-BER experiment is:- Pb E 1 erfc( b ) 2 N0 (3.5) The symbol error rate for 16-PSK is: - Es Pe erfc sin( ) M N 0 (3.6) Where M 16 for this experiment. Table 3.5 shows the parameters for both experiments. Modulation Number of bits Symbol Duration PSK 300000 8 16-PSK 300000 NA Table 3.5 3.1.4 PSK-BER,16-PSK-SER Experiments Parameters Pulse Amplitude Modulation The 4-pulse amplitude modulation symbol error rate experiment will plot the symbol error rate from a randomly generated signal against a theory calculated signal. The symbol error probability for PAM is: - Ps Es 3 erfc 5N 4 0 The input parameters for this experiment are set at 300000 bits. 3.1.5 Quadrature Amplitude Modulation There are three experiments on quadrature amplitude modulation as listed below: 4-Quadrature amplitude modulation Symbol Error Rate plot 16-Quadrature amplitude modulation Symbol Error Rate plot 64-Quadrature amplitude modulation Symbol Error Rate plot (3.7) 41 For 4-QAM, the probability distribution function is:- P4QAM erfc( Es ) 2N 0 (3.8) The total probability of symbol error for 16-QAM is: - P16QAM Es 3 erfc( ) 2 10 N 0 (3.9) Using the above 16-QAM as reference, the total probability of symbol error for 64-QAM is:- P64QAM Es Es 15 ) erfc 2 (k ) erfc(k 16 N0 N 0 (3.10) Table 3.6 shows the parameters for these experiments. Modulation Number of bits 4-QAM 300000 16-QAM 300000 64-QAM 300000 Table 3.6 3.2 4-QAM, 16-QAM, 64-QAM Experiments Parameters Digital Transmissions In this digital transmission experiment, demonstrations consist of three parts, namely: Transmitted signal Transmitted signal Eye diagram Received signal Eye diagram All three experiments have the following parameters:i. sampling frequency = 10000 Hz ii. symbol rate = 100 Hz/sample iii. number of samples = 100 samples iv. roll-off factor is 0.5 Transmitted signal experiment generates plot for the modulated signal either by 4-QAM or 4-PSK. The signal will pass through a square root raised cosine filter. 42 The Transmitted signal Eye diagram experiment outputs the Eye diagram showing the upper plot for the in-phase component (real) of the analyzed signal and the lower plot for the quadrature component (imaginary). The Received signal Eye diagram experiment plots the received signal Eye diagram. The receiver employs a matched filter and therefore the combined filter seen by the receiver is an approximate raised cosine filter with minimal inter-symbol interference (ISI). The parameters for these experiments are shown in Table 3.7. Experiment Modulation type 4-QAM Transmitted signal 4-PSK Transmitted signal Eye diagram 4-QAM 4-PSK 4-QAM Received signal Eye diagram 4-PSK Table 3.7 3.3 Es (dB) N0 5 20 40 5 25 40 NA NA 5 20 40 5 25 40 Transmission Path Experiments Parameters Line Codes There are 5 parts in this experiment where Part 1, plotting of line code waveforms, parameters shown in Table 3.8 Part 2, plotting the power spectral density of the line codes, parameters shown in Table 3.9 Part 3, AWGN effects on the line codes, parameters shown in Table 3.10 Part 4, Bandwidth effects on the line codes, parameters shown in Table 3.11 Part 5, Bandwidth and AWGN effects on the Eye diagram of the line codes, parameters shown in Table 3.12 The experiment will investigate the different signaling formats and their properties, in particular: - 43 causes of signal distortion in data communications channels, effects of the inter-symbol interference (ISI) and channel noise by observing the eye pattern. Line Code Bit Stream Unipolar Non-Return-To-Zero Polar Non-Return-To-Zero Unipolar Return-To-Zero 11001010 Bipolar Return-To-Zero Manchester Coding Table 3.8 Line Code Experiments Parameters Part 1 Line Code Binary Data Rate (kHz) 1 Unipolar Non-Return-To-Zero 10 1 Unipolar Non-Return-To-Zero 10 1 Polar Non-Return-To-Zero 10 1 Unipolar Return-To-Zero 10 1 Bipolar Return-To-Zero 10 1 Manchester Coding 10 Table 3.9 Line Code Experiments Parameters Part 2 Line Code Bit Stream AWGN (Watt) 0 Unipolar Non-Return-To-Zero 0.02 0 Unipolar Non-Return-To-Zero 0.02 0 Polar Non-Return-To-Zero 0.02 11001010 0 Unipolar Return-To-Zero 0.02 0 Bipolar Return-To-Zero 0.02 0 Manchester Coding 0.02 Table 3.10 Line Code Experiments Parameters Part 3 44 Line Code Bit Stream Bandwidth (kHz) 1 Unipolar Non-Return-To-Zero 4 1 Unipolar Non-Return-To-Zero 4 1 Polar Non-Return-To-Zero 4 11001010 1 Unipolar Return-To-Zero 4 1 Bipolar Return-To-Zero 4 1 Manchester Coding 4 Table 3.11 Line Code Experiments Parameters Part 4 Line Code Bit Stream Bandwidth (kHz) AWGN (Watt) 0 Unipolar Non-Return-To-Zero 4 0.02 0 Unipolar Non-Return-To-Zero 4 0.02 0 Polar Non-Return-To-Zero 4 0.02 1010110011001010 0 Unipolar Return-To-Zero 4 0.02 0 Bipolar Return-To-Zero 4 0.02 0 Manchester Coding 4 0.02 Table 3.12 Line Code Experiments Parameters Part 5 3.4 Constellation Diagrams For this experiment, constellation plots for QPSK, 8-PSK and 64-QAM are generated. The experiments give an idea how SNR affects the constellation points in those modulation schemes. 3 5 7 The QPSK signal consists of symbols e j where { , 4 4 , 4 , 4 } . Constellation points are located symmetrically on the unit circle in the complex domain. The 8-PSK consists of symbols e j where {0, 3 , 4 2 , 4 , , 5 3 7 , , } . The constellation points 4 2 4 are like the QPSK, located symmetrically on the unit circle in the complex domain. The 64- 45 QAM signal consists of alphabet symbols a jb where a, b {7,5,3,1,1,3,5,7} . The constellation points for 64-QAM are not on the unit circle, in fact, they are located on a symmetric grid in the complex domain. All three modulation schemes have a symbol sequence of 20000 symbols. To demonstrate the effect of noise, AWGN is added to the generated complex symbol streams where SNR is defined by the user. This noise is also a complex value. The SNR is defined as: - SNR 10 log signal power signal 20 log noise power noise (3.11) The parameters for this experiment are listed in Table 3.13 below: - Modulation Scheme SNR (dB) QPSK 5 35 8-PSK 5 35 64-QAM 5 35 Table 3.13 Constellation Diagram Experiments Parameters 3.5 Equalizers 3.5.1 RLS and LMS Equalizers The RLS and LMS equalizers experiments illustrate how to equalize a M-QAM signal with user defined iterations. The channel coefficients are given as chan [1 0.45 0.3 0.2i ] . First, a random message is created and modulated by MQAM modulation scheme where M 4,8,16,32,64 as selected by user. Then a training sequence is setup for the first iteration and decision-directed mode kicks in if iterations > 1. Channel distortion is introduced to the signal with random noise and the received signal is equalized. The experiment shows how equalization helps in recovering a signal through noisy channel. For this experiment, the parameters are listed in Table 3.14. 46 Equalizer Type M-QAM Iteration 1 Recursive Least Square 4 8 1 Least Mean Square 4 8 Table 3.14 RLS, LMS Experiments Parameters 3.5.2 MLS Equalizer The MLSE experiment uses the Viterbi algorithm to equalize a signal through a dispersive channel. The experiment receives a baseband linearly modulated input signal and outputs the maximum likelihood sequence estimate of the signal, using an estimate of the channel modeled as a finite input response (FIR) filter. The modulation schemes available are the M-PSK and M-QAM where M 4,8,16,32,64 . 200 symbols will be used in this experiment while the number of iterations is set to 25. The received signal is decoded by applying the FIR filter, corresponding to the channel estimate and the symbols in the input signal. Thereafter, use the Viterbi algorithm to compute the traceback paths and the state metric. These states metric are assigned to the symbols at each step of the Viterbi algorithm and are based on Euclidean distance. The maximum likelihood sequence estimate of the signal is plot on the constellation diagram, as a sequence of complex number corresponding to the constellations points of the modulated signal. The experiment will also output the number of symbol errors if any. Theoretically, the MLSE equalizer yields the best possible performance. However, it is computationally intensive. Table 3.15 details the experiment parameters. Modulation Type M-ary 8 PSK 64 8 QAM 64 Table 3.15 MLSE Experiments Parameters 47 3.6 MATLAB® All the experiments in this project are created using Mathworks MATLAB®. The MATLAB® m-files are then compiled using MATLAB® Builder JA into Java archives and classes to be implemented onto the web pages. The pre-requisite for Web implementation includes: MATLAB, MATLAB Compiler, MATLAB Builder JA, Java Development Kit (JDK). Sun JDK v1.6.0 and above, A Java Compliant Web server which is capable of running accepted Java frameworks like J2EE. The first step to Web implementation for experiments created by MATLAB® is to build the Java component on the m-files as follow: 1. Start deploytool from the MATLAB® command line 2. Select New Project > MATLAB® Builder JA Project 3. Specify the project name and click OK 4. In the Deployment Tool, right click the project class and select Add File 5. Using the MATLAB® Current Directory browser, navigate to the directory with the m-files and add the m-file to the class by dragging it to the project class folder in the Deployment Tool GUI 6. Click the icon on the Deployment Tool toolbar to build the project, creating the project jar files Next the Java code created for the specified m-file is compiled as follow: 1. Use javac to compile the Java source file created. The javac.exe is located in the bin directory of the JDK installation 2. Ensure that the windows classpath is set to include javabuilder.jar and servlet-api.jar After compilation of m-files and Java source file, the experiment is ready to be deployed onto the Web server. 3.7 Apache Tomcat The Web server used in this project is the Apache Tomcat, which can support J2EE and Java Server Pages (JSP). Prior to the deployment of MATLAB® compiled Java jar and classes, the Apache Tomcat’s lib directory must include MATLAB® javabuilder.jar and servlet-api.jar as shown in Figure 3.1. Otherwise the experiment will not execute. 48 Figure 3.1 Tomcat required files in bin folder 3.8 Quiz JavaScript are used to create the Quiz section of this project. Users are able to test their digital communications knowledge online. The use of JavaScript allows validation of forms in Internet browser and acts according to the functions written specifically to specific response. Each topic has two html files written for the questions and results; and a JavaScript to check user’s answers against the correct answers. The user will be prompted with the correct answer and also those incorrect answers. Figure 3.2 shows the digital modulation quiz screen capture. 49 Figure 3.2 Digital Modulation Quiz Screen Capture 50 CHAPTER FOUR Results 4.1 Digital Modulations 4.1.1 Amplitude Shift Keying The obtained results for ASK, ASK-SNR and OOK-SNR experiments are shown below. Figure 4.1 ASK Experiment Plots 51 Figure 4.2 ASK-SNR Experiment No of bits = 8, SNR = 10dB Figure 4.3 ASK-SNR Experiment No of bits = 8, SNR = 15dB 52 Figure 4.4 ASK-SNR Experiment No of bits = 8, SNR = 35dB Figure 4.5 OOK-SNR Experiment No of bits = 8, SNR = 5dB 53 Figure 4.6 OOK-SNR Experiment No of bits = 8, SNR = 10dB Figure 4.7 OOK-SNR Experiment No of bits = 8, SNR = 35dB 54 4.1.2 Frequency Shift Keying The results for FSK experiment using bit stream of “10010011” is shown in Figure 4.10. Figure 4.8 FSK Experiment Plots The rest of the FSK experiments, namely SNR and BER are shown below. 55 Figure 4.9 FSK-SNR Experiment No of bits = 8, SNR = 5dB Figure 4.10 FSK-SNR Experiment No of bits = 8, SNR = 15dB 56 Figure 4.11 FSK-SNR Experiment No of bits = 8, SNR = 35dB 57 Figure 4.12 FSK-BER Experiment using 20000 symbols, 8 symbol duration Figure 4.13 FSK-BER Experiment using 20000 symbols, 32 symbol duration 58 4.1.3 Phase Shift Keying The PSK experiment output the following figure as shown in Figure 4.14, with input bit stream of “11011011”. Figure 4.14 PSK Experiment Plots PSK-SNR, QPSK-SNR, 8-PSK-SNR, PSK-BER and 16-PSK-SER results are shown in the following figures. 59 Figure 4.15 PSK-SNR Experiment No of bits = 8, SNR = 5dB Figure 4.16 PSK-SNR Experiment No of bits = 8, SNR = 15dB 60 Figure 4.17 PSK-SNR Experiment No of bits = 8, SNR = 35dB Figure 4.18 QPSK-SNR Experiment No of bits = 8, SNR = 5dB 61 Figure 4.19 QPSK-SNR Experiment No of bits = 8, SNR = 15dB Figure 4.20 QPSK-SNR Experiment No of bits = 8, SNR = 35dB 62 Figure 4.21 8-PSK-SNR Experiment No of bits = 9, SNR = 5dB Figure 4.22 8-PSK-SNR Experiment No of bits = 9, SNR = 25dB 63 Figure 4.23 8-PSK-SNR Experiment No of bits = 9, SNR = 35dB Figure 4.24 PSK-BER Experiment No of bits = 300000, symbol duration = 8 64 Figure 4.25 16-PSK-SER Experiment No of bits = 300000 65 4.1.4 Pulse Amplitude Modulation The output plot for the 4-PAM-SER is shown in Figure 4.26. Figure 4.26 4-PAM-SER Experiment No of bits = 300000 4.1.5 Quadrature Amplitude Modulation The output plots for the three M-QAM symbol error rate experiment are shown in the following figures. 66 Figure 4.27 4-QAM-SER Experiment No of bits = 300000 Figure 4.28 16-QAM-SER Experiment No of bits = 300000 67 Figure 4.29 64-QAM-SER Experiment No of bits = 300000 4.2 Digital Transmissions The following figures are the output results for the Digital Transmission experiments. 68 Figure 4.30 4-QAM Filtered Signal and Es 5dB Noisy Signal N0 69 Figure 4.31 4-QAM Filtered Signal and Es 20dB Noisy Signal N0 70 Figure 4.32 4-QAM Filtered Signal and Es 40dB Noisy Signal N0 71 Figure 4.33 4-PSK Filtered Signal and Es 5dB Noisy Signal N0 72 Figure 4.34 4-PSK Filtered Signal and Es 25dB Noisy Signal N0 73 Figure 4.35 4-PSK Filtered Signal and Es 40dB Noisy Signal N0 Referring to Table 3.7, the parameters for the Transmitted signal Eye diagram generated plots as shown in the below figures. 74 Figure 4.36 4-QAM Transmitted Signal Eye Diagram Figure 4.37 4-PSK Transmitted Signal Eye Diagram 75 Finally, referring to Table 3.7 for the Received signal Eye diagram experiment, the results are shown in the following figures. Figure 4.38 4-QAM Received Signal Eye Diagram with Es 5dB N0 76 Figure 4.39 4-QAM Received Signal Eye Diagram with Es 20dB N0 77 Figure 4.40 4-QAM Received Signal Eye Diagram with Es 40dB N0 78 Figure 4.41 4-PSK Received Signal Eye Diagram with Es 5dB N0 79 Figure 4.42 4-PSK Received Signal Eye Diagram with Es 25dB N0 80 Figure 4.43 4-PSK Received Signal Eye Diagram with Es 40dB N0 81 4.3 Line Codes With Table 3.8 parameters, the results for Part 1 experiments are shown below. Figure 4.44 Unipolar NRZ - 11001010 82 Figure 4.45 Polar NRZ - 11001010 Figure 4.46 Unipolar RZ - 11001010 83 Figure 4.47 Bipolar RZ - 11001010 Figure 4.48 Manchester Coding - 11001010 84 The results for Part 2 of the experiments are shown in the figures below. Figure 4.49 Unipolar NRZ Power Spectral Density, Rb = 1kbps 85 Figure 4.50 Unipolar NRZ Power Spectral Density, Rb = 10kbps Figure 4.51 Polar NRZ Power Spectral Density, Rb = 1kbps 86 Figure 4.52 Polar NRZ Power Spectral Density, Rb = 10kbps Figure 4.53 Unipolar RZ Power Spectral Density, Rb = 1kbps 87 Figure 4.54 Unipolar RZ Power Spectral Density, Rb = 10kbps Figure 4.55 Bipolar RZ Power Spectral Density, Rb = 1kbps 88 Figure 4.56 Bipolar RZ Power Spectral Density, Rb = 10kbps Figure 4.57 Manchester Coding Power Spectral Density, Rb = 1kbps 89 Figure 4.58 Manchester Coding Power Spectral Density, Rb = 10kbps The results for Part 3 of the experiments are shown in the figures below. 90 Figure 4.59 Unipolar NRZ, AWGN = 0W Figure 4.60 Unipolar NRZ, AWGN = 0.02W 91 Figure 4.61 Polar NRZ, AWGN = 0W Figure 4.62 Polar NRZ, AWGN = 0.02W 92 Figure 4.63 Unipolar RZ, AWGN = 0W Figure 4.64 Unipolar RZ, AWGN = 0.02W 93 Figure 4.65 Bipolar RZ, AWGN = 0W Figure 4.66 Bipolar RZ, AWGN = 0.02W 94 Figure 4.67 Manchester Coding, AWGN = 0W Figure 4.68 Manchester Coding, AWGN = 0.02W 95 The results of the bandwidth effects on line code experiments are shown n the figures below. Figure 4.69 Unipolar NRZ, Bandwidth = 1kHz 96 Figure 4.70 Unipolar NRZ, Bandwidth = 4kHz Figure 4.71 Polar NRZ, Bandwidth = 1kHz 97 Figure 4.72 Polar NRZ, Bandwidth = 4kHz Figure 4.73 Unipolar RZ, Bandwidth = 1kHz 98 Figure 4.74 Unipolar RZ, Bandwidth = 4kHz Figure 4.75 Bipolar RZ, Bandwidth = 1kHz 99 Figure 4.76 Bipolar RZ, Bandwidth = 4kHz Figure 4.77 Manchester Coding, Bandwidth = 1kHz 100 Figure 4.78 Manchester Coding, Bandwidth = 4kHz The final part of the experiments is shown in the figures below. 101 Figure 4.79 Unipolar NRZ, BW = 4kHz, AWGN = 0W Figure 4.80 Unipolar NRZ, BW = 4kHz, AWGN = 0.02W 102 Figure 4.81 Polar NRZ, BW = 4kHz, AWGN = 0W Figure 4.82 Polar NRZ, BW = 4kHz, AWGN = 0.02W 103 Figure 4.83 Unipolar RZ, BW = 4kHz, AWGN = 0W Figure 4.84 Unipolar RZ, BW = 4kHz, AWGN = 0.02W 104 Figure 4.85 Bipolar RZ, BW = 4kHz, AWGN = 0W Figure 4.86 Bipolar RZ, BW = 4kHz, AWGN = 0.02W 105 Figure 4.87 Manchester Coding, BW = 4kHz, AWGN = 0W Figure 4.88 Manchester Coding, BW = 4kHz, AWGN = 0.02W 106 4.4 Constellation Diagrams Experiments results on constellation diagram are shown in the following figures. Figure 4.89 QPSK at SNR = 5dB Constellation Diagram 107 Figure 4.90 QPSK at SNR = 35dB Constellation Diagram Figure 4.91 8-PSK at SNR = 5dB Constellation Diagram 108 Figure 4.92 8-PSK at SNR = 35dB Constellation Diagram Figure 4.93 64-QAM at SNR = 5dB Constellation Diagram 109 Figure 4.94 64-QAM at SNR = 35dB Constellation Diagram 4.5 Equalizers 4.5.1 RLS and LMS Equalizers Using Table 3.14 parameters, the RLS, LMS experiments output the following results as shown. 110 Figure 4.95 4-QAM RLS Equalized, Non-Equalized 1 Iteration Constellation Figure 4.96 4-QAM LMS Equalized, Non-Equalized 1 Iterations Constellation 111 Figure 4.97 4-QAM RLS Equalized, Non-Equalized 8 Iterations Constellation Figure 4.98 4-QAM LMS Equalized, Non-Equalized 8 Iterations Constellation 112 4.5.2 MLS Equalizer Referring to Table 3.15, the output results for 8-PSK modulation and 64-PSK modulation are shown in the following figures. Figure 4.99 8-PSK MLSE Equalized, Non-Equalized Constellation 113 Figure 4.100 64-PSK MLSE Equalized, Non-Equalized Constellation 114 Figure 4.101 8-QAM MLSE Equalized, Non-Equalized Constellation 115 Figure 4.102 4.6 64-QAM MLSE Equalized, Non-Equalized Constellation Quiz The result for the digital modulation quiz is shown in Figure 4.103 screen capture. Users are able to re-take or view solution by clicking either the Re-take Quiz or View Solution buttons. 116 Figure 4.103 Digital Modulation Quiz Result 117 CHAPTER FIVE Discussion 5.1 Digital Modulations 5.1.1 Amplitude Shift Keying The ASK experiment’s result well explains that when bit "1" is sent, the modulated signal's amplitude, frequency and phase are kept constant. At bit "0", the modulated signal is represented by the absence of the carrier signal. The ASK-SNR experiment’s output results with 8 bits stream and SNR = 10dB shows that the modulated signal is noisy compared with a zero noise modulated signal. Some of bit “0” is interpreted as bit “1”. Increasing the SNR to 15dB gives an acceptable modulated signal even though it is not clean. With SNR = 35dB, the modulated signal appears clean. The OOK-SNR experiment results shown in Figure 4.5 when an 8 bits stream is sent with SNR = 5dB outputs a noisy modulated signal. At one point, a bit "0" is not well represented on the modulated signal, varying between amplitude level 1 and 2, which can be mistaken as a bit "1". When SNR is increased to 10dB, the modulated signal seems acceptable. Obvious improvement is shown when SNR = 30dB, the bit stream is well represented after modulation. 5.1.2 Frequency Shift Keying The FSK experiment demonstrated how a bit stream of “10010011” is modulated using two carrier signals resulting in bit “0” represented by carrier signal B and bit “1” represented by carrier signal A. Output results of the FSK-SNR experiments show that with a SNR of 5dB, the modulated signal is distorted. At some point, there is no distinction between a bit “0” and bit”1” representations. An acceptable signal would be to increase the SNR to 15dB as shown in Figure 4.10. Frequencies change are better visible than when SNR = 5dB. A clean modulated signal is best achieved when SNR = 35dB which looks like a complete replica of the zero noise modulated signal. 118 Comparing the two figures for the FSK-BER experiments outputs, it is noted that with 8 symbols/sec symbol duration, to achieve a BER of 1 * 10 3 , the required approximately 9.6dB while to achieve the same BER, the required Eb is N0 Eb is 10dB for 32 N0 symbols/sec symbol duration. It is observed that for higher symbol duration, higher Eb is N0 required. The comparisons of BER plots are tabled in Table 5.1 among FSK and PSK modulation schemes. 5.1.3 Phase Shift Keying The PSK experiment for a bit stream of “11011011” demonstrated how the signal is modulated with a change in phase whenever there is a change in bit. This fits the theory of PSK where the signal is modulated by the phase of the carrier signal. Experiments demonstration for the PSK-SNR simulations when SNR is 5dB shows that the distorted modulated signal does not have a clear indication of bit “0” or “1”. With an increase to about 15dB, the modulated signal seems acceptable as shown in Figure 4.16. Keep on increasing the SNR to about 35dB will result in a clean modulated signal. Likewise, the QPSK-SNR experiment gives a clean modulated signal when SNR is at 35dB. The acceptable signal was obtained when SNR = 15dB while a badly distorted modulated signal is when SNR = 5dB. The 8-PSK experiment has a slightly different acceptable level for SNR. At SNR = 5dB, the modulated signal was distorted. The SNR has to be increased to 25dB for an acceptable modulated signal. Like the rest, when SNR = 35dB, the 8-PSK modulated signal is clean. The 8-PSK transmitted signal shows smaller phase transitions than QPSK which is a good thing but since the signals are also less distinctly difference from each other, makes 8PSK prone to higher bit errors. The reason why 8-PSK is still being used is because 8-PSK can pack more bits per symbol, 3 bits can be conveyed with each symbol transmitted. In addition, the throughput of 8-PSK is 50% better than QPSK which can transmit just 2 bits per symbol, making 8-PSK a bandwidth efficient modulation. Binary PSK modulation is the most robust of the all PSK modulations as it requires extreme distortion to make the demodulator give an incorrect recovery of the modulated signal. However, because of the limitation that is can only modulate 1 bit/symbol, it is considered unsuitable for high bitrate transmission if bandwidth is limited. 119 By looking at the PSK-BER plot shown in Figure 4.24, it is noted that to achieve a BER of 1 * 10 5 , the required Eb is approximately 9.3dB. Comparing to the FSK-BER N0 experiment with the same symbol duration of 8, only a BER of 3 *10 3 is achieved for Eb of 9.6dB. Referring to Table 5.1, it is obvious that the PSK modulation scheme fares N0 better than the FSK modulation scheme. Modulation Type Symbol Duration Frequency Shift Keying 8 Frequency Shift Keying 32 Phase Shift Keying 8 BER 1 * 10 1 1 * 10 2 1 * 10 3 1 * 10 4 1 * 10 5 2 7.3 9.6 NA NA 2 7.3 10 NA NA -1 4.4 6.8 8.4 9.3 Eb (dB) N0 Eb (dB) N0 Eb (dB) N0 Table 5.1 FSK and PSK-BER Plots’ Comparisons The 16-PSK-SER plot demonstrates that in order to achieve a BER of 1 * 10 5 , an approximate Es of 24dB is required. We will be comparing the 16-PSK-SER plots with N0 those of the 4-PAM and M-QAM symbol error rate plots as tabled in Table 5.2 5.1.4 Pulse Amplitude Modulation The results obtained from the 4-PAM-SER experiment plots show that to achieve a BER of 1 * 10 5 , an approximate 5.1.5 Es of 24dB is needed. N0 Quadrature Amplitude Modulation From the results of the symbol error rate plots for QAM modulations, to achieve a BER of 1 * 10 5 , an approximate Es of 13dB, 19.5dB and 26.5dB are required for 4-QAM, 16N0 QAM and 64-QAM respectively. 120 Referring to Table 5.2, the 4-QAM offers the best Even though it requires only 13dB for its Es at 13dB for a BER of 1 * 10 5 . N0 Es , lesser bits are packed into the symbols during N0 transmission, making it not very bit efficient as opposed to 16-QAM and 64-QAM. However, it performs much better than the 4-PAM due to noise variance is higher in PAM and hence higher symbol error rate. In addition, 4-PAM is not fully utilizing the bandwidth as opposed to 4-QAM. The 64-QAM requires the highest Es of 26.5dB because more bits per symbols N0 are transmitted and if the energy of the constellation is to remain the same, the points on the constellation plot must be close together. This results the transmission to be more susceptible to noise as compared to 4-QAM and 16-QAM. The 16-PSK may be bandwidth efficient but it requires Es 24dB to achieve a BER of 1 * 10 5 . The 16-QAM however fares better than N0 the 16-PSK where it only requires Es 19.5dB for the same BER for the same bit N0 efficiency. Modulation Type 16-Phase Shift Keying 4-Pulse Amplitude Modulation 4-Quadrature Amplitude Modulation 16-Quadrature Amplitude Modulation 64-Quadrature Amplitude Modulation Table 5.2 1 * 10 1 1 * 10 2 1 * 10 3 1 * 10 4 1 * 10 5 (dB) 15.5 19 22 23 24 (dB) 7.5 12 13.5 15.5 16.5 (dB) 4.2 8.2 10.3 11.8 13 (dB) 12.5 15.5 17.5 19 19.5 (dB) 18.5 22 24 25 26.5 BER Es N0 Es N0 Es N0 Es N0 Es N0 PSK, PAM, QAM-SER Plots’ Comparisons 121 5.2 Digital Transmissions Referring to the output results obtained from the 4-QAM and 4-PSK experiments, both modulation schemes have badly distorted signal when Es = 5dB. However, 4-QAM N0 performs better than the 4-PSK when comparing the figures shown in Figure 4.31 and 4.34 where 4-QAM only needs a 20dB 25dB Es for an acceptable signal while 4-PSK needs a N0 Es E . The two modulation schemes are able to transmit a clean signal when s = N0 N0 40dB. Summary for comparisons are shown in Table 5.3. Experiment Modulation type 4-QAM Transmitted signal 4-PSK Table 5.3 Es (dB) N0 Modulated Signal Observation 5 20 40 5 25 40 Badly distorted Acceptable Clean Badly Distorted Acceptable Clean 4-QAM, 4-PSK Es (dB) Comparisons N0 The comparisons of the Eye diagram during transmission between the 4-QAM and 4PSK are shown in Table 5.4. As observed, the Eye diagram for the 4-QAM has a bigger and wider opening opposed to 4-PSK in the absence of noise. The 4-QAM would require a longer time interval over which the waveform can be sampled. The best time to sample for both modulations is at 10ms. Modulation 4-QAM 4-PSK A 9ms 8.5ms Table 5.4 B 0.4375 0.28125 C 1ms 1.27ms D 0.4375 0.281 E 0.3125 0.25 t* 10ms 10ms 4-QAM, 4-PSK Transmitted Signal Eye Diagram Comparisons Where A = time interval over which the waveform can be sampled; B = margin over noise; 122 C = distortion of zero crossing; D = slope: sensitivity to timing error; E = maximum distortion; t* = best time to sample At the receiving end, the Eye diagram data obtained from the received signals are tabled in Table 5.5. The 4-QAM has a lower time interval over which the waveform can be sampled hence more sensitive to errors in timing phase. But it has a wider vertical opening which means less prone to inter-symbol interference. The 4-PSK on the other hand, has a lower maximum distortion and less sensitive to errors in timing phase but narrower vertical opening which is more prone to inter-symbol interference. Modulation 4-QAM 4-PSK Es (dB) N0 A B C D E t* 5 NA NA NA NA NA NA 20 40 6ms 7.4ms 0.8 0.875 3ms 2.76ms 0.8 0.875 0.4 0.25 10ms 10ms 5 NA NA NA NA NA NA 25 40 7ms 7.6ms 0.3125 0.375 2.5ms 2.5ms Table 5.5 0.3125 0.125 0.375 0.0625 10ms 10ms Remarks Badly distorted Acceptable Clean Badly distorted Acceptable Clean 4-QAM, 4-PSK Received Signal Eye Diagram Comparisons 123 5.3 Line Codes Part 1 for the line codes experiments behave as expected. Bit stream of “11001010” was sent to observe how each line coding responses with the corresponding output waveforms. The results obtained for Part 2 of the experiments from the PSD plots for the line codes are tabled in Table 5.6. Line Code Unipolar NRZ Polar NRZ Unipolar RZ Bipolar RZ Manchester Rb (kbps) f p1 (kHz) f p 2 (kHz) f n1 (kHz) f n 2 (kHz) 1 10 1 10 1 10 1 10 1 10 0 0 0 0 0 0 0.45 4.5 0.75 7.5 1.5 14 1.4 14 3 28 1.35 13.5 2.9 29 1 10 1 10 2 20 1 10 2 20 2 18 2 20 4 40 2 20 4 40 Table 5.6 BW (kHz) 1 10 1 10 2 20 1 10 2 20 Line Codes’ Comparisons For Part 3 of the experiment, we could see the effects of AWGN on the line codes when we compare a zero AWGN to a 0.02 AWGN. Noise could be seen on the resultant line coded signals. Part 4 of the experiment investigate the channel bandwidth effects on the line codes. From Part 2 of the experiment, we had known that the minimum bandwidth for Unipolar NRZ, Polar NRZ and Bipolar RZ require bandwidth Rb where Rb = Binary Data Rate (kbps). As for Unipolar RZ and Manchester coding, the minimum bandwidth required are 2 Rb . Therefore, the results obtained for this part of the experiments conforms to theories. The final part of the experiment investigates the effects of bandwidth and AWGN on the line codes’ Eye diagram. Theoretically, the required minimum bandwidth is B Rb . 2 Since Rb 1kbps therefore, B 500Hz . Bandwidth used in this part of the experiment = 4kHz which conforms to B Rb . The Eye diagram values obtained are listed in Table 5.7. 2 124 Line Code BW (kHz) Unipolar NRZ 4 Polar NRZ 4 Unipolar RZ 4 Bipolar RZ 4 Manchester 4 AWGN (Watt) 0 0.02 0 0.02 0 0.02 0 0.02 0 0.02 Table 5.7 A(ms) B C(ms) D E t*(ms) 1 0.95 1 1 0.71 0.63 0.71 0.63 0.5 0.47 0.45 0.21 0.92 0.63 0.9 0.71 0.88 0.48 0.88 0.48 0.02 0.04 0.02 0.04 0.02 0.06 0.02 0.05 0.02 0.04 0.45 0.43 0.96 0.89 0.73 0.53 0.72 0.81 1 0.72 0.018 0.27 0.04 0.36 0.018 0.52 0.018 0.4 0.08 0.44 1 1 1 1 0.75 0.75 0.75 0.75 0.75 0.75 Line Codes’ Eye Diagram Values Apparently, we could deduce the advantages and disadvantages of each line codes presented in Table 5.8. Line Code Unipolar NRZ Advantages 1. Simple to implement 2. Less bandwidth for transmission 1. Simple to implement 2. No DC component Polar NRZ 1. Simple to implement 2. Spectral lines can be used as symbol timing clock Unipolar RZ Bipolar RZ Manchester 1. No DC component 2. Lesser bandwidth 3. No signal droop 4. Single error detection capability 1. No DC component 2. No signal droop 3. Easy to synchronize Table 5.8 Disadvantages 1. Presence of DC level at 0kHz 2. Low frequency components result in signal droop 3. No error correction capability 4. No clocking capability 5. Loss of synchronization if long string of zeros are transmitted 1. Non-zero at 0kHz causes signal droop 2. No error correction capability 3. No clocking capability 4. Loss of synchronization if long string of zeros are transmitted 1. Presence of DC level at 0kHz 2. Non-zero at 0kHz causes signal droop 3. No error correction capability 4. Double bandwidth needed opposed to Unipolar NRZ 5. Loss of synchronization if long string of zeros are transmitted 1. No clocking capability 2. Loss of synchronization if long string of zeros are transmitted 1. Large bandwidth 2. No error detection capability Line Codes’ Advantages and Disadvantages 125 5.4 Constellation Diagrams From the output results obtained for the constellation diagram experiments, it is clear that the diagram shows the mapping of binary digits to QPSK, 8-PSK and 64-QAM channel symbols in the absence of noise. With reference to Figure 4.89, 4.91 and 4.93, it is apparent that with SNR = 5dB, mapping of binary digits are not possible. The samples will not correspond exactly to points in the signal constellation. The received samples form a Gaussian cloud around the points in the constellation. For SNR = 35dB, the received samples are mapped to the corresponding constellation points, denoting the transmitted symbols. 5.5 Equalizers 5.5.1 RLS and LMS Equalizers The output obtained from the RLS and LMS equalizers experiments demonstrated that the LMS pales when one iteration cycle was used. The equalized signal had points away from the corresponding constellations. When 8 iteration cycles was used, the equalized signal converged well to the constellation points for both equalizations. Table 5.9 compares the advantages and disadvantages for both equalization methods. Equalization Recursive Least Square Least Mean Square Advantages 1. Simple algorithm 2. Useful for testing purposes 3. No inverted matrices thereby saving computational power 4. Provides intuition 1. Simple to implement 2. No preliminary modeling needed Table 5.9 Disadvantages 1. Unstable when used with a forgetting factor 1. Slow rate of convergence 2. Convergence speed affected by step size and Eigenvalue spread of the correlation matrix RLS and LMS Comparisons 126 5.5.2 MLS Equalizer The results as shown in the MLSE experiments present the constellation plots for equalized and non-equalized PSK and QAM modulated signals. Accordingly, the MLSE is a non-linear equalizer and a data sequence estimator. It tests all possible data sequence and picks the sequence that maximum MLSE criterion as transmitted one. With 8-PSK and 8-QAM, the experiments resulted in 0 errors whilst with 64-PSK and 64-QAM, number of errors are 21 and 14 respectively. This shows that for MLSE, complexity of this technique grows exponentially with the length of the delay spread, therefore impractical on most channels of interest. However performance of MLSE is often used as an upper bound on performance for other equalization techniques. MLSE is the optimal form of sequence detection but is highly complex 5.6 Quiz The quizzes were written in JavaScript that check on answered questions against the correct answers. Users are tested on their knowledge for each topics covered in the experiments which comprises of 10 questions each. The JavaScript employed works successfully as expected. 127 CHAPTER SIX Reflections The objectives and scopes as stated in the Introduction chapter emphasize on designing and developing an online digital communications experiment which will caters to students, lecturers and interested parties. In order to fulfill the goals, the key learning elements include: MATLAB®, including learning to create experiments and analyze results, JavaScript, Digital Communications theories, Interfacing JavaScript, Apache Tomcat and MATLAB® experiments. During the initial phase of the project development, I faced problems such as unable to deploy MATLAB® experiments over the Web, which is part of the core objectives. Failure in producing online experiments would mean that I have to develop the experiments using MATLAB® GUI. Using MATLAB® GUI will then be similar to past year project. It defeats the purpose of sharing digital communications techniques and theories with current students, lecturers and interested parties. Fortunately, because of my persistence in getting the online part of the project to work, I manage to deploy my first experiment, with the help of MATLAB® file exchange forums where I found examples related to online deployment. Those examples required some modifications and tweaking to fit into what I needed for my project to work, which was a breeze after I understood the underlying methods. Some of the other problems that I faced and had them fixed during the course of development are: Installation of Apache Web server failed on my notebook. Port 8080 was used by another application which I do not know. Re-format my notebook and could have a fresh installation of the Web server. However the Web server was dropped because it does not support JAVA JSP and war-files. Installation of Microsoft IIS7 Web server failed on my notebook. Port 80 was used by an application which I do not know. Re-format my notebook. IIS7 installed with success but was later abandoned as it does not support JAVA JSP and war-files. 128 MATLAB 7R14 was installed and used initially. However due to the Web server has bugs, it was dropped. MATLAB 2006b was installed and used. Because there weren’t many examples on Web deployment, it was dropped. MATLAB 2008b was installed and used. But the student version does not come with NET builder or JAVA builder. Chose MATLAB 2007b version that has JAVA builder. These were very time consuming which resulted in some changes to the experiments previously mentioned in TMA01. Experiments such as the transmitter and receivier for digital communications and binary symmetric channel were replaced by digital modulation, digital transmission, line codes, constellation plots and equalizers. The changes are reflected in my amended Gantt chart as shown in Figure 6.1. Each experiment in this project outputs a Webpage of plots or waveforms. Some may have a single waveform; the others may have 2 plots on the same Webpage. The experiments for a topic such as Digital Transmission were split into parts. The reason for doing so is because each html page form is assigned to a Java Serlvet. Tests were made to incorporate multiples Java Servlet on a single html page but it proves to be unsuccessfully and time was running out. Therefore, if I had done the project differently, I would spend more time on applications’ research efficiently. Although time was wasted, I would say that my project was completed successfully and as expected within the project development cycle. 129 Figure 6.1 Revised TMA01 Gantt Chart 130 CHAPTER SEVEN Conclusions and Recommendations From the experiments that I have worked on and developed, the output results obtained demonstrated that there is no need for hardware apparatus or equipment for digital communications simulations. Experiments can be simulated with the help of MATLAB® and deployed over the Internet using Apache Tomcat and some Java compiled classes. The digital modulation sections demonstrated modulation schemes such as the Amplitude Shift Keying, Pulse Amplitude Modulation and Quadrature Amplitude Modulation. Plots obtained include bit stream waveforms, bit error rate plots and symbol error rate plots. By comparing the BER and SER plots among the different modulation schemes, we could conclude the pros and cons of each modulation schemes and using them appropriately for future projects. The digital transmission experiment compares the 4-PSK and 4-QAM transmitted and received signals over a noiseless and noisy channel. It was noted that the 4-QAM fares better than the 4-PSK where it is less prone to inter-symbol interference. However it is more sensitive to errors in timing phase. Line codes experiments show that Unipolar RZ has spectral lines that can be used as symbol timing clock. The Manchester coding needs large bandwidth for coding. Both the Unipolar NRZ and Polar NRZ are easy to implement while the Bipolar RZ uses lesser bandwidth. The constellation diagram experiment gave an idea of how SNR affects the mapping of symbols in the constellation points. The acceptable SNR level was 35dB as experimented. Lastly the equalizers experiments compare the RLS and LMS equalizers in terms of performance and the comparisons of PSK and QAM modulation schemes using MLSE equalization. The RLS has a faster convergence rate than the LMS counterpart but it is unstable when used with a forgetting factor. The 64-QAM performs better than 64-PSK in terms of number of symbol errors during transmission. Because of time limitation, the project did not cover topics such as: Error Control Coding Source Coding Special Filters 131 In addition, each experiment outputs only a single Webpage of plot or waveforms. Therefore, my recommendations for future students who are going to pursue further on this project is to implement the above mentioned experiments and work on improving the output of each experiment which will incorporate different waveforms and plots on a single Webpage for comparisons. Despite the time constraints that I faced, the project was completed successfully according to requirements and time frame which is a great achievement and act as an invaluable reference for future students who will be undertaking similar projects. 132 LIST OF REFERENCES [1] Section 1.3, The Mathworks, Inc. MATLAB and Simulink for Technical Computing, http://www.mathworks.com [2] Section 2.1.1, National Programme on Technology Enhanced Learning (NPTel), http://nptel.iitm.ac.in [3] Section 2.1.1, Massachusetts Institute of Technology, Principles of Digital Communications I, http://ocw.mid.edu/OcwWeb/Electrical-Engineering-andComputer-Science/6-450Fall-2006/CourseHome/index.htm [4] Section 2.1.2, Charan Langton, Complex2Real.com, http://complextoreal.com/chapters/mod1.pdf, p. 6 [5] Section 2.1.2, Amplitude-shift keying, Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Amplitude_Shift_Keying [6] Section 2.1.2, K.F.Ibrahim, “Newnes guide to Television & Video Technology, 1st Edition” p. 114, Elsevier Ltd, 2007 [7] Section 2.1.2, Clint Smith, “Wireless Telecom FAQs” p.306, McGraw-Hill 2001 [8] Section 2.1.3, Markku Renfors, Department of Communications Engineering, Tampere University of Technology [9] Section 2.1.3, Charan Langton, Complex2Real.com, http://complextoreal.com/chapters/isi.pdf, p. 1 [10] Section 2.1.3, Markku Renfors, Department of Communications Engineering, Tampere University of Technology [11] Section 2.1.4, A/Prof. Vaughan Clarkson, School of Information Technology & Electrical Engineering, The University of Queensland Australia [12] Section 2.1.5, Prof Timo O. Korhonen, HUT Communications Laboratory, Helsinki University of Technology - TKK [13] Section 2.1.5, Prof Thanassis Manikas, Department of Electrical and Electronic Engineering, Imperial College London [14] Section 2.1.5, Prof Thanassis Manikas, Department of Electrical and Electronic Engineering, Imperial College London [15] Section 2.1.6, Charan Langton, Complex2Real.com, http://complextoreal.com/chapters/filters.pdf, p. 20 [16] Section 2.1.6, Kevin Banovic, Department of Electrical and Computer Engineering, University of Windsor 133 [17] Section 2.1.6, Recursive least squares filter, Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Recursive_least_squares_filter [18] Section 2.1.6, Least mean squares filter, Wikipedia, the free encyclopedia, http://en.wikipedia.org/wiki/Least_mean_squares_filter [19] Section 2.1.6, Dr Andrea Goldsmith, “Wireless Communications” p. 337, Cambridge University Press 2005 [20] Section 2.1.7, The Mathworks, Inc. MATLAB and Simulink for Technical Computing, http://www.mathworks.com [21] Section 2.1.7, The Mathworks, Inc. MATLAB® Builder™ JA 2 User’s Guide p. 1 [22] Section 2.1.8, The Apache Software Foundation, Apache Tomcat, http://tomcat.apache.org [23] Section 2.1.9, David Flanagan, “JavaScript, The Definitive Guide, 5th Edition” p. 1 O’Reilly Media, Inc. 2006 134 BIBLIOGRAPHY David Flanagan, “JavaScript, The Definitive Guide, 5th Edition” O’Reilly Media, Inc. 2006 Clifford F. Grary, Erik W. Larson, “Project Management, The Managerial Process, 3rd Edition” McGraw-Hill International 2006 UniSIM, “TZS 305 Digital Communications” Brian D. Hahn, Daniel T. Valentine, “Essential MATLAB, For Engineers and Scientists, Reprinted” Butterworth-Heinemann 2008 135 GLOSSARY A/D Analog to Digital ASK Amplitude shift keying AWGN Additive White Gaussian Noise BASK Binary Amplitude Shift Keying BER Bit error rate BFSK Binary Frequency Shift Keying BPSK Binary Phase Shift Keying Eb Energy per bit Es Energy per symbol FIR Finite impulse response filter FSK Frequency shift keying GUI Graphical User Interface Html Hypertext Markup Language I-Channel Imaginary Channel IDE Integrated Development Environment ISI Inter-Symbol Interference J2EE Java 2 Platform Enterprise Edition Jar Java Archive JDK Java Development Kit JSP Java Server Pages LMS Least Mean Square MLSE Maximum-Likelihood Sequence Estimation N0 Noise Power Spectral Density NRZ Non-Return-To-Zero OOK On-Off Keying PAM Pulse Amplitude Modulation PSK Phase Shift Keying D/A Digital to Analog QAM Quadrature Amplitude Modulation Q-Channel Quadrature Channel QPSK Quadrature Phase Shift Keying RLS Recursive Least Square 136 RZ Return-To-Zero SER Symbol Error Rate SNR Signal-To-Noise-Ratio