Software-Defined Radio: GSM Traffic Channel, DSP Based Implementation A Thesis Submitted for the Degree of M.S. by Research Santosh Shah

to the The LNM Institute of Information Technology, Jaipur (Deemed University) Jaipur - 303 012, INDIA September - 2008

Dedicated to my Parents, and Vandana.

iv

Certificate It is certified that the work contained in the thesis entitled “Software-Defined Radio: GSM Traffic Channel DSP Based Implimentation” by Santosh Shah has been carried out under my supervision and that this work has not been submitted elsewhere for a degree.

Santosh Shah (September, 2008)

V. Sinha The LNM Institute of Information Technology (Deemed University) Jaipur -303 012, INDIA

v

vi

Acknowledgments This research project would not have been possible without the support of many people. First and foremost among all is my supervisor, Prof. V. Sinha who was abundantly helpful and offered invaluable assistance, support and guidance. I am also highly obliged to Prof. S. L. Maskara who were also my supervisor during the early part of my research. Deepest gratitude are also due to the members of the supervisory committee, Prof. P. K. Chaterjee and Prof. R. Saran without whose knowledge and assistance this study would not have been successful. Special thanks are also to Dr. Arti Kashyap for her continuous support and help through out this tenure. All my friends, especially Deepak, Manju, Arko and Sunil need special mention and thanks for their involvement in all my discussion and problems, related to my work as well as personal. I wish to express my love and gratitude to my beloved family for their understanding, inspiration and endless love, throughout the duration of my studies. I would like to whole heartedly acknowledge my wife Vandana, for her patience and support.

Santosh Shah

vii

Abstract In recent years Software-Defined Radio (SDR) based technologies are in wide use for wireless communication systems. The most significant advantage of SDR is adaptability. Wireless systems employ protocols that vary from one service to another. Even in the same type of service, for example wireless fax, the protocol often differs from country to country. A single SDR set with an all-inclusive software range can be used in any mode, anywhere in the world. Changing the service type, the mode, and/or the modulation protocol involves simply selecting and launching the essential computer program, and making sure the batteries are adequately charged if portable operation is contemplated. The purpose of this study was to design a SDR realization platform. We have chosen GSM system as a model. Thesis includes initially studies about the history of mobile communication and then GSM in more details. We have also studied about technological and mobile handset challenges. TI DSP TMS-320C6713 is taken for the purpose of baseband processing of the SDR realization. Up to the IF (Intermediate Frequency) level we have implemented each and every portion of the GSM system in MATLAB. Finally some of the parts are verified on DSP for SDR realization. Also simulated channel environment for AWGN and AWGN with Rayleigh fading with channel coding using both VIterbi decoder and our designed Iterative decoder. Finally we have tested image, data, and voice with our SDR realization module. Although we can not prove the Ideal SDR but, re-configurability we can prove by uploading and downloading the various program as user needs.

viii

Synopsis 1. INTRODUCTION Today a mobile communication system uses many different frequency bands. For the convenience of the users it is important that a single terminal, which can be programmed depending on the service available in a given region, functions for all the multiple accessing techniques and associated technologies. Application of DSP analogous to the one is Software-Defined Radio (SDR) can provide such a desired flexibility. Considering the various signal processing functions and the multiband and multimode operations required in mobile communications, the software approach is more attractive than the hardware. This concept in another context had given birth to the nomenclature of SDR. The requirement of communication between devices operating on different hardware modules gave rise to new technologies that emerged. The upgraded devices were meant to communicate with each other and with legacy systems. The term coined for this type of new technology was called Software-Defined Radio by Prof. Joseph Mitola who originated the idea. A software defined radio is a communications device whose functionalities are defined in software. Defining the radio behavior in software removes the need for hardware alterations during a technology upgrade. In order to maintain interoperability, the radio systems must be built upon a well defined, standardized, open architecture. Defining architecture also enhances scalability and provides plugand-play behavior for the components of a radio. Advances in the analog to digital conversion and processor technologies have made it possible to go for the software radios, where in majority of the communication functions of a radio link are performed easily by reconfigurable and possibly down-loadable software. The SDR can provide multi-functionality, global mobility, compactness and power efficiency, ease of manufacture, and ease of upgrades. If one

ix

were to consider SDR principles for mobile communication there would be many issues and challenges in the implementation of base stations and mobile stations. We address some of the issues and challenges in the thesis. Key enabling technologies for software radio particularly for handset terminal implementation are signal digitization, silicon capability, signal processing, SIM cards, downloadable software, and personal Java / Java card. Suitable algorithms need to be developed for implementation of various functions. A radio system can be partitioned into three stages namely the baseband, the IF, and the RF. Crux of the DSP and, therefore, the SDR is high speed A/D and D/A conversion. With the availability of wideband A/D and D/A converters, it has now become feasible to digitize the RF / IF signals. The baseband signals can anyway be digitized without much difficulty. Thus, at every stage since a radio digital signal is available they can be easily processed using DSPs. Thus the entire radio systems can now be programmed in software resulting in the desired flexibility. 2. PROPOSED PLAN OF THESIS CHAPTERS Chapter 1: Introduction Chapter 2: Reconfigurable Radio Using Software Technologies Chapter 3: Traffic Channel for GSM System Chapter 4: Modulation and Demodulation Chapter 5: Comparison with Different Decoding Algorithms Chapter 6: DSP TMS-320C6713 for Baseband Processing Chapter 7: Conclusions and Future Directions The first chapter deals with history and general architecture of GSM network. The chapter also discusses general challenges for MS and BTS. A brief introduction of GSM activities from beginning to year 2007 is also presented. Second chapter deals with many aspects of a reconfigurable radio such as its architecture and technical challenges. We differentiate between Digital Radio and Software-Defined Radio, as they have different meanings. Digital Ra-

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

x

dio means to implementing a specific baseband processing in reprogrammable system such as DSP, ASIC, and/or FPGA, where as Software-Defined Radio means implementing all the system from antenna to baseband processing by re-programmable modules. We have confined our study to GSM system. GSM traffic channel has speech coding / decoding, channel coding / decoding, interleaving / de-interleaving, ciphering / de-ciphering, and modulation / demodulation. We have implemented all these in MATLAB as Simulink based model. Some simulated results are presented and compared with real time existing results. We have chosen three applications to run on our SDR realization module: SMS, MMS, and speech. We study three modulation schemes BPSK, 8PSK, and GMSK one for each application respectively in Chapter IV which also stresses upon Costas loop realization. The Chapter also includes two types of model one Simulink equivalent and other DSP equivalent, and also compares simulated and real time DSK board generated results. We could not perform speech transmission studies using our SDR realization, because of non-availabilities of higher sampling rate ADC and DAC, but we developed algorithms which can be used by changing the basic parameter of the system models. Chapter five tells us how to protect data from channel (noise), and also with low power reception. Obviously a channel coding and decoding technique is necessary to protect the bits from corruption. The Chapter presents SCCC (Serially Concatenated Convolutional Codes) i.e. Turbo decoder and its comparison with the Viterbi decoder. As GSM system uses hard decision type decoder in many a place, the Turbo that we have used is a hard decision type decoder. It gives better response in terms of SNR improvement compared to Viterbi decoder. Chapter six describes TI DSP TMS-320C6713 DSK board, Code Composure Studio (CCS), and finally our SDR realization. SDR realization module pro-

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

xi

vides the facility to send and receive text data, image data, and speech signal. A GUI for SDR realization is presented in section 6.3 and equivalent MATLAB code in Appendix B. Finally the thesis gives conclusion, future works, appendix, and references. 3. OBJECTIVES AND SCOPE OF THE WORK The purpose of this study was to design a Software-Defined Radio SDR realization module. We have chosen GSM system as a model. The study includes a brief history of mobile communication followed by discussion on GSM. We also study technological and mobile handset challenges. TI DSP TMS-320C6713 is taken for the purpose of baseband processing of the SDR realization. We have implemented each and every function of the GSM system (Up to the IF (Intermediate Frequency) level) in MATLAB. We have also simulated channel with channel coding using both VIterbi decoders and our designed Iterative decoders. We present a method for hard decision type iterative decoder, which gives better improvement in terms of Eb /No . Comparison has show that Eb /No in the case of Turbo decoder is much better than Viterbi decoder giving of the order of 3 dB improvement. A MATLAB based GUI (Graphical User Interface) is designed for our SDR realization. Finally we have tested image and text data. GUI is also designed for voice, but as mentioned above the limitation of the speed of operation of the TI DSP creates a problem in our SDR realization. Re-configurability has been shown by uploading and downloading the various program as user needs. We also propose a GMSK demodulator using Costas loop carrier recovery. It is easy to implement it giving better bit error rate. Our SDR realization is implemented using a single DSP lower RF frequency range. Real time implementation can be done using FPGA and DSP in combination with high speed ADC and DAC for standard GSM RF frequencies range. The main bottleneck in our desired objective were availability of only low speed ADC and DAC, which restricted to scaling some higher frequency

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

xii

range. It also restricts to implement some other applications like speech and video transmission. 4. RESULTS AND DISCUSSION We have shown GMSK implementation using Costas loop carrier recovery with improved BER. Unlike fixed device the use of DSPs provides us flexibility and reconfigurability and allows us to change the system parameters without changing the hardware. We have demonstrated the performance of the model by changing various parameters. This philosophy can aptly be used in SDR applications. We have shown improvement in BER performance compared to existing methods. Here we present one of our system responses by Figure 1 (When sampling frequency is fixed), in terms of bit error rate vs. Eb /No plots. Parameters for simulation are sampling frequency, symbol rate, carrier frequency, data rate (between 64 kbps and 128 kbps), and bandwidth time product BT = 0.3.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

xiii

Figure 1: BER vs. Eb /No polt for fixed sampling frequency

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

xiv

In chapter 5, we have shown that iterative decoders perform better than Viterbi decoders. The tradeoff between BER and Eb /No will always exist in the wireless communication world. This may help in reducing the transceiver power. However complexity of implementation and delay the parameters of concern. A comparison between iterative (Turbo) and Viterbi decoder is carrier out using modulation technique BPSK, QPSK, and 8-PSK at data rate 9.6 kbps. Parameters are: for Viterbi decoder k = 7, r = 1/2 and for Turbo decoder no. of iterations = 2, 8 and block size = 512, 2048. In Figure 2 (given below) red color plot (which corresponds to no. of iteration = 8 and block size = 2048) of Turbo decoder gives the much improvement compare to brown color plot of Viterbi decoder. As the number of iteration and the block size of random interleaver is increased the iterative decoder gives better improvement compared to Viterbi decoder. One of the results (BER of BPSK) is shown below.

Figure 2: BER vs. Eb /No plots of BPSK

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

xv

Finally in chapter 6 our SDR realization has been implemented using TI DSP TMS-320C6713, GUI for our SDR realization is shown below:

Figure 3: GUI for our SDR realization

5. REFERENCES [1] Continuously variable slope delta modulation: A tutorial. Application Doc. #20830070.001, MX-COM, Inc., Winston-Salem, North Carolina 1997. [2] Jan Bajcsy. On iterative decoding in some existence system. IEEE Journal on Selected Area in Communication, vol. 19, no. 5, pages 883 – 890, May 2001. [3] Mohamed Farid Noor Batcha and Ahmad Zuri Shaameri. Configurable adaptive viterbi decoder for gprs , edge and wimax. pages 237 – 241, Penang, Malaysia, May 2007. [4] D. Divsalar G. Montorsi Beedetto, S. and F. Pollara. Serial concatenation

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

xvi

of interleaved codes: Performance analysis, desigh, and iterative decoding. JPL TDA Progress Report 42-126, August 1996. [5] Sergio Benedetto and Guido Montorsi. Performance of continuous and blockwise decoded turbo codes. IEEE Communication Letter, vol. 1, pages 77 – 79, May 1997. [6] K. Y. Martin Lee Bjrn A. Bjerke, John G. Proakis and Zoran Zvonar. A comparison of gsm receivers for fading multipath channels with adjacent- and co-channel interference. IEEE Journal on Selected Area in Communication, vol. 18, no. 11, pages 2211 – 2219, November 2000. [7] Alva C. Conahan, S. and J. Norris. Implementation of a real-time 16 kbps cvsd digital voice codec on a fixed-point dsp. In International Conference on Signal Processing Applications and Technology (ICSPAT) Proceedings, vol. 1, pages 282–286, 1998. [8] Dariush Divsalar. Iterative turbo decoder analysis based on density evolution. IEEE Journal on Selected Area in Communication, vol. 19, no. 5, pages 891 – 907, May 2001. [9] Chip Fleming. A Tutorial on Convolutional Coding with Viterbi Decoding. Spectrum Applications, 7408 Vinyard Court Derwood, MD 20855-1142, November 2006. [10] Alan Gatherer. Dsp-based architectures for mobile communications: Past, present and future. IEEE Communication Magazine, pages 84–90, January 2000. [11] Roberto Madde’ Gunther M. A. Sessler and Enrico Vassallo. Gmsk demodulator implementation for esa deep-space missions. In Proceedings of the IEEE, Contributed paper, vol. 95, pages 2132–2141, November 2007. [12] Yasushi yamao Hiroshi Suzuki and Hiroyuki Kikuchi. A single-chip msk coherent demodulator for mobile radio transmission. In IEEE Transaction on Vehicular Technology, vol. VT-34, pages 157–168, November 1885. [13] K. Helen Hwang and Mark A. Wickert. A soft output gmsk demodulator using a 4-filter mlse for small bt product. IEEE journal on selected area in communications, pages 2957–2961, 2002.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

xvii

[14] Joseph Mitola III. Software radio architeture: A mathmatical perspective. IEEE journal on selected area in communications, vol. 17, no. 4, pages 514– 538, April 1999. [15] Joseph Mitola III. Technical challenges in the globalization of software radio. IEEE Communication Magazine, pages 84–89, February 1999. [16] Jing Su Ismail Lakkis and ShuZo Kato. A simple cohearent gmsk demodulator. IEEE Transactions on communications, Vol. 8, pages A–112 – A–114, 2001. [17] Robert J. McEliece and Wei Lin. The trellis complexity of convolutional codes. IEEE TRANSACTIONS ON INFORMATlON THEORY, vol. 42, no. 6, pages 1855 – 1864, November 1996. [18] Gary Mitchell and Theirry Guichon. Digital costas loop design for cohearent microsattelite transponders. IEEE AC Paper, pages 1197–1209, 2002. [19] Joe Mitola. The software radio architeture. IEEE Communication Magazine, pages 26–38, May 1995. [20] M.Mouly and M.B. Pautet. Gsm technical specifications list. report, Cell and Sys, 2004. [21] G. Montorsi. Design of fixed-point iterative decoders for concatenated codes with interleavers. IEEE Journal on Selected Area in Communication, vol. 19, no. 5, pages 871– 882, May 2001 [22] J. G. Proakis. Digital Communications. McGraw Hill, third edition, 1995. 3.1 [23] Chin-Chun Lee Raymond Steel and Peter Gould. GSM, cdmaOne and 3G Systems. John Willy and Sons, Ltd., 2001. [24] Lee Steele and Gould. GSM, cdmaOne and 3G Systems. John Willy and Sons (Asia) Pte Ltd, Singapore, 2001. [25] Herbert Taub and Donald L. Schilling. Principles of Communcation Systems. Tata McGraw-Hill Publishing Company Limited, Second Edition, New York, 2005. [26] D. S. Taylor. Design of continuously variable slope delta modulation communication systems. Application Note AN1544/D, Motorola, Inc, 1996.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

xviii

[27] Wayne Tomasi. Electronics Communications Systems Fundamental Through Advanced. Pearson Education, Inc., Fourth Edition, India, 2003. [28] Thierry Turletti. Complexity of a software gsm base station. IEEE Communication Magazine, Vol. 37, No 2, pp. 113-117, February 1999. [29] Thierry Turletti. Software radio issues in cellular base stations. IEEE Communication Magazine, Vol. 17 No. 4, April 1999. [30] Thierry Turletti. Towards the software realization of a gsm base station. IEEE Communication Magazine, Vol. 17, No.4, April 1999. [31] Walter H. W. Tuttlebee. Software-defined radio: Facets of a developing technology. IEEE Communication Magazine, pages 38–44, April 1999. Authors’ Publications Conference [1] Santosh Shah and V Sinha. Iterative Decoding vs. Viterbi Decoding: A Comparison. In National Conference on Communication, pages 491–493, Mumbai, India, February, 01-03 2008. [2] Santosh Shah, S L Maskara and V Sinha. Software Radio in Mobile Communication Systems: Issues and Challenges. In National Conference on RECENT ADVANCEMENTS IN MICROWAVE TECHNIQUE AND APPLICATION, pages 340–346, Jaipur, India, October, 04-06 2006. [3] Santosh Shah, S L Maskara and V Sinha. Reconfigurable Radio Using Software Technologies. In 22nd National Convention of Electronics and Telecommunication Engineers, Jaipur, India, August, 04-06 2006

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Contents Certificate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Acknowledgement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

iv vi

Abstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii Synopsis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . viii List of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxvii List of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxviii 1 Introduction 1.1 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 2

1.2 Development Scenario of Mobile Communication . . . . . . . . . . . . . . . 1.3 History of GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1 GSM Technical Specification . . . . . . . . . . . . . . . . . . . . . .

2 5 9

1.3.2

GSM Phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.2.1 Phase 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . .

9 9

1.3.2.2 Phase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3.2.3 Phase 2+ . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.4 General Architecture of GSM Network . . . . . . . . . . . . . . . . . . . . 11 1.4.1

1.4.2

1.4.3

Mobile Station . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 1.4.1.1 Mobile Equipment (ME) . . . . . . . . . . . . . . . . . . . 12 1.4.1.2 Subscriber Identity Module (SIM) . . . . . . . . . . . . . 13 Base Station Subsystem . . . . . . . . . . . . . . . . . . . . . . . . 15 1.4.2.1 Base Transmitter Station (BTS) . . . . . . . . . . . . . . 16 1.4.2.2 Base Station Controller (BSC) . . . . . . . . . . . . . . . 17 Network and Switching Subsystem . . . . . . . . . . . . . . . . . . 18 1.4.3.1 1.4.3.2

Mobile Switching Center (MSC) . . . . . . . . . . . . . . . 18 Home Location Register (HLR) . . . . . . . . . . . . . . . 19

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

CONTENTS

xx

1.4.3.3

Visitor Location Register (VLR) . . . . . . . . . . . . . . 19

1.4.3.4 1.4.3.5 1.4.3.6

Equipment Identification Register (EIR) . . . . . . . . . . 20 Authentication Center (AUC) . . . . . . . . . . . . . . . . 20 Gateway Mobile Switching Center (GMSC) . . . . . . . . 21

1.4.4 Operation and Support Subsystem (OSS) . . . . . . . . . . . . . . . 21 1.5 General Challenges for MS and BTS . . . . . . . . . . . . . . . . . . . . . 21 1.5.1 General Challenges for MS . . . . . . . . . . . . . . . . . . . . . . . 21 1.5.2 General Challenges for BTS . . . . . . . . . . . . . . . . . . . . . . 22 1.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 2 Reconfigurable Radio Using Software Technologies

24

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24 2.2 Basic Radio Communication and Complex Radio Architectures . . . . . . . 25 2.3 Software-Defined Radio (SDR) Architectures . . . . . . . . . . . . . . . . . 27 2.3.1 The architecture of a mobile communication system . . . . . . . . . 27 2.3.2 Layered Virtual Machine . . . . . . . . . . . . . . . . . . . . . . . . 29 2.4 Technological Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.4.1 Enabling Technologies . . . . . . . . . . . . . . . . . . . . . . . . . 30 2.4.2 2.4.3 2.4.4

Software radio phase space . . . . . . . . . . . . . . . . . . . . . . . 32 Top-level Interface Topologies . . . . . . . . . . . . . . . . . . . . . 33 Layer 1 and Application . . . . . . . . . . . . . . . . . . . . . . . . 37

2.4.5 2.4.6

DSP Power Dissipation Trends . . . . . . . . . . . . . . . . . . . . 38 SWR Handset Implementation Challenges . . . . . . . . . . . . . . 38

2.4.7 Mobile Node Challenges . . . . . . . . . . . . . . . . . . . . . . . . 40 2.5 Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 2.5.1 Software Radio Components and Functions . . . . . . . . . . . . . . 41 2.5.2 SWR Transition Phases . . . . . . . . . . . . . . . . . . . . . . . . 43 2.5.3 GSM Phone Functions . . . . . . . . . . . . . . . . . . . . . . . . . 46 2.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3 Traffic Channel for GSM System

49

3.1 Speech Coding and Decoding . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.1.1 Simulink Implementation . . . . . . . . . . . . . . . . . . . . . . . . 52 3.1.1.1 DSP Implementation: 1-bit CVSD . . . . . . . . . . . . . 52 3.2 Channel Coding and Decoding . . . . . . . . . . . . . . . . . . . . . . . . . 56

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

CONTENTS

3.2.1

xxi

Simulink Implementation . . . . . . . . . . . . . . . . . . . . . . . . 56

3.3 Interleaver and De-interleaver . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.3.1 Simulink Implementation . . . . . . . . . . . . . . . . . . . . . . . . 59 3.4 Ciphering and De-ciphering . . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.5 Modulation and De-modulation . . . . . . . . . . . . . . . . . . . . . . . . 62 3.5.1 Simulink Implementation . . . . . . . . . . . . . . . . . . . . . . . . 63 3.6 Simulation Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 3.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4 Modulation and Demodulation 68 4.1 BPSK Costas Loop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 4.2 Binary Phase Shift Keying (BPSK) . . . . . . . . . . . . . . . . . . . . . . 70 4.2.1 Modulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

4.2.2

4.2.1.1 Simulink Implementation . . . . . . . . . . . . . . . . . . 71 4.2.1.2 DSP Implementation . . . . . . . . . . . . . . . . . . . . . 74 Demodulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 4.2.2.1 4.2.2.2

Simulink Implementation . . . . . . . . . . . . . . . . . . 76 DSP Implementation . . . . . . . . . . . . . . . . . . . . . 76

4.3 8-Phase-Shift Keying (8-PSK) . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.3.1 Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 4.3.1.1 Simulink Implementation . . . . . . . . . . . . . . . . . . 79 4.3.2

4.3.1.2 DSP Implementation . . . . . . . . . . . . . . . . . . . . . 82 Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84

4.3.2.1 Simulink Implementation . . . . . . . . . . . . . . . . . . 85 4.3.2.2 DSP Implementation . . . . . . . . . . . . . . . . . . . . . 85 4.4 Gaussian Minimum Shift Keying (GMSK) . . . . . . . . . . . . . . . . . . 87 4.4.1

Modulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 4.4.1.1 Simulink Implementation . . . . . . . . . . . . . . . . . . 88 4.4.1.2 DSP Implementation . . . . . . . . . . . . . . . . . . . . . 91

4.4.2

Demodulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 4.4.2.1 Simulink Implementation . . . . . . . . . . . . . . . . . . 95

4.4.2.2 BER Performance . . . . . . . . . . . . . . . . . . . . . . 95 4.4.2.3 DSP Implementation . . . . . . . . . . . . . . . . . . . . . 97 4.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

CONTENTS

xxii

5 Comparison with Different Decoding Algorithms

99

5.1 Convolutional Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 5.1.1 Convolutional Encoding . . . . . . . . . . . . . . . . . . . . . . . . 100 5.1.2 Encoder Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 5.2 Viterbi Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 5.2.1 Decoder Parameter . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.3 Trellis Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.4 Turbo Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.4.1 SCCC (Turbo Encoder / Decoder) . . . . . . . . . . . . . . . . . . 106 5.4.1.1 DSP Implementation . . . . . . . . . . . . . . . . . . . . . 109 5.5 Comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110 5.6 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 6 TI DSP TMS-320C6713 for Baseband Processing 113 6.1 Introduction to the TMS320C6713 DSK Board . . . . . . . . . . . . . . . . 113 6.1.1 Key Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113 6.1.2 6.1.3

TMS320C6713 DSK functioning . . . . . . . . . . . . . . . . . . . . 114 Basic Operation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115

6.2 Interface between MATLAB and CCS . . . . . . . . . . . . . . . . . . . . . 116 6.2.1 A simple Simulink model (Single Board System) . . . . . . . . . . . 116 6.2.2 A Double Board Systems . . . . . . . . . . . . . . . . . . . . . . . . 120 6.2.2.1 6.2.2.2

Transmitter or Receiver . . . . . . . . . . . . . . . . . . . 120 Transceiver . . . . . . . . . . . . . . . . . . . . . . . . . . 120

6.3 SDR Realization using DSP TMS-320C6713 . . . . . . . . . . . . . . . . . 122 6.3.1 SMS Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.3.1.1 Character Encoding . . . . . . . . . . . . . . . . . . . . . 124 6.3.2

6.3.3

6.3.1.2 Character Decoding . . . . . . . . . . . . . . . . . . . . . 125 MMS Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127 6.3.2.1 Image Encoding . . . . . . . . . . . . . . . . . . . . . . . 128 6.3.2.2 Image Decoding . . . . . . . . . . . . . . . . . . . . . . . 129 Voice Application . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

6.4 Limitation and Solutions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.4.1 Voice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130 6.4.2 Text data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

CONTENTS

6.4.3

xxiii

Image . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6.5 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 7 Conclusions and Future Directions 132 7.1 Contributions of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . 132 7.2 Future Directions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134 A MATLAB Codes

135

A.1 my SCCC test.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 A.2 Code for GUI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 A.2.1 My SDR.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135 B MATLAB and CCS Interface 144 B.1 MATLAB Compilation Steps . . . . . . . . . . . . . . . . . . . . . . . . . 144 B.2 CCS Compilation Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

List of Figures 1 2

BER vs. Eb /No polt for fixed sampling frequency . . . . . . . . . . . . . . xiii BER vs. Eb /No plots of BPSK . . . . . . . . . . . . . . . . . . . . . . . . xiv

3

GUI for our SDR realization . . . . . . . . . . . . . . . . . . . . . . . . . . xv

1.1 GSM Worldwide (darker areas) . . . . . . . . . . . . . . . . . . . . . . . .

8

1.2 GSM phases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.3 General architecture of GSM network . . . . . . . . . . . . . . . . . . . . . 11 1.4 GSM SIM card size . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 1.5 GSM IMSI Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.1 Schematics of a digital radio system . . . . . . . . . . . . . . . . . . . . . . 26 2.2 Radio architectures are evolving towards high levels of complexity . . . . . 27 2.3 The architecture of a mobile communication system . . . . . . . . . . . . . 28 2.4 Layered virtual machine reference model [13] . . . . . . . . . . . . . . . . . 30 2.5 Handset architeture emphasizes computational efficiency [13] . . . . . . . . 31 2.6 Software radio phase space [14] . . . . . . . . . . . . . . . . . . . . . . . . 34 2.7 Interfaces constrain topological properties [14] . . . . . . . . . . . . . . . . 35 2.8 Layer 1 and application MIPS with time [9] . . . . . . . . . . . . . . . . . 37 2.9 Power dissipation trends in DSP [9] . . . . . . . . . . . . . . . . . . . . . . 39 2.10 Key software radio components & functions . . . . . . . . . . . . . . . . . 42 2.11 The canonical software radio architecture with various segment [18] . . . . 44 2.12 Possible handset evolution: phase 1 [34] . . . . . . . . . . . . . . . . . . . . 44 2.13 Possible handset evolution: phase 2 [34] . . . . . . . . . . . . . . . . . . . . 45 2.14 Possible handset evolution: phase 3 [34] . . . . . . . . . . . . . . . . . . . . 45 2.15 A functional block diagram of a GSM phone [9] . . . . . . . . . . . . . . . 47 2.16 GSM function partitioning [9] . . . . . . . . . . . . . . . . . . . . . . . . . 47

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

LIST OF FIGURES

xxv

3.1 Block diagram of a GSM sender and receiver BTS . . . . . . . . . . . . . . 49 3.2 GSM traffic channel implemented in SIMULINK . . . . . . . . . . . . . . . 50 3.3 GSM traffic channel (uplink) . . . . . . . . . . . . . . . . . . . . . . . . . . 51 3.4 GSM traffic channel (downlink) . . . . . . . . . . . . . . . . . . . . . . . . 51 3.5 SIMULINK based implementation of 1-bit CVSD encoder and decoder . . 53 3.6 DSP based implementation of 1-bit CVSD encoder and decoder . . . . . . 53 3.7 Sample speech, recovered speech, and equivalent bit sequence . . . . . . . . 54 3.8 Expanded form of sample speech, recovered speech, and equivalent bit sequence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 3.9 TCH/FS transmission mode . . . . . . . . . . . . . . . . . . . . . . . . . . 56 3.10 GSM channel decoding. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.11 SIMULINK based implementation of channel encoding . . . . . . . . . . . 57 3.12 SIMULINK based implementation of channel decoding . . . . . . . . . . . 58 3.13 GSM Interleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.14 GSM Deinterleaving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 3.15 GSM Channel interleaving and burst formation . . . . . . . . . . . . . . . 60 3.16 GSM Channel de-interleaving and burst separation . . . . . . . . . . . . . 61 3.17 GSM Ciphering / Deciphering . . . . . . . . . . . . . . . . . . . . . . . . . 62 3.18 GSM GMSK modulator block diagram . . . . . . . . . . . . . . . . . . . . 63 3.19 GMSK modulator baseband . . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.20 GMSK demodulator baseband . . . . . . . . . . . . . . . . . . . . . . . . . 64 3.21 Transmitted and recovered bit sequence . . . . . . . . . . . . . . . . . . . . 65 3.22 Spectrum of the signals before and after the channel . . . . . . . . . . . . . 66 3.23 Bit error rate vs. Eb /No plots . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.1 BPSK Costas loop block diagram . . . . . . . . . . . . . . . . . . . . . . . 69 4.2 BPSK modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 4.3 BPSK bit sequence, carrier, and modulated signal . . . . . . . . . . . . . . 72 4.4 Transmitted and recovered bit sequences . . . . . . . . . . . . . . . . . . . 73 4.5 BPSK spectrum from SIMULINK and DSP . . . . . . . . . . . . . . . . . 73 4.6 BPSK transmitter for DSP board . . . . . . . . . . . . . . . . . . . . . . . 74 4.7 Real time BPSK signals (bit sequence and modulated) . . . . . . . . . . . 75 4.8 Real time BPSK signals (expanded) . . . . . . . . . . . . . . . . . . . . . . 75 4.9 BPSK demodulator using Costas loop . . . . . . . . . . . . . . . . . . . . . 76

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

LIST OF FIGURES

xxvi

4.10 BPSK demodulator using frequency division . . . . . . . . . . . . . . . . . 77 4.11 BPSK transmitted and recovered bit sequence . . . . . . . . . . . . . . . . 78 4.12 8-PSK modem system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 4.13 8-PSK bit sequence In Phase and Quadrature Phase signal . . . . . . . . . 80 4.14 In Phase and Quadrature Phase carrier components . . . . . . . . . . . . . 81 4.15 Spectrum of 8-PSK modulator . . . . . . . . . . . . . . . . . . . . . . . . . 81 4.16 Scatter plots for 8-PSK system . . . . . . . . . . . . . . . . . . . . . . . . 82 4.17 DSP based 8-PSK modulator . . . . . . . . . . . . . . . . . . . . . . . . . 83 4.18 DSP based 8-PSK encoded bits . . . . . . . . . . . . . . . . . . . . . . . . 83 4.19 DSP based 8-PSK carrier components (Inphase and Quadrature phase) . . 84 4.20 8-PSK modulated signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 4.21 DSP based 8-PSK demodulator system . . . . . . . . . . . . . . . . . . . . 86 4.22 Spectrum of 8-PSK system in real time . . . . . . . . . . . . . . . . . . . . 86 4.23 Output decoded bit sequence of 8-PSK . . . . . . . . . . . . . . . . . . . . 87 4.24 GMSK modulator block diagram . . . . . . . . . . . . . . . . . . . . . . . 89 4.25 GMSK system . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 4.26 GMSK input bits, Inphase and Quadrature phase signal . . . . . . . . . . 90 4.27 GMSK spectrum for BT = 0.1, 0.3, and 0.8 . . . . . . . . . . . . . . . . . 91 4.28 GMSK modulated signal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 4.29 DSP based implementation of GMSK modulator . . . . . . . . . . . . . . . 92 4.30 Real time GMSK bit sequence, Inphase, and Quadrature phase signal . . . 93 4.31 Real time GMSK spectrum and modulated signal . . . . . . . . . . . . . . 94 4.32 GMSK demodulator block diagram . . . . . . . . . . . . . . . . . . . . . . 95 4.33 BER vs. Eb /No polt for fixed sampling frequency . . . . . . . . . . . . . . 96 4.34 BER vs. Eb /No polt for fixed carrier frequency . . . . . . . . . . . . . . . 97 4.35 GMSK Demodulator implemented in MATLAB for TI DSP TMS-320C6713 98 4.36 BER versus Eb = N0 for demodulation via the IFMS GMSK demodulator at a bit rate of 6 Mbps. Spec denotes the design goal specified for the implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.1 Rate 1/2 non-recursive, non-systematic convolutional encoder with constraint length 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 5.2 Rate 2/3 recursive, systematic convolutional encoder with constraint length 3101 5.3 A trellis structure for convolutional encoder . . . . . . . . . . . . . . . . . 102

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

LIST OF FIGURES

xxvii

5.4 A trellis diagram for convolutional encoder . . . . . . . . . . . . . . . . . . 104 5.5 A trellis diagram for Viterbi decoder . . . . . . . . . . . . . . . . . . . . . 105 5.6 SCCC Turbo encoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.7 SCCC Turbo decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108 5.8 SCCC Turbo encoder TI DSP based implementation . . . . . . . . . . . . 109 5.9 SCCC Turbo decoder TI DSP based implementation . . . . . . . . . . . . 110 5.10 BER vs. Eb /No plots of BPSK . . . . . . . . . . . . . . . . . . . . . . . . 111 5.11 BER vs. Eb /No plots of QPSK . . . . . . . . . . . . . . . . . . . . . . . . 111 5.12 BER vs. Eb /No plots of 8-PSK . . . . . . . . . . . . . . . . . . . . . . . . 112 6.1 A simple program in Simulink . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.2 A single board test system . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.3 A input output comparison . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.4 A square wave comparison . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.5 A double board test system (Transmitter or Receiver) . . . . . . . . . . . . 121 6.6 A double board test system (Transceiver) . . . . . . . . . . . . . . . . . . . 122 6.7 GUI for our SDR realization . . . . . . . . . . . . . . . . . . . . . . . . . . 123 6.8 ASCII codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.9 Flow chart for SMS encoder . . . . . . . . . . . . . . . . . . . . . . . . . . 125 6.10 Flow chart for SMS decoder . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.11 A Simulink model to decode the received data . . . . . . . . . . . . . . . . 127 6.12 Flow chart for Image encoder . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.13 Flow chart for Image decoder . . . . . . . . . . . . . . . . . . . . . . . . . 130

LIST OF TABLES

xxviii

List of Tables 1.1 History of Mobile Communications . . . . . . . . . . . . . . . . . . . . . . 1.2 Wireless Standards since 1981 . . . . . . . . . . . . . . . . . . . . . . . . .

3 4

1.3 History of GSM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 GSM Technical Specification [19] . . . . . . . . . . . . . . . . . . . . . . .

5 9

1.5 Mobile node Challenges

. . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.1 Enabling technologies, evolution and its convergence . . . . . . . . . . . . . 32 2.2 Top-level Interface Topologies. [14] . . . . . . . . . . . . . . . . . . . . . . 36 2.3 Illustrative SWR handset implementation challenges [13] . . . . . . . . . . 40 2.4 Mobile node challenges [13] . . . . . . . . . . . . . . . . . . . . . . . . . . 41 4.1 8-PSK modulator truth table . . . . . . . . . . . . . . . . . . . . . . . . . 79 6.1 Key features of TMS320C6713 DSK Board . . . . . . . . . . . . . . . . . . 114 6.2 Key features of Embedded IDE Link CC . . . . . . . . . . . . . . . . . . . 116

Chapter 1 Introduction Mobile communication has grown exponentially ever since its emergence and is still growing phenomenally. In fact in the entire history of telecommunications the rate of growth of mobile communication has been unprecedented. Use of technology for widespread application of information transfer has been the most important factor for the success of mobile communication. The mobile technology, originating with analog mobiles has seen significant changes from 2G to 2.5G to 3G and now 4G standards are being frozen. The success of implementation of higher G technologies rests on several concomitant technologies particularly DSP. Today a mobile communication system uses many different frequency bands. For the convenience of the users it is important that a single terminal, which can be programmed depending on the service available in a given region, functions for all the multiple accessing techniques and associated technologies. The DSP can provide such a desired flexibility. Considering the various signal processing functions and the multiband and multimode operations required in mobile communications, the software approach is more attractive than the hardware. This concept for radio connectivity has given birth to the nomenclature of software defined radio [13]. Advances in the analog to digital conversion and processor technologies have made it possible to go for the software radios, where in majority of the communication functions of a radio link are performed easily by reconfigurable and possibly down-loadable software. The SDR can provide multi-functionality, global mobility, compactness and power efficiency, ease of manufacture, and ease of upgrades. If one were to consider SDR principles for mobile communication there would be many issues and challenges in the implementation of base stations and mobile stations. We

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.1. Thesis Organization

2

address some of the issues and challenges in the thesis [32]. Key enabling technologies for software radio particularly for handset terminal implementation are signal digitization, silicon capability, signal processing, SIM cards, downloadable software, and personal Java / Java card. Suitable algorithms need to be developed for implementation of various functions.

1.1

Thesis Organization

The organization of the thesis is as follows. Chapter 1 presents an introduction to mobile communication in the context of SDR and history of GSM system and outline general challenges [32] [24]. In Chapter 2 we study basic radio communication relevant to our work including complex radio architectures, technological challenges and their applications [23]. Chapter 3 introduces the implementation of GSM traffic channel using MATLAB / Simulink. Chapter 4 covers modulation and demodulation techniques, which we have used in our software-defined radio test bench. Basically we have focused on BPSK, 8PSK, and GMSK [26]. Chapter 5 introduces a comparison between Viterbi and iterative (i.e. Serially Concatenated Convolutional Codes (SCCC) or Turbo code) decoders [25]. Chapter 6 focuses on real time implementation part of the test bench. We use TI’s DSP TMS-320C6713 DSK boards for Baseband Processing. We present the conclusions in Chapter 7 and outline future directions.

1.2

Development Scenario of Mobile Communication

The first commercial application of wireless radio was in late 1800 on a ship on deep waters that used Morse Code was for ship-to-shore communication. Use of wireless radio communications applications become wider and wider starting from commercial broadcasting to police and military applications, depending on appearance of different wireless solutions. Table 1.1 shows some of the various places form the world where different solutions were implemented. Each one of them had their own implementation and modulation techniques. Roaming across a national boundary was addressed for the first time in 1980s. Since the development of NMT-450 in 1981, many standards for mobile communication had been developed region-wise throughout the world. Each mobile standard had been developed to meet requirements of particular country or region or interested groups involved in its specification. For this reason, although a standard may be suitable for one

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.2. Development Scenario of Mobile Communication

Date Place 1921 Chicago 1930s US 1935 US 1946 St. Louis 1969 Europe 1973

Europe

1979 1991

Chicago Europe

3

Table 1.1: History of Mobile Communications Activity 2 MHz Vehicular Mobile Radio system for Police Applications Invention of Amplitude Modulation. Half Duplex transmission Invention of Frequency Modulation. Improved Audio Quality FCC First Domestic Public Land Mobile service at 150 MHz Denmark, Finland, Iceland, Norway and Sweden form the first standardization group: Nordic Mobile Telephony (NMT) NMT specifies standards to allow mobiles phones to be located within or across their networks. Basis for roaming idea Advanced Mobile Phone System. First Cellular Analog network The First Digital Cellular Standard (GSM) is launched

country, it may not be suitable for another. Together with the requirement of interoperability of devices manufactured by different vendors, analogous to the landline telephone systems and roaming, the need arouse for development of a standard international cooperation this gave rise to the development of the GSM standards. The primary purpose of a standard for mobile communications is to specify how mobile phone calls are to be handled by a mobile network. For example, this includes specification of the signals to be transmitted and received by mobile phone, the format of these signals, the interaction of network nodes, the basic network services that should be available to mobile subscribers and the basic network structure (i.e. cells, etc.). The main standards and the main markets in which they are used are summarized in the Table 1.2.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.2. Development Scenario of Mobile Communication

Year

Standard

1981 1983

NMT-450 AMPS

1985

TACS

1986

NMT

1991 1991

GSM TDMA

1992 1993

(D-AMPS) GSM1800 CDMAOne

1994 1995

PDC PCS1900

Table 1.2: Wireless Standards since 1981 Mobile Telephone Sys- Tech. Primary Markets tem Nordic Mobile Telephony Analogue Europe and M. East Advanced Mobile Phone Analogue N and S America System Total Access Communica- Analogue Europe and China tion System 900 Nordic Mobile Tele- Analogue N. and S. America phony Global System for Mobile Digital World Wide Time Division Multiple Ac- Digital N and S America cess (Digital AMPS) Global System for Mobile Digital Europe Code Division Multiple Ac- Digital N. America and Korea cess One Personal Digital Cellular Digital Japan Personal Communication Digital North America Services

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4

1.3. History of GSM

1.3

5

History of GSM

In 1982 the main governing body of the European telecommunication operators, also known as CEPT (Conference Europeene des Postes et Telecommunications), created a committee called Groupe Special Mobile (GSM) and tasked it with specifying a panEuropean cellular radio system to operate within 900 MHz band [27]. The Table 1.3 shows the milestones of GSM evolution and Figure 1.1 shows the GSM worlwide (by darker area). Table 1.3: History of GSM Date 1982

1986

1987

1988 1989

1990 1991

Activity * Nordic Telecom and Netherlands PTT send a proposal to the Confrence textbfEuropenne des Postes et Tlcommunications (CEPT) to specify a common European mobile telecommunication service. * The European Commission (EC) issues a directive, which requires member states to reserve frequencies in the 900 MHz band for GSM. * Field tests were held in Paris and a GSM permanent nucleus was created and comparative tests of 8 prototypes were performed. * The choice was Time Division Multiple Access (TDMA) or Frequency Division Multiple Access (FDMA. * A Combination of TDMA and FDMA selected as the transmission tech. for GSM. * September 13, operators and administrators from 12 areas in the CEPT GSM advisory group sign the charter GSM (Groupe Spciale Mobile) MoU ”Club” agreement, with a launch date of 1 July 1991. * The original French name was later changed to Global System for Mobile Communications, but the original GSM acronym stuck. * GSM spec drafted. (Digital Transmission, Time Multiplexing of order 8 and slow Hopping). * CEPT began producing GSM specifications for phased implementation. * Another five countries signed the MoU. * The European Telecommunications Standards Institute (ETSI) defined GSM as the internationally accepted digital cellular telephony standard and took over responsibility of GSM specifications. *Phase 1 specifications were frozen to allow manufacturers to develop network requirements and the first GSM prototype was brought to service. * The GSM 1800 standard was released. *An addendum was added to the MoU allowing countries outside CEPT to sign.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.3. History of GSM

Date 1992

1993

1994

1995

1996

Activity *Phase 1 specifications were completed. *January - First commercial phase 1 GSM network operator is Oy Radiolinja Ab in Finland. * December 1992 - 13 networks on air in 7 areas. *First International roaming agreement was signed between Telecom Finland and Vodafone in UK. *Australia became the first non-European country to sign the MoU. The MoU now had a total of 70 signatories. *GSM demonstrated for the first time in Africa at Telkom ’93 in Cape Town. *GSM networks were launched in Norway, Austria, Ireland, Hong Kong and Australia. *The number of GSM subscribers reached one million. *The first commercial DCS 1800 system was launched in the U.K. *December 1993 - 32 networks on air in 18 areas *The MoU now had over 100 signatories covering 60 countries. *The total number of GSM subscribers exceeded 3 million. *First GSM networks in Africa launched in South Africa. *Phase 2 data/fax bearer services launched. *Vodacom becomes first GSM network in the world to implement data/fax. *December 1994 - 69 networks on air in 43 areas. *GSM MoU is formally registered as an Association registered in Switzerland - 156 members from 86 areas. *December 1995 - 117 networks on air in 69 areas. *Fax, data and SMS roaming started. *GSM phase 2 standardization is completed, including adaptation for PCS 1900 *First PCS 1900 network live ’on air’ in the USA *Telecom ’95 Geneva - Nokia shows 33.6 kbps multimedia data via GSM. *Namibia goes on-line. *Ericsson 337 wins GSM phone of the year. *US FCC auctions off PCS licenses. *GSM growth trends continued steadily through 1995, with the number of GSM subscribers increasing at the rate of 10,000 per day and rising. *GSM MoU is formally registered as an Association registered in Switzerland. *December 1996 120 networks on air in 84 areas. *GSM MoU Plenary held in Atlanta GA, USA. *8K SIM launched. *Pre-Paid GSM SIM Cards launched. *Bundled billing introduced in South Africa. *Libya goes on-line. *Option International launches world’s first GSM/Fixed-line modem. *Nov 1996 - Sole Governmental operator in Egypt goes online.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6

1.3. History of GSM

Date 1997 1998

1999

2000

2001 2002

2003

2004

Activity *Iridium birds launched. *First dual-band GSM 900-1900 phone launched by Bosch. *At the beginning of 1998 the MoU has a total of 253 members in over 100 countries and there are over 70 million GSM subscribers worldwide. GSM subscribers account for 31 % of the worlds mobile market. *Vodacom Introduces Free Voice Mail. *GSM SIM Cracked in USA. *21 May 1998. Egypt privatizes its GSM operator. *Vodacom launches Yebo!Net 10/98. *Iridium Live 11/98. *MTN launches Carry Over minutes. *125m GSM 900/1800/1900 users worldwide (12/98). *1 Dec 1998. Click GSM commercial launch. *165m GSM 900/1800/1900 users worldwide. *GPRS trials begin and USA and Scandinavia 1/99. *WAP trials in France and Italy 1/99. * GSM MoU Joins 3GPP. *First GPRS networks go live. * Bluetooth specification v1.0 released. *By 12/2000 480m GSM 900/1800/1900 users worldwide. *First GPRS networks roll out. *First GPRS terminals seen. *By 5/2001 500m GSM 900/1800/1900 users worldwide. *16 billion SMS message sent in April 2001. *GSM introduced for 800MHz band. * First Multimedia Messaging Services go live. *95% of nations worldwide have GSM networks. *400 billion SMS messages sent in the year. * First mobile camera phones launched. *First EDGE networks go live. * GSMA creates new CEO-level Board. * Membership of GSM Association breaks through 200-country barrier. * Over half a billion handsets produced in a year. *GSM SURPASSES ONE BILLION CUSTOMERS. * More than 50 3GSM networks live. * GSM Association and Ovum announce market data venture: Wireless Intelligence.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

7

1.3. History of GSM

Date 2005

2006

2007

Activity *GSM surpasses 1.5 billion customers. * GSM dominates over 3/4 of wireless market. * First HSDPA network goes live. * Over 100 3GSM networks launched. * 120+ 3GSM handset models launched or announced. *First ever sub-$30 mobile phone announced. * Over one trillion SMS sent in the year. *GSM SURPASSES TWO BILLION CUSTOMERS. * 3GSM World Congress Barcelona breaks record attendance. * Over 120 commercial 3GSM networks in more than 50 countries and almost 100 million subscriptions. *Approximately 85 HSDPA networks in commercial launch by year end. * 66 HSDPA devices available from 19 suppliers, including 32 handset models. * GSMA membership exceeds 900 companies (including over 700 operators). * Over 980 million handsets sold by year end. *Heading towards 2.5 billion GSM customers. * Further HSDPA network launches and introduction of HSUPA. * GSMA celebrates 20th anniversary.

Figure 1.1: GSM Worldwide (darker areas)

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

8

1.3. History of GSM

1.3.1

9

GSM Technical Specification

Table 1.4 shows up-to-date list of GSM Technical Specification (TS) existing within phase 1, phase 2 and/or phase 2+. The first two rows in the table gives the technical specification number and title, the third one is what we found inside the specification. Next six rows indicate the official version number of the specifications within each release (phase 1, phase 2 and/ phase 2+ annual release R96 - R99). The last three rows indicate the new specifications number within 3GPP and its version in release R99, R4, R5 and R6. The published specifications are downloadable from 3GPP website [19]: c & M.B. Pautet 1998-2004. http://www.3gpp.org/ftp/ M.Mouly Table 1.4: GSM Technical Specification [19] 01/21/41 Series General 02/22/42 Series Services 03/23/43 Series Network Functions 04/24/44 Series Radio Interface Protocols 05/45 Series Radio Interface Transmission 06/26/46 Series Speech Coding 07/27/47 Series Data Transmission 08/48 Series Radio Subsystem Interfaces 09/29/49 Series Interworking 10/50 Series Project Management 11/31/51 Series Testing 12/32/52 Series Operation and Maintenance

1.3.2

GSM Phases

GSM phases divided as follows (refer Figure 1.2) 1.3.2.1

Phase 1

Phase 1 contains the most common services including: Voice communication, International roaming, basic fax / data transfer with the data rate of 9.6 kbps, call forwarding, call barring, Subscriber Identity Module (SIM) and SMS (Short Message Services). Phase 1 also incorporates features such as ciphering and Subscriber Identity Module (SIM) cards.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.3. History of GSM

1.3.2.2

10

Phase 2

Additional features came with the GSM phase 2: Advice of charge, Calling line identification, Call waiting, Call hold, Conference calling, Closed user groups and Additional data communications capabilities. 1.3.2.3

Phase 2+

The phase 2+ program covers multiple subscriber numbers and a variety of business oriented features. Some of the enhancements offered by Phase 2+ include: Multiple service profiles, Private numbering plans, Access to Centrex services, Inter-working with GSM 1800, GSM 1900 and the Digital Enhanced Cordless Telecommunications (DECT) standard. Priorities and time schedules for new features and functions depended primarily on the interest shown by operating companies and manufacturers and technical developments in related areas.

Figure 1.2: GSM phases

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

1.4

11

General Architecture of GSM Network

The layout of a generic GSM network consisting of several functional components and interfaces is schematically shown in Figure 1.3. The GSM network can be divided into three major parts. The Mobile Station (MS i.e. hand-held terminal) is carried by the subscriber. The Base Station Subsystem (BSS) provides the radio link with the Mobile Station, it includes Base Transceiver Station (BTS) and Base Station Controller (BSC). BTS and BSC are interfaces by Abis interface. Mobile service Switching Centre (MSC) is the main part of the Network Subsystem (NS). It performs switching of the calls between the mobile users, and between fixed land line network and mobile user. This also handles the mobility management operations. Um interface is also known as radio link or air interface and via Um MS and BS subsystem communicates. BS subsystem communicates with the MSC via another interface called A.

Figure 1.3: General architecture of GSM network

1.4.1

Mobile Station

Mobile Station (MS) or mobile equipment represents the terminal equipment used by a mobile subscriber and supported by the GSM wireless system. The MS consists of the

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

12

handheld terminal and a smart card called the Subscriber Identity Module (SIM). This module may be removed from the handheld terminal. A subscriber with an appropriate SIM can use the network services by using different terminals, which can interact with the related networks. The mobile equipment is uniquely identified by International Mobile Equipment Identity (IMEI). Similarly the subscriber having SIM card can be identified by International Mobile Subscriber Identity (IMSI). 1.4.1.1

Mobile Equipment (ME)

Mobile Station (MS) or Mobile Equipment (ME) features are defined as fixed or optional. Fixed features must be implemented as long as they related to the MS type. The choice of the optional features are dependent on the customer requirement and/or manufacturers. Manufacturers are completely responsible for ensuring that their MS neither conflict with the air interface nor interfere with the network, any other MS, or the MS itself. Standardization of a minimum set of features is desire to make a simple and uniform set of MS features, independent of manufactures and set type. These minimum set has to be include all fixed features. MS features are categorize in three parts: 1. Basic features: are directly related to the operation of basic telecommunication services. Each feature is classed as being mandatory or optional. Mandatory features are: Display of called number. Dual Tone Multi Frequency function (DTMF) Indication of call progress signals. Country/PLMN indication. Country/PLMN selection. Service indicator. Subscription identity management. Support of A5/1 and A5/2. Short message indication and acknowledgment. Short message overflow indication. Emergency call capabilities. 2. Optional features are: On/Off switch. DTE/DCE interface.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

13

ISDN ’S’ terminal interface. International access function (’+’ key.) Short Message Service Cell Broadcast (SMSCB) screening. 3. Supplementary features: Charge indication. Control of Supplementary Services. 4. Additional Features: Abbreviated dialing. Fixed number dialing. Barring of outgoing calls. DTMF control digits separator. Call charge units meter. Selection of directory number in short messages. Last Numbers Dialed (LND).

1.4.1.2

Subscriber Identity Module (SIM)

A SIM card is an electronic smart card, which stores information about the subscription. SIM contains a microprocessor and a memory. A SIM card contains information about the subscriber and must be plugged into the ME to enable the subscriber to use the network. Two physical types of SIMs are specified. These are the ”ID-1 SIM” and the ”Plug-in SIM”. The logical and electrical interfaces are identical for both types of SIM. Below in Figure 1.4 are the standard dimensions of the 2 SIM card types. There are three type of subscriber information which SIM stores: - Fixed data stored before the subscription is sold: e.g. IMSI, authentication key and security algorithms. - Temporary network data: e.g. the location area of the subscriber and forbidden PLMNs. - Service data: e.g. language preference, advice of charge GSM phase - 1 SIMs contain all necessary network control information, while phase - 2 SIMs include a large number of extra features such as a language identifier and a preferred language option.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

14

Figure 1.4: GSM SIM card size

International Mobile Subscriber Identity (IMSI): The International Mobile Subscriber Identity (IMSI) is the number that identifies the mobile subscriber on the radio path and through the GSM network. This identity is stored in the SIM, as well as in the network. Examples of an Indian network (AIRTEL - Jaipur) IMSI is shown in Figure 1.5 and as can be seen they are in 3 parts. IMSI = MCC + MNC + MSIN MCC = Mobile Country Code MNC = Mobile Network Code MSIN = Mobile Station Identification Number The first is the Mobile Country Code (MCC), which always consists of 3 digits and identifies a specific country. This allows 999 countries to have and operate GSM telephony.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

15

The next two digits represent the Mobile Network Code (MNC), which point to the GSM network inside the country allowing maximum of 99 different GSM network operators in the same country. Then follows a maximum of ten digits to identify the individual subscriber. These are known as the Mobile Station Identification Number (MSIN). Ten digits allow ten Billion subscriptions per network per country, which is a sufficient number.

Figure 1.5: GSM IMSI Structure

The use of the IMSI enables a mobile belonging to our GSM network to other GSM networks, nationally or internationally and is able to identify itself independently of the telephone numbering plan of the network in which the Mobile Station is actually located.

1.4.2

Base Station Subsystem

The Base Station Subsystem (BSS) is responsible for all the radio-related functions in the system. It includes Base Transmitter Station (BTS) and Base Station Controller (BSC) as in Figure 1.3.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

1.4.2.1

16

Base Transmitter Station (BTS)

The role of BTS is to provide a link between MS and network using radio coverage functions from their antennae. BTS functionality can be divided into the following areas: Radio Resources A BTS’s main function is to provide connection with the MSs over the air interface. This includes the following tasks: Configuration and system start The loading of software from the BSC and setting parameters before the system startup including; Transmitter and receiver frequencies, Maximum output power and Base Station Identity Code (BSIC). Radio transmission To transmit several frequencies using the same antenna need a combiner or sets of combiners. Transmission power is controlled by BSC. Radio reception A primary BTS function to detect the channel request needed, When a call is being made from any MS. Signal Processing A BTS is responsible for the processing of signals before transmission and after reception. This includes: - Ciphering using the ciphering key - Channel coding and interleaving - Adaptive equalization - Realization of diversity - Demodulation Signaling Link Management: A BTS manages the signaling link between the BSC and MS, applying the appropriate protocols to the information being sent.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

17

Synchronization: Timing information is extracted from the PCM-links from the BSC and is sent to a timing module within the BTS. This enables the BTS to synchronize with the correct frequency reference and TDMA frame number. Local Maintenance Handling: BTS activates an operation and maintenance functions to be carried out locally at the BTS site, without BSC connection. In this way, field technicians can maintain BTS equipment and software on site. Functional Supervision and Testing Supervision and testing of BTS functions is supported, using either built-in tests during normal operation or tests executed by command.

1.4.2.2

Base Station Controller (BSC)

The Base Station Controller (BSC) is responsible for all the radio-related functions in the system. Radio Network Management Cell related information (e.g. cell identity, BCCH channel number, maximum and minimum output powers in the cell, BTS type, etc.). System related information (e.g. information about whether or not the cell is barred from access, maximum output power allowed in the cell, BCCH channel identities in neighboring cells). Location related information (e.g. cell rank used in HCS and high traffic load situations). Traffic and event measurements For example: number of call attempts, congestion, traffic levels for a cell, traffic levels for an MS, number of handovers, number of dropped connections, etc. BTS Management The main tasks of BTS management are:

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

18

- BTS configuration - BTS software handling - BTS equipment maintenance TRC Handling The TRC provides the BSC with rate adaptation capabilities. Transmission Network Management The transmission network for a BSC includes the links to and from MSC/VLRs and BTS’s (discussed in next paragraph). Handling of MS connections: During call setup:- Paging - Signaling set-up - Assignment of traffic channel During a Call:- Dynamic power control in MS and BTS - Locating - Handover - Frequency Hopping - Internal BSC Operation and Maintenance

1.4.3

Network and Switching Subsystem

Switching system is the set of nodes responsible for performing all switching tasks. The Switching System consists of:

1.4.3.1

Mobile Switching Center (MSC)

This is the primary node in the GSM network, which controls calls both to MS’s and from MS’s. The primary functions of an MSC include the following:

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

19

- Switching and call routing - Charging - Service provisioning - Communication with HLR - Communication with the VLR - Communication with other MSC’s - Control of connected BSC’s - Direct access to Internet services - ISDN Primary Rate Access (PRA)

1.4.3.2

Home Location Register (HLR)

Home Location Register (HLR) is a centralized network database that stores and manages all mobile subscriptions information (International Mobile Subscription Identities (IMSI), service parameter, and location information etc.) of their respective operators. HLR stores the information of subscribers permanently until they canceled their subscription. The primary function of the HLR includes: - Identity of mobile subscriber - ISDN directory number of mobile station - Subscription information on teleservices and bearer services - Service restrictions (if any) - Supplementary services - Location information for call routing

1.4.3.3

Visitor Location Register (VLR)

The role of a VLR in a GSM network is to act as a temporary storage location for subscription information for MSs, which are within a particular MSC service area. That means each MSC service area has one VLR. So MSC need not to connect every time to HLR of the subscriber, which may be located for away.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.4. General Architecture of GSM Network

20

In summary VLR contains: - Identity of mobile subscriber - Any temporary mobile subscriber identity - ISDN directory number of mobile - A directory number to rout calls to a roaming station - Location area where the mobile station is registered - Copy of the subscriber information form their HLR

1.4.3.4

Equipment Identification Register (EIR)

For the GSM network subscriber and equipment are two different things, so this is necessary to have a separate authentication for MS equipments. The EIR is accessed during the equipment verification procedure when a mobile station accesses the system. It contains a identity called International Mobile station Equipment Identity (IMEI) which may be valid, suspect, or known to be fraudulent. EIR contains: White or valid list - List of valid MS equipment identities. Grey or Monitored list - List of suspected mobiles under observation. Black or Prohibited list - List of mobiles for which services is barred.

1.4.3.5

Authentication Center (AUC)

PLMN’s need a higher level of protection than traditional telecommunication networks. Appearance of cloning cases (Cracked SIM cards) first occurred in the United States in 1998. Therefore, to protect GSM systems, the following security functions have been defined: - AUC contains subscriber authentication data called Authentication Key (Ki). - AUC generates Security related parameters needed to authorize service using Ki. - AUC generates unique data pattern called a ChipherKey (Kc) needed for encrypting user speech and data.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.5. General Challenges for MS and BTS

1.4.3.6

21

Gateway Mobile Switching Center (GMSC)

The GMSC functionality enables an MSC to cross-check a HLR in order to route a mobile terminating call. Basically this is not used in calls from MS’s to any terminal other than another MS. For example, if a person connected to the PSTN wants to make a call to a GSM mobile subscriber, then the PSTN exchange will access the GSM network by first connecting the call to a GMSC. The GMSC requests call routing information from the HLR that provides information about which MSC/VLR to route the call to. The same is true of a call from an MS to another MS. Any MSC in the mobile network can function as a gateway by integration of the appropriate software and definition of HLR interrogation information. In effect it then becomes a GMSC/VLR.

1.4.4

Operation and Support Subsystem (OSS)

The operation and support subsystem is a centralized maintenance and diagnostic center of Base Station Subsystem (BSS). It allows the network provider to operate, administer, and monitor the functioning of the BSS.

1.5 1.5.1

General Challenges for MS and BTS General Challenges for MS

The challenge areas of mobile nodes are protocols, multimode personalities, wideband modes, co-site interference, and radio interference by itself as shown in Table 1.5 [13]. The protocol defines the mobility of the network, switching from one channel to another. There are four to six channels operating simultaneously from high frequency (HF-2MHz) to ultra high frequency (UHF-3GHz) range. Interoperability is possible by the Global Mobility (GloMo) program, an area of research in Defense Area of Research Program in America (DARPA). The mobile node should be multimode personality, so that it can operate about 30 different air interface standards. For example Joint Tactical Radio

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.6. Conclusion

Challenge Area Protocols

Multimode personalities Wideband mode

Cosite interference Radio interference with itself

22

Table 1.5: Mobile node Challenges Challenges Approaches Military applications: due DARPA: Global Mobility to the mobility of the net- Program work 30 different air interfaces JTRS: SPEAKeasy, open architecture API standard Hopes thousand times per Ideal software defined radio, second over about 250 MHz dehopping uses a fast settling tunable local oscillator Noise due to troposcatter MEMS narrowband filters systems Push-to-talk bands by mili- Active cancelation tary (TDD)

Systems (JTRS) and SPEAKeasy technologies have multimode personalities. Mobile node should be able to hope thousand times per second over about 250 MHz. This is only possible with the fast settling tunable Local Oscillator (LO). An ideal software radio could approach the wideband modes. Co-site interference may also be caused by the high power troposcatter system, which is due nonlinearly inter-modulation in a metal structure. MEMS narrowband filters may be the solution for this type of interference. In the time domain duplex (TDD) radio generates an interference by itself, for example when some time is needed to listen and transmit in the same ADC band simultaneously. This interference may be reduced by active cancelation.

1.5.2

General Challenges for BTS

Base Station handles the radio-link protocols with the mobile station. Frequency of radio link may vary in accordance with the various air interface standard application (i.e. TDMA, FDMA, CDMA etc). So reconfigurability is a challenge to both the BS and MS. It will also include the issue of reconfigurability of BS vs. MS.

1.6

Conclusion

We have briefly discussed the GSM scenario and challenges that exist for reconfigurability. The software radio technology makes it possible to stay with a single handheld

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

1.6. Conclusion

23

terminal anywhere in the globe. A single handheld terminal or any type of network designed with this technology promises to adapt to any network (air interface standard) by reconfigurability principles.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Chapter 2 Reconfigurable Radio Using Software Technologies 2.1

Introduction

Radio has always fascinated human being since its invention. It provides a means to transfer information as well as infotainment to common man at low cost. For commercial applications radio has been used in telecommunication systems from a simple radio telephony to the today’s mobile communications. Trunk radio communication systems like the microwave and satellite communication systems have played a very important role in taking large number of telephone, television and data signals over the entire globe. As usual military applications used radio technologies first, commercial applications came later. Initially radio communication systems were analog but now digital techniques are fast replacing the analog technologies due to convenience of implementation and improvement in system performance. As the digital technologies and the computer systems advanced, emphasis started shifting from digital hardware to software implementation of systems. Digital signal processing started playing a very revolutionary role in the design and implementation of many practical systems because of the ease software provided. Digital Signal Processor (DSP) can carry out variety of functions using the same hardware. Progress in micro-electronics and VLSI technologies enable the miniaturization of the systems and gadgets. However a major limitation of the digital signal processors continue to be the speed of operation. Therefore initially they were used only for the baseband

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.2. Basic Radio Communication and Complex Radio Architectures

25

low speed processing. Today the digital signal processors are available which operate at very high speed thus it is possible to use the DSP for intermediate and radio frequencies. Introduction of software into the radio systems has brought the concept of software radio. It is now possible to realize various radio functions using suitable software on the same hardware. Such radios have been referred to as Software-Defined Radio (SDR). The SDRs are programmable and reconfigurable. Programmability / reconfigurability have become necessity of the day, because of the multiple standards, multiple frequency bands, and variety of applications. Crux of the DSP and, therefore, the SDR is high speed A/D and D/A conversion. A radio system can be partitioned into three stages namely the baseband, the IF, and the RF. With the availability of wideband A/D and D/A converters, it is now feasible to digitize the RF / IF signals and thus amenable to software treatment of the signals. The baseband signals can anyway be digitized without much difficulty. Thus, since at every stage a radio digital signal is available they can be easily processed using DSPs. Thus the entire radio systems can now be programmed in software resulting in the desired flexibility. The SDRs can provide multifunctionality, global mobility, compactness and power efficiency, ease of manufacture, and ease of upgrades. Key enabling technologies for software radio particularly for handset terminal implementation are signal digitization, silicon capability, signal processing, SIM cards, downloadable software, and personal Java / Java card. Design of SDRs required definition of suitable architecture and proper partitioning of the function in a radio system. Suitable algorithms need to be developed for implementation of various functions. The development of digital techniques in communication systems resulted in additional performance improvement, because of use of source coding, channel coding, encryption, multiplexing, and multiaccessing techniques. All these techniques can easily be defined and implemented in SDR.

2.2

Basic Radio Communication and Complex Radio Architectures

A communication system is designed to transfers information from one place to other over a channel. Information may include audio, video, data etc. A simplistic way of looking

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.2. Basic Radio Communication and Complex Radio Architectures

26

at the system is as shown in Figure 2.1 and is self explanatory. At the receiver end processing has to be done to undo the distortion of waveforms caused by the channel and also to eliminate the effect of noise / interference on the received signal. For example, in the Figure 2.1, the RF down-conversion converts the received signal to compatible baseband signal for processing, which needs to be appropriately decoded to obtain the original transmitted information.

Figure 2.1: Schematics of a digital radio system

Beginning from the era of 70’s and 80’s the radio systems migrated from analog domain to digital domain. System control to source coding and channel coding to hardware technologies are beginning to switch in the digital domain. Network organization versus channel data rates is shown in Figure 2.2. This shows the evolution towards high level of complexity. Early digital microwave [T-carrier] with the data rate of few megabits per second (Mbps) has been superseded by modern digital microwave [622 Mbps] with the hundreds of Mbps data rates in the point-to-point communication. Peer-to-peer communication has a more complex architecture than point-to-point communication, and has the variety of evolutions from early analog [Citizen’s band] to Joint Tactical Information Distribution System [JTIDS] using direct sequences. Similarly single hierarchy and multiple hierarchy have a more complex architecture than previous two network organizations. Today one see a boom in multiple hierarchy network organization with its evolution to-

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.3. Software-Defined Radio (SDR) Architectures

27

wards software based implementation. In a multiple hierarchy application a single radio unit, typically a mobile terminal participates in more than one network hierarchy. A software radio terminal, for example, could operate in an AMPS network, a GSM network, an IS-95 network, and many also operate in a future satellite mobile network.

Figure 2.2: Radio architectures are evolving towards high levels of complexity

2.3

Software-Defined Radio (SDR) Architectures

2.3.1

The architecture of a mobile communication system

The architecture of a mobile communication system is shown in Figure 2.3, which comprises higher end processing included with channel coding / decoding, combined with baseband processing. Higher end processing generally means the higher frequency bands operations. Multiband technology accesses more than one RF band of communication channel simultaneously. This end of processing includes programmable RF channel access, intermediate frequency (IF) processing, and modulation / demodulation (modem). RF channel access selects the desired RF band of signals. IF processing may includes

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.3. Software-Defined Radio (SDR) Architectures

28

filtering, frequency up-conversion / down-conversion (i.e. frequency translation), space / time diversity processing, beam-forming, and related functions. Modem has to be principally defined multiple air interface waveforms, which is generated by multimode radios, and then RF modulation and demodulation takes place. Ciphering / de-ciphering, and authentication of the information are part of information security section; they maintain security and reduce the fraud. The function is ignored if a particular application does not require information security. The service and network support subsystem provides a connection between the remote source to the radio by synchronous digital hierarchy (SDH) and a Local Area Network (LAN) or other networks. Sources like data, facsimile, video, and multimedia are coded / decoded in the source coding and decoding section. System stability, error recovery, isochronous streaming of voice and video, and data flow timing is assured by joint control. Naturally complexity of joint control becomes more with the advancement of the radio systems.

Figure 2.3: The architecture of a mobile communication system

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.3. Software-Defined Radio (SDR) Architectures

2.3.2

29

Layered Virtual Machine

Reference model for layered virtual machine is shown in Figure 2.4. It has four levels: hardware platform, radio infrastructure, radio application, and communication services virtual machine [13]. The top level of the virtual machine is for communication services, and hardware platform virtual machine is at the bottom. The reference model enables us to visualize how modules could be organized so that we can improved our productization. The lowest virtual machine layer includes Instruction Set Architecture (ISA) plus the conventional signal processors like Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs), and Digital Signal Processors (DSPs). This layer also includes device drivers, interrupts service routine, test control, and resource allocation and associated Operating System (OS) services. Radio infrastructure virtual machine layer comes on to the hardware platform virtual machine layer, which sets up and controls information transfer threads. This layer includes voice channels, data pathways, radio control message threads, timing distribution, frequency calibration, and location services. Radio infrastructure requests and allocates the internal resources necessary for a subscriber channel. Above this layer i.e. the radio application layer includes agent, peer-level control algorithms, and cellular interface standard like Single channel Ground Air Radio System (SINCGARS). It also includes channel state machines control squelch, synchronize crypto functions, voice, and data transfer. Cellular user can be linked with the SINGARS user by defining the script, this comes in the top layer of virtual machines i.e. communication services virtual machine that also includes services (like on-the-air download), applets / scripts personalities, and channel objects. Summery of the layered virtual machine reference model is to make a universal architecture like SDR, which can support any evolving air interface. If in the future the RF band shifts towards the 3G, 4G and beyond mobile generation, the wideband antenna, RF conversion and other infrastructure could be quickly reprogrammed. Data quality could be improved at low cost with advances in coding theory quickly. According to the SDR forum evolving standards GSM phone [13], the computational efficiency is the trade-off between flexibility and power dissipation. There are various signal processors deliver hundreds or even coming thousands of MIPS. On an average a general signal processor of a CDMA chip requires 100 MIPS. Now a new DSP chip can

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

30

Figure 2.4: Layered virtual machine reference model [13]

deliver 400 to 1000 MFLOPS (Mega Float Operation Per Second). In the architecture of Figure 2.5, interfaces among software components have to be streamlined. Baseband standards, controller standards, real-time kernel drivers, standard selectors, and other functional components may be implemented in power-efficient ASICs, FPGAs, DSPs and/or general purpose processors. The role of layered virtual machine comes in this architecture. Architecture have to be more emphasized on lower level interface like drivers, real-time kernel, and mode controller have simpler application programming interfaces (APIs).

2.4 2.4.1

Technological Challenges Enabling Technologies

The principle of Software radio gets strong implementation impetus due to rapid developments in both digital hardware and software as well as convergence of several different technologies, tabled in Table 2.1. Some of them include signal digitization, role of silicon, DSP power, PersonalJava and JavaCard, smart card technology, and software download

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

31

Figure 2.5: Handset architeture emphasizes computational efficiency [13]

possibilities. Evolution and convergence of signal digitization technology are due to extensive development in A/D capability having improved accuracy, linearity, sampling and resolution. Semiconductor industries are now delivering components which operate at higher frequency and high speed of operations, though the trade-off between performance and sampling rate still exists. The power consumption becomes a limitation as they approach towards the high sampling rate. Roll of silicon in the digital signal processors (DSPs) is an interesting subject to study. Today silicon geometries have gone down 0.35µm to 0.18µm in size, 5v to 3V to 1.8V to 1V in power. Moor’s law is playing an incredible role in memory size of DSPs, that is size of memory doubles every 18-24 months. Till the year of 2000 one had achieved low power consumption DSPs with 200 MIPS, with power consumption at 0.5W. Now a days 1 GIPS (Giga Instruction Per Second) devices are available at reasonable power consumption and cost is still in control. Various DSPs of LMS320Cxxx series are the examples. The concept of write ones run anywhere came only with the development of layered

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

32

virtual machine and enabling Java programs on only processing platform. New software components and programs can be installed by downloading on the air, if Java program is running on a particular platform. As stated above silicon geometries continue to shrink, with increase in the processing and memory capability within the DSP chip. In another context these have resulted in smart card applications like, e-cash and pay per-view conditional access to broad cast services as well as cell phone SIM cards. The internet has recolonized the sales, pricing, purchase and distribution of software. The internet provides us through the wire or wireless media, easy access try before buy, online upgrades, and upgradeable modems.

Table 2.1: Enabling technologies, evolution and its convergence Enabling Technologies Evolution & Convergence Signal digitization Extensive development of A/D capability, improved with accuracy, linearity, sampling rates & resolution, tradeoff performance/sampling rate limitation Role of Silicon Silicon geometries goes down 0.35 m to 0.18 m by size, 5V to 3V to 1.8V to 1V by power, size of memory goes increase double in every 18-24 months DSP power Achieved low power consumption DSP with 200 MIPS, with power consumption at 0.5 W, 1 GIPS devices at reasonable power consumption and cost should be available soon personalJava & JavaCard Write ones run anywhere with virtual machine and enabling Java programs on any processing platform, now optimized for PCS-type applications Smart card technology Silicon geometry shrink hence, so the processing and memory capability increases, e-cash and pay per-view conditional access to broad cast services Software download Easy access try before buy, online upgrades, upgradeable modems

2.4.2

Software radio phase space

The graph of evaluation of the signal processor for application for software radio is shown in Figure 2.6. The horizontal axis shows the bandwidth of digital access, and vertical

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

33

axis shows the degree of flexibility of the different processors like complex/reduced instruction set computer (CISC/RISC), DSPs, FPGAs, and ASICs. This graph shows how degree of digitization has to be increased from digital baseband to digital RF. Initially baseband of the HF STR-2000, commercial product of standard marine AB has to be baseband implemented with CISC/RISC or DSP using TMS320C30XX processor. Most commercial off-the-shelf (COTS) cellular telephone handset adopted some higher digital access bandwidth, implemented in ASIC/FPGA, with almost equivalent processing capacity. SPEAKeasy II has come with digital filter ASIC’s for frequency translation and filtering positive point is to access the spectrum of IF. SPEAKeasy was implemented in FPGS/DSP, with GFLOP (Giga Float Operation Per Second) capability. The virtual radio delivers a single channel radio using a general-purpose processor was the product of Massachusetts Institute of Technology. Virtual radio also accesses the spectrum of IF. Degree of flexibility was low in the case of SWR cell site, but still accessing the spectrum of IF, and implemented using ASSIC.FPGA. An ideal software radio could be built, where all functions are programmed on RISC processors, which can also access the spectrum of RF. This may be employed in 3G and beyond.

2.4.3

Top-level Interface Topologies

The architecture of digital mobile communication systems with single personality is shown in Figure 2.3. The same concept with multiple personalities, and interface constrain topological properties are shown in Figure 2.7. The radio nodes maps air interface, user, and network events to appropriate responses. Channel set and source set defines the multiple personality properties. Various interfaces play important roles in designing of communication systems; viz. RF waveform, IF waveform, baseband waveform, protected bits, clear bits, source bits, network & supports, analog waveform, joint control, and software object. Their key characteristics and topological properties are shown in Table 2.2, and explained below. Software radio architecture has various interfaces stated above. The key characteristics and topological properties are listed in the Table 2.2. RF waveform is an interface between the channel set and RF channel access, which plays a role of controlling the adjacent channel interferences, bandwidth, and power level with some topological properties as

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

34

Figure 2.6: Software radio phase space [14]

in Table 2.2. Digital IF waveform is ready for up/down-conversion, and interfaces RF channel access and IF processing components. Digital IF may have baseband product topology. Baseband waveform is in the form of discrete time synchronous quantized sample values, which interfaces the IF processing and modem, and determines fidelity of analytic representation. Protected bits interface the modem and INFOSEC, their role is to authenticate the responses, enciphered bitstream and packets. Clear bits interface the INFOSEC and service and network support. If INFOSEC is null then protected bits have the same value as clear bits. Clear bits are framed, multiplexed, FEC bitstreams and packets with the information. Source bits interface the service and network support and source coding/decoding, bitstreans and packets are coded in the form of discrete time sampled waveform which is the source bits: source bits have a finite dimensional. Analog waveform can be viewed as the interface between source set and source coding/decoding; this could be audio, video, facsimile, or other information and can be considered as an infinite dimensional vector. But given a pair of sample buffers of length say N, this stream is reduce to dimension 2N. Packaged bitstream of service and network support requires ATM, signaling system 7 (SS7), or ISO protocol stack processing, which is interfaced to source set called network interface. The interface between all hardware and software for

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

Figure 2.7: Interfaces constrain topological properties [14]

initialization, and fault recovery is stated as joint control.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

35

2.4. Technological Challenges

Interface Radio frequency waves IF Waveform

Baseband Waveform Protected Bits

Clear Bits

Source Bits

Analog form Network face

waveInter-

Joint Control

Software Object

Load/Execute

36

Table 2.2: Top-level Interface Topologies. [14] Key Characteristics Topological Properties Power level, adjacent channel Analog RF has infinite dimeninterference, bandwidth etc. are sional topology; includes spatial controlled & temporal dimensions Digitally waveforms are ready Analog IF has infinite dimenfor up/down - conversion sional topology but digital IF may have base band product topology Discrete time synchronous Digital waveform properties dequantized sample values termine fidelity of analytic representation Authentication responses, Ran- Finite dimensional; randomized dom challenge; enciphered bit- streams; protected bits are same stream and packets as clear bits if it is null Framed, Multiplexed, FEC bit- Finite dimensional; FEC substreams and packets spaces have rich algebraic properties Bitstreams & packets are coded, Finite dimensional; frame & discrete-time sampled wave- data structure defines subform. ADCs define a finite spaces. A Nyquist-dyanamic window into a quantized range subspace has been sampled for ADC Audio, video, facsimile, streams Infinite dimensional Packaged bitstreams may require ATM, SS7, or ISO protocol stack processing Control interfaces to all hardware & software; initialization; fault recovery Download from evolution support systems Software object encapsulation

Synchronous digital herarchy (SDH). Signaling system 7 (SS7) subspaces Parameter spaces; non-linear logic subspaces Represents binaries, applets; includes self descriptive language subspaces Download topologies are highly nonlinear

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

2.4.4

37

Layer 1 and Application

In 1983 the Texas Instrument’s launched first DSP i.e. TMS32010, 16-bit ALU with 5 MIPS, and operating voltage was 5V, this was used in GSM systems. That was approximately the time that evolution of the GSM phone was taking place. The chip was the fore runner for DSP based architecture for use in mobile communication system, it has gradually moved beyond the simple phone function. The graph of the Figure 2.8, shows the DSP performance in MIPS versus implementation of layer 1 and application in DSP with time. This shows that from 1996 to 1998 only layer 1 (i.e. speech coding, equalization, interleaving, channel coding, and ciphering) was available in DSP. Subsequently as the DSP MIPS increased, the application layer (i.e. noise suppression, echo cancellation, and speech recognition) were also implemented in DSP. The advent of wireless data applications and the increased bandwidth of 3G required the integration of application layer in the DSP.

Figure 2.8: Layer 1 and application MIPS with time [9]

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

2.4.5

38

DSP Power Dissipation Trends

A use of DSPs in wireless communication systems gives the new direction towards software radio communication. Here we summaries the DSPs manufactured by the Texas Instrument. Series TMS320Cxxxx are using in wireless communication systems. First digital signal processor of this series was TMS32010 developed in 1983. Architecture, design, and process enhancements have resulted in new generation of processors that provide high performance while maintaining low power dissipation necessary for battery-powered applications. We evaluate DSP power dissipation using milli-watts per million multiply accumulates (mW/MMACS), because many communication algorithms are multiply accumulate intensive. Multiply accumulates means fetching of two operands from memory, performing a multiply accumulate, and storing the results back in to memory. As we are going towards the higher generation like 3G, the use of DSPs requiring high MIPS have increased. Since the power is directly proportional to the supply voltage, reduction in power supply, can get us lower power dissipation. But reducing the supply voltage also decreases performance. Therefore, technology scaling and power supply scaling are combined to improve performance while decreasing the total power consumption of the DSP. Various TI’s DSP of TMS320Cxxxx series with operating voltage, year of development, and power dissipation in mW/MMACS are shown in Figure 2.9. This shows the effect of power dissipation with the dropping of power supply voltages. Today’s most commonly used DSP is TMS320C54xx series, capable of 120 MMACS at 1.8V and 0.72 mW/MMACS in 0.18 µm CMOS technology. There are some other DSPs in the market designed for wireless application, like Lucent 1600 series, and ADI 21xx series.

2.4.6

SWR Handset Implementation Challenges

Software radio handset poses various implementation challenges including power management, clock generation & distribution, receiver architecture, handset production, and software computational efficiency. We describe some issues of the following challenges and approaches are listed in table 2.3. As the trend for high MIPS continues, the powermanaged DSP devices are coming in great demand. DSP devices should work in sleep mode as would it make power available for other computationally intensive software radio tasks. But problem with sleep mode is that the radio will be asleep during a paging message, even if it makes power saving. A solution therefore, should be thought of. Generation of different clock rates for the different supported standard increases part count,

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

39

Figure 2.9: Power dissipation trends in DSP [9]

complexity of architecture, and therefore the cost. Instead of generating more than one reference clock, a single master clock can be used with LCM (Least Common Multiple) of required clocks. Say for example the LCM of GSM and D-AMPS is 6.318 GHz. AnP other way to generate the clocks may be by using △ approach where clocks are exact on the average, but the BER begins to degrade. The receiver architecture complexity is typically four or more times higher than the transmitter architecture complexity. Since

there are different air interface standards, and therefore, the different RF signal. Direct conversion from RF to baseband without super heterodyning is possible by mixing a reference signal (associated with the different air interface standards) with the RF signal to extracts the baseband signals. ASICs are efficient processor, and can transfer RF to baseband, but each different air interface standard requires additional ASIC area. Wideband ADC is required to access the IF signal, which is implemented in programmable filter ASICs or FPGA code. Micro electro-mechanical systems (MEMS) technology uses three dimensional bulk micro-machining to integrate components in to semiconductor substrates. MEMS devices includes 400 micron RF switches with 1/10,000 the size, and less than 1/100th average power of conventional PIN-diode RF switches. Software has

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.4. Technological Challenges

40

to be extraordinarily efficient in the use of computational resources, so the softwares are implemented in power efficient ASICs, FPGAs, and other Java engine. Table 2.3: Illustrative SWR handset implementation challenges [13] Challenge Challenges Approaches area Power manage- Sleep mode saves power bur Needs power-managed DSP dement problem with paging message vices Clock generation Generation of different clock Least common multiple (LCM) & distribution rates for different supported can be used for a P single masstandards ter clock, also for △ approach and normalization Receiver archi- Multiple standards with efficient Direct conversion form RF tecture processors to baseband without superheterodyne, SWR receiver using wideband ADC to access IF Handset produc- Design of off-chip passive de- Approaching towards the mition vices cro electro-mechanical systems (MEMS) Software com- Software has to be extraordinar- Implementation with power effiputational ily efficient in the use of compu- cient ASICs, FPGAs, DSPs, and efficiency tational resources other Java engines

2.4.7

Mobile Node Challenges

The challenge areas of mobile nodes are protocols, multimode personalities, wideband modes, cosite interference, and radio interference by itself. There are shown in Table 2.4. The protocol defines the mobility of the network, means switching from one channel to another. There are four to six channels operating simultaneously from high frequency (HF-2MHz) to ultra high frequency (UHF-3GHz) ranges. It can be realized by the Global Mobility (GloMo) program, which is an area of research in Defense Advanced Research Projects Agency (DARPA). The mobile node should be multimode personality, so that it can operate about 30 different air interface standards. For example Joint Tactical Radio Systems (JTRS) and SPEAKeasy technologies have multimode personalities. Mobile node should be able to hopes thousand times per second over about 250 MHz. It is possible only with a fast settling tunable Local Oscillator (LO). An ideal software radio could approach the wideband modes.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.5. Application

Challenge area Protocols Multimode personalities Wideband modes

Cosite interference Radio interference with itself

41

Table 2.4: Mobile node challenges [13] Challenges Approaches Military applications; due to the DARPA: Global Mobility promobility of network gram (GloMo) 30 different air interfaces JTRS: SPEAKeasy, open architecture API standards Hopes thousand times per sec- Ideal software radio, dehopping ond over about 250 MHz uses a fast settling tunable local oscillator Noise due to troposcatter sys- MEMS narrowband filters tems Push-to-talk bands by military Active cancellation (TDD)

Cosite interference may be caused by high power troposcatter systems and is nonlinearly intermodulated in a metal structure. MEMS narrowband filters may be the solution for this type of interference. In the time domain duplex (TDD) radio generates the interference by itself, for example some times may be needed to simultaneously listen and transmit in the same ADC band. This interference may be reduced by active cancelation.

2.5 2.5.1

Application Software Radio Components and Functions

Key software radio components and functions can be divide in three major canonical architectures: the real-time channel processing stream, the near real-time environment management streams, and associated software tools as shown in Figure 2.10. The realtime channel processing stream includes channel coding and decoding. Translation of baseband signal to an intermediate frequency (IF) or vice versa may be performed by multiplying a discrete time-domain baseband or IF waveform by a discrete reference carrier to yield a sampled IF or baseband. Data interface and other network interfaces are also come under this processing stream. The radio environment may be characterized by using frequency, time, and space, this comes under the near-real time environment management. Environment management also specifies channel identification, channel interference level, and subscriber location. It may also employ operations like Fast Fourier Transform (FFT),

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.5. Application

42

wavelet transform, and matrix multiplication. Some on-line and off-line system analysis, signal processing, and re-hosting tools, can be part of the software tools; they are mapped with the VHDL.

Figure 2.10: Key software radio components & functions

The canonical software radio architecture with various segments are shown in Figure 2.11. They are antennas, RF conversion, IF processing, baseband processing, bitstream processing, and the source. These segments are grouped in to two parts; channel coding / decoding, which includes first four segments, and source coding / decoding includes source segment. The antrenna(s) of the software radio should be competent to accept the multiple bands simultaneously. In military application it should be access the entire band, from HF to UHF. Octave bandwidth antenna and/or multiple antennas are needed to access such multiple bands. It may be the part of beam forming network. Beam forming of N antenna elements can palace N-1 adaptive nulls on interferes sufficiently separated in azimuth. The RF conversion segment includes output power management, standard IF to RF conversion, RF to standard IF conversion, Low Noise Amplifier (LNA), and a multicoupler. Suitable wideband A/D/A converters are required to convert the signal

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.5. Application

43

from RF to IF and IF to RF. The role of multicoupler is not only to couple the transmit and receive signals, but also to select the desired band of air interface standard. An LNA is required to amplify the desired signal. IF processing segment of the transmitter maps the frequency translation (up-conversion). It requires a carrier signal to translate the baseband signal to IF signal. In the receiver side of the IF processing segment a wideband digital filter is required to select a service band from among those available. IF filtering recovers medium band channels (e.g. a 200 kHz TDMA channel in GSM) and/or wideband subscriber channels (e.g. a 2MHz CDMA channels) and converts the signal to baseband. The baseband segment at the transmitter modulates the signal. The modulation techniques may use BPSK, QPSK, GMSK, and 8-PSK with channel symbol rate of Rb (baud). The complexity of this segment depends on the bandwidth of the baseband Wb , hence the relation between Rb and Wb its given by; Rb /3 < Wb < 2Rb . This type of waveform is generated one sample at a time. This segment also performs multiplexing, FEC coding, and framing of the decoded signal. At the receiver side this segment demodulates the IF signal from selected channel. Demodulation requires timing recovery and clock recovery. Receiver end of the bitstream processing segment also imparts the Forward Error Control (FEC) decoding, and de-multiplexing. The source segments are different for both the mobile terminal and base station terminal. Mobile terminal contains user and source coder/decoder, while base station terminal like PSTN interfaces the remote source coding, fax and other data.

2.5.2

SWR Transition Phases

The evolution of software radio architecture from digital radio to ideal software radio may be explained in three phases; as shown in Figures 2.12, 2.13, & 2.14. The first possible handset evolution implements the bitstream processing (FEC, MUX / DEMUX, framing etc.), source coding / decoding, and control functionality in a software on DSP / microcontroller / programmable logic. This is known as digital radio. In the second phase of evolution baseband processing (modulation / demodulation) comes under the software processing section as shown in Figure 2.13. Now the radio would be able to adopt the new modulation / demodulation techniques under either selfadaptive or download control.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.5. Application

Figure 2.11: The canonical software radio architecture with various segment [18]

Figure 2.12: Possible handset evolution: phase 1 [34]

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

44

2.5. Application

Figure 2.13: Possible handset evolution: phase 2 [34]

Figure 2.14: Possible handset evolution: phase 3 [34]

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

45

2.5. Application

46

The major change in the evolution of overall architecture comes in the third phase of handset evolution, which is to implement the intermediate frequency (IF) digitally in software. This phase of evolution gives the new direction towards multimode, multiband, and multipersonalities architecture of the radio. This allows adopting to multiple radio air interface standards by software reconfigurability. IF processing digitally is still a challenge area at higher frequency, since as we move towards higher frequency high speed ADCs as well as DSPs with low power consumption and high MIPS or GIPS are required.

2.5.3

GSM Phone Functions

A basic functional block diagram of a GSM phone is shown in Figure 2.15. An assumption was made in the early days of GSM phone development that the low power requirement could be fulfilled by with implementation in ASIC only. At that time DSP was using only for vocoding. As the technologies evolved, ASIC area increased due to additional implementation of some other functions specially application layer functions. Therefore the power requirement and cost increased. After 1994 many industries like Motorola and Texas Instrument developed a DSP, which was powerful enough to do all the DSP function in a single chip. Also making an ASIC vocoder was the challenge to replace the DSP vocoder. Therefore DSP chips took the empire over ASIC and hence application and layer 1 functions were started implemented in DSP. Part of layer 2 & 3 and man made machine interface, interfaces the terminal adapters (i.e keyboard, display, SIM card etc.) and also other hardware like RAM, ROM, and EPROM etc. The most popular functional partitioning of GSM phone is shown in Figure 2.16. This shows the interfacing between baseband functions and hardware. The heart of GSM phone, microcontroller, interfaces all other hardware i.e. RAM, ROM, EPROM, user 2 & 3, user interface (+PDA), DSP, audio management, and power management. Application (PCS, noise suppression, echo cancellation, and speech reorganization) and layer 1 (speech coding, equalizing, interleaving, channel coding, and ciphering) are the baseband function. These are implemented in DSP. User interface includes keyboard, display, and SIM card all these are controlled by microprocessor. If we require additional MIPS for better response, spare DSP MIPS came for free and enabled product differentiation. The use of DSP was to get rid of ASIC used in the phone.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.5. Application

47

Figure 2.15: A functional block diagram of a GSM phone [9]

Figure 2.16: GSM function partitioning [9]

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

2.6. Conclusion

2.6

48

Conclusion

Still reconfigurability of the software radio is in its infancy. The people want to roam under different air interface standard with the single handheld terminal, because of the rapid introduction of new services. This can be provided only by the software radio. Software radio can provide flexibility and intensive personalized subscriber services by on-the-air download or fly. Operator could customize the handset interface, and also maximize handset loyalty and sell added-value services to its subscriber base. The third generation systems like Universal Mobile Telecommunication Services (UMTS) / International Mobile Telecommunications (IMT-2000) technologies will permit software downloadable reconfiguration on the terminal radio interface. Concept of software radio reconfigurability. ⋄ Rapid introduction of new services ⋄ Flexible and interactive personalized subscriber services ⋄ Operator customization of the handset interface

⋄ Dynamic bearer enhancement (e.g. Bandwidth on demand) These concept are already applicable to todays 2G digital personal communications. Within the time-frame of 3G systems UMTS / IMT-2000 technology permit software downloadable reconfiguration of the terminal radio interface.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Chapter 3 Traffic Channel for GSM System Ideal implementation of a Base Station (BS) in software would mean implementation of all subsystems, both for uplink and downlink, in software; i.e. except for the antenna and RF (Radio Frequency), all subsystems should be amenable for implementation in software. We describe only a few modules. The sequence of operation of a GSM sender and receiver [31] is depicted in Figure 3.1.

Figure 3.1: Block diagram of a GSM sender and receiver BTS

Uplink modules basically contain the GSM speech coder, channel encoder, interleaver, cipher, and modulator; similarly downlink modules contains demodulator equalizer, decipher, de-interleaver, channel decoder, and speech decoder. This chapter is organized for GSM uplink and downlink, and their implementation in software using MATLAB /

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

50

Simulink. Some simulated results are also presented.

Figure 3.2: GSM traffic channel implemented in SIMULINK

A Simulink based implementation of GSM traffic channel is shown in Figure 3.2. GSM uplink contains bernoulli binary generator, channel coding, interleaving, burst assembling, and modulation. Similarly downlink contains demodulator, burst disassembling, de-interleaving, and channel decoding. Their software implementation are shown in the corresponding sections. we have not shown ciphering and deciphering. GSM uplink Simulink based design as shown in Figure 3.3 is a subset of Figure 3.2 (uplink part). Here bernoulli binary generator is taken as an input bit sequence with data rate 9.6 kbps and frame size of 260 bits like in GSM full rate speech signal. GSM downlink Simulink based design as shown in Figure 3.4 is a subset of Figure 3.2 (downlink part).

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.1. Speech Coding and Decoding

51

Figure 3.3: GSM traffic channel (uplink)

Figure 3.4: GSM traffic channel (downlink)

3.1

Speech Coding and Decoding

Speech coder maps speech into digital blocks. Coder used in GSM phase 1 compresses the speech signal to 13 kbps rate using the Rectangular Pulse Excited Linear Predictable coding with Long Term Prediction (RPE-LTP) technique as per GSM 06-10 specification. And in the GSM phase 2 half rate (HR) Enhance Full Rate (EFR), scheme achieves a rate of 5.6 kbps. EFR provides same quality and better performance than RPE-LTP. These algorithms produce a speech block of 260 bits every 20 ms. Here we are presenting a 1-bit Continuously Variable Slope Delta-Modulation (CVSD) [29, 1] with data rate 8 kbps for speech coding and decoding [7]. CVSD is a modification of Delta Modulation (DM) [21]. DM is a differential waveform quantization / coding

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.1. Speech Coding and Decoding

52

technique. A DM encoder uses the error between the original signal to be coded and the coded signal itself to create a differentially-quantized data stream. This data stream, usually the computer error signal, is a lower-bit-rate signal that can be decoded by a matched decoder on the receiver side and thus achieves data compression resulting in low data transmission rates. CVSD has an adaptive step-size. In the encoded bit-stream, each 1 bit increases the amplitude by the step-size as compared to the previous decoded signal sample. A 0 bit decreases the amplitude by the step-size. By adjusting or adapting the step-size to the changes in slope of the input signal, the encoder is able to represent low-frequency signals with greater accuracy without sacrificing much performance due to slope-overload at higher frequencies. When the slope of the input signal changes too rapidly for the encoder to keep up with it, the step-size is increased. Conversely, when the input signal slope changes slowly, the step-size is decreased. A slope-overload detector and syllabic filter are used in conjunction with a Pulse Amplitude Modulator (PAM) to accomplish the step-size adaption.

3.1.1

Simulink Implementation

Figure 3.5 shows the MATLAB / Simulink based implementation of 1-bit, 8 kbps CVSD speech encoder and decoder [7]. Result with a sample speech (speech signal is given to PC mic as shown in Figure 3.5 and reconstructed from the input from the PC to headphone) is shown in Figure 3.7; top plot is the original speech taken from PC mic, second one is a recovered speech signal, and finally last plot is a bit sequence, which is used further for baseband processing.

3.1.1.1

DSP Implementation: 1-bit CVSD

Figure 3.6 is a TI DSP TMS320C6713 based implementation of 1-bit CVSD speech encoder and decoder. Mic in C6713 DSK ADC, Line in C6713 DSK ADC, and C6713 DSK DAC are the DSP library from MATLAB, these are explained in more detail in the Chapter 6. Figure 3.8 is an expanded version of Figure 3.7, to clearly show the plots.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.1. Speech Coding and Decoding

Figure 3.5: SIMULINK based implementation of 1-bit CVSD encoder and decoder

Figure 3.6: DSP based implementation of 1-bit CVSD encoder and decoder

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

53

3.1. Speech Coding and Decoding

Figure 3.7: Sample speech, recovered speech, and equivalent bit sequence

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

54

3.1. Speech Coding and Decoding

55

Figure 3.8: Expanded form of sample speech, recovered speech, and equivalent bit sequence

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.2. Channel Coding and Decoding

3.2

56

Channel Coding and Decoding

Channel coding [32] adds redundancy to the blocks. As is well known, in GSM, the block of 260 bits is divided into three classes ( Ia , Ib , and II )as in Figure 3.9. CRC (Cyclic Redundancy Check) protection is used to protect the class Ia bits. Then class Ib bits are added to this result. Then the complete class I sequence is convolutional encoded with the rate r = 1/2 and constraint length k = 5 code giving 378 bits which are multiplexed with the 78 unprotected class II bits giving the complete coded speech frame of 456 bits.

Figure 3.9: TCH/FS transmission mode

Reverse operation is done at the decoder as in Figure 3.10.

3.2.1

Simulink Implementation

MATLAB / Simulink base implementation of channel coding and decoding are shown in Figures 3.11 and 3.12. Some simulation results shown below are for AWGN and multipath fading channel. We have taken following parameters for multipath Rayleigh fading plus AWGN: DS (Doppler Shift)=20 Hz, k (constraint length)= 5, 7, and 9, traceback length = 20*k. We obtained phase noise at Eb /No = 10−3 dB for this type of channel environment.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.3. Interleaver and De-interleaver

57

Figure 3.10: GSM channel decoding.

Figure 3.11: SIMULINK based implementation of channel encoding

3.3

Interleaver and De-interleaver

In GSM, 456 bits of speech block from the channel encoder is split into eight groups of 57 bits as shown in Figure 3.13. Each group of 57 bits is then carried in eight different bursts. Interleaving [33] means to de-correlate the relative positions of the coded bits within the code words. Interleaving algorithms avoid the risk of loosing consecutive data bits. Group of 57 bits is carried by a different burst and in a different TDMA frame. Burst contains 148 bits including two successive 57 bits of 456 bits speech code. These

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.3. Interleaver and De-interleaver

58

Figure 3.12: SIMULINK based implementation of channel decoding

two speech blocks are in even and odd blocks in a burst (i.e. block A and block B), block A takes the even positions inside the burst and bits of block B, the odd positions.

Figure 3.13: GSM Interleaving

De-interleaving by reverse operation to the interleaving is as in Figure 3.14, from the burst of 148 bits, extracts 114 bits of speech code are extracted and arranged into a 456

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.3. Interleaver and De-interleaver

59

bits buffer to get the reconstructed audio block.

Figure 3.14: GSM Deinterleaving

3.3.1

Simulink Implementation

MATLAB / Simulink based implementation of interleaver and de-interleaver are shown in the Figures 3.15 and 3.16. Each transmission packet from an MS/BTS must include some extra information such as the training sequence (26 bits). The process of burst assembling is to add these bits (along with some others such as tail bits (3 bits) and 1 stealing bit) to the basic speech/data being sent. This increases the overall bit-rate, but is necessary to counteract problems encountered on the radio path. In GSM, the input to burst assembling is the 456 bits received from ciphering. Burst assembling adds a total of 136 bits per block of 20 ms, bringing the overall total to 592. However, each time slot on a TDMA frame is 0.577 ms long. This provides enough time for 156.25 bits to be transmitted (each bit takes 3.7 µs), but a burst only contains 148 bits. The rest of the space i.e. 8.25 bit-time is empty and is called the Guard Period (GP), but in our simulation system we used 9 bits for guard period as padding in Simulink accepts only integer values. There may be any alternate solution to replace zero padding, but only for simulation purpose we keep 9 bits as a guard period. This time is used to

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.3. Interleaver and De-interleaver

60

Figure 3.15: GSM Channel interleaving and burst formation

enable the MS/BTS ramp up and ramp down. To ramp up means to get power from the battery/power supply for transmission. Ramping down is performed after each transmission to ensure that the MS is not transmitting during time slots allocated to other MSs. The output of burst assembling is a burst of 156.25 bits or 625 bits per 20 ms. When it is considered that there are 8 subscriber per TDMA frame, the overall bit rate for GSM can be calculated to be 270.9 kbits/s. Similarly burst disassembling is done according to Figure 3.16 and then reshape the

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.3. Interleaver and De-interleaver

Figure 3.16: GSM Channel de-interleaving and burst separation

57×8 bits into 456 bits of a frame for further processing like deciphering and all.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

61

3.4. Ciphering and De-ciphering

3.4

62

Ciphering and De-ciphering

Ciphering is used to change the data patterns. The ciphering method does not depend on the type of data to be transmitted, but is only applied to normal bursts. This is achieved by performing an XOR operation between a pseudorandom bit sequences and the 114 bits of each bursts as in Figure 3.17. The deciphering is exactly the same operation like ciphering.

Figure 3.17: GSM Ciphering / Deciphering

We skipped ciphering and deciphering part in our simulation for reduce the complexity of the system. The purpose of ciphering is to encode the burst so that any other device than the intended receiver cannot interpret it. The ciphering algorithm in GSM is called the A5 algorithm.

3.5

Modulation and De-modulation

GSM system uses the Gaussian Modulation Shift Keying (GMSK) with the modulation index h = 12 , filter Bandwidth Times bit period (BT) equal to 0.3 and a modulation rate of 270.8 kbps. A NRZ (Non Return to Zero) signal is integrated and fed to Gaussian filter as in Figure 3.18. The output of filter is then split into in phase and quadrature

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.6. Simulation Results

63

components and then finally modulated by minimum shift keying. GMSK differs from MSK, for it uses pre-modulation Gaussian filter. The time-domain impulse response of the filter is described by the following equation:

h(t) = √

1 e− 2 2π σ T

t2 σ2 T 2

(3.1)

where σ=

p ln(2)/2 π BT

(3.2)

T is the bit period and B is the 3-dB Gaussian filter bandwidth.

Figure 3.18: GSM GMSK modulator block diagram

3.5.1

Simulink Implementation

Modulation and demodulation are studied and implemented on TI DSP TMS320C6713. Section 4.4 gives more details.

3.6

Simulation Results

Figure 3.21 shows the transmitted and received bit sequence. Bernoulli binary generator generates a bit sequence with the data rate 9.6 kbps (taken for test, but one can change

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.6. Simulation Results

64

Figure 3.19: GMSK modulator baseband

Figure 3.20: GMSK demodulator baseband

data rate) and then passes through the GSM uplink and recovered back through GSM downlink. We shall receive delayed bits because of channel and system. But for comparison we adjust by using manual delay system. In Figure 3.21 we can see the error in bits because signal was transmitted at low power level. Figure 3.22 shows the spectrum of signals before (in blue color) and after (in black color) the channel for the data rate 9.6 kbps. Figure 3.23 shows the BER vs. Eb /N0 curves for two types of channel AWGN and Raleigh fading + AWGN channel. Channel coding used convolutional encoding and

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.6. Simulation Results

65

Figure 3.21: Transmitted and recovered bit sequence

Viterbi decoding with k = 5, 7, and 9, Trace back length = 20×k, Doppler shift = 20, and trellis structure poly2trellis(7, [141 165]) is used. Trellis structure is explained in Chapter 5.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

3.6. Simulation Results

Figure 3.22: Spectrum of the signals before and after the channel

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

66

3.7. Conclusion

67

Figure 3.23: Bit error rate vs. Eb /No plots

3.7

Conclusion

We have tried to simulate all the baseband processing of GSM system except ciphering and deciphering. One problem we encountered was with the guard bit (8.25 bits). Instead of 8.25 bits we have used 9 bits in our simulation. If we can set the proper guard bit then, this algorithm can be applied to the real time GSM system using appropriate DSP. Proper GMSK modulation and demodulation is explained in the Chapter 4.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Chapter 4 Modulation and Demodulation Standard GSM system uses GMSK modem because of its constant envelope and bandwidth efficiency. In this chapter we focus on software development of BPSK (Binary Phase Shift Keying), 8-PSK and GMSK modulators and demodulators. We use Costas loop carrier recovery for demodulators instead of commonly described techniques, like in GMSK demodulator four-state adaptive maximum-likelihood sequence estimation (MLSE), coherent and noncoherent detections, or a matched filter detection. It is possible to use the concept in Software- Defined Radio (SDR) by replacing all analog components of a transceiver with programmable DSPs. We give particular attention to the system optimization so for as memory requirements for software development are concerned. Chapter starts with an overview of BPSK as well as 8-PSK, and finally concentrated on GMSK modulator & demodulator. The demodulator consists of a Costas loop for carrier recovery, data recovery, and phase detection. For low data rates, we have tested the scheme on a TIs DSP TMS-320C6713. These are implemented using MATLAB and Simulink tools and tested on TIs DSP using Code Composure Studio (CCS). CCS has been described in more detail in Chapter 6. Carrier has been recovered using a loop of center-frequency locking scheme as in BPSK Costas-loop. Demodulator performance for AWGN channel for different data rates is shown. Performance is measured for Bandwidth Time product (BT = 0.3 and 0.5) with data rate between 8 kbps to 256 kbps. Bit synchronization and image coding and decoding are designed according to the need of demodulator, as explained in Chapter 6. The scheme may find its use in SoftwareDefined Radio (SDR) applications.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.1. BPSK Costas Loop

4.1

69

BPSK Costas Loop

The Costas loop [10, 11] carrier recovery mechanism is to iterate its internally generated carrier from the VCO into the correct phase and frequency based on the principles of coherency and orthogonality. The outputs of both the Low Pass Filters (LPF) give the information about the signals which is modulated using BPSK [30]. We have considered only the carriers coming out from VCO and π/2 phase shifter (i.e. cos ωc t and sin ωc t respectively).

Figure 4.1: BPSK Costas loop block diagram

Figure 4.1 shows BPSK Costas loop. Two LPF represents two parallel tracking loops (I and Q) (i.e. Inphase and Quadrature phase). Simultaneously a loop filter is used to drive the product of the I and Q components of the signal that drives the VCO. Once the frequency of the VCO is equal to the suppressed-carrier frequency, an error voltage is produced proportionally by the I and Q multiplication, which is passed through the loop filter and then VCO to control the frequency of VCO (i.e. carrier frequency).

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.2. Binary Phase Shift Keying (BPSK)

4.2

70

Binary Phase Shift Keying (BPSK)

BPSK is the simplest form of phase shift keying. It uses two phases separated by 180o. It does not particularly matter exactly where the constellation points appear, normally we can say binary data ’1’ corresponds to 0o and ’0’ corresponds to 180o. This modulation is the most robust of all the PSKs since it takes serious distortion to make the demodulator reach an incorrect decision. It is, however, only able to modulate at 1 bit/symbol and so is not suitable for high data rate applications specially when bandwidth is limited.

Figure 4.2: BPSK modem

4.2.1

Modulator

If the carrier signal is of amplitude A then it has a power P = 12 A2 thus we can get A √ = 2P , so the transmitted signal is given by either vBP SK (t) =



2P cos(ωc t)

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

(4.1)

4.2. Binary Phase Shift Keying (BPSK)

or

√ vBP SK (t) = − 2P cos(ωc t)

71

(4.2)

In BPSK [28] the data for example b(t) is a binary bit sequence it could be 1/0 or 1/-1, a matter of convenience. Here we have assumed b(t) = 1V or logic level 1 corresponds to 0o and b(t) = -1V or logic level 0 corresponds to 180o, so in general we write these equations as √ vBP SK (t) = b(t) 2P cos(ωc t) (4.3) 4.2.1.1

Simulink Implementation

A Simulink based implementation of BPSK modem is given by Figure 4.2. Here data bits (b(t)) are taken from Bernoulli binary generator and BPSK signal is generated by applying cos(ωc t), as a carrier to a balanced modulator and b(t) is taken as a modulating signal, just like a DSB-SC (Double Side Band Suppressed -Carrier) modulator. A AWGN channel is simulated for channel environment. Demodulator consist of a Costas loop [17] for carrier recovery and phase detection. Costas loop directly detects in phase and out of phase signal, so Costas loop itself works as a BPSK demodulator. Another method of demodulation is also implemented in the demodulator section. Simulated results of the above system is given by Figures 4.3, 4.4, & 4.5.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.2. Binary Phase Shift Keying (BPSK)

Figure 4.3: BPSK bit sequence, carrier, and modulated signal

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

72

4.2. Binary Phase Shift Keying (BPSK)

Figure 4.4: Transmitted and recovered bit sequences

Figure 4.5: BPSK spectrum from SIMULINK and DSP

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

73

4.2. Binary Phase Shift Keying (BPSK)

4.2.1.2

74

DSP Implementation

Simulink diagram shown in Figure 4.6 is a BPSK transmitter with data rate 1/2 kbps, carrier frequency 4 kHz, and sampling frequency of the DSK board 48 kHz (such a low values are taken due to severe limitation of the DSK board). Encoded data have been taken from the MATLAB workspace through ”From Workspace” using variable ’a’, and after rate conversion multiplied with the carrier signal, which gives BPSK modulated signal which is then outputted DSK board (explained in chapter 6). Figure has two colors green and red; red color demonstrate the higher sampling frequency, similarly green color has sampling frequency which is lower than red.

Figure 4.6: BPSK transmitter for DSP board

Figure 4.7 show the real time signals from DSK board. First waveform demonstrate the data sequence, where darker area is corresponds to logic level 1 and other corresponds to logic level 0, so bit sequence is [1 1 0 0 1 1 1 0 0 0 1 0 1 ] Similarly second signal is a BPSK modulated signal. Figure 4.8 is an expanded form of the BPSK modulated signal.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.2. Binary Phase Shift Keying (BPSK)

Figure 4.7: Real time BPSK signals (bit sequence and modulated)

Figure 4.8: Real time BPSK signals (expanded)

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

75

4.2. Binary Phase Shift Keying (BPSK)

4.2.2

76

Demodulator

We demodulate our BPSK system using two methods; one using Costas loop and other by frequency division method. We present both as a Simulink as well as DSP models for real time implementation. 4.2.2.1

Simulink Implementation

Simulink based implementation of the BPSK demodulator using Costas loop is shown in Figure 4.9. A frequency division method is shown in Figure 4.10. 4.2.2.2

DSP Implementation

As in Figure 4.9 the BPSK modulated signal is fed to board using Line in C6713 DSK ADC and C6713 DSK DAC gives demodulated bit sequence after demodulating BPSK modulated signal using Costas loop. Blue color section shows a Costas loop implementation. Similarly demodulating the BPSK modulated signal using frequency division

Figure 4.9: BPSK demodulator using Costas loop

method is as in Figure 4.10. Here first we recover the carrier signal; by squaring the incoming signal from antenna, then passing it through a narrow band pass filter we can

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.2. Binary Phase Shift Keying (BPSK)

77

extract 2fc frequency component from the received signal. After passing this signal to zero crossing we can generate square wave with same frequency, and then one get fc after frequency division. Finally carrier is recovered at fc using another BPF. We recover the original bit sequence with the help of obtained carrier. Timing recovery is critical for real life application, but for our SDR realization we have skipped this section for the sake of simplicity.

Figure 4.10: BPSK demodulator using frequency division

Figure 4.11 shows a comparison between transmitted (upper signal) and received (lower signal) bit sequence. After filtering and wave shaping to the lower signal, we get [1 1 0 0 1 1 1 0 0 0 1 0 1 ], which is the original transmitted bit sequence.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.3. 8-Phase-Shift Keying (8-PSK)

78

Figure 4.11: BPSK transmitted and recovered bit sequence

4.3

8-Phase-Shift Keying (8-PSK)

Eight-phase PSK is an M-ary encoding technique where M = 8. There are eight possible output phases in 8-PSK system [30]. To encode eight difference phases, the incoming bits are considered to be in groups of three bits, called tribits ( 23 = 8). A Simulink based implementation of 8-PSK system is shown in Figure 4.12.

4.3.1

Modulation

As shown in Figure 4.12 transmitter section has a data in the form of Bernoulli binary sequence generator, then it follows M-PSK modulator block, which splits bits in to a group of three and generates a complex values. The equivalent phase values of every groups of three bits are given in the Table 4.1. Real and imaginary part of complex values are separated for modulating with the carriers cosωc (t) and sinωc (t) using two product modulators and generate Inphase and

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.3. 8-Phase-Shift Keying (8-PSK)

79

Figure 4.12: 8-PSK modem system

Table 4.1: 8-PSK modulator truth table Binary Input 8-PSK output phase 000 −112.50 001 −157.50 010 −67.50 011 −22.50 100 +112.50 101 +157.50 110 +67.50 111 +22.50 Quadrature phase signals respectively. Finally addition of these two gives a 8-PSK modulated signal. For band limiting two band pass filters are used before the summation to each signals. 4.3.1.1

Simulink Implementation

Simulink based implementation is shown in Figure 4.12. The parameters chosen are: data rate = 3 kbps and carrier frequency fc = 6 kHz, low values have again been chosen because of DSK board limitation. The same algorithm can achieve high data rate with high sampling frequency ADC and DAC. Figure 4.13 shows the repeated bit sequence [0 0 0 1 1 0 1 ] (to understand easily), Inphase component, and Quadrature phase components.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.3. 8-Phase-Shift Keying (8-PSK)

80

Similarly Figure 4.14 shows the modulated Inphase and Quadrature phase components with carrier.

Figure 4.13: 8-PSK bit sequence In Phase and Quadrature Phase signal

Figure 4.15 shows spectrum plots of the 8-PSK system. Blue and black color show

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.3. 8-Phase-Shift Keying (8-PSK)

81

Figure 4.14: In Phase and Quadrature Phase carrier components

Figure 4.15: Spectrum of 8-PSK modulator

before (transmitted) and after (received) received waveforms respectively. As we can see the spectrum has a carrier frequency of 6 kHz, and AWGN Eb /No = 10 dB. This is the MATLAB simulated spectrum. A real time spectrum is given in the below section.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.3. 8-Phase-Shift Keying (8-PSK)

82

Figure 4.16: Scatter plots for 8-PSK system

A result with scatter plots is carried out as shown in Figure 4.16, where four plots are grouped. First plot is related to the transmitter section scatter plot, other three are the receiver end scatter plots with channel characteristics AWGN Eb /No = 25, 20, and 15 dB respectively. 4.3.1.2

DSP Implementation

A DSP based implementation of modulator is shown in Figure 4.17, where input bit sequence is taken as a repeating sequence of [0 0 0 1 1 0 1 ] so that we can easily identify the Inphase and Quadrature phase signals corresponding to every bits. We can compare the simulated and real time 8-PSK encoded bits as given in Figures 4.13 and 4.18.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.3. 8-Phase-Shift Keying (8-PSK)

Figure 4.17: DSP based 8-PSK modulator

Figure 4.18: DSP based 8-PSK encoded bits

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

83

4.3. 8-Phase-Shift Keying (8-PSK)

84

Figure 4.19: DSP based 8-PSK carrier components (Inphase and Quadrature phase)

Another comparison between MATLAB simulated carrier components and DSP generated carrier components are shown in Figures 4.14 and 4.19. Figure 4.20 shows the 8-PSK modulated signal, which is taken from DSK board and TDS 1002 Tektronix digital storage oscilloscope. We observe from the figure that there are phase changes other than 180 degree. Carrier frequency is showing 1 kHz, because we have taken carrier signal with sampling frequency 48 kHz in Simulink, and implemented on DSP with DAC (8 kHz sampling frequency), so 6*8/48 = 1 kHz.

4.3.2

Demodulation

8-PSK demodulator consist of carrier recovery, low pass filter, product detector, sample and hold, and a eight level phase detector modules. First stage should be a band pass filter for band-limiting.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.3. 8-Phase-Shift Keying (8-PSK)

85

Figure 4.20: 8-PSK modulated signal

4.3.2.1

Simulink Implementation

A Simulink based implementation is shown on the right hand side of Figure 4.12. Here Costas loop is used for carrier recovery. Implementation of Costas loop is same as in the BPSK system.

4.3.2.2

DSP Implementation

DSP based 8-PSK demodulator is shown in Figure 4.21. Modulated signal is obtainable through Line In C6713 DSK ADC. Then two product modulators are used to detect Inphase and Quadrature phase signal, two inputs for product modulator are; received signal and carrier recovered from Costas loop. After sample and hold to these signals at sampling frequency 1/3rd (because each sample and hold value is corresponds to a three binary equivalent bits, as three bits are grouped in 8-PSK modulator) of data rate, we use it to make complex values for binary 8-PSK decoding, and finally we recover the transmitted bit sequence.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.3. 8-Phase-Shift Keying (8-PSK)

Figure 4.21: DSP based 8-PSK demodulator system

Figure 4.22: Spectrum of 8-PSK system in real time

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

86

4.4. Gaussian Minimum Shift Keying (GMSK)

87

Figure 4.23: Output decoded bit sequence of 8-PSK

Figure 4.22 shows the spectrum of 8-PSK modulator in real time, where carrier frequency is 6 = kHz and data rate = 3 kbps. Figure 4.23 is the demodulated binary 8-PSK decoded bit sequence. We can compare it with the Figure 4.18 which is the simulated result from MATLAB. We see that the two figures are not exactly the same. This is only due to the ADC’s and DAC’s sampling frequency. We can say that the error in bits persists due to quantization (i.e. quantization noise), so at the receiver a quantization noise occur.

4.4

Gaussian Minimum Shift Keying (GMSK)

Gaussian minimum shift keying (GMSK) is a continuous-phase frequency-shift keying modulation scheme. It is similar to standard minimum-shift keying (MSK); however the digital data stream is first shaped with a Gaussian filter before being applied to a frequency modulator. This has the advantage of reducing sideband power, which in turn reduces out-of-band interference between signal carriers in adjacent frequency channels. However, the Gaussian filter increases the modulation memory requirement in the system

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.4. Gaussian Minimum Shift Keying (GMSK)

88

and causes intersymbol interference. We are presenting a GMSK demodulator using Costas loop [17, 30].

4.4.1

Modulation

The data di (t) to Gaussian Minimum Shift Keying (GMSK) modulator is first differentially encoded [22] by performing modulo-2 addition of the current and previous bits, giving bi (t) (as in the standard GSM system), bi (t) = di (t)

M

di−1 (t)

(4.4)

bi (t) has a value either 1 or 0. As input to the GMSK modulator must either be +1 or -1, we convert 1 to -1 and 0 to +1 using, bˆi (t) = 1 − 2 bi (t)

(4.5)

The modulating data, bˆi (t) are then passed through a Gaussian filter which has the response h(t)[22] t2 1 h(t) = √ e− 2 σ2 T 2 (4.6) 2π σ T where σ=

p ln(2)/2 π BT

(4.7)

T is the bit period and B is the 3-dB Gaussian filter bandwidth. The BT product is the relative bandwidth of Gaussian filter which is used in the GSM system and is set to 0.3. The bˆi (t) after passing through the filter is then interlaced into odd bˆoi (t) and bˆei (t) even bits. Modulated signal is then generated by using the following equation [28].

t t vGM SK (t) = A [bˆei (t) sin 2 π ( )] cos ωc t + A [bˆoi (t) cos 2 π ( )] sin ωc t 4Tb 4Tb 4.4.1.1

(4.8)

Simulink Implementation

A Simulink based implementation of GMSK system is shown in Figure 4.25, where left half portion (i.e. before the channel) is the modulator section. Here we have chosen data

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.4. Gaussian Minimum Shift Keying (GMSK)

Figure 4.24: GMSK modulator block diagram

Figure 4.25: GMSK system

rate = 8 kbps, and carrier frequency = 12 kHz.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

89

4.4. Gaussian Minimum Shift Keying (GMSK)

90

Figure 4.26: GMSK input bits, Inphase and Quadrature phase signal

Figure 4.26 shows the Simulink based simulated result of input bit sequence (which we have taken from MATLAB workspace by the variable name ‘a’with the data rate = 8 kbps), encoded Inphase signal, and encoded Quadrature phase signal. Sequence of bits first passed through an integrator and the Gaussian shaped filter with BT = 0.3 and

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.4. Gaussian Minimum Shift Keying (GMSK)

91

produces encoded sequences.

Figure 4.27: GMSK spectrum for BT = 0.1, 0.3, and 0.8

Figure 4.27 illustrate the spectrum of GMSK signals with different BT products (like BT = 0.1, 0.3, and 0.8). This is the MATLAB simulated result. Finally Figure 4.28 shows the GMSK modulated signal (again a MATLAB based simulation results). All the MATLAB simulated results have been verified in the following section through real time simulated results from DSK board. 4.4.1.2

DSP Implementation

Figure 4.29 shows a implementation of GMSK modulator on Simulink for TI DSP. Data sequence is taken from MATLAB workspace again by the same variable name ‘a’. Some results of the real time implemented modulator on TI DSP are given by the following figures.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.4. Gaussian Minimum Shift Keying (GMSK)

92

Figure 4.28: GMSK modulated signal

Figure 4.29: DSP based implementation of GMSK modulator

Figure 4.30 is a real time waveforms which can be compared with the Figure 4.26. We tried to capture the waveforms position same in both the cases i.e. MATLAB simulated and real time simulated for easy comparison.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.4. Gaussian Minimum Shift Keying (GMSK)

93

Figure 4.30: Real time GMSK bit sequence, Inphase, and Quadrature phase signal

Figure 4.31 consists of four graphs, first three are the spectrum of the modulated GMSK (as in Figure 4.28) signal for BT = 0.1, 0.3, and 0.8, and fourth is the modulated signal which can be used for transmission after up-sampling. These figures can be compared with the Figure 4.27 and 4.28 for GMSK spectrum and modulated signal respectively.

4.4.2

Demodulation

As mentioned above carrier is recovered using a loop of center-frequency locking scheme from a BPSK Costas-loop [17]. Subsequently carriers cos ωc t and sin ωc t are extracted from Voltage Controlled Oscillator (VCO) and π/2 phase shifter of the Costas loop. Then cos ωc t is multiplied with the entire GMSK signal which is received at the receiver and called an intermediate signal x(t). Similarly y(t) is produced by using carrier sin ωc t.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.4. Gaussian Minimum Shift Keying (GMSK)

94

Figure 4.31: Real time GMSK spectrum and modulated signal

x(t) and y(t) are given by the following equations. x(t) = vGM SK (t) × cos ωc t

(4.9)

y(t) = vGM SK (t) × sin ωc t

(4.10)

When x(t) is passed through a lowpass filter inphase component [bˆei (t) sin 2 π ( 4Tt b )] is recovered. Similarly y(t) gives quadrature phase component [bˆ0i (t) cos 2 π ( 4Tt b )]. Then we generate the components sin 2 π ( 4Tt b ) and cos 2 π ( 4Tt b ) using known values of Tb , and recovered the original odd and even bit sequences bˆoi (t) and bˆei (t) as shown

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.4. Gaussian Minimum Shift Keying (GMSK)

95

Figure 4.32: GMSK demodulator block diagram

in Figure 4.32. 4.4.2.1

Simulink Implementation

A Simulink based implementation of GMSK system is shown in Figure 4.25, where right half portion i.e. after the channel is the demodulator section. We present BER vs. Eb /No plots based on this system. 4.4.2.2

BER Performance

We present our system response in terms of bit error rate vs. Eb /No plots and compare them with [10, 12, 15]. Parameters for simulation are sampling frequency, symbol rate, carrier frequency, data rate (between 8 kbps to 256 kbps), and bandwidth time product (BT = 0.3 and 0.5). We divide our BER performance in two parts according to the equation given below. Eb S fs dB = ( )dB − (10 log(K))dB + (10 log( ))dB No N fb

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

(4.11)

4.4. Gaussian Minimum Shift Keying (GMSK)

96

where K = ln(M), M is constellation point, 1/fb is symbol rate, and fs is sampling frequency. A. When sampling frequency is fixed:- This is the case in which we take a common sampling frequency for all simulations (as required for DSP). With reference to Equation 4.11, when sampling frequency is fixed Eb /No is directly proportional to symbol rate. A plot for this condition is shown in Figure 4.33 with data rates (64 kbps and 128 kbps) and BT = 0.3. Plot illustrates the performance of the system degradation as data rate is increases.

Figure 4.33: BER vs. Eb /No polt for fixed sampling frequency B. When carrier frequency is varying:- Here we show the performance of system with different data rates, when carrier frequency is varying. We can change the sampling frequency but Figure 4.34 is for fixed sampling and varying carrier frequencies. Plot illustrate that performance degrades when one goes for higher data rates with increase in carrier frequency.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.4. Gaussian Minimum Shift Keying (GMSK)

97

Figure 4.34: BER vs. Eb /No polt for fixed carrier frequency 4.4.2.3

DSP Implementation

Figure 4.35 shows a GMSK demodulator system implemented in Simulink for TI DSP. We use Costas loop as mentioned above. Due to the limitation of DSK board we have chosen data rate = 8 kbps, and carrier frequency = 12 kbps, as sampling rate of the board = 48 kHz.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

4.5. Conclusion

98

Figure 4.35: GMSK Demodulator implemented in MATLAB for TI DSP TMS-320C6713

4.5

Conclusion

Unlike fixed device the use of DSPs provides us flexibility and reconfigurability and allows us to change the system parameters without changing the hardware. We have demonstrated the performance of the model by changing various parameters. This philosophy can aptly be use in SDR applications. We have shown results by BER performance compared to theoretical methods and by Figure 4.36 [10].

Figure 4.36: BER versus Eb = N0 for demodulation via the IFMS GMSK demodulator at a bit rate of 6 Mbps. Spec denotes the design goal specified for the implementation

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Chapter 5 Comparison with Different Decoding Algorithms Channel coding is a method which reduces the channel data rate but increases the reliability of the information. Channel coding is achieved by adding redundancy to the information bits and symbols to a longer coded vector of symbols that are detectable at the receiver. For our study, we have considered convolutional and cascaded convolutional encoder only. Similarly at the receiver we have studied Viterbi and a posteriori probability (APP) decoder. Initially we studied and implemented Viterbi decoder for different polynomial vectors, and found the most efficient result for the GSM for AWGN and Rayleigh fading channel environments. Later on used cascaded convolutional code to enhance the channel reliability.

5.1

Convolutional Code

Convolutional codes are attractive primarily because of on-line decoding for real-life situations. This also find extensive use in mobile communication is include of the GSM system. Viterbi decoding of Convolutional code is well understood. We study the more recent coding strategy: the Turbo code as part of our study.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.1. Convolutional Code

5.1.1

100

Convolutional Encoding

We assume basic familiarity with Convolutional codes. We consider non systematic codes only. To conventionally encode data, we start here with some parameters: Z memory register each holding 1 bit of data, if specified otherwise all memory register holds 0 bit of data, modulo-2 adders, constraint length (k), generator polynomials (n), and mi bits of data. An input bit m1 is fed into the leftmost register. Using the generator polynomials and the existing values in the remaining registers, the encoder produces n output bits. Now there will be a right bit shift in all register values ( m1 moves to m0 , m0 moves to m−1 ) and wait for the next input bit. If there are no remaining input bits, the encoder continues output until all registers have returned to the zero state. The figure 5.1 is a rate 1/2 (m/n) non-recursive, non-systematic convolutional encoder with constraint length (k) = 3. Generator polynomials are G1 = (1,1,1), and G3 = (1,0,1). Therefore, output bits are calculated (modulo-2) as follows: n1 = m1 + m0 + m−1 n2 = m1 + m−1

Figure 5.1: Rate 1/2 non-recursive, non-systematic convolutional encoder with constraint length 3

Here in Figure 5.2 is an another example for a rate 2/3 recursive, systematic convolutional encoder with constraint length (k) = 3.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.1. Convolutional Code

101

Figure 5.2: Rate 2/3 recursive, systematic convolutional encoder with constraint length 3

One can see that input1 and input2 are encoded with output1 and output3 respectively.

5.1.2

Encoder Parameter

Convolutional encoder can be explained through a trellis structure. A trellis description of a convolutional encoder shows how each possible input to the encoder influences both the output and the state transitions of the encoder. This section describes trellises, and how to represent trellises. The Figure 5.3 below depicts a trellis [16] for the convolutional encoder of the previous section. The encoder has four states (numbered in binary from 00 to 11), a one-bit input, and a two-bit output, (The ratio of input bits to output bits makes this encoder a rate = 1/2 encoder). Each solid arrow shows how the encoder changes its state if the current input is zero, and each dashed arrow shows how the encoder changes its state if the current input is one. The octal numbers above each arrow indicate the current output of the encoder. As an example of interpreting this trellis diagram, if the encoder is in the 10 state and receives an input of zero, it outputs the code symbol 3 and changes to the 01 state. If it is in the 10 state and receives an input of one, it outputs the code symbol 0 and changes

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.2. Viterbi Decoder

102

Figure 5.3: A trellis structure for convolutional encoder

to the 11 state. Matlab command for trellis structure is poly2trellis. It contains constraint length, generator polynomials, and possibly feedback connection polynomials (i.e. poly2trellis (constraint length,[generator polynomials], feedback)). For example as in Figure 5.1 and 5.2 trellis structure can be written as poly2trellis(3,[7 5]) and poly2trellis([3 3],[7 0 5;0 7 6],[7 7]) respectively. All numbers are in octal formats like (1 1 1) for 7, (1 0 1) for 5 etc.

5.2

Viterbi Decoder

The Viterbi Decoder decodes input symbols (convolutionally encoded) to produce binary output symbols. Viterbi decoder can process several symbols at a time for faster performance. It uses the maximum likelihood estimation concept to predict the most likely transmitted sequence. P (Y |X ′ ) = max[P (Y |X)]overallX (5.1) Where Y is the received sequence and X is one of the possible transmitted sequences, and chooses the maximum (the closest possible received sequence) [3]. Viterbi algorithm basically makes a trellis diagram of the best probable paths, and after some depth (called traceback depth) the paths are traced back to obtain the most likely transmitted sequence.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.3. Trellis Diagram

103

Decoder accepts both soft and hard type of input data, soft type of data means input to the decoder has more than two levels of decision, while hard type of data has only two levels 0 and 1. Soft decoder provides an improvement of approximate 2dB in bit error rate from that of a hard decoder. The main computational functional blocks in the Viterbi decoder are the Branch Metric computation and the Add Compare Select (ACS) operation. The branch metric calculation is based on either soft bits or hard bits.

5.2.1

Decoder Parameter

Viterbi decoder uses the same trellis structure parameters as at encoder, i.e. the values of trellis structure should be the same for both encoder and decoder. Length of trellis path depends on traceback depth, longer the traceback depth the larger the trellis will grow and the larger the memory requirements. So the traceback depth depends mainly on the memory management of the algorithm. The performance of the codes is drastically affected if the traceback depth is made too short. An optimal trace back depth of 5*k (constraint length) is generally used for unpunctured codes. Decision type as stated above could be soft or hard. Matlab excepts unquantized decision type data also, which could be real numbers i.e. positive real (logical zero) negative real (logical one).

5.3

Trellis Diagram

Here we take an example of trellis diagram for both convolutional encoder and Viterbi decoder for rate = 1/2 and constraint length k = 3 as in Figure 5.1. Let us take an input data sequence ( m1 ) for character [sv] that is [1 1 1 0 0 1 1 1 1 1 0 1 1 0]. For every input bit ( m1 ) there are two output bits ( n1 n2 ), defining a rate = 1/2 encoder. Because output symbols ( n1 n2 ) are computed across three bits (the incoming bit and the two previous bits) this coder has constraint length given by (k=3). The polynomials [5,7] define the XOR connections. The initial state ( m0 m−1 ) of the flip flops is assumed to be 00. Two zeros are appended to the incoming data to flush the circuit and return to the 00 state at the end. Figure 5.4 shows the trellis diagram for convolutional

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.3. Trellis Diagram

104

encoder.

Figure 5.4: A trellis diagram for convolutional encoder

Each dibit symbol ( n1 n2 ) received corresponds to one of two possible state transitions corresponding to either 1 or 0 in the original message bits. As originally generated, the symbols describe a continuous path through the trellis. The challenge of decoding the input symbols is to find the best fit path (assumed to start at 00) while correcting any erroneous symbols along the way. Once this path is found, the output bits can be identified. In Viterbi decoding, all possible paths through the trellis are examined to find the path that best matches the input symbols. As different paths are tested and poor choices terminated, the cumulative errors are computed for each candidate path. Here, two input bits have been corrected as shown with X. The result is a continuous path through the trellis which, compared to other choices, yields the smallest cumulative error. The path ends at state 01 with an error of 2 bit. The numbers shown in the Figure 5.5 above each state in the final trellis diagram are the cumulative distances (d) associated with the best-fit paths found through the trellis starting at state 00 and terminating at each of the four possible flip-flop states after each symbol is received. The point where two paths would meet at the same state, the path with the larger error is terminated. The best path having the smallest error ends at state 01 with error d = 2. This configuration has df ree = five.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.4. Turbo Decoder

105

Figure 5.5: A trellis diagram for Viterbi decoder

5.4

Turbo Decoder

Decoding algorithms employed in wireless communication use either hard decision decoding or soft decision decoding. Quantization is used in soft decision e.g. in Viterbi decoding. Similarly in iterative decoders (Turbo Codes) either serially concatenated or parallely concatenated decoders with interleavers use soft-input soft-output (SISO) and additive loglikelihood version (L-SISO) algorithms, to compute a posteriori probability (APP). Even though soft decision is more powerful than hard decision decoders, many systems can not use soft decision algorithms, e.g. in GSM. In GSM channel decoding is used after de-interleaving. So, if one were to use iterative decoding, one is constrained to hard decision decoders. We propose the uses of soft decision iterative decoders (Turbo codes) in place of hard decision data (i.e. data in binary format). We compare the performance of hard decision Viterbi decoder with iterative decoders. We assume that the channel receives data in the binary format. There are various techniques to implement channel coding and decoding, with either hard decision decoding or soft decision decoding algorithms. There may be two situations for GSM application, one in which soft decision is used [6], the other in which conventional hard decision is used. The authors [6] have used matched filter and have used the soft decoding Viterbi decoding algorithm. They have proposed a kind of receiver structure for GSM system, which is not conventional. Since soft decision provides improved performance we would like to investigate the soft decision algorithm but using a turbo code. We study Serially

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.4. Turbo Decoder

106

Concatenated Convolutional Codes (SCCC) [4, 20], an algorithm based on soft-input soft-output (SISO) and additive log-likelihood version (L-SISO), to compute a posteriori probability (APP) with a random interleaver [5] between the two convolutional coders [2]. APP decoder is a two-input two-output device that accepts the quantity LU (I), LC (I) as inputs. The outputs are the quantities LU (O), LC (O). The input LU (I) represents the sequence of log-likelihoods of encoder input bits, while the input LC (I) represents the sequence of log-likelihoods of code bits. The outputs LU (O) and LC (O) are updated versions of these sequences, based on information about the encoder. It can be shown that this gives better result than hard and soft decision Viterbi decoders (we use hard decision type decoders only, for the channel, where data is in the binary format only), and convert the hard decision parameters suitably, as given in the system model in section below. We demonstrate our result by two convolution encoders in cascade, the first has k (constraint length) = 3 and rate r = 1/2, and second has k = 3 and rate r = 2/3. This iterative decoder gives a overall rate r = 1/3, whereas Viterbi decoder has k = 7 and rate = 1/2. We show that bit-error rate (BER) in our scheme is comparatively better than the Viterbi decoder when number of iteration, and block size of turbo codes are increased. We show these by presenting simulation results (bit-error rates vs. Eb /No ) with the AWGN channel using MATLAB and Simulink. The comparison has been carried out between serially concatenated convolution codes (SCCC) i.e. Turbo Codes with the Viterbi decoder, for various existing phase modulation techniques particularly BPSK, QPSK, and 8-PSK. Parameters for comparison are constraint length K = 7, rate r = 1/3, 1/2, number of iteration (2 and 8), block size (512 and 2048), and bit rate (9.6 kbps).

5.4.1

SCCC (Turbo Encoder / Decoder)

A system for SCCC turbo encoding [20, 8] is given in the Figure 5.6, where outer convolution encoder is chosen with constraint length k = 3, and rate r = 1/2, inner convolutional encoder followed by random interleaver has constraint length k = 3, rate r=2/3. Similarly for Viterbi decoder k = 7, rate r = 1/2 is taken. In Figure 5.6 input data sequence dk is in the binary format which is encoded at rate r = 1/3 and finally sequence ck data is then fed to the modulator (which uses various phase modulation techniques) Similarly, on the other hand, sequence dk is convolved by the rate r = 1/2 for Viterbi decoder and converted to sequence ck . Output of the modulator is y(t) (noiseless complex valued channel sequence). The signal y(t) is transmitted through an AWGN (Additive White

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.4. Turbo Decoder

107

Gaussian Noise) channel.

Figure 5.6: SCCC Turbo encoder

The corrupted signal due to AWGN channel y ′(t) (noisy complex valued channel sequence with noise n(t)), is demodulated using appropriate demodulation techniques. The received data sequence c′k is a binary data. To use turbo decoder on c′k , we have converted c′k into bipolar and multiplied by the AWGN variance gain = (2/[1.5 × 10(−Eb/N o/10) ]), obtaining the data sequence x(t) in integer format, which is required in SISO or L-SISO of the turbo decoding algorithm. x(t) = (2/[1.5 × 10(−Eb/N o/10) ]) × c′k we have imple-

mented the algorithm given in [20], i.e. we have implemented APP algorithm for iterative decoders. Quantization noise will occur due to the rounding of the data while converting unipolar data sequence to bipolar, but even then the result is better than the Viterbi decoder. Turbo decoder as in Figure 5.7 consists of two APP decoders: inner APP decoder and an outer APP decoder. x(t) is the coded input data sequence for inner APP

decoder. Another input to this decoder is a random deinterleaved of the coded data sequence coming from outer APP decoder. Outer APP decoder uses all zero data sequence as uncoded input, and coded input to this decoder is a random interleaved of the un-coded data sequence coming from inner APP decoder. Finally d′k is a un-coded data sequence coming from outer APP decoder.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.4. Turbo Decoder

108

Figure 5.7: SCCC Turbo decoder

LU I (O) = AP P [I −1(LCO (O)m ), x(t)m ]n

(5.2)

Inner APP decoder m = block size, n = no. of iteration. LU O (O) = AP P [I −1(LU I (O)m ), Z(t)m ]n

(5.3)

Outer APP decoder m = block size, n = no. of iteration. d′k = if [ LU O (O)m > 0 ] = 1 else= 0 APP[x,y] is L-SISO or SISO algorithm of Turbo decoder between x and y. LU I (O) is the un-coded output of the inner APP decoder, LCO (O) is the coded output of the outer APP decoder, LU O (O) is the un-coded output of the outer APP decoder, Z(t) denotes set of zero values of the size of block size, I and I −1 denotes interleaver and deinterleaver respectively.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.4. Turbo Decoder

5.4.1.1

109

DSP Implementation

Basic MATLAB variables for Turbo decoder are given below, MATLAB code is also given in Appendix A.1: Number of Iteration→ NoOfItr = 2 and 8 ; Block size for the random interleaver → BlockSz = 512 and 2048 ;

Initial seed for the PRBS (Passive Random Bit Sequence) used as data → IntSeed = 191000; Energy per bit to noise ratio → EbNo = 0 to 16; Signal to noise ratio → SNR = 2; AWGN channel variance gain → EbNoVar = 1.5*10ˆ(- EbNo/10); Offset used in Turbo decoder → OffSet = 10;

We need to initialize all these parameters through a MATLAB editor before uploading the program in to the DSP board. When we upload the program through CCS (Code Composure Studio) to DSP, parameters are inherited from the workspace. DSP equivalent Simulink program for SCCC (Turbo encoder) as explained above (according to Figure 5.6) is shown in Figure 5.8. Similarly DSP equivalent Simulink program for SCCC (Turbo decoder) as explained above (according to Figure 5.7) is shown in Figure 5.9.

Figure 5.8: SCCC Turbo encoder TI DSP based implementation

Both program have Line in C6713DSK ADC, Line out C6713DSK DAC, and DSP library C6713DSK. Both ADC and DAC should have same sampling frequency. We have

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.5. Comparison

110

Figure 5.9: SCCC Turbo decoder TI DSP based implementation

chosen 48 kHz sampling frequency for testing purposes.

5.5

Comparison

A comparison between iterative (Turbo) and Viterbi decoder can be carried out as suggested in Figure 5.10 using modulation technique BPSK at data rate 9.6 kbps. We have taken the parameters for Viterbi decoder as k = 7, r = 1/2 and Turbo decoder no. of iterations = 2, 8 and block size = 512, 2048. As we can see from the figure red color plot (which corresponds to no. of iteration = 8 and block size = 2048) of Turbo decoder improved by about 1.8 dB compared to brown color plot of Viterbi decoder. We conclude that as the number of iteration, and the block size of random interleaver is increased the iterative decoder gives better improvement compare to Viterbi decoder. Another comparison is shown in Figure 5.11 with the same data rate but for the QPSK (Quadrature Phase Shift Keying). All the parameters for both the decoders remain same as above. Result again shows an improvement of about 1.8 dB, as shown in red compare to Viterbi’s brown color plot. We extend the same comparison for 8-PSK and show the result in Figure 5.12. All

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.5. Comparison

111

Figure 5.10: BER vs. Eb /No plots of BPSK

Figure 5.11: BER vs. Eb /No plots of QPSK

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

5.6. Conclusion

112

Figure 5.12: BER vs. Eb /No plots of 8-PSK

the parameters remain same. As one increases the modulation order, the need of power is increased proportionally for both the decoding techniques, but still iterative decoder gives better improvement. However, there is a limitation. If we increase the number of iteration, system complexity and time for correction of a bit is increased, affecting the data rate. Hence there is a tradeoff between data rate and number of iteration.

5.6

Conclusion

In this chapter we have demonstrated that iterative decoders perform better than Viterbi decoders. This kind of tradeoff between BER and Eb /No will always exist in communication. Transceiver power, complexity of implementation, and delay are the parameters of concern. Performance of our hard decision type iterative decoder is degraded by 1.5 dB compare to soft decision type iterative decoders as G. Montorsi in [20], but is improved nearly by about 2 dB compared to hard decision Viterbi decoder as also projected by Mohamed Farid in [3].

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Chapter 6 TI DSP TMS-320C6713 for Baseband Processing First two section of the chapter deal with TMS320C6713 DSK module and CCS (Code Composure Studio) followed by a section describing the implementation of SDR realization for some real time applications. In our SDR realization we have focused on the data transfer type application. Audio and video applications could not be performed because of the limitation of A/D/A’s sampling rate of DSK board.

6.1

Introduction to the TMS320C6713 DSK Board

This section provides a description of the TMS320C6713 DSK along with its key features and functioning.

6.1.1

Key Features

The TMSC6713 DSK is a low-cost standalone development platform that enables users to evaluate and develop applications for the TI C67xx DSP family. The DSK also serves as a hardware reference design for the TMS320C6713 DSP. The DSK comes with a full compliment of on-board devices that suit a wide variety of application environments.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.1. Introduction to the TMS320C6713 DSK Board

114

Table 6.1: Key features of TMS320C6713 DSK Board Key features A Texas Instruments TMS320C6713 DSP operating at 225 MHz. An AIC23 stereo codec (8-96 kHz sample rates) 16 Mbytes of synchronous DRAM 512 Kbytes of non-volatile Flash memory (256 Kbytes usable in default configuration) 4 user accessible LEDs and DIP switches Software board configuration through registers implemented in CPLD Configurable boot options Standard expansion connectors for daughter card use JTAG emulation through on-board JTAG emulator with USB host interface or external emulator Single voltage power supply (+5V)

6.1.2

TMS320C6713 DSK functioning

The DSP on the 6713 DSK interfaces to on-board peripherals through a 32-bit wide EMIF (External Memory Inter Face). The SDRAM, Flash and CPLD are all connected to the bus. EMIF signals are also connected with daughter card expansion connectors which are used for third party add-on boards. The DSP interfaces to analog audio signals through an on-board AIC23 codec and four 3.5 mm audio jacks (microphone input, line input, line output, and headphone output). The codec can select the microphone or the line input as the active input. The analog output is driven to both the line out (fixed gain) and headphone (adjustable gain) connectors. McBSP0 is used to send commands to the codec control interface while McBSP1 is used for digital audio data. McBSP0 and McBSP1 can be re-routed to the expansion connectors in software. A programmable logic device called a CPLD is used to implement glue logic that ties the board components together. The CPLD has a register based user interface that lets the user configure the board by reading and writing to its registers. The DSK includes 4 LEDs and a 4 position DIP switch as a simple way to provide the user with interactive feedback. Both are accessed by reading and writing to the CPLD

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.1. Introduction to the TMS320C6713 DSK Board

115

registers. An included 5V external power supply is used to power the board. On-board switching voltage regulators provide the +1.26V DSP core voltage and +3.3V I/O supplies. The board is held in reset until these supplies are within operating specifications. Code Composer communicates with the DSK through an embedded JTAG emulator with a USB host interface. The DSK can also be used with an external emulator through the external JTAG connector.

6.1.3

Basic Operation

The DSK is designed to work with TIs Code Composer Studio development environment and ships with a version specifically tailored to work with the board. Code Composer communicates with the board through the on-board JTAG emulator. To start, follow the instructions in the Quick Start Guide to install Code Composer. This process will install all of the necessary development tools, documentation and drivers. After the install is complete, these steps are followed to run Code Composer. The DSK must be fully connected to launch the DSK version of Code Composer. 1) Connect the included power supply to DSK. 2) Connect the DSK to the PC with a standard USB cable. 3) Launch Code Composer from its icon on the desktop or if one is using Simulink then it starts automatically after compiling through configuration parameter of the Simulink model. Detailed information about the DSK including a tutorial, examples and reference material is available in the DSKs help file. One can access the help file through Code Composers help menu. It can also be launched directly by double-clicking on the file c6713dsk.hlp in Code Composers docs\hlp subdirectory, if one has installed in one PC.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.2. Interface between MATLAB and CCS

6.2

116

Interface between MATLAB and CCS

Embedded IDE (Integrated Development Environment) Link CC connects MATLAB and Simulink with the Code Composure Studio embedded software development environment from Texas Instruments (TI). Embedded IDE Link CC software lets one debug and verify embedded code running on TI DSPs using MATLAB scripts and Simulink models. One can use a realization module created in MATLAB and Simulink as a test harness to verify both hand written and automatically generated embedded code. We can use Embedded IDE Link CC with Real-Time Workshop to generate complete Code Composure Studio projects, including application C code and linker command files, from Simulink models. We can rapidly prototype our design and perform processor-inthe loop (PIL) simulation on all TI DSPs supported by CCS, such as C2000, C55xx, and C6000 families of DSPs. Table 6.2: Key features of Embedded IDE Link CC S. No. Embedded IDE Link CC: Key features 1 Automates software debugging and verification for TI DSPs using MATLAB and CCS 2 Generates CCS projects for TI DSPs from Simulink models 3 Supports PIL simulation with C2000, C55xx, and C60000 processors using the same MATLAB and Simulink test vectors for system design and simulation as for embedded code verification 4 Provides synchronous and asynchronous schedulers in multitasking mode in the code from Simulink model 5 Provides a real-time execution profiler for profiling programs running on a target processor 6 Supports high-speed real-time data exchange between the DSP and the XDS510 and XDS560 emulators for debugging hardware targets from MATLAB

6.2.1

A simple Simulink model (Single Board System)

A simple Simulink model is presented in Figure 6.1, where Line In C6713 DSK ADC is used to take the data (signal) in to the board and similarly C6713 DSK DAC is used to take the data (signal) out from the board. As stated above in key feature that the AIC23 stereo codec has ADC and DAC working with sampling rate 8, 16, 32, 44.1, 48, and 96

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.2. Interface between MATLAB and CCS

117

Figure 6.1: A simple program in Simulink

kHz and word length 16, 20, 24, and 32 bit. In Figure 6.1 we have selected sampling rate = 96 kHz and word length = 32 bit so that we can observe better response of the system. Before doing anything one has to do some pre-configuration setup through Code Composure Studio Setup for the DSK board to work with TMS320C6713 DSP processor. Pre-configured board description is: One Sectrum Digital TMS320C6713 DSK connected via USB set to i/o port 0x540. We have to check our USB drivers that it works properly, through 6713 DSK Diagnostics Utility. Now we are going to check a simple Simulink model as in Figure 6.1. Open the Simulink model in MATLAB go to Configuration parameter in Simulation tab, then go to Real time workshop and click to Generate code. The sequence of operation as in Appendix B.1 is done by MATLAB which we can observe in the MATLAB command window. The basic header and source codes of the model can be seen in the code composure studio as given below. Embedded IDE Link CC with Real-Time Workshop generates the complete code composure studio project including these header and source files.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.2. Interface between MATLAB and CCS

118

1. ADCDACtest types.h 2. ADCDACtest.h 3. ADCDACtest private.h 4. ADCDACtest.c 5. ADCDACtest main.c A Simulink model as in Figure 6.1 is implemented in a single board system like in Figure 6.2. As mentioned above the model is compiled through MATLAB and an equivalent CCS project is transferred to the DSK board via USB and compiled according to CCS. The compilation steps are given in Appendix B.2, which we can observe in the CCS compiling window. After compilation procedure is finished the DSK board is ready to be used according the Simulink model. We present a simple model as in Figure 6.1 as an example, where Line In of the DSK board is used as an input port to the DSK board and Line Out is used as an output port from the DSK board. As in Figure 6.1 only ADC and DAC blocks are used, means we are testing here AIC23 ADC and DAC of the DSK board for sampling rate = 96 kHz, and word length = 32. If we were to use a function generator (refer Figure 6.2) as input to DSK board then signal should have frequency less than 96/2 kHz according to Nyquist criteria. DSK board performs analog to digital conversion of signal that has less than 96/2 kHz frequency and again converts digital to analog and send it to DSK out port. Some results from the DSK board are presented in Figure 6.3 and 6.4. Figure 6.3 shows the input signals, sine and square wave from of 1 kHz and 10 kHz respectively, as upper waveforms in each plot. Lower waveforms show the outputs corresponding to sine and square waves. Output of square wave is differentiation of the input wave because output of the DSK board is internally coupled with a capacitor. Figure 6.4 illustrates a comparison between Line In and Mic In of the DSK board using square wave of 1 kHz. C6713 DSK ADC has two types of input data source either Line In or Mic In, Mic In has a +20dB gain boost, which is shown in Figure 6.4 by the second figure. We can compare the scale of Channel 2 of the CRO’s output waveforms,

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.2. Interface between MATLAB and CCS

119

Figure 6.2: A single board test system

Figure 6.3: A input output comparison

in first figure it has 2.00V/div and in the second figure it has 20.0V/div with the same waveform i.e. voltage gain of 10. Here output waveform of second figure is delayed with some phase; this may be because of a phase shift due to gain and frequency (because output is coupled with capacitor).

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.2. Interface between MATLAB and CCS

120

Figure 6.4: A square wave comparison

6.2.2

A Double Board Systems

We have design and tested our Simulink based algorithm using two boards. These two boards are configured in two ways; one-directional flow of the signals (i.e. either transmitter or receiver) and bi-directional flow of the signal (i.e. transceiver).

6.2.2.1

Transmitter or Receiver

Figure 6.5 shows a system assembly of a double board, first board has been used as a transmitter and second as a receiver. PCs have MATLAB (with required toolboxes) and CCS installed, PC at receiver end is also connected with the output port of the DSK board, so that we can decode and display the received information on the screen. Direction of the signal flow is shown by the arrows. Input signal to the DSK board could be either real time analog or PC generated binary signal, so both the input options are shown in figure.

6.2.2.2

Transceiver

Figure 6.6 shows a system assembly of a double board; both the boards work as transceiver. According to our implementation transceivers may work in synchronous or asynchronous mode according to the application run on the board. Two examples are given, one for

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.2. Interface between MATLAB and CCS

121

Figure 6.5: A double board test system (Transmitter or Receiver)

each. Figure 6.6 shows an asynchronous mode system. For example, we consider an SMS application, where we need to transfer encoded data using any digital modulation scheme. As in figure let’s take transceiver 1 as a transmitter, so text data is first encoded and transferred to the DSK board through input port (blue color wire) or via USB with the program itself. Then transceiver 2 works as a receiver, which takes the modulated data (through brown line wire) in to DSK input port, demodulates it and sends it back to the receiver end PC via output port (red line wire). If situation is reversed then transceiver 2 works as a transmitter and transceiver 1 as a receiver. Second example for synchronous mode could be for speech communication when both the systems transfer data simultaneously. DSK board has two input and two output ports, both the output ports have same signal while board is running, but only one input port can be used at a time. We have two inputs; modulated signal as well as speech signal, so after mixing these two in frequency domain we can work with single input port, and by using the algorithm we can separate out in two channels (modulated signal for demodulation and speech for modulation).

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.3. SDR Realization using DSP TMS-320C6713

122

Figure 6.6: A double board test system (Transceiver)

6.3

SDR Realization using DSP TMS-320C6713

Figure 6.7 shows a MATLAB based GUI (Graphical User Interface) for our SDR realization. Realization can be visualized as consisting of three panels one for each application; SMS (Short Message Services), MMS (Multi-Media Services), and voice call services. Working principle and details of each panel are explained in the following sections with suitable algorithms. A complete MATLAB code for this GUI is given in the Appendix A.2.

6.3.1

SMS Application

In the GUI first panel shows the SMS service, which contains four windows and four buttons. Upper big window is the place to type message and lower big one is the place

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.3. SDR Realization using DSP TMS-320C6713

123

Figure 6.7: GUI for our SDR realization

to read message, similarly corresponding small windows are to display message status, upper for send message and lower for receive message. Role of pushbuttons: 1. Send :- To send the encoded text data using BPSK modulation technique, after pressing this button Simulink model ”sms psk mod.mdl ” as in figure 4.6 is executed and uploaded to DSK board. Now DSK board gives the modulated signal out from output port. 2. Load DSK :- At the receiver end to demodulate the received modulated signal, a Simulink model ”sms psk demod.mdl ” as shown in Figure 4.10 is executed and uploaded to DSK board, and gives the equivalent binary data. 3. Show :- This action displays the recovered text message in to receiver window using Simulink model ”bit22char.mdl ” as shown in Figure 6.11.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.3. SDR Realization using DSP TMS-320C6713

124

4. Clear Status :- After pressing this button all the text windows are reset, and set to default status. 6.3.1.1

Character Encoding

A flow chart is shown in Figure 6.9 which explains the encoding process of the SMS application. In SMS application we display an error, when text length including blanks is greater than 160 characters. We take the text data from GUI edit window and find the length of the same, if condition meets (i.e. length <= 160) we convert equivalent American Standard Code for Information Interchange (ASCII) integer values for each characters or blanks, ASCII codes are shown in Figure 6.8. For example a text ‘LNM’has equivalent ASCII codes 4C, 4E, and 4D and binary equivalents are 1001100, 1001110, and 1001101. Now after adding a guard bit final sequence to be modulated is [10011001001110100110100000000000010], where fourteen bit sequence [00000000000010] is a guard bit.

Figure 6.8: ASCII codes

Theory behind selecting sequence of fourteen bits as a guard bit is to identify end and start bits from the information bit sequence. Fourteen bits are equivalent to two characters 02H which has the values STX (i.e. start of text). BPSK modulator modulates the complete bit sequence (information + guard bit) in cyclic repetition mode. This method

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.3. SDR Realization using DSP TMS-320C6713

125

is designed only for our SDR realization, it may or may not be followed by some existing applications.

Figure 6.9: Flow chart for SMS encoder

6.3.1.2

Character Decoding

In this section we are going to recover transmitted text data which is received at the receiver. As DSK board can not give exact digital data at the output port, so with the help of MATLAB and Figure 6.11 we reshape the analog binary data received through

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.3. SDR Realization using DSP TMS-320C6713

126

mic jack. In Figure 6.11 we use a variable bout to send binary data to the workspace, it has a length 7*(160+2+160+2+32) bits, where 7 denotes number of bits for a character equivalent to ASCII code, 160 is maximum number of character in an SMS, 2 is length of guard bit (equivalent to STX = 02H), and 32 is offset. Simulink model bit22char.mdl as shown in Figre 6.11 is executed only for time = 7*(160+2+160+2+32)/500 second, where 1/500 denotes data rate i.e. 1/2 kbps..

Figure 6.10: Flow chart for SMS decoder

At the receiver we already familiar with the guard bit. Using the pattern [00000000000010] we search the locations, where guard bit starts. Between two consecutive guard bit lo-

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.3. SDR Realization using DSP TMS-320C6713

127

Figure 6.11: A Simulink model to decode the received data

cations there is the guard bit and information bit sequence. The guard bit is subtracted and finally we extract the information bit sequence. Similarly another two consecutive guard bit locations give another information bit sequence. Among these information bit sequences we find most likelihood sequence, which minimizes error. Now arranged recovered bits in to 7 bits, then finds equivalent characters and send to GUI show window.

6.3.2

MMS Application

Second panel in the GUI (Figure 6.7) shows a MMS application, it has one graph window, one image status window and four buttons. One can see both the transmitted and received image in graph window. Image status window display the status of sent image only, receive status need not to be there, because image is directly receive in the graph window. Role of pushbuttons: 1. Load (Loading image from PC):- After pressing this button a directory opens (preferred last open directory), where one can select any image. Basically size doesn’t

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.3. SDR Realization using DSP TMS-320C6713

128

matter but then one has to tell the receiver about the size. So we preferr image size 128*128 or 256*256, image could be black & white or RGB color in any image format, but we preferred JPEG format. Encoding of image can be done through MATLAB or DSK board, here we use MATLAB for encoding image and converting in to bit sequence. 2. Send :- After executing send option a Simulink model san GMSK mod.mdl as in Figure 4.29 is executed, and appropriate program is uploaded in to DSK board. Now DSK board output port gives the GMSK modulated signal. 3. Receive :- Receive pushbutton execute a Simulink model san GMSK demod.mdl as in Figure 4.35 and recover the transmitted bit sequence. Recovered bit sequence is saved by the variable name bitout img in the MATLAB workspace for further processing. Another Simulink model bit22img.mdl a copy of bit22char.mdl for different time is executed to reshape the binary data. 4. Save :- This option gives the facility to save any received image to the desired location in the PC.

6.3.2.1

Image Encoding

We have taken the image data and saved in a row vector as shown in the flow chart (Figure 6.12) and then, to avoid the occurrence of integer data 0, we added integer value 3 to each elements of row vector. Now the integer data range we obtained is 3 to 258, so we needed a 9-bit integer to bit converter. To avoid the need of additional bit, we multiplied with a factor 255/258 to each elements of row vector, and has taken the rounding value, which produced integer range from 3 to 255. Now we converted integer to binary data and finally arranged in the bit stream to use in GMSK modulator. File size reduction: For any image file, size is a major problem, as it has three color. For example we take a image with size 100*100*3 (for color), so the actual size for this image in bits is 100*100*3*8 = 240,000 i.e. 240 kbits. If we use a modulation scheme with the data rate 3 kbps then the time taken to transmit these bits is 240/3 = 80 seconds, but in actual, including encoding and decoding it reaches up to ∼300 seconds. To reduce the file size

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.3. SDR Realization using DSP TMS-320C6713

129

we use integer range 0 to 31 instead 0 to 255 with a compromise in color quality. Now the time taken for the same image is 100*100*3*5/3000 = 150,000/3000 = 50 seconds, and also take less time to encode and decode and roughly ∼150 seconds in combination. There is not any hard and fast rule to reach 300 seconds or 150 seconds, it depends on how fast PC encode and decode to an image.

Figure 6.12: Flow chart for Image encoder

6.3.2.2

Image Decoding

At the demodulator, reverse process has to be done to obtain the original integer data range from 0 to 255 for the image as shown in flow chart Figure 6.13.

6.3.3

Voice Application

We have designed a 1-bit CVSD speech coder and decoder with data rate 8 kbps in the section 3.1.1. We are using TI DSK board TMS320C6713 it has AIC32 ADC and DAC, it has maximum sampling rate 96 kHz. So if one uses a modulation to modulate 8 kbps data it requires a carrier in the order of the 8 kHz or more, and then DSK board doesn’t

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.4. Limitation and Solutions

130

Figure 6.13: Flow chart for Image decoder work efficiently. So one can use our program which can work with high speed ADC / DAC keeping algorithm same.

6.4

Limitation and Solutions

The loop filter in Costas loop, for carrier recovery, is to find out the phase changes giving corresponding d.c. values. If the phase change does not occur for a long time, the output of the filter is a zero d.c. value, and hence carrier tracking gets stopped. This condition occurs when the information bit sequence has a 0 or 1 for a long time. To circumvent this to arise we consider three situations for preventing long 0 or 1 bit sequence;

6.4.1

Voice

When the silence occurs between the communication bursts or get saturated due to sudden noise like thundering, the solution could be Automatic Gain Control (AGC).

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

6.5. Conclusion

6.4.2

131

Text data

As we have encoded text data using ASCII codes, the equivalent code for ”space” is 20H (i.e. ”0 1 0 0 0 0 0” five continuous 0 sequence) and for ” ∼” is 7E (i.e. ”1 1 1 1 1 1 0” six continuous 1 sequence). With many combinations we reached with the result, that no more than twelve continuous 0’s or 1’s come in the encoded data sequence. So solution is to keep the loop filter cutoff frequency < data rate / 12 and overcome the problem.

6.4.3

Image

Encoding technique for the image is different from the other as image has a range of integer values from 0 to 255 corresponds to dark to bright pixel respectively. So the integers range 0-255 needs an 8-bit integer to bit converter. If the area of dark or bright pixel in an image is large enough, then binary equivalent sequence (i.e. repeated 0’s or 1’s) is too large. At this situation the detection is not possible through our method as loop filter of Costas loop stops tracking the carrier signal. One solution for this situation is given in the section 6.3.2.1

6.5

Conclusion

Our SDR realization is implemented using a single DSP and hence caters to limited applications i.e. for text, image, and voice data. The chapter describes applications of TIS DSP TMS-320C6713. Real time implementation can be done using FPGA and DSP in combination with high speed ADC and DAC for standard GSM RF frequencies range. Nonavailability of high speed components prohibited us in presenting more realistic results for a GSM system.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Chapter 7 Conclusions and Future Directions This chapter summarizes and presents concluding remarks of this work and discusses the future research directions. The primary aim of our work was to develop a Software-Defined Radio realization module for mobile applications. We have chosen GSM traffic channel for simulation (both uplink and downlink), and used TI DSP TMS320C6713 DSK board to test some of the Simulink model for our SDR realization. In the following, we summarize the work carried out our study.

7.1

Contributions of the Thesis

The first chapter deals with history and general architecture of GSM network. The chapter also discusses general challenges for MS and BTS. A brief introduction of GSM activities from its beginning to year 2007 has been presented in Table 1.3. Reconfiguration in any radio gave the birth to a new era: the era of Software-Defined Radio. Second chapter deals with many aspects of a reconfigurable radio such as its architecture and technical challenges. We differentiate between Digital Radio and SoftwareDefined Radio. They have different meanings see Figure 2.6. Digital Radio refers to implementing a baseband processing in reprogramable system such as DSP, ASIC, and/or FPGA, where as Software-Defined Radio means to implement all the system from antenna to baseband processing in to reprogrammable systems. So, Digital Radio could be thought if as a sub-set of Software-Defined Radio.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

7.1. Contributions of the Thesis

133

GSM traffic channel has speech coding / decoding, channel coding / decoding, interleaving / de-interleaving, ciphering / de-ciphering, and modulation / demodulation as its key parameters. all these have been implemented in MATLAB as Simulink based model. Some simulated results are presented and compared with real time existing results, see section 3.6. We have chosen three applications to be run on our SDR realization module: SMS, MMS, and speech. Chapter four discusses three modulation scheme BPSK, 8PSK, and GMSK one for each applications respectively and also gives emphasis on Costas loop implementation (see section 4.1). Chapter includes two types of model, one Simulink equivalent and other DSP equivalent, and also compares simulated and real time DSK board generated results. We were not able to perform speech transmission by using our SDR realization module, due to limitation of non-availability of higher sampling rate ADC and DAC. However one could use the same algorithm for speech transmissions by just changing the basic parameter of the system models. Chapter five describes how to protect data from channel, due noise, and also for low power reception. Obviously FEC (Forward Error Correction) is the answer. The Chapter presents SCCC (Serially Concatenated Convolutional Codes) i.e. Turbo decoder and compares the performance with the Viterbi decoder. Since GSM system uses hard decision type decoder, we have considered a hard decision type Turbo decoder. We show that it gives better performance in terms of SNR improvement compare to Viterbi decoder. Chapter six describes TI DSP TMS-320C6713 DSK board, Code Composure Studio (CCS), and finally the SDR realization. SDR realization module provides the facility to send and receive text data, image data, and speech signal. A GUI for SDR realization is presented in section 6.3 and equivalent MATLAB code in Appendix A.2. Channel coding with convolutional encoder and decoding with Viterbi decoder in a GSM system i.e. conventional GSM system uses hard decision type decoder, and hence SISO (Soft Input Soft Output) based Iterative i.e. Turbo decoder can not be implemented for a GSM system. However, as we presented in section 5.4.1 the method for hard decision type iterative decoder, giving better improvement in terms of Eb /No is an attractive preposition for other applications. Performance of our hard decision type iterative decoder

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

7.2. Future Directions

134

is degrade by 1.5 dB compare to soft decision type iterative decoders as G. Montorsi in [20], but improved by near about 2 dB compared to hard decision Viterbi decoder as we simulated and also presented by Mohamed Farid in [3]. Also we proposed a coherent GMSK demodulator using Costas loop carrier recovery. We have shown results by BER performance compared to theoretical methods and by Figure 4.36 [10]. Our SDR realization is implemented using a single DSP. Real time implementation can be done using FPGA and DSP in combination with high speed ADC and DAC for standard GSM RF frequencies range.

7.2

Future Directions

Our SDR realization is implemented using a single DSP and for lower RF frequency range. Real time implementation can be done using FPGA, and DSP in combination with high speed ADC and DAC for standard GSM RF frequencies range. The main hurdle in our project was the low speed ADC and DAC. The low speed of ADC / DAC restrict the implementation. Higher speed version of these components can be used for higher frequency applications like speech and video transmission. We would like to carry out these studies in future.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Appendix A MATLAB Codes A.1

my SCCC test.m

%function my SCCC test() %santosh shah, The LNM IIT Jaipur ([email protected]) 16/07/07 % define parameters:——————————————————NoOfItr =6 ; BlockSz = 500 ; IntSeed = 191000 ; EbNo = 0; SNR = 2 ; EbNoVar = 1.5*10ˆ(- EbNo/10); OffSet = 10 ;

A.2 A.2.1

Code for GUI My SDR.m

function varargout = My SDR(varargin) % MY SDR M-file for My SDR.fig % MY SDR, by itself, creates a new MY SDR or raises the existing

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

A.2. Code for GUI

% singleton*. % % H = MY SDR returns the handle to a new MY SDR or the handle to % the existing singleton*. % % MY SDR(’CALLBACK’,hObject,eventData,handles,...) calls the local % function named CALLBACK in MY SDR.M with the given input arguments. % % MY SDR(’Property’,’Value’,...) creates a new MY SDR or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before My SDR OpeningFunction gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to My SDR OpeningFcn via varargin. % Begin initialization code gui Singleton = 1; gui State = struct(’gui Name’, mfilename, ... ’gui Singleton’, gui Singleton, ... ’gui OpeningFcn’, @My SDR OpeningFcn, ... ’gui OutputFcn’, @My SDR OutputFcn, ... ’gui LayoutFcn’, [] , ... ’gui Callback’, []); if nargin && ischar(varargin{1}) gui State.gui Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui mainfcn(gui State, varargin{:}); else gui mainfcn(gui State, varargin{:}); end % End initialization code % — Executes just before My SDR is made visible. function My SDR OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % hObject handle to figure

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

136

A.2. Code for GUI

% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % varargin command line arguments to My SDR (see VARARGIN) % Choose default command line output for My SDR handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes My SDR wait for user response (see UIRESUME) % uiwait(handles.figure1); % — Outputs from this function are returned to the command line. function varargout = My SDR OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss % Santosh Shah and V. Sinha, The LNMIIT, Jaipur (India) 28/02/08 %Taking the character from edit1.......... function varargout = edit1 Callback(h, eventdata, handles, varargin) NewVal = get(h, ’String’); %New = str2double(NewVal); handles.edit1 = NewVal; guidata(h, handles); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,’String’) returns contents of edit1 as text % str2double(get(hObject,’String’)) returns contents of edit1 as a double % — Executes during object creation, after setting all properties. function edit1 CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO)

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

137

A.2. Code for GUI

138

% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,’BackgroundColor’),get (0,’defaultUicontrolBackgroundColor’)) set(hObject,’BackgroundColor’,’white’); end %——————->>>>>>>>>>Message Send Option<<<<<<<<<<————— % — Executes on button press in pushbutton1. %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss function varargout = pushbutton1 Callback(h, eventdata, handles, varargin) data= handles.edit1; % Reading text data input for testing the radio. data = data(:); m = length(data); if(m<=160) data = double(reshape(data, m,1)); b= my de2bi(data,’right-msb’, 7)’; b = b(:); else error(’Message length should not be more than 160 character including blanks.’); end b = double(b); for j=length(b):length(b)+ 11 b(j+1) = 0; end for j=length(b):length(b) b(j+1) = 1 ; end for j=length(b):length(b) b(j+1) = 0 ; end a.time = [];

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

A.2. Code for GUI

139

a.signals(??).values = b; a.signals(??).dimensions = 1; s1 = length(b); assignin(’base’,’a’,a); assignin(’base’,’s’,s1); %save data b %rtwbuild(’sms psk mod’) x= ’Message Sent’; set(handles.text3, ’String’,x); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %——————->>>>>>>>>>Message Show Option<<<<<<<<<<————— % — Executes on button press in pushbutton2. %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss function varargout = pushbutton2 Callback(h, eventdata, handles, varargin) sim bit22char d = bout.signals.values; %taking sequence of binary data [m, n, p] = size(d); xx = double(reshape(d, m*n*p,1)); yy = [0,0,0,0,0,0,0,0,0,0,0,0,1,0];% tail bits %pos = zeros(5,1); pp = 1; for i = 1:length(xx)- length(yy) + 1 % finding the position of tail bits count = 0; k=1; for j = i : i+ length(yy) - 1 if (xx(j) == yy(k)) count = count+1; end k=k+1; end if (count == length(yy))%different location of tail bits pos(pp) = i ; pp= pp + 1;

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

A.2. Code for GUI

140

end end %original data from loc = pos + 14; for m1 = 1:length(pos)-1 for p1 = 1 : pos(m1+1) - loc(m1) bind(m1,p1) = xx(loc(m1) + p1 - 1); end end tmp = 1; for bb = 1:m1 -1 bind(1,1:p1) = bind(1,1:p1) + bind(bb+1,1:p1); tmp = tmp+1; end bind(1,1:p1) = round(bind(1,1:p1)/tmp); bit = bind(1,1:length(bind)); nn = length(bind)/7; bit = reshape(bit, length(bit’)/nn, nn)’; chr = char(bi2de(bit)); set(handles.text2, ’String’,chr’); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %————->>>>>>>>>>Load DSK Option for Message<<<<<<<<<<——— —– % — Executes on button press in pushbutton3. %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss function varargout = pushbutton3 Callback(h, eventdata, handles, varargin) rtwbuild(’sms psk demod’) x=’Message Received’; set(handles.text4, ’String’,x); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %—————>>>>>>>>>>Load Image Data Option<<<<<<<<<<————— – % — Executes on button press in pushbutton4. %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

A.2. Code for GUI

141

function pushbutton4 Callback(h, hObject, eventdata, handles) [fname,pname] = uigetfile(’*.*’,’Enter data file’); if (fname ˜= 0) filename = sprintf(’%s%s’,pname,fname); end [fid message] = fopen(filename,’r’); img = imread(filename); [m, n, p] = size(img); data = uint8(reshape(img, m*n*p,1)); image(img); %bits conversion data = double(round(data/9)); data = 3 + data(:); M = length(data); data = double(reshape(data, M,1)); b= my de2bi(data,’right-msb’, 5)’; b = b(:); %for j=length(b):length(b)+ 13 %b(j+1) = 0; %end %for j=length(b):length(b) %b(j+1) = 1 ; %end %for j=length(b):length(b) %b(j+1) = 0 ; %end a.time = []; a.signals(??).values = b; a.signals(??).dimensions = 1; s1 = length(b); assignin(’base’,’a’,a); assignin(’base’,’s’,s1); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %——————->>>>>>>>>>Image Send Option<<<<<<<<<<——————

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

A.2. Code for GUI

142

% — Executes on button press in pushbutton5. %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss function pushbutton5 Callback(hObject, eventdata, handles) %rtwbuild(’My GSM data’) sim GMSK data assignin(’base’,’bitout img’, img bit); x=’Image Send’; set(handles.text5, ’String’,x); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %—————->>>>>>>>>>Image Receive Option<<<<<<<<<<—————— % — Executes on button press in pushbutton6. %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss function varargout = pushbutton6 Callback(h, eventdata, handles, varargin) vars = evalin(’base’,’bitout img’); s = evalin(’base’,’s’); temp = vars.signals.values; temp1 = temp(42:s+41); num = length(temp1)/5; temp1 = uint8(reshape(temp1, length(temp1)/num,num))’; rec = bi2de(temp1); rec = 9*(rec - 3); rec img = uint8(reshape(rec,120, 120, 3)); image(rec img); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %——————>>>>>>>>>>Image Save Option<<<<<<<<<<——————% — Executes on button press in pushbutton7. %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss function pushbutton7 Callback(hObject, eventdata, handles) [file,path] = uiputfile(’*.jpg’,’Save Workspace As’); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %—————>>>>>>>>>>Call Connect Option<<<<<<<<<<——————– % — Executes on button press in pushbutton8. function pushbutton8 Callback(hObject, eventdata, handles) %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

A.2. Code for GUI

143

%—————>>>>>>>>>>Call Disconnect Option<<<<<<<<<<—————– % — Executes on button press in pushbutton9. function pushbutton9 Callback(hObject, eventdata, handles) %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %—————->>>>>>>>>>Message Clear Option<<<<<<<<<<—————— % — Executes on button press in pushbutton10. %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss function pushbutton10 Callback(hObject, eventdata, handles) y = ”; set(handles.text3, ’String’,y); set(handles.text4, ’String’,y); set(handles.text2, ’String’,’You can receive message here.....’); %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss %—————->>>>>>>>>>Call Receive Option<<<<<<<<<<——————% — Executes on button press in pushbutton12. function pushbutton12 Callback(hObject, eventdata, handles) %ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Appendix B MATLAB and CCS Interface B.1

MATLAB Compilation Steps

### Generating code into build directory: C:\Program Files\MATLAB \R2006b\work\ADCDACtest c6000 rtw ### Gathering Code Composer Studio(tm) setup information... ### Connecting to Code Composer Studio(tm)... ### Invoking Target Language Compiler on ADCDACtest.rtw tlc-r C:\Program Files\MATLAB\R2006b\work textbackslash ADCDACtest c6000 rtw\ADCDACtest.rtw C:\Program Files\MATLAB\R2006b\toolbox\rtw\targets\tic6000\tic6000 \ti c6000 ert.tlc -OC:\Program Files\MATLAB\R2006b\work\ADCDACtest c6000 rtw -IC:\Program Files\MATLAB\R2006b\toolbox\rtw\targets\tic6000\tic6000 -IC:\Program Files\MATLAB\R2006b\toolbox\rtw\targets\tic6000\tic6000blks\tlc c -IC:\Program Files\MATLAB\R2006b\work\ADCDACtest c6000 rtw\tlc -IC:\Program Files\MATLAB\R2006b\rtw\c\tlc\mw -IC:\Program Files\MATLAB\R2006b\rtw\c\tlc\lib -IC:\Program Files\MATLAB\R2006b\rtw\c\tlc\blocks -IC:\Program Files\MATLAB\R2006b\rtw\c\tlc\fixpt -IC:\Program Files\MATLAB\R2006b\stateflow\c\tlc -aEnforceIntegerDowncast=1

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

B.1. MATLAB Compilation Steps

-aFoldNonRolledExpr=1 -aInlineInvariantSignals=0 -aInlineParameters=0 -aLocalBlockOutputs=1 -aRollThreshold=5 -aGenerateReport=0 -aGenCodeOnly=1 -aRTWVerbose=1 -aIncludeHyperlinkInReport=0 -aLaunchReport=0 -aForceParamTrailComments=0 -aGenerateComments=1 -aIgnoreCustomStorageClasses=0 -aIncHierarchyInIds=0 -aMaxRTWIdLen=31 -aShowEliminatedStatements=0 -aPrefixModelToSubsysFcnNames=1 -aIncDataTypeInIds=0 -aInsertBlockDesc=0 -aSimulinkBlockComments=1 -aInlinedPrmAccess=”Literals” -aTargetFcnLib=”ansi tfl tmw.mat” -aGenFloatMathFcnCalls=”ANSI C” -aIsPILTarget=0 -aIncludeMdlTerminateFcn=1 -aCombineOutputUpdateFcns=1 -aSuppressErrorStatus=0 -aERTCustomFileBanners=1 -aLogVarNameModifier=”rt ” -aGenerateFullHeader=1 -aGenerateSampleERTMain=0 -aMatFileLogging=0 -aMultiInstanceERTCode=0 -aPurelyIntegerCode=0

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

145

B.1. MATLAB Compilation Steps

-aexportCCSObj=1 -accsObjName=”CCS Obj” -auseDSPBIOS=1 -aProfileGenCode=0 -aInlineDSPBlks=1 -aFPopt=0 -amemModel=”Far Aggregate” -aoptLevel=”Function(-o2)” -aCompilerVerbosity=”Quiet” -aInterruptThreshOnC6x=0 -aInterruptThreshValue=”” -aSymbolicDebugOnC6x=0 -aRetainAsmFiles=0 -aRetainObjFiles=1 -aCreateMapFile=1 -aUserStackSize=8192 -ac6000BuildAction=”Build and execute” -aOverrunAction=”Notify and continue” -aOverrunNotificationMethod=”Turn on LEDs” -aUserStackSize=8192 -p10000 ### Loading TLC function libraries .... ### Initial pass through model to cache user defined code . ### Caching model source code ............ ### Writing header file ADCDACtest types.h ### Writing header file ADCDACtest.h . ### Writing source file ADCDACtest.c ### Writing header file ADCDACtest private.h ### Writing source file ADCDACtest main.c .

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

146

B.2. CCS Compilation Steps

147

### TLC code generation complete. . ### Processing Template Makefile: C:\Program Files\MATLAB\R2006b \toolbox\rtw\targets\tic6000\tic6000\ti c6000 ert.tmf ### Wrapping unrecognized make command (angle brackets added) ###

### in default batch file ### ADCDACtest.mk which is generated from C:\Program Files\MATLAB\R2006b\ toolbox\rtw\targets\tic6000\tic6000\ti c6000 ert.tmf is up to date ### Generating the DSP/BIOS configuration file ... ### Creating project in Code Composer Studio(tm) ### Building Code Composer Studio(tm) project... ### Build complete ### Downloading COFF file ### Downloaded: ADCDACtest.out ### Build procedure complete.

B.2

CCS Compilation Steps

————————- ADCDACtest.pjt - Custom MW ————————[ADCDACtest.cdb] ” C:\CCStudio v3.1\plugins\bios\gconfgen” ADCDACtest.cdb [ADCDACtest.c]” C:\CCStudio v3.1\C6000\cgtools\bin\cl6x” -q -o2 -fr” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/obj” -fs” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/asm”-i”.” -i” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw” -i” C:/Program Files/MATLAB/R2006b/work” -i” C:/Program Files/MATLAB/R2006b/rtw/c/libsrc” -i” C:/Program Files/MATLAB/R2006b/simulink/include” -i” C:/Program Files/MATLAB/R2006b/extern/include” -i” C:/Program Files/MATLAB/R2006b/rtw/c/src” -i” C:/Program Files/MATLAB/R2006b/toolbox/dspblks/include” -i”

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

B.2. CCS Compilation Steps

148

C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /rtlib /include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/dspblks/c” -i” C:/Program Files/MATLAB/R2006b/toolbox/vipblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/vipblks/c” -d” OVERRUN ACTION=1” -d”HAVESTDIO=1” -d”MWDSP INLINE DSPRTLIB” -d”CHIP 6713” -d”L2CACHE ENABLED” -d”MODEL=ADCDACtest” -d”RT” -d”NUMST=1” -d”TI01EQ=0” -d”NCSTATES=0” -d”MT=0” -d”USE RTMODEL” -d”INTEGER CODE=0” -d”MULTI INSTANCE CODE=0” -d”ADD MDL NAME TO GLOBALS=1” -d”TERMFCN=1” -d”ONESTEPFCN=1” -mv6710 -@”Custom MW.lkf” ”ADCDACtest.c” ” C:/CCStudio v3.1/c6000/bios/include/std.h”, line 140: warning: typedef name has already been declared (with same type)” C:/CCStudio v3.1/c6000/bios/include/std.h”, line 143: warning: typedef name has already been declared (with same type)” C:/CCStudio v3.1/c6000/bios/include/std.h”, line 146: warning: typedef name has already been declared (with same type)” C:/CCStudio v3.1/c6000/bios/include/std.h”, line 151: warning: typedef name has already been declared (with same type)” C:/CCStudio v3.1/c6000/bios/include/std.h”, line 161: warning: typedef name has already been declared (with same type)” C:/CCStudio v3.1/c6000/bios/include/std.h”, line 165: warning: typedef name has already been declared (with same type) [ADCDACtest main.c]” C:\CCStudio v3.1\C6000\cgtools\bin\cl6x” -q -o2 -fr” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/obj” -fs” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/asm” -i”.” -i” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw” -i” C:/Program Files/MATLAB/R2006b/work” -i” C:/Program Files/MATLAB/R2006b/rtw/c/libsrc” -i” C:/Program Files/MATLAB/R2006b/simulink/include” -i” C:/Program Files/MATLAB/R2006b/extern/include” -i”

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

B.2. CCS Compilation Steps

149

C:/Program Files/MATLAB/R2006b/rtw/c/src” -i” C:/Program Files/MATLAB/R2006b/toolbox/dspblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /rtlib/include” i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/dspblks/c” -i” C:/Program Files/MATLAB/R2006b/toolbox/vipblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/vipblks/c” -d” OVERRUN ACTION=1” -d”HAVESTDIO=1” -d”MWDSP INLINE DSPRTLIB” -d”CHIP 6713” -d”L2CACHE ENABLED” -d”MODEL=ADCDACtest” -d”RT” -d”NUMST=1” -d”TID01EQ=0” -d”NCSTATES=0” -d”MT=0” -d”USE RTMODEL” -d”INTEGER CODE=0” -d”MULTI INSTANCE CODE=0” -d”ADD MDL NAME TO GLOBALS=1” -d”TERMFCN=1” -d”ONESTEPFCN=1” -mv6710 -@”Custom MW.lkf” ” ADCDACtest main.c”” C:/CCStudio v3.1/C6000/csl/include/csl edma.h”, line 517: warning: variable ”tccm” was declared but never referenced ”C:/CCStudio v3.1/C6000/csl/include/csl edma.h”, line 517: warning: variable ”tcc” was declared but never referenced [MW c6xxx bsl.c] ” C:\CCStudio v3.1\C6000\cgtools\bin\cl6x” -q -o2 -fr” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/obj” -fs” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/asm” -i”.” -i” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw” -i” C:/Program Files/MATLAB/R2006b/work” -i” C:/Program Files/MATLAB/R2006b/rtw/c/libsrc” -i” C:/Program Files/MATLAB/R2006b/simulink/include” -i” C:/Program Files/MATLAB/R2006b/extern/include” -i” C:/Program Files/MATLAB/R2006b/rtw/c/src” -i” C:/Program Files/MATLAB/R2006b/toolbox/dspblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /include” -i”

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

B.2. CCS Compilation Steps

150

C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /rtlib/include” i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/dspblks/c” -i” C:/Program Files/MATLAB/R2006b/toolbox/vipblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/vipblks/c” -d” OVERRUN ACTION=1” -d”HAVESTDIO=1” -d”MWDSP INLINE DSPRTLIB” -d”CHIP 6713” -d”L2CACHE ENABLED” -d”MODEL=ADCDACtest” -d”RT” -d”NUMST=1” -d”TID01EQ=0” -d”NCSTATES=0” -d”MT=0” -d”USE RTMODEL” -d”INTEGER CODE=0” -d”MULTI INSTANCE CODE=0” -d”ADD MDL NAME TO GLOBALS=1” -d”TERMFCN=1” -d”ONESTEPFCN=1” -mv6710-@” Custom MW.lkf” ” MW c6xxx bsl.c”” C:/CCStudio v3.1/C6000/csl/include/csl edma.h”, line 517: warning: variable ”tccm” was declared but never referenced” C:/CCStudio v3.1/C6000/csl/include/csl edma.h”, line 517: warning: variable ”tcc” was declared but never referenced [MW c6xxx csl.c] ” C:\CCStudio v3.1\C6000\cgtools\bin\cl6x” -q -o2 -fr” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/obj” -fs” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/asm” -i”.” -i” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw” -i” C:/Program Files/MATLAB/R2006b/work” -i” C:/Program Files/MATLAB/R2006b/rtw/c/libsrc” -i” C:/Program Files/MATLAB/R2006b/simulink/include” -i” C:/Program Files/MATLAB/R2006b/extern/include” -i” C:/Program Files/MATLAB/R2006b/rtw/c/src” -i” C:/Program Files/MATLAB/R2006b/toolbox/dspblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /rtlib/include” i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/dspblks/c” -i” C:/Program Files/MATLAB/R2006b/toolbox/vipblks/include” -i”

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

B.2. CCS Compilation Steps

151

C:/Program Files/MATLAB/R2006b/toolbox/rtw/vipblks/c” -d” OVERRUN ACTION=1” -d”HAVESTDIO=1” -d”MWDSP INLINE DSPRTLIB” -d”CHIP 6713” -d”L2CACHE ENABLED” -d”MODEL=ADCDACtest” -d”RT” -d”NUMST=1” -d”TID01EQ=0” -d”NCSTATES=0” -d”MT=0” -d”USE RTMODEL” -d”INTEGER CODE=0” -d”MULTI INSTANCE CODE=0” -d”ADD MDL NAME TO GLOBALS=1” -d”TERMFCN=1” -d”ONESTEPFCN=1” -mv6710-@” Custom MW.lkf” ”MW c6xxx csl.c”” C:/CCStudio v3.1/C6000/csl/include/csl edma.h”, line 517: warning: variable ”tccm” was declared but never referenced” C:/CCStudio v3.1/C6000/csl/include/csl edma.h”, line 517: warning: variable ”tcc” was declared but never referenced [ADCDACtestcfg.s62]” C:\CCStudio v3.1\C6000\cgtools\bin\cl6x” -q -o2 -fr” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/obj” -fs” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/asm” -i”.” -i” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw” -i” C:/Program Files/MATLAB/R2006b/work” -i” C:/Program Files/MATLAB/R2006b/rtw/c/libsrc” -i” C:/Program Files/MATLAB/R2006b/simulink/include” -i” C:/Program Files/MATLAB/R2006b/extern/include” -i” C:/Program Files/MATLAB/R2006b/rtw/c/src” -i” C:/Program Files/MATLAB/R2006b/toolbox/dspblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /rtlib/include” i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/dspblks/c” -i” C:/Program Files/MATLAB/R2006b/toolbox/vipblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/vipblks/c” -d” OVERRUN ACTION=1” -d”HAVESTDIO=1” -d”MWDSP INLINE DSPRTLIB” -d”CHIP 6713” -d”L2CACHE ENABLED” -d”MODEL=ADCDACtest” -d”RT”

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

B.2. CCS Compilation Steps

152

-d”NUMST=1” -d”TID01EQ=0” -d”NCSTATES=0” -d”MT=0” -d”USE RTMODEL” -d”INTEGER CODE=0” -d”MULTI INSTANCE CODE=0” -d”ADD MDL NAME TO GLOBALS=1” -d”TERMFCN=1” -d”ONESTEPFCN=1” -mv6710 -@” Custom MW.lkf” ” ADCDACtestcfg.s62” [ADCDACtestcfg c.c]” C:\CCStudio v3.1\C6000\cgtools\bin\cl6x” -q -o2 -fr” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/obj” -fs” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw/asm” -i”.” -i” C:/Program Files/MATLAB/R2006b/work/ADCDACtest c6000 rtw” -i” C:/Program Files/MATLAB/R2006b/work” -i” C:/Program Files/MATLAB/R2006b/rtw/c/libsrc” -i” C:/Program Files/MATLAB/R2006b/simulink/include” -i” C:/Program Files/MATLAB/R2006b/extern/include” -i” C:/Program Files/MATLAB/R2006b/rtw/c/src” -i” C:/Program Files/MATLAB/R2006b/toolbox/dspblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/targets/tic6000/tic6000 /rtlib/include” i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/dspblks/c” -i” C:/Program Files/MATLAB/R2006b/toolbox/vipblks/include” -i” C:/Program Files/MATLAB/R2006b/toolbox/rtw/vipblks/c” -d” OVERRUN ACTION=1” -d”HAVESTDIO=1” -d”MWDSP INLINE DSPRTLIB” -d”CHIP 6713” -d”L2CACHE ENABLED” -d”MODEL=ADCDACtest” -d”RT” -d”NUMST=1” -d”TID01EQ=0” -d”NCSTATES=0” -d”MT=0” -d”USE RTMODEL”-d”INTEGER CODE=0” -d”MULTI INSTANCE CODE=0” -d”ADD MDL NAME TO GLOBALS=1” -d”TERMFCN=1” -d”ONESTEPFCN=1” -mv6710 -@” Custom MW.lkf” ” ADCDACtestcfg c.c” [Linking...] ”C:\CCStudio v3.1\C6000\cgtools\bin\cl6x” -@”Custom MW.lkf”

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

B.2. CCS Compilation Steps

Build Complete, 0 Errors, 12 Warnings, 0 Remarks.

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

153

Bibliography [1] Continuously variable slope delta modulation: A tutorial. Application Doc. #20830070.001, MX-COM, Inc., Winston-Salem, North Carolina 1997. 3.1 [2] Jan Bajcsy. On iterative decoding in some existence system. IEEE Journal on Selected Area in Communications, vol.19(no.5):pp.883–890, May 2001. 5.4 [3] Mohamed Farid Noor Batcha and Ahmad Zuri Shaameri. Configurable adaptive viterbi decoder for gprs , edge and wimax. pages 237–241, Penang, Malaysia, May 2007. 5.2, 5.6, 7.1 [4] D. Divsalar G. Montorsi Beedetto, S. and F. Pollara. Serial concatenation of interleaved codes: Performance analysis, desigh, and iterative decoding. JPL TDA Progress Report, 42-126, August 1996. 5.4 [5] Sergio Benedetto and Guido Montorsi. Performance of continuous and blockwise decoded turbo codes. IEEE Communication Letter, vol.1:pp.77–79, May 1997. 5.4 [6] K. Y. Martin Lee Bjrn A. Bjerke, John G. Proakis and Zoran Zvonar. A comparison of gsm receivers for fading multipath channels with adjacent- and co-channel interference. IEEE Journal on Selected Area in Communications, vol.18(no.11):pp.2211– 2219, November 2000. 5.4 [7] Alva C. Conahan, S. and J. Norris. Implementation of a real-time 16 kbps cvsd digital voice codec on a fixed-point dsp. In International Conference on Signal Processing Applications and Technology (ICSPAT) Proceedings, volume 1, pages 282–286, 1998. 3.1, 3.1.1 [8] Dariush Divsalar. Iterative turbo decoder analysis based on density evolution. IEEE Journal on Selected Area in Communications, vol.19(no.5):pp.891–907, May 2001. 5.4.1

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

BIBLIOGRAPHY

[9] Alan Gatherer.

155

Dsp-based architectures for mobile communications:

Past,

present and future. IEEE Communication Magazine, pages 84–90, January 2000. (document), 2.8, 2.9, 2.15, 2.16 [10] Roberto Madde‘ Gunther M. A. Sessler and Enrico Vassallo. Gmsk demodulator implementation for esa deep-space missions. In Proceedings of the IEEE, Contributed paper, volume 95, pages 2132–2141, November 2007. 4.1, 4.4.2.2, 4.5, 7.1 [11] Yasushi yamao Hiroshi Suzuki and Hiroyuki Kikuchi. A single-chip msk coherent demodulator for mobile radio transmission. In IEEE Transaction on Vehicular Technology, volume VT-34, pages 157–168, November 1885. 4.1 [12] K. Helen Hwang and Mark A. Wickert. A soft output gmsk demodulator using a 4filter mlse for small bt product. IEEE Journal on Selected Area in Communications, pages 2957–2961, 2002. 4.4.2.2 [13] Joseph Mitola II. Technical challenges in the globalization of software radio. IEEE Communication Magazine, pages 84–89, February 1999. (document), 1, 1.5.1, 2.3.2, 2.3.2, 2.4, 2.5, 2.3, 2.4 [14] Joseph Mitola III. Software radio architeture: A mathmatical perspective. IEEE journal on selected area in communications, vol.17(no.4):pp.514–538, April 1999. (document), 2.6, 2.7, 2.2 [15] Jing Su Ismail Lakkis and ShuZo Kato. A simple cohearent gmsk demodulator. IEEE Transactions on Communications, vol.18:A–112 – A–114, 2001. 4.4.2.2 [16] Robert J. McEliece and Wei Lin. The trellis complexity of convolutional codes. IEEE TRANSACTIONS ON INFORMATlON THEORY, vol.42(no.6):pp.1855– 1864, November 1996. 5.1.2 [17] Gary Mitchell and Theirry Guichon. Digital costas loop design for cohearent microsattelite transponders. IEEE AC Paper, pages 1197–1209, 2002. 4.2.1.1, 4.4, 4.4.2 [18] Joe Mitola. The software radio architeture. IEEE Communication Magazine, pages 26–38, May 1995. (document), 2.11

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

BIBLIOGRAPHY

156

[19] M.Mouly and M.B. Pautet. Gsm technical specifications list. report, Cell and Sys, 2004. (document), 1.3.1, 1.4 [20] G. Montorsi. Design of fixed-point iterative decoders for concatenated codes with interleavers. IEEE Journal on Selected Area in Communications, vol.19(no.5):pp.871– 882, May 2001. 5.4, 5.4.1, 5.4.1, 5.6, 7.1 [21] J. G. Proakis. Digital Communications. McGraw Hill, third edition, 1995. 3.1 [22] Chin-Chun Lee Raymond Steel and Peter Gould. GSM, cdmaOne and 3G Systems. John Willy and Sons, Ltd., 2001. 4.4.1, 4.4.1 [23] S L Maskara Santosh Shah and V Sinha. Reconfigurable radio using software technologies. In 22nd National Convention of Electronics and Telecommunication Engineers, August 2006. 1.1 [24] S L Maskara Santosh Shah and V Sinha. Software radio in mobile communication systems: Issues and challenges. National Conference on RECENT ADVANCEMENTS IN MICROWAVE TECHNIQUE AND APPLICATION, pages 342–346, October 2006. 1.1 [25] Santosh Shah and V Sinha. Iterative decoding vs. viterbi decoding: A comparison. National Conference on Communication, IIT (Powai) Mumbai-India, pages 491–493, February 2008. 1.1 [26] Santosh Shah and V Sinha. Dsp based implementation of gmsk demodulator using costas loop. National Conference on Communication, IIT Guwahati (India), Submitted, January 2009. 1.1 [27] Lee Steele and Gould. GSM, cdmaOne and 3G Systems. John Willy and Sons (Asia) Pte Ltd, Singapore, 2001. 1.3 [28] Herbert Taub and Donald L. Schilling. Principles of Communcation Systems. Tata McGraw-Hill Publishing Company Limited, Second Edition, New York, 2005. 4.2.1, 4.4.1 [29] D. S. Taylor. Design of continuously variable slope delta modulation communication systems. Application Note AN1544/D, Motorola, Inc, 1996. 3.1

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

BIBLIOGRAPHY

157

[30] Wayne Tomasi. Electronics Communications Systems Fundamental Through Advanced. Pearson Education, Inc., Fourth Edition, India, 2003. 4.1, 4.3, 4.4 [31] Thierry Turletti. Complexity of a software gsm base station. IEEE Communication Magazine, vol.37(no.2):pp.113–117, February 1999. 3 [32] Thierry Turletti. Software radio issues in cellular base stations. IEEE Communication Magazine, vol. 17(no. 4), April 1999. 1, 1.1, 3.2 [33] Thierry Turletti. Towards the software realization of a gsm base station. IEEE Communication Magazine, vol.17(no.4), April 1999. 3.3 [34] Walter H. W. Tuttlebee. Software-defined radio: Facets of a developing technology. IEEE Communication Magazine, pages pp.38–44, April 1999. (document), 2.12, 2.13, 2.14

The LNM Institute of Information Technology, Jaipur. Santosh Shah, 2008

Authors’ Publications Conference [1] Santosh Shah and V Sinha. DSP Based Implementation of GMSK Demodulator Using Costas Loop. In National Conference on Communication, IIT Guwahati (India), Submitted, January-2009. [2] Santosh Shah and V Sinha. Iterative Decoding vs. Viterbi Decoding: A Comparison. In National Conference on Communication IIT (Powai), Mumbai India, pages 491–493, February, 01-03 2008. [3] Santosh Shah, S L Maskara and V Sinha. Software Radio in Mobile Communication Systems: Issues and Challenges. In National Conference on RECENT ADVANCEMENTS IN MICROWAVE TECHNIQUE AND APPLICATION, pages 340–346, Jaipur, India, October, 04-06 2006. [4] Santosh Shah, S L Maskara and V Sinha. Reconfigurable Radio Using Software Technologies. In 22nd National Convention of Electronics and Telecommunication Engineers, Jaipur, India, August, 04-06 2006

Software-Defined Radio: GSM Traffic Channel, DSP ...

Wireless systems employ protocols that vary from one service to another. Even in ... cards, downloadable software, and personal Java / Java card. ...... sample values, which interfaces the IF processing and modem, and determines fidelity of.

5MB Sizes 5 Downloads 204 Views

Recommend Documents

Understanding GPRS: The GSM Packet Radio Service
This paper is based on the GPRS service description documents .... HLR (Home Location Register) .... Another example is connectivity to an Internet Service.

RADIO LINK FEATURES IN GSM SYSTEMS NOTES-1.pdf ...
1. Page 3 of 6. RADIO LINK FEATURES IN GSM SYSTEMS NOTES-1.pdf. RADIO LINK FEATURES IN GSM SYSTEMS NOTES-1.pdf. Open. Extract. Open with.

Understanding GPRS: The GSM Packet Radio Service
GSM network as a digital stream in a circuit-switched mode. ... GPRS Services are defined to fall in one of two categories: PTP (Point-To-Point) and PTM.

Prediction of Channel State for Cognitive Radio ... - Semantic Scholar
Department of Electrical and Computer Engineering ... in [10]. HMM has been used to predict the usage behavior of a frequency band based on channel usage patterns in [11] for ..... range of 800MHz to 2500MHz is placed near the laptop and.

Prediction of Channel State for Cognitive Radio Using ...
ity, an algorithm named AA-HMM is proposed in this paper as follows. It derives from the Viterbi algorithm for first-order. HMM [20]. 1) Initialization. âiRiR+1 ...

Topology Control in Multi-channel Cognitive Radio Networks with Non ...
achieving efficient power control. Index Terms—Multi-channel Cognitive Radio networks, Dis- tributed Topology Control, Non-uniform node arrangements,.

Adaptive Radio Channel Allocation for Supporting ...
when cordless phone is being used. Coexistence is defined as “the ability of one system to perform a task in a given shared environment where other systems ...

Single-Radio Adaptive Channel Algorithm for Spectrum Agile Wireless ...
network might be partitioned into many small fragments, each on a different dynamic ... wireless ad hoc networks operating in static spectrum en- vironments.

Channel State Prediction in Cognitive Radio, Part II
Mar 10, 2011 - A Tailored Viterbi Algorithm for HMM. □ Given a parameter tuple and a sequence of observation values. , the state sequence that is most.

Joint Clustering and Tracking for MIMO radio channel ...
May 7, 2007 - MIMO radio channel modeling draws great attention because the chan- nel determines the entire system performance fundamentally. This thesis is focusing on physical channel models, which characterize the propagation envi- ronment by desc

UWB On-Body Radio Channel Modeling Using Ray ...
evolving toward personal and user-centric networks, where constant and reliable connectivity and services ... Other applications of wireless body-centric networks include wearable entertainment systems and .... collected for post measurement analysis

Channel State Prediction in Cognitive Radio, Part II - CiteSeerX
frequency band based on channel usage patterns in [10], to decide whether or not to .... laptop computer accesses the Internet through a wireless Wi-Fi router ...

Channel State Prediction in Cognitive Radio, Part I ...
Mar 10, 2011 - hardware platforms, the universal software radio peripheral 2. (USRP2) and the small-form-factor software-defined-radio development platform (SFF SDR DP). 3. 3/10/2011 ... Spectrum sensing phase – the duration for spectrum sensing ..

GSM - NSE
Jun 21, 2017 - Sub: Graded Surveillance Measure (GSM) – Updated list of companies ... SN Company Name ... Software Technology Group International.

/ CHANNEL(
May 1, 2009 - endpoints in a data network via a monitoring unit and a control unit. .... Nr. 21, (Oct. 1989), Cited on EP Search RepOIt for EP application.

/ CHANNEL(
May 1, 2009 - Huang, G M., et al., “A New Had Algorithm for Optimal Routing of. Hierarchically ... Kieser, H “Software fur eine digitale Vermittlungsanlage mit modularem ... egies between Lost-call-cleared and Reservation Traf?c”, Proceed.

GSM Finali.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. GSM Finali.pdf.

gsm phase 2+
is routed through a switch, the mobile switching center. (MSC). Connections ... case of a call to a user, the HLR is always first queried, to determine the user's ...

Solaredge Cellular GSM Internet Connectivity Kit SE-GSM-RXX-US ...
Solaredge Cellular GSM Internet Connectivity Kit SE-GSM-RXX-US-SX Datasheet.pdf. Solaredge Cellular GSM Internet Connectivity Kit SE-GSM-RXX-US-SX ...

gsm phase 2+ - Intranet DEIB
tecture of a GSM public land mobile network (PLMN) with .... time multimedia, Web browsing, and e-mail transfer). ... Best. Best. Best effort effort effort effort. 128 byte packet. 1024 byte packet. Class .... to a Web server connected to the Interne

System and method for identifying co-channel interference in a radio ...
Apr 20, 2011 - NETWORK. (75) Inventors: ... for identifying co-channel interference in a radio network. In an exemplary ... 31 Claims, 16 Drawing Sheets. @. 205. 220 ..... 1 is a system diagram illustrating co-channel interfer ence Within a ...

COMPUTATIONAL ACCURACY IN DSP IMPLEMENTATION ...
... more logic gates are required to implement floating-point. operations. Page 3 of 13. COMPUTATIONAL ACCURACY IN DSP IMPLEMENTATION NOTES1.pdf.

gsm phase 2+ - Intranet DEIB
he impressive growth of cellular mobile telephony as .... overview of the GSM system can be ... describe the GPRS system architecture and discuss the funda-.

Heat Pump GSM Remote Control
Control your heat pump from anywhere. Easy to use. Access Code -protection to prevent unauthorized remote access. Easy access to most frequently used controls. A total of 12 remote controlled heat pump related functions/parameters. Preserves settings