Top Banner
Brigham Young University Brigham Young University BYU ScholarsArchive BYU ScholarsArchive Theses and Dissertations 2012-07-05 Discrete-Time Implementation, Antenna Design, and MIMO for Discrete-Time Implementation, Antenna Design, and MIMO for Near-Field Magnetic Induction Communications Near-Field Magnetic Induction Communications Ronald Brett Gottula Brigham Young University - Provo Follow this and additional works at: https://scholarsarchive.byu.edu/etd Part of the Electrical and Computer Engineering Commons BYU ScholarsArchive Citation BYU ScholarsArchive Citation Gottula, Ronald Brett, "Discrete-Time Implementation, Antenna Design, and MIMO for Near-Field Magnetic Induction Communications" (2012). Theses and Dissertations. 3324. https://scholarsarchive.byu.edu/etd/3324 This Thesis is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected].
128

Discrete-Time Implementation, Antenna Design, and MIMO for ...

Oct 18, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Brigham Young University Brigham Young University

BYU ScholarsArchive BYU ScholarsArchive

Theses and Dissertations

2012-07-05

Discrete-Time Implementation, Antenna Design, and MIMO for Discrete-Time Implementation, Antenna Design, and MIMO for

Near-Field Magnetic Induction Communications Near-Field Magnetic Induction Communications

Ronald Brett Gottula Brigham Young University - Provo

Follow this and additional works at: https://scholarsarchive.byu.edu/etd

Part of the Electrical and Computer Engineering Commons

BYU ScholarsArchive Citation BYU ScholarsArchive Citation Gottula, Ronald Brett, "Discrete-Time Implementation, Antenna Design, and MIMO for Near-Field Magnetic Induction Communications" (2012). Theses and Dissertations. 3324. https://scholarsarchive.byu.edu/etd/3324

This Thesis is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected].

Page 2: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Dis rete-Time Implementation, Antenna Design, and MIMO forNear-Field Magneti Indu tion Communi ationsR. Brett Gottula

A thesis submitted to the fa ulty ofBrigham Young Universityin partial fulllment of the requirements for the degree ofMaster of S ien eKarl F. Warni k, ChairMi hael D. Ri eMi hael J. Wirthlin

Department of Ele tri al and Computer EngineeringBrigham Young UniversityAugust 2012Copyright © 2012 R. Brett GottulaAll Rights Reserved

Page 3: Discrete-Time Implementation, Antenna Design, and MIMO for ...

ABSTRACTDis rete-Time Implementation, Antenna Design, and MIMO forNear-Field Magneti Indu tion Communi ationsR. Brett GottulaDepartment of Ele tri al and Computer Engineering, BYUMaster of S ien eNear-eld magneti indu tion (NFMI) is a short range wireless te hnology that usesloop antennas oupled by a magneti eld. NFMI antennas are ele tri ally small and thusextremely ine ient and narrow band, making system design for multi-user and high-bitrateappli ations hallenging. The goals of this thesis are to develop a test platform suitable forNFMI antenna testing, to model, design and test NFMI antennas that have high bandwidth-e ien y, and to explore the possibility of using MIMO (multiple-input multiple-output) toin rease the apa ity of the NFMI hannel.This thesis provides system implementations, test results, and hannel modeling to aid inthe design of future NFMI systems. Implementation of a multi- hannel dis rete-time wire-less system are provided for PC-based software and FPGA-based rmware as a platformfor antenna testing. Optimized antenna designs in terms of e ien y and bandwidth arepresented, a hieving the theoreti al bandwidth-e ien y bound for small antennas. Pre-liminary modeling and simulation results for the NFMI-MIMO hannel are in luded, whi hshow that the information-theoreti apa ity of the NFMI-MIMO hannel is approximatelydouble the standard single-antenna NFMI apa ity at 10 bits/s/Hz.

Keywords: near eld magneti indu tion, wireless ommuni ations, MIMO

Page 4: Discrete-Time Implementation, Antenna Design, and MIMO for ...

ACKNOWLEDGMENTSI have been privileged to work with many outstanding individuals who have supportedand ontributed to this resear h. Dr. Warni k and Dr. Ri e have provided many hours ofmentoring and guidan e. I also express gratitude for the many student resear hers whohave ontributed to the FreeLin proje t: Ben Bush, Mi hael M Carty, Chris Shaw, JoshBradley, Danny Savory, Matt Manwaring, Patri k Getz, Steven Freestone, M Kay Killpa k,Ni k Valletta, Levi Brown, David Nuttall, Kyle Browning, Sean Kerman, Rajan Komanduri,Bradford Law, Jorge Conde, Sushant Shrestha, and James Smith.I would also like to thank FreeLin exe utives Doug Dobyns and Randy Bailey fortheir great en ouragement. The BYU Near-Field Wireless Link proje t is sponsored by aresear h grant from FreeLin , In ., whi h has been a tremendous luxury.Finally, I would like to express appre iation to my father Ron Gottula, who en our-aged me to go to graduate s hool and whose hard work, ambition and a ademi ex ellen ethroughout his life have been a onstant sour e of inspiration.

Page 5: Discrete-Time Implementation, Antenna Design, and MIMO for ...

ContentsList of Figures viiiList of Tables xiList of Listings xii1 Introdu tion 11.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Thesis Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 Ba kground 42.1 Appli ations of NFMI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1 On-Body Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 NFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.3 Medi al Sensors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Ele tri ally Small Antennas . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 Dis rete-Time Wireless System 83.1 Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 Re eiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2.1 Channelizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103.2.2 Mat hed Filter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.2.3 Syn hronizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13iv

Page 6: Discrete-Time Implementation, Antenna Design, and MIMO for ...

3.2.4 Interpolator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.5 DQPSK Dete tor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2.6 Re eiver Implementations . . . . . . . . . . . . . . . . . . . . . . . . 173.2.7 Re eiver Performan e Veri ation . . . . . . . . . . . . . . . . . . . . 183.3 Eb/N0 Estimation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.1 Spe tral SNR Estimator . . . . . . . . . . . . . . . . . . . . . . . . . 223.3.2 SNV Estimator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3.3 Constellation-based Estimator . . . . . . . . . . . . . . . . . . . . . . 254 Antennas 274.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 274.2 Hertzian Magneti Dipole Model . . . . . . . . . . . . . . . . . . . . . . . . 284.3 Comparison of Antenna Performan e . . . . . . . . . . . . . . . . . . . . . . 304.3.1 Transmit Power . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314.3.2 Hollow-Core Ferrite-Loaded Loop Antenna . . . . . . . . . . . . . . . 324.3.3 Quad-Core Ferrite-Loaded Loop Antenna . . . . . . . . . . . . . . . . 324.3.4 Solid Ferrite-Loaded Loop Antenna . . . . . . . . . . . . . . . . . . . 324.3.5 Dual-Tuned Ferrite-Loaded Loop Antenna . . . . . . . . . . . . . . . 344.4 Con lusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 Time Division Multiple A ess System 375.1 Denitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.2 Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385.3 Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395.4 Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.4.1 Devi e ID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425.4.2 SOPC Builder System . . . . . . . . . . . . . . . . . . . . . . . . . . 425.4.3 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42v

Page 7: Discrete-Time Implementation, Antenna Design, and MIMO for ...

5.4.4 Interval Timers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.4.5 Custom FPGA Cir uits . . . . . . . . . . . . . . . . . . . . . . . . . 445.4.5.1 Pa ket Dete tion . . . . . . . . . . . . . . . . . . . . . . . . 455.4.5.2 Transmitter On Blo k . . . . . . . . . . . . . . . . . . . . . 455.4.5.3 Conguration Registers . . . . . . . . . . . . . . . . . . . . 485.5 Calibration and Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486 MIMO 516.1 Introdu tion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 516.2 MIMO Channel Capa ity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.3 Simulated Channel Capa ity . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.3.1 Fixed Transmit Power Simulation . . . . . . . . . . . . . . . . . . . . 566.3.2 Fixed SNR Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . 566.4 Con lusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587 Con lusions 607.1 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617.1.1 Mat hing Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617.1.2 Channel Sounding . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617.1.3 MIMO Implementations . . . . . . . . . . . . . . . . . . . . . . . . . 61Referen es 63A Antenna Test Results 66A.1 Hollow-Core Ferrite-Loaded Loop Antenna . . . . . . . . . . . . . . . . . . . 66A.2 Quad-Core Ferrite-Loaded Loop Antenna . . . . . . . . . . . . . . . . . . . . 71A.3 Solid-Core Ferrite-Loaded Loop Antenna . . . . . . . . . . . . . . . . . . . . 76A.4 Dual-Tuned Ferrite-Loaded Loop Antenna . . . . . . . . . . . . . . . . . . . 81vi

Page 8: Discrete-Time Implementation, Antenna Design, and MIMO for ...

B Automated Test System 90B.1 ATS Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90B.2 Tests Performed . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91B.3 Data Set Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92B.4 Data Set Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93B.5 MATLAB Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93B.6 Automati Update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93B.7 Wiki Usage Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95C TDMA Conguration Registers 96D Quasistati Field Model Sour e Code 98E Software Re eiver Code Listing 104

vii

Page 9: Discrete-Time Implementation, Antenna Design, and MIMO for ...

List of Figures1.1 NFMI power versus distan e . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.1 Equivalent ir uit for near-eld magneti indu tion . . . . . . . . . . . . . . 43.1 Blo k diagram of the dis rete-time transmitter. . . . . . . . . . . . . . . . . 93.2 System Generator transmitter . . . . . . . . . . . . . . . . . . . . . . . . . . 113.3 Blo k diagram of the dis rete-time re eiver. . . . . . . . . . . . . . . . . . . 123.4 Channelizer frequen y allo ation . . . . . . . . . . . . . . . . . . . . . . . . . 123.5 Channelizer blo k diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123.6 Channelizer low-pass lter . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133.7 Syn hronizer blo k diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 143.8 Farrow interpolator stru ture . . . . . . . . . . . . . . . . . . . . . . . . . . 163.9 System Generator re eiver . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193.10 Simulated software re eiver performan e . . . . . . . . . . . . . . . . . . . . 213.11 Eb/N0 estimator performan e omparison . . . . . . . . . . . . . . . . . . . . 233.12 Simulated performan e of onstellation-based Eb/N0 estimator . . . . . . . . 264.1 Magneti eld of Hertzian dipole . . . . . . . . . . . . . . . . . . . . . . . . 294.2 Antenna S parameter response omparison . . . . . . . . . . . . . . . . . . . 335.1 Topology of the TDMA network . . . . . . . . . . . . . . . . . . . . . . . . . 385.2 SOPC Builder s reenshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435.3 Re eiver bit sink ir uit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465.4 Pa ket dete tor ir uit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47viii

Page 10: Discrete-Time Implementation, Antenna Design, and MIMO for ...

5.5 Tx On ir uit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495.6 TDMA on os illos ope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 506.1 Simulated NFMI-MIMO singular values for xed Tx power . . . . . . . . . . 576.2 Simulated NFMI-MIMO apa ity for xed Tx power . . . . . . . . . . . . . . 586.3 Simulated NFMI-MIMO singular values . . . . . . . . . . . . . . . . . . . . . 596.4 Simulated NFMI-MIMO apa ity . . . . . . . . . . . . . . . . . . . . . . . . 59A.1 Hollow- ore antenna at 0.5 meters . . . . . . . . . . . . . . . . . . . . . . . . 67A.2 Hollow- ore antenna at 0.75 meters . . . . . . . . . . . . . . . . . . . . . . . 68A.3 Hollow- ore antenna at 1.0 meters . . . . . . . . . . . . . . . . . . . . . . . . 69A.4 Hollow- ore antenna at 1.25 meters . . . . . . . . . . . . . . . . . . . . . . . 70A.5 Quad- ore antenna at 0.5 meters . . . . . . . . . . . . . . . . . . . . . . . . 72A.6 Quad- ore antenna at 0.75 meters . . . . . . . . . . . . . . . . . . . . . . . . 73A.7 Quad- ore antenna at 1.0 meters . . . . . . . . . . . . . . . . . . . . . . . . 74A.8 Quad- ore antenna at 1.25 meters . . . . . . . . . . . . . . . . . . . . . . . . 75A.9 Solid- ore antenna at 0.5 meters . . . . . . . . . . . . . . . . . . . . . . . . . 77A.10 Solid- ore antenna at 0.75 meters . . . . . . . . . . . . . . . . . . . . . . . . 78A.11 Solid- ore antenna at 1.0 meters . . . . . . . . . . . . . . . . . . . . . . . . . 79A.12 Solid- ore antenna at 1.25 meters . . . . . . . . . . . . . . . . . . . . . . . . 80A.13 Dual-tuned antenna at 0.5 meters, 12.72 MHz . . . . . . . . . . . . . . . . . 82A.14 Dual-tuned antenna at 0.75 meters, 12.72 MHz . . . . . . . . . . . . . . . . . 83A.15 Dual-tuned antenna at 1.0 meters, 12.72 MHz . . . . . . . . . . . . . . . . . 84A.16 Dual-tuned antenna at 1.25 meters, 12.72 MHz . . . . . . . . . . . . . . . . . 85A.17 Dual-tuned antenna at 0.5 meters, 13.56 MHz . . . . . . . . . . . . . . . . . 86A.18 Dual-tuned antenna at 0.75 meters, 13.56 MHz . . . . . . . . . . . . . . . . . 87A.19 Dual-tuned antenna at 1.0 meters, 13.56 MHz . . . . . . . . . . . . . . . . . 88A.20 Dual-tuned antenna at 1.25 meters, 13.56 MHz . . . . . . . . . . . . . . . . . 89ix

Page 11: Discrete-Time Implementation, Antenna Design, and MIMO for ...

B.1 plotTestSet gure window . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94

x

Page 12: Discrete-Time Implementation, Antenna Design, and MIMO for ...

List of Tables3.1 Properties of the dis rete-time wireless system. . . . . . . . . . . . . . . . . . 93.2 Dierential en oding denition. . . . . . . . . . . . . . . . . . . . . . . . . . 93.3 Channelizer low-pass lter design riteria. . . . . . . . . . . . . . . . . . . . 133.4 Pie ewise paraboli interpolator oe ients bl(i). . . . . . . . . . . . . . . . 154.1 Antenna design summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.2 Antenna performan e summary. . . . . . . . . . . . . . . . . . . . . . . . . . 345.1 TDMA data rate requirements. . . . . . . . . . . . . . . . . . . . . . . . . . 395.2 TDMA frame denition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.3 TDMA pa ket denition. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405.4 TDMA pa ket header denition. . . . . . . . . . . . . . . . . . . . . . . . . . 416.1 Antenna properties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

xi

Page 13: Discrete-Time Implementation, Antenna Design, and MIMO for ...

List of ListingsD.1 driver.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98D.2 loadFerriteParameters.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99D.3 R_ant.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99D.4 R_fer.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99D.5 R_loss.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99D.6 R_rad.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.7 L_ant.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.8 mat hingC.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.9 L_ant.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.10 I_0.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101D.11 mu_rod.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101D.12 H_eld.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101D.13 v_o .m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102D.14 v_L.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102E.1 DSP.h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104E.2 DSP. pp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

xii

Page 14: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Chapter 1Introdu tionNear-eld magneti indu tion (NFMI) is a physi al layer for short-range wireless ommuni ation. NFMI operates on the same basi prin iples as a transformer, where urrentin a loop of wire produ es a magneti eld whi h indu es a urrent in a separate loop ofwire. Unlike transformers, however, the two oils are separated by a greater distan e andare only weakly oupled. NFMI operates in the near eld, where most of the energy is onned to a ompa t region near the transmitter and does not radiate away. This is in ontrast to onventional radio frequen y (RF) wireless ommuni ation, where most of theenergy propagates away from the transmitter into free spa e.NFMI has several advantages over traditional RF te hnology for short-range wireless ommuni ation [1. Near-eld signal power rolls o at =60 dB per de ade of distan e, ompared to =20 dB per de ade for the far eld, as shown in Figure 1.1. This steep rollo rateresults in a well-dened operational boundary or bubble where ommuni ation an o ur.This boundary provides a natural form of se urity sin e dete tion of the signal outside theoperating radius is hallenging or impossible. The bubble also allows for generous bandwidthreuse, be ause users lo ated beyond the operational range of a neighboring NFMI system an use the same frequen y without interferen e. NFMI systems do not suer the fadingee ts of multipath that plague traditional RF systems, and devi es pla ed on opposite sidesof the human body experien e no link degradation. Finally, NFMI systems generally requireless power than omparable RF systems.1

Page 15: Discrete-Time Implementation, Antenna Design, and MIMO for ...

10−1

100

101

102

−140

−120

−100

−80

−60

−40

−20

0

Distance (m)

Nor

mal

ized

Sig

nal

Pow

er(d

B)

Figure 1.1: Signal power versus distan e for an NFMI system operating at 13.5 MHz. Poweris expressed in de ibels referen ed to the signal power at 0.1 meters. The rollo in the neareld region is =60 dB per de ade, and in the far eld the rollo is =20 dB per de ade. At13.56 MHz the knee in the urve is at approximately 3.5 meterswell beyond the typi al1.5 meter operational range of an NFMI ommuni ations system.1.1 MotivationsSome of the most ex iting potential appli ations of NFMI ome in the form of on-body networks, where the se urity and reliability of NFMI te hnology provides a distin tadvantage over alternatives su h as Bluetooth. However, many of these appli ations requiremulti- hannel apabilities and data rates that are not possible with existing NFMI systemsdue to limited power and bandwidth. These limitations motivate resear h to dis over newantenna designs and signal pro essing te hniques that an in rease the apabilities of NFMIwithout drasti ally impa ting power onsumption, size, and omplexity.1.2 ContributionsThis thesis ontributes the following:1. Design and implementation of a dis rete-time signal pro essing system for multi- hannel NFMI ommuni ations; 2

Page 16: Discrete-Time Implementation, Antenna Design, and MIMO for ...

2. Re ommendations for NFMI antenna design based on modeling, experimentation, andtesting, whi h also in ludes(a) An automated software/hardware system for antenna testing(b) Code for estimation of system parameters su h as re eived signal power, SNR,and bit error rate( ) An detailed ar hive of thousands of individual antenna tests(d) MATLAB s ripts for statisti al analysis of data in the ar hive;3. Design and implementation of an e ient time division multiple a ess (TDMA) layerfor on-body NFMI systems hosted on FPGA platforms;4. Simulation results for the 3-by-3 NFMI hannel, in luding hannel apa ity analysisand re ommendations for future NFMI MIMO resear h.1.3 Thesis OrganizationChapter 2 gives some ba kground on NFMI and a brief survey of relevant literature.The design and implementation of the dis rete-time signal pro essing system for multi- hannel NFMI is presented in Chapter 3. Antenna modeling, design, test, and evaluation isthe topi of Chapter 4. Chapter 5 do uments the design and implementation of TDMA forNFMI. Channel sounding experiments and results for NFMI MIMO are dis ussed in Chapter6, and on luding remarks and re ommendations for future work are ontained in Chapter7. Code listings, system do umentation, and plots of experimental results whi h are toolengthy for in lusion in the body of the text have been in luded in several appendi es. Thesein lude antenna test results (Appendix A), a des ription of the Automated Test System(Appendix B), onguration registers for the TDMA system (Appendix C), sour e ode forthe quasistati NFMI eld model (Appendix D), and sour e ode for signi ant DSP portionsof the software re eiver (Appendix E). 3

Page 17: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Chapter 2Ba kgroundNear-eld magneti indu tion (NFMI) ommuni ation works by modulating the mag-neti near eld using an indu tive oil, whi h indu es urrent ow in a re eiver oil. Figure2.1 is an equivalent ir uit for a typi al NFMI system, showing the indu tive antennas, sim-ple mat hing ir uit onsisting of a single apa itor, and the sour e and load elements. This

vs

Rs

C1

L1

R1 R2

L2

C2

RL

Figure 2.1: Equivalent ir uit for near-eld magneti indu tion. The pairs L1, R1 and L2,R2 are the transmitter and re eiver oils, respe tively. The oils are oupled by the magneti near eld. Capa itors C1 and C2 are mat hed to the indu tan es of the antennas to form aresonant ir uit.arrangement is possible in the magneti near eld, whi h is loosely dened as the regionwithin a half-wavelength of the transmitter. For small antennas, the radiation resistan e issmall, and thus most of the energy is ree ted ba k to the sour e and very little is radi-ated into free spa e. As explained in Chapter 1, the re eived signal power in the near eld4

Page 18: Discrete-Time Implementation, Antenna Design, and MIMO for ...

typi ally rolls o at the rapid rate of =60 dB per de ade. The near eld is also distin t interms of polarization, be ause all three polarization states are present rather than the twotransverse polarizations of a propagating far eld signal.2.1 Appli ations of NFMINFMI has many appli ations to short-range wireless ommuni ation. Advantagesin terms of power onsumption, se urity, spe trum reuse, immunity to interferen e, andhuman body penetration over traditional RF solutions have sparked renewed interest inNFMI te hnology. On-body networks, NFC, and medi al sensors are emerging examples ofNFMI short range ommuni ations.2.1.1 On-Body NetworksFor personal ommuni ation, NFMI an be used to form a body-area network (BAN)[2, 3. For this appli ation, several devi es worn on the body ommuni ate within a neareld bubble that is just large enough to en ir le most of the body. This limited regionprovides a signi ant se urity benet for sensitive ommuni ations be ause eavesdroppingfrom a distan e is virtually impossible, even without en ryption. Produ ts produ ed byFreeLin , In . promise se ure voi e links between headsets and larger waist-worn radios foruse by publi safety o ers and federal agents [4. In addition to voi e ommuni ation,on-body appli ations in lude streaming video, sensors, push-to-talk remotes, headsets, andmedi al implants.2.1.2 NFCNear Field Communi ation (NFC) is a standardized subset of NFMI dened by anindustry group known as the NFC Forum. NFC is intended to fa ilitate short-range wirelessappli ations su h as a ess ontrol, point-of-sale payment, information ex hange, proximity-based advertising, and oupons [5, 6. NFC typi ally operates at distan es of 4 m or5

Page 19: Discrete-Time Implementation, Antenna Design, and MIMO for ...

less, meaning that the devi es must be nearly tou hing for a link to be established. Thequi k rollo of near-eld power provides intrinsi se urity for NFC transa tions even whenen ryption or other se urity measures are not used.2.1.3 Medi al SensorsAnother ex iting appli ation of NFMI te hnology is medi al monitoring and implants[7. Most medi al sensors are wired, whi h in onvenient and in some ases hazardous. Im-planted sensors present a parti ular hallenge, be ause any brea h in the skin in reases riskof infe tion and the human body is opaque to most RF signals. Even where RF solutionssu h as Bluetooth are feasible, the short battery life and the potential for eavesdropping onsensitive health information is a great on ern. NFMI an potentially solve many of theseproblems by providing a solution that is se ure, able to penetrate the human body, and low-power. Simple NFMI sensors an even harvest power from the magneti elds, eliminatingthe requirement to repla e or re harge a battery.2.2 Ele tri ally Small AntennasNFMI systems typi ally use the unli ensed 13.56 MHz industrial, s ienti and med-i al (ISM) band. This band has a half-wavelength of approximately 11 meters, whi h allowslink distan es of a few meters within the near eld region. However, the long wavelength alsoimplies that NFMI antennas that are unavoidably ele tri ally small. The bandwidth ande ien y of NFMI antennas are onstrained by the theoreti al bounds on the performan eof ele tri ally small antennas.Resear h has shown that ele tri ally small antennas have high quality fa tor (Q),narrow bandwidth, and high e ien y, or broad bandwidth and low e ien y. Early workon small antennas onned to a sphere of a given radius provided lower bounds on Q, whi hlimits the impedan e mat hing bandwidth of an antenna driven by an amplier [8, 9. In- reasing availability of low-loss, high-permeability ferrite material in the 1950's improved the6

Page 20: Discrete-Time Implementation, Antenna Design, and MIMO for ...

e ien y-bandwidth of re eive antennas by in reasing the impedan e [10. Analyti al modelswere later developed to aid in the design of optimal volumetri ally onstrained antennas [11.More re ent work has shown that the Q of an ele tri ally small antenna with xed radius an be minimized by utilizing the volume of a minimum en losing sphere to the maximumextent possible, and hollow spheroidal ore design results in maximum bandwidth-e ien yfor a xed volume of ferrite material [12, 13.Despite the availability of theory and design guidelines for small antennas, manydesigns fall far short of the theoreti al bound on the bandwidth-e ien y produ t. In a re ent omparison of 110 antenna designs appearing in the IEEE Transa tions on Antennas andPropagation, only a few approa hed the theoreti al bound [14. Nevertheless, the study does onrm that a hieving bandwidth-e ien y performan e near the bound is a realisti goal.Many NFMI appli ations require more bandwidth than is available with urrent antennas.Consequently, the design of an e ient, small, broadband NFMI antenna with pra ti algeometri onstraints is an important topi of resear h.

7

Page 21: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Chapter 3Dis rete-Time Wireless SystemBefore antenna testing is possible, a omplete wireless system suitable for su h ex-perimental antenna testing must exist. In this hapter, the design and implementation ofthe dis rete-time portions of a omplete NFMI wireless system are des ribed.The dis rete-time signal pro essing algorithms for the wireless system were developedin onsideration of the need for multi- hannel operation and the resear h team's need toprodu e a working system in a short time frame. Design work was performed with signif-i ant assistan e from Dr. Mi hael Ri e, a professor in the BYU Ele tri al and ComputerEngineering Department, and Chris Shaw, a graduate student in the same department. Thenal design is a 13- hannel system with 250 kHz bandwidth per hannel, 250 kbps bitrate,and dierential QPSK modulation.Several options for implementation of the dis rete-time algorithms exist. An idealsystem for resear h would be exible, reprogrammable, and provide visibility into the signalpro essing algorithms for study, evaluation, and debugging. For dis rete-time signal pro ess-ing, eld programmable gate array (FPGA) te hnology and traditional PC-based softwarepro essing provide two possible implementation platforms. Ultimately both software andFPGA implementations of the transmitter and re eiver were developed. Software was writ-ten in the C programming language, and FPGA development was done using Xilinx SystemGenerator and Altera DSP Builder.8

Page 22: Discrete-Time Implementation, Antenna Design, and MIMO for ...

bitsDQPSKencoder

b

↑U

↑U

H(z)

H(z)

DDS y(nT )

Figure 3.1: Blo k diagram of the dis rete-time transmitter.Table 3.1: Properties of the dis rete-time wireless system.Property ValueModulation Dierential QPSKBit Rate 250 kbpsSymbol Rate 125 ksymbols/sPulse Shape Square root raised osine (SRRC)Pulse Shape Ex ess Bandwidth 100%Spe tral E ien y 1 bit/s/Hz3.1 TransmitterThe dis rete-time transmitter onsists of a binary sour e, dierential QPSK en oder,upsamplers, pulse shaping lters, and a dis rete-time mixer. A blo k diagram of the trans-mitter is shown in Figure 3.1. The bit rate, modulation, and pulse shaping lter designparameters are given in Table 3.1, and the dierential en oding denition is given in Table3.2. The design was proven by implementing and testing it in MATLAB.The MATLAB implementation served as a prototype for the rst FPGA implemen-tation, whi h was targeted for the Xilinx Xtreme DSP Development Kit, Virtex IV Edition.Table 3.2: Dierential en oding denition.Transition Angle Bits0 11π/2 01π 00

3π/2 109

Page 23: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Early oding was done in VHDL, but development qui kly transitioned to Xilinx SystemGenerator, whi h allows system designers to develop in the Simulink environment using aspe ial blo kset that generates HDL ode. The System Generator transmitter in Figure 3.2loosely mat hes transmitter blo k diagram in Figure 3.1. The ounter and ROM blo ksare the binary sour e, the BitBasher and ROM3 blo ks are the DQPSK en oder, the FIR ompiler blo ks are the pulse-shaping lters H(z), and the dis rete-time mixer in ludes theDDS blo k and the multiply blo ks. The upsampling is handled automati ally by SystemGenerator and thus does not have a dedi ated blo k.A se ond FPGA implementation was reated for the Altera DSP Development Kit,Cy lone III Edition using Altera's DSP Builder, whi h is equivalent to System Generatorbut for Altera FPGAs. This system was developed at FreeLin due to the di ulty andexpense of obtaining the older Xilinx Xtreme DSP development kit initially used at BYU.The Altera transmitter is fun tionally identi al to the Xilinx version.3.2 Re eiverThe dis rete-time re eiver onsists of a hannelizer, mat hed lter, syn hronizer, in-terpolator, and dete tor. A blo k diagram of the re eiver is shown in Figure 3.3. The samesystem properties of Table 3.1 also apply to the re eiver.3.2.1 ChannelizerThe hannelizer performs hannel sele tion, downsampling, and onversion to base-band. Channel sele tion lters the in oming broadband signal to a ept a narrowband signal entered at a hosen arrier frequen y and reje ts signals at other frequen ies. The 1215MHz band is divided into thirteen 250 kHz wide hannels entered at 12.00, 12.25, 12.50,12.75, 13.00, 13.25, 13.50, 13.75, 14.00, 14.25, 14.50, 14.75, and 15.00 MHz as shown inFigure 3.4. 10

Page 24: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Serial to Parallel

s pz−1

ROM3

addr z−1

ROM2

addr z−1

ROM1

addr z−1

ROM

addr z−1

Mult sin

a

ba × b

z−3

Mult cos

a

ba × b

z−3

FIR Compiler 5.0 2

din

dout

rfd

rdy

FIR Compiler 5.0 1

din

dout

rfd

rdy

DDS

sine

cosine

DAC1

Counter

++

BitBasher

b

c

a

Add

a

b

a + b

System

Generator

Figure 3.2: The transmitter as implemented using System Generator for Xilinx FPGAs.

11

Page 25: Discrete-Time Implementation, Antenna Design, and MIMO for ...

r(nT ) chanmatchedfilter

interpDQPSKdetector

binarydata sinkFigure 3.3: Blo k diagram of the dis rete-time re eiver.

f12 MHz 13 MHz 14 MHz 15 MHz

3.25 MHz

Figure 3.4: Channelizer frequen y allo ation. Ea h of the 13 hannels is 250 kHz wide andspa ed 250 kHz apart.Be ause FreeLin devi es may use multiple hannels simultaneously, the hannelizerwas designed with a polyphase lter ar hite ture. The polyphase ar hite ture makes all 13 hannels available at the hannelizer output simultaneously with minimal extra pro essingrequired. The stru ture of this lter is shown in Figure 3.5. The lters H0

(

zM/D) to

HM−1

(

zM/D) in Figure 3.5 are sublters formed out of a larger low-pass lter H(z). Thelter H(z) was designed with the riteria given in Table 3.3. For M = 72, D = 36, and

r(nT ) b

z−1

z−(M−1)

b

b

b

↓D

↓D

↓D

b

b

b

H0(zM/D)

H1(zM/D)

b

b

b

HM−1(zM/D)

e−j2πk 1

M

e−j2πkM−1

M

ej2πkD

Mm

y(m) = y1(nT/D)

Figure 3.5: Channelizer blo k diagram.12

Page 26: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Table 3.3: Channelizer low-pass lter design riteria.Criterion Constraintpassband 0 ≤ F ≤ 12M

cycles/sampletransition band 12M

< F ≤ 1M

cycles/samplestop band 1M

< F ≤ 12cycles/samplestop band attenuation 60 dBlter length multiple of M

0 100 200 300 400

0

5

10

15

20

x 10−3

n

h(n

)

(a) Impulse response. −0.1 0 0.1

−40

−30

−20

−10

0

Ω

H(e

jΩ)

(dB

)

(b) Frequen y response.Figure 3.6: Channelizer low-pass lter with M = 72, D = 36, and length 432 generatedusing the Parks-M Clellan algorithm in MATLAB.a lter length of 432, the lter shown in Figure 3.6 results, in whi h ase ea h of the 72polyphase lters are length 432/72 = 6.3.2.2 Mat hed FilterThe mat hed lter is identi al to the square root raised osine pulse shaping lterused in the transmitter. The parameters of this lter are given in Table 3.1.3.2.3 Syn hronizerBe ause the re eiver and transmitter use independent lo ks, the re eiver must re oversymbol timing information and interpolate between the available samples in order for thedete tor to make optimum de isions. Timing information is re overed by using the dis rete13

Page 27: Discrete-Time Implementation, Antenna Design, and MIMO for ...

r(nT ) b

z−1

z−2

z−3

↓4

↓4

↓4

↓4

|•|2

|•|2

|•|2

|•|2

+

−+

z−1

z−1

b

b

12πarg • ε

Figure 3.7: Syn hronizer blo k diagram based on Figure 8 of [15.square timing re overy algorithm proposed by Oerder and Meyr in [15. This algorithmoperates in blo k mode, and assumes that the timing oset varies slowly over many symbols.For a sample rate of 4 samples per symbol, the algorithm simplies to the form shown inFigure 3.7. The output of the syn hronizer, ε, is onverted to a basepoint index m and afra tional interval µ bym =

0 0 ≤ ε < 12

1 12≤ ε < 1

2 −1 ≤ ε < −12

3 −12≤ ε < 0

(3.1)and

µ =

2ε 0 ≤ ε < 12

2(

ε− 12

)

12≤ ε < 1

2 (ε+ 1) −1 ≤ ε < −12

2(

ε+ 12

)

−12≤ ε < 0

. (3.2)

14

Page 28: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Table 3.4: Pie ewise paraboli interpolator oe ients bl(i).i b2(i) b1(i) b0(i)−2 α −α 0−1 −α 1 + α 00 −α α− 1 11 α −α 03.2.4 InterpolatorThe basepoint index m and fra tional interval µ produ ed by the timing syn hronizerare used to interpolate between the mat hed lter output samples. Interpolation is performedusing a pie ewise paraboli interpolator of the form

x ([m(k) + µ(k)]T ) = [v(2)µ(k) + v(1)]µ(k) + v(0), (3.3)wherev(l) =

1∑

i=−2

bl(i)x ([m(k)− i]T ) , (3.4)and bl(i) is as dened in Table 3.4. This is implemented using the Farrow stru ture shownin Figure 3.8. [163.2.5 DQPSK Dete torThe interpolator output, whi h has one sample per symbol, forms the input to amaximum likelihood dierential-QPSK dete tor. The dete tor takes the previous symbol and omputes three rotations of the previous symbol at angles π/2, π, and 3π/2. The Eu lideandistan e between the four resulting points and the urrent symbol are then omputed, and thedete tor hooses the rotation with the minimum result as the maximum likelihood de ision.The dete tor outputs the two bits orresponding to the dete ted rotation a ording to thedierential en oding denition in Table 3.2.15

Page 29: Discrete-Time Implementation, Antenna Design, and MIMO for ...

x(nT )

µ(k)

−1/2

b

b

z−1

b−12x((m(k) + 1)T )

z−1

b−12x(m(k)T )

z−1

b−12x((m(k)− 1)T )

b

b

b

−+

++

+−

b

++−

++

++

++

z−1

b x((m(k) + 1)T )

z−1

++x((m(k) + µ(k))T )

x((m(k) + 2)T )−1

2x((m(k) + 2)T )

v(0) v(1) v(0)

Figure 3.8: Farrow interpolator stru ture. Based on Figure 8.4.16 of [16.

16

Page 30: Discrete-Time Implementation, Antenna Design, and MIMO for ...

3.2.6 Re eiver ImplementationsThe re eiver was implemented following same methodology used for the transmitter,starting with MATLAB and progressing to FPGA-based systems. Unlike the transmitter,however, a near real-time implementation of the re eiver was developed in the C programminglanguage to run on a desktop PC. The software version was developed due to the then-urgent need for an antenna testing platform, whi h ould not wait for an FPGA version tobe ome available. The re eiver is more ompli ated than the transmitter, and onsequentlydevelopment and debugging onsumed more time. After a basi version of the softwarere eiver was omplete, an FPGA implementation was reated.The software implementation of the re eiver was at rst a dire t translation of theMATLAB version into C syntax, but has sin e evolved into an elaborate ar hite ture withsupport for bit error rate estimation, Eb/N0 estimation (see Se tion 3.3), syn hronizationwith the transmitter, and automati ar hiving of antenna test data (see Appendix E fora des ription of the Automated Test System). Analog signals are sampled by an AdlinkADC situated on the PCI bus of the PC. Pro essing of the samples is performed blo k-mode su h that ea h buer a quired from the ADC is ompletely pro essed before the nextbuer is retrieved. The software re eiver is apable of pro essing multiple frequen y hannelssimultaneously by means of a threaded ar hite ture, where ea h a tive hannelizer output ispro essed in a separate thread. The Hewlett-Pa kard PC that hosts the software re eiver is apable of pro essing up to two hannels simultaneously in real time.1 As of April 2012 theentire re eiver proje t ontained over 6,500 lines of ode split between 67 sour e les, thusonly the signal pro essing portions of the ode have been in luded in this thesis in AppendixE. After the software re eiver was available for antenna testing, an FPGA version wasdeveloped. The rst FPGA re eiver was implemented using System Generator for the Xilinx1The PC in ludes a dual- ore Intel pro essor. It is likely that the number of hannels that an be pro essedin real time is dire tly related to the parallel pro essing apabilities of the pro essor.17

Page 31: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Xtreme DSP Development Kit, Virtex IV Edition. This development eort was more hal-lenging to a omplish using System Generator be ause the most omplex algorithmsthe hannelizer, timing syn hronizer, and interpolator ould not be implemented using singleblo ks out of the System Generator blo kset. Instead these algorithms were implementedfrom s rat h using low-level blo ks su h as delay elements, adders, and multipliers. Limitedunderstanding of e ient FPGA ar hite tures for these algorithms ompli ated the develop-ment pro ess, but after mu h eort and experimentation a working FPGA implementation ofthe re eiver was ompleted. Unfortunately this version was not integrated into the antennatesting system due to bugs in some Xilinx APIs for transferring data between the host PCand the FPGA, but it did demonstrate the feasibility of using System Generator and similartools to develop omplex DSP algorithms for FPGAs. Later an Altera version of the re eiverwas developed at FreeLin for produ t development purposes using Altera's DSP Builder,whi h is very similar to Xilinx System Generator.The top-level view of the System Generator re eiver is presented in Figure 3.9. Unlikethe transmitter, ea h blo k in Figure 3.9 is a Simulink subsystem rather than a blo k fromthe System Generator blo kset. Ea h subsystem ontains its own set of blo ks and signal onne tions, and may ontain nested subsystems.3.2.7 Re eiver Performan e Veri ationThe quality of the dis rete-time re eiver signal pro essing an be evaluated by mea-suring its bit error rate performan e in an additive white Gaussian noise (AWGN) hannel.The FreeLin re eiver uses a dierential quadrature phase-shift keying (DQPSK) dete torwith Gray oding, whi h has a theoreti al bit error rate performan e given byPb = Q1 (a, b)−

1

2I0 (ab) e

− a2+b

2

2 , (3.5)18

Page 32: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Output_Bits

bits

Matched_Filter

Chan_In_Real

Chan_In_Imag

MF_Out_Real

MF_Out_Imag

Interpolation

MF_in_real

MF_in_imag

Interp_out_real

Interp_out_imag

Decision

x’(kTs)

y’(kTs)1

Decision

Constant

4

Channelizer

ADC_in

Channel_In

Chan Out Real

Chan Out Imag

ADC1

System

Generator

Figure 3.9: The re eiver as implemented using System Generator for Xilinx FPGAs.

19

Page 33: Discrete-Time Implementation, Antenna Design, and MIMO for ...

where Q1 (a, b) is the Mar um Q fun tion given byQ1 (a, b) =

ˆ ∞

b

xe−a2+x

2

2 I0 (ax) dx, (3.6)I0 (x) is the 0th order modied Bessel fun tion

I0 (x) =

∞∑

k=0

(

xk

2kk!

)2

, (3.7)and a and b area =

2Eb

N0

(

1−√

1

2

) (3.8)andb =

2Eb

N0

(

1 +

1

2

)

, (3.9)respe tively, where Eb/N0 is the normalized SNR per bit [17. A good implementation of aDQPSK re eiver should a hieve this predi ted performan e in an ideal AWGN hannel.The software re eiver a hieves the theoreti al bit error rate performan e using simu-lated input samples. The input samples were generated using a MATLAB implementation ofthe dis rete-time transmitter using a pseudorandom binary sequen e as its input. This sig-nal, sampled at the same rate as the ADC of the software re eiver (20 MHz), was orruptedwith MATLAB-generated white Gaussian noise to produ e a signal with known signal-to-noise ratio (Eb/N0). The noisy MATLAB-generated samples were then introdu ed to thesoftware re eiver in pla e of the ADC. The re eiver pro essed the signal and estimated thebit error rate of the dete ted binary sequen e by omparing to the original pseudorandompattern. This pro ess was repeated for many realizations of the simulated samples and forseveral values of Eb/N0. The results of this simulation are plotted in Figure 3.10, whi hshows ex ellent agreement between theory and simulation.20

Page 34: Discrete-Time Implementation, Antenna Design, and MIMO for ...

−2 0 2 4 6 8 10 12 14

10−6

10−4

10−2

100

Eb/N0 (dB)

Bit

Err

or

Rate

theorysimulation

Figure 3.10: C software re eiver performan e using MATLAB generated input samples withAWGN. The solid urve is the theoreti al bit error rate performan e of a dierential QPSKdete tor in the AWGN hannel.

21

Page 35: Discrete-Time Implementation, Antenna Design, and MIMO for ...

3.3 Eb/N0 EstimationThe dis rete-time wireless system was developed in part to fa ilitate antenna testing,where one of the fundamental gures of merit is the signal-to-noise ratio (SNR) at there eiver. In a ommuni ations hannel with additive white Gaussian noise, the bit errorrate of the system is determined by a normalized SNR denoted Eb/N0, whi h is the ratio ofthe energy per bit to the power spe tral density of the noise. In a real system, the valueof Eb/N0 is not known at the re eiver but an be estimated from the re eived signal andprior knowledge of the transmitted signal. Over the ourse of this proje t three separateEb/N0 estimators have been implemented to support antenna testing. These estimators aredes ribed and ompared in this se tion.3.3.1 Spe tral SNR EstimatorThe rst estimator uses estimates of the time-average signal power to determine Eb/N0.The time-average signal power is estimated for all 13 frequen y hannels, where theestimate for a single hannel is Pav,j, 0 ≤ j ≤ 12. If the transmitter is transmitting on hannel i, 0 ≤ i ≤ 12, then Pav,i in ludes power from both the signal and the noise, and thePav,k, k 6= i are assumed to in lude only noise power. The noise power estimate ηi is

ηi =1

12

k

Pav,k k 6= i, (3.10)whi h is the sample mean of the 12 Pav,k. The SNR estimate ρi is given byρi =

Pav,i

ηi− 1, (3.11)

22

Page 36: Discrete-Time Implementation, Antenna Design, and MIMO for ...

−10 −5 0 5 10 15−10

0

10

20

Expected Eb/N0 (dB)

Est

imate

dE

b/N

0(d

B)

(a) Spe tral Eb/N0 estimator.

−10 −5 0 5 10 15−100

−80

−60

−40

−20

0

20

Expected Eb/N0 (dB)

Est

imate

dE

b/N

0(d

B)

(b) SNV TxDA Eb/N0 estimator.

0 2 4 6 8 10 12

0

5

10

15

20

Expected Eb/N0 (dB)

Est

imate

dE

b/N

0(d

B)

( ) Constellation-based Eb/N0 estimator.Figure 3.11: Comparison of Eb/N0 estimator performan e using real data obtained duringantenna testing. Estimated values of Eb/N0 are plotted versus the expe ted values, and theideal ase with unit slope is shown by the solid line.23

Page 37: Discrete-Time Implementation, Antenna Design, and MIMO for ...

where the subtra tion by 1 is required be ause the estimate Pav,i in ludes both signal andnoise power. To onvert SNR to Eb/N0, ρi is normalized su h thatEb/N0 =

B

fbρi, (3.12)where B = 250 kHz is the hannel bandwidth and fb = 250 kbps is the net bitrate.This estimator was abandoned be ause its outputs did not orrelate well with theexpe ted values of Eb/N0. Figure 3.11a is a plot of the estimated values of Eb/N0 versusthe expe ted values over dozens of individual antenna tests, where the expe ted values weretaken to be those values that orrespond to the observed bit error rate a ording to Equation3.5. The poor orrelation between these quantities in Figure 3.11a is lear.3.3.2 SNV EstimatorAfter abandoning the spe tral SNR estimator, the Squared Signal-to-Noise Varian e (SNV)Estimator based on [18 was implemented. This proved hallenging be ause the SNVestimator assumes oherent dete tion, but the FreeLin re eiver uses dierential dete tionand does nothing to estimate arrier frequen y oset. To make the FreeLin re eiver ompatible with the SNV algorithm, a frequen y oset estimator was implemented and themat hed lter outputs were pro essed using this information to approximate oherentdete tion. Under ideal onditions this onguration produ ed good estimates, but thefrequen y oset estimator was unreliable. This poor reliability resulted in the bimodalbehavior evident in Figure 3.11b, whi h shows two distin t regions of estimates, onereasonable and one unusable. After major eorts to improve the reliability of this estimatorfailed, a new approa h was explored.

24

Page 38: Discrete-Time Implementation, Antenna Design, and MIMO for ...

3.3.3 Constellation-based EstimatorAfter abandoning both the spe tral and SNV Eb/N0 estimators, a new onstellation-based estimator was derived. To des ribe this estimator, it is onvenient to start with asystem model that negle ts arrier frequen y oset. In su h a system, the mat hed lteroutputs an be modeled as a sequen e of QPSK symbols in the omplex plane added toa omplex white Gaussian noise pro ess with zero mean and varian e σ2. To estimate thevarian e of the noise, the phase rotations introdu ed by the dierential QPSK en oder mustrst be removed su h that all of the mat hed lter outputs are entered around a single pointin the IQ plane. After this operation, the sample mean and sample varian e estimators areused to form the estimate of Eb/N0 byEb/N0 =

|µ|σ2

, (3.13)whereµ =

1

N

N∑

i=1

yi (3.14)andσ2 =

1

N − 1

N∑

i=1

|yi − µ|2 . (3.15)This estimator an be applied to a non- oherent dierential QPSK system with the use of aphase lo ked loop.The quality of the onstellation-based Eb/N0 estimator was hara terized in a simu-lated AWGN hannel. Input samples with known Eb/N0 were generated in MATLAB andpresented to the Eb/N0 estimator. In Figure 3.11 the estimates are plotted versus the knownvalues to show the strong orrelation between these quantities. The bias of the estimatorwas omputed asBias

θ

j=

1

N

N∑

i=1

θi − θi, (3.16)25

Page 39: Discrete-Time Implementation, Antenna Design, and MIMO for ...

−5 0 5 10 15−5

0

5

10

15

Expected Eb/N0 (dB)

Est

imate

dE

b/N

0(d

B)

Figure 3.12: Simulated performan e of the onstellation-based Eb/N0 estimator. The esti-mates were obtained from simulations performed with the software re eiver using simulatedinput samples with additive Gaussian noise. Estimated values of Eb/N0 plotted versus theknown values. The ideal ase with unit slope is shown by the solid line.and the mean squared error (MSE) was omputed asMSE

θ

j=

1

N

N∑

i=1

(

θi − θi

)

. (3.17)In both ases j indexes a bin and i indexes a simulated data point. In simulation theestimator has a small negative bias of about −0.25 dB and a MSE of about 0.126 dB, andboth values were approximately onstant a ross the range of Eb/N0 values.Finally, the onstellation-based Eb/N0 estimator was evaluated using antenna testdata. As seen in Figure 3.11 , the vast majority of the data points lie within 4 dB of thetheoreti al ideal performan e, whi h is signi antly better than the previous two estimatorsand su iently a urate for NFMI antenna performan e studies where Eb/N0 hanges by tensof de ibels when the antennas are moved by tens of entimeters. The bias of the estimatorusing real test data varies linearly over the range of values, starting at about +0.5 dB at5 dB Eb/N0 and in reasing to about +2.5 dB at 13 dB. The MSE in reases from a low ofabout 1 dB at 5 dB to a high of 9 dB at 13 dB Eb/N0.26

Page 40: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Chapter 4Antennas4.1 Introdu tionThe purpose of this hapter is to study the a hievable range and bandwidth of a sizeand power-limited broadband near eld ommuni ation system, with emphasis on how thelink e ien y and bandwidth are determined by the design and properties of the transmitand re eive antennas. A hieving near eld ommuni ations that is both power-e ient andbroadband with an ele tri ally small antenna is hallenging due to physi al limitations. Fa -tors that determine performan e in lude transmitter modulation s heme and digital signalpro essing (DSP), transmit power amplier (PA), transmit antenna, propagation environ-ment, re eive antenna, re eive low noise amplier (LNA), and the re eiver DSP.Several of these fa tors are relatively straightforward to deal with and an be opti-mized using areful engineering. These in lude the transmit and re eive DSP algorithmsand implementation. Other fa tors, su h as the transmit and re eive antenna e ien y andimpedan e mat hing bandwidth, involve pushing the design as lose to fundamental physi allimits as possible without violating size restri tions, whi h an be di ult.Basi theorems of antenna theory limit the e ien y of antennas that are mu hsmaller than the ele tromagneti wavelength at the system operating frequen y, whi h limitsthe near eld strength that an be produ ed for a given amount of urrent through theantenna. These theorems also limit the impedan e mat hing bandwidth that an be a hieved,even with a lossless, ideal multistage mat hing network.27

Page 41: Discrete-Time Implementation, Antenna Design, and MIMO for ...

For small antennas, low e ien y and limited impedan e mat hing bandwidth a tu-ally intera t in su h a way that ompounds the di ulty of a a hieving power-e ient systemwith a low battery power supply voltage. A low-e ien y antenna requires a relatively largeinput urrent into the antenna to a hieve a reasonably high near eld strength that is abovethe environmental noise oor. High input urrent and power-added e ien y with a lowpower supply voltage di tates that the power amplier input impedan e must be low. Lowpower amplier output impedan e in turn redu es the impedan e mat hing bandwidth ofthe amplier-antenna system.Furthermore, the propagation environment and external noise at 13 MHz are bothhighly variable, whi h onfounds attempts to model the system and understand it theoreti- ally using te hniques that are straightforward at mi rowave frequen ies. External noise at13 MHz is higher by 60100 dB than at mi rowave frequen ies, and an vary based on lo a-tion and time of day by a remarkable 40 dB or more. Impulse noise and other non-stationary,non-Gaussian noise sour es are ommon. These ee ts obs ure the fundamental physi al be-havior of the antennas in the system and make it di ult to ompare link e ien y andsystem bandwidth for dierent antenna designs. To remove these ee ts, hundreds of mea-surements at dierent times and lo ations were averaged in order to produ e the results inthis hapter.4.2 Hertzian Magneti Dipole ModelThe magneti eld generated by a ferrite-loaded loop antenna an be modeled as thequasi-stati magneti eld of a Hertzian dipole. Thus the magneti eld H (r) of a ferriteloop antenna situated at the origin of a spheri al oordinate system is [19H (r) = jωε

e−jkr

4πrIml

[

−j

kr+

(−j

kr

)2]

2 cos θr +

[

1− j

kr+

(−j

kr

)2]

sin θθ

, (4.1)28

Page 42: Discrete-Time Implementation, Antenna Design, and MIMO for ...

−1.5 −1 −0.5 0 0.5 1 1.5−1.5

−1

−0.5

0

0.5

1

1.5

y (m)

z(m

)

Figure 4.1: Sli e through the magneti eld produ ed by a magneti Hertzian dipole operat-ing at 13.5 MHz. The loop antenna is lo ated in the origin of the oordinate system orientedin the z dire tion.where ω is the operating frequen y, k is the wave number, and r and θ are omponents ofthe ve tor r in spheri al oordinates. Substituting Iml = jωµI0A and simplifying givesH (r) = −k2I0A

e−jkr

4πr

[−j

kr+

1

k2r2

]

2 cos θr +

[

1− j

kr+

1

k2r2

]

sin θθ

, (4.2)where I0 is the magnitude of the urrent in the loop and A is the area of the loop.Equation 4.2 also provides several useful insights that aid in NFMI antenna designand test. First, it provides information about the dire tion of the magneti eld lines, whi his important for setting up ee tive antenna test ongurations where the antennas areoriented parallel to the predi ted dire tion of the eld lines. Figure 4.1 shows the magneti eld lines generated by a Hertzian dipole antenna in the near eld regime at 13.5 MHz.Equation 4.2 also shows that the eld strength is proportional to the area of the loop Aand the magnitude of the urrent in the loop I0. The area of the loop is straightforward29

Page 43: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Table 4.1: Antenna design summaryAntenna Core Dimensions Coil(s)Length O.D. I.D.Hollow ore 25.4 mm 12.3 m 5.1 mm 10 turns, 24 AWGQuad ore 20 mm 2.5 mm N/A 8 turns, 30 AWGSingle ore 45 mm 3.5 mm N/A 8 turns, 30 AWGDual tuned 45 mm 3.5 mm N/A 8 turns, 30 AWGto modify, but is onstrained by the pra ti al need for a ompa t design. The urrent I0is inuen ed by the number of windings, the dimensions and magneti properties of theferrite material loading the antenna, and how the antenna impedan e is mat hed to the orresponding amplier. These properties ae t both the e ien y and bandwidth of theantenna.4.3 Comparison of Antenna Performan eThe magneti eld model of Se tion 4.2 aided in the design of dozens of antennas,in luding air ore antennas, multiply-resonant antennas, ferrite ores of various types anddiameters, and antennas with multistage impedan e mat hing networks. Four of these de-signs were sele ted for exhaustive study and omparison in this hapter. Table 4.1 gives anoverview of these four designs.Ea h antenna of interest was tested rigorously in a arefully ontrolled manner. Test-ing was performed using the Automated Test System, whi h is a hardware and softwaresystem developed to speed rigorous antenna testing while maintaining a detailed ar hive oftest results and asso iated setup information (see Appendix B for a detailed des ription ofthe Automated Test System). Prior to ea h test, the transmit and re eive antennas weremounted on a test xture that allowed for areful ontrol of the link distan e and antennaorientation. Four link distan es were onsidered: 0.5 m, 0.75 m, 1.0 m, and 1.25 m. Be ausethe antenna performan e is lo ation and time dependent, 15-20 measurements were taken at30

Page 44: Discrete-Time Implementation, Antenna Design, and MIMO for ...

ea h distan e. To over a wide range of propagation environments, the lo ation of the setupwas hanged randomly.The transmit antenna is driven by a urrent gain amplier and the re eived signal isamplied by a high gain low noise amplier (LNA) with 50 W input impedan e. The highgain LNA used on the re eive side is a ommer ially available ZFL-500LN from MiniCir uits,In . The high input impedan e of the LNA is important for the study, sin e it ee tivelyin reases the bandwidth of the re eive antenna and allows all of the antennas to be testedwith the same antenna on the re eive side with a somewhat redu ed ee t on overall systembandwidth from the re eive side of the system.4.3.1 Transmit PowerThe power onsumed by the transmitter an be divided into three ategories: powerdrawn from the battery, power transferred to the antenna, and power onverted to magneti eld by the antenna. For the tests reported here, the DC power drawn from the battery wastypi ally between 50 and 80 mW, and did not hange signi antly with the impedan e ofthe antenna load. Power transferred to the antenna, however, is a fun tion of the e ien yand impedan e of the antenna. High impedan e antennas su h as the hollow- ore antennasa ept less power from the transmit amplier, and low impedan e antennas su h as the solid ore antenna a ept more power from the amplier. The amount of power re eived by theantenna that is onverted to magneti eld energy is a fun tion of the antenna e ien y.The hollow- ore ferrites are larger in diameter and thus more e ient at onverting inputpower into magneti eld energy than the smaller solid ore antennas.The transmit signal amplitude was set su h that the transmit power amplier peakvoltage at the tuned amplier input terminals was approximately 0.7 V. The power a eptedby the antenna from the power amplier varied from roughly 80 mW for the solid oreantenna to 10 mW for the hollow ore antenna. Due to the dieren es in transmit power,31

Page 45: Discrete-Time Implementation, Antenna Design, and MIMO for ...

the BER and SNR results given in the following se tions are biased in favor of the solid oreantenna.4.3.2 Hollow-Core Ferrite-Loaded Loop AntennaPrevious resear h suggests that hollow ore antennas oer optimal bandwidth ande ien y for a given volume of ferrite [13. After mu h study, a 10-turn hollow ore ferriteloaded loop antenna design was sele ted for further experimentation. The antenna was tunedusing a variable apa itor to the frequen y 13.56 MHz. The hollow ore antenna was usedon the transmit side of the link, and the re eive side used a solid ore antenna. Figure 4.2ashows Smith hart plot of the tuned response of the hollow ore antenna. The test resultsfor this antenna an be found in Se tion A.1.4.3.3 Quad-Core Ferrite-Loaded Loop AntennaThe small quad- ore ferrite loaded loop antenna onsisted of four small ferrite oreswith windings onne ted in series and arranged in square topology. This design improvesthe range performan e due to the strong inter-element oupling between the ores and a onsequent in rease in the ee tive size of the antenna relative to the total ferrite volume.Figure 4.2b shows the Smith hart plot of the tuned response of the transmit antenna, andSe tion A.2 gives the test results.4.3.4 Solid Ferrite-Loaded Loop AntennaFor these results, identi al solid ore antennas were used on both the transmit andre eive sides of the link. Figure 4.2 shows the response of the antenna, and Se tion A.3shows the performan e for various link distan es.32

Page 46: Discrete-Time Implementation, Antenna Design, and MIMO for ...

0.2 0.5 1 2 50

0.2

0.51

2

5

−0.2

−0.5−1

−2

−5

(a) Hollow ore antenna.0.2 0.5 1 2 5

0

0.2

0.51

2

5

−0.2

−0.5−1

−2

−5

(b) Quad- ore antenna.0.2 0.5 1 2 5

0

0.2

0.51

2

5

−0.2

−0.5−1

−2

−5

( ) Solid ore antenna.0.2 0.5 1 2 5

0

0.2

0.51

2

5

−0.2

−0.5−1

−2

−5

(d) Dual-tuned antenna.Figure 4.2: S parameter response omparison of the four antenna designs from 10 to 20 MHz.33

Page 47: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Table 4.2: Antenna performan e summary.Antenna E ien y BandwidthHollow ore High LowQuad ore Medium MediumSolid ore Low HighDual tuned Medium High4.3.5 Dual-Tuned Ferrite-Loaded Loop AntennaThe dual-tuned ferrite loaded loop antenna is onstru ted from two solid ore ferrite ores ele tri ally onne ted in parallel. The two elements are arranged orthogonal to ea hother to minimize the inter-element oupling and to a hieve polarization diversity. The an-tenna is designed to maximize bandwidth performan e by independently tuning the elementsat two distin t resonant frequen ies. Test results for this antenna are in Se tion A.4, andthe S-parameter response is shown in Figure 4.2d.4.4 Con lusionsThis hapter has fo used on the inuen e of antenna geometry and design on thebandwidth, bit error rate, SNR, and power performan e of a near eld ommuni ation sys-tem. The primary goal was to study the ee t of antenna design on the bandwidth andrange of the link.From the antenna performan e omparison results, summarized in Table 4.2, it isapparent that the primary fa tors ae ting link performan e are the antenna near eldlink e ien y and impedan e mat hing bandwidth. The maximum environment-averagedre eived signal power over frequen y with the hollow ore antenna as transmitter was =65dBm, whereas the re eived power with the other three antennas was mu h lower (quad- ore =74 dBm, solid ore =87 dBm, and dual tuned =77 dBm). This indi ates that thehollow- ore antenna is more e ient as a near eld radiator than the other antennas. Takinginto a ount the lower input impedan e and higher input power a epted by the solid ore34

Page 48: Discrete-Time Implementation, Antenna Design, and MIMO for ...

antenna, the dieren e is even greater than these gures indi ate. This ee t adds roughly9 dB to the e ien y dieren e between the hollow- ore and solid ore antennas. Thein reased e ien y of the hollow ore antenna is due to the larger diameter of the ferrite ore. E ien y also in reases signi antly as the ore be omes longer, so it is important tonote that the high e ien y of the hollow- ore antenna is a hieved with a ore of roughlyhalf the length of that of the solid ore antenna.While the hollow- ore antenna is more e ient than the others, its higher indu tan eleads to a lower impedan e mat hing bandwidth. One of the fundamental theorems ofantenna theory is that the e ien y and bandwidth of a small antenna are roughly inverselyrelated. The solid ore antenna has a very low e ien y, and onsequently has a higherimpedan e mat hing bandwidth than the other single-tuned antennas. To a hieve bandwidth omparable to that of the solid ore antenna with in reased e ien y, a dual-resonant designis required.The ultimate measure of performan e of the broadband near eld ommuni ationsystem is bit error rate (BER) over all frequen y hannels. Using 1 meter separation distan eas a ben hmark, the hollow ore, quad- ore, and dual tuned antennas all a hieve 23 hannelswith BER near 10−6 or lower with 1020 mW transmit power a epted by the antenna,whereas the solid ore single ore antenna a hieves a best BER that is poorer by two ordersof magnitude than the other antennas, with a mu h higher a epted transmit power (approx.80 mW). This is due to the smaller link e ien y of the solid ore antenna, and onsequentlylower SNR at the re eiver.It an be shown theoreti ally that the best of these antennas (hollow ore, quad- ore,and dual-tuned designs) a hieve lose to optimal performan e for the bandwidth-e ien yprodu t based on fundamental physi al bounds. Therefore, to a hieve signi antly betterperforman e than the onsidered antennas would require hanging the requirements thatdi tate antenna size, power supply, or other parameters. Within the performan e bounds,however, it is still possible to sele t and adjust geometri al parameters of the antenna or35

Page 49: Discrete-Time Implementation, Antenna Design, and MIMO for ...

detailed aspe ts of the amplier design, su h as impedan e, aspe t ratio, oil size, ferritelength, and so forth in order to realize a small, broadband, power-e ient near eld ommu-ni ations system that meets a given set of physi ally reasonable performan e requirements.The presented results provide a framework for understanding these bounds and optimizingsystem physi al and ele tri al properties within them.

36

Page 50: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Chapter 5Time Division Multiple A ess SystemA time division multiple a ess (TDMA) system for an wireless body area network(BAN) based on near-eld magneti indu tion (NFMI) te hnology.A wireless body area network is a olle tion of portable ele troni devi es worn onor near the body and the wireless ommuni ation links between those devi es. When thephysi al layer of the body area network is NFMI, frequen y bandwidth is s ar e due to thenarrowband hara teristi s of the antennas and mat hing networks. This limited frequen yspa e might be divided into several hannels to allow multiple body area networks to oper-ate in lose proximity without interferen e. But within a single body area network, multipledevi es share a single hannel. This s enario motivates the development of a TDMA pro-to ol that meets the parti ular needs of an on-body NFMI network. In this hapter, therequirements, design, and implementation of su h a proto ol are presented.5.1 DenitionsTDMA allows multiple devi es to share a single frequen y hannel by allowing onlyone devi e to transmit at a time. A time slot is dened as the time interval during whi h aparti ular node is permitted to transmit on the hannel. Conse utive time slots are assignedto dierent nodes in the network su h that ea h node is permitted to transmit. Short guardperiods are inserted between ea h time slot to prevent interferen e resulting from imperfe ttiming syn hronization. In the simplest TDMA proto ols, ea h node is assigned a time slotround-robin fashion until all nodes have been assigned a slot, after whi h the y le repeats37

Page 51: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Figure 5.1: Topology of the TDMA network. One master node has bidire tional links tothree slave nodes.starting with the rst node. A TDMA frame for the round-robin proto ol is dened as theminimum set of ontiguous time slots that in lude all nodes in the network.5.2 RequirementsThe requirements for the TDMA proto ol were set by Doug Dobyns, Exe utive Vi ePresident of Produ t Development at FreeLin , In ., in ollaboration with Chris Shaw, aFreeLin R&D Engineer, and myself. Our obje tive was to reate a TDMA system thatwould meet the needs of an a tual produ t prototype in development by FreeLin , butwhi h would be simple enough to be built and demonstrated by two relatively inexperien edengineers in a short time frame. Our intention from the outset was not to reate a nishedprodu t, but to reate a starting point suitable for demonstrating apability whi h ould beextended later.The network topology is shown in Figure 5.1, and will in lude one master node andzero to three slave nodes. The master node will have bidire tional data links to ea h ofthe slave nodes, whi h ommuni ate only with the master node. The data rates of ea h38

Page 52: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Table 5.1: TDMA data rate requirements.Link Minimum Data Rate RequirementMaster to Slave 1 50 kbpsSlave 1 to Master 50 kbpsMaster to Slave 2 50 kbpsSlave 2 to Master 50 kbpsMaster to Slave 3 10 kbpsSlave 3 to Master 1 kbpslink and of ea h dire tion within a given link will be stati ally predetermined by softwareparameters, and are not dynami ally allo ated or reallo ated. The required data rates willbe as dened in Table 5.1, and the raw data rate of the link without TDMA will be 250kbps. The identity of ea h node will be stati ally determined (i.e., by DIP swit h setting),and will not be reassigned during operation. It is assumed that one master node and zero ormore slave nodes will be present at all times, and that dupli ate nodes will not exist. Thebehavior of a system that violates these assumptions is undened. The maximum laten y ofthe system will be su h that audio links have no per eptible delay, preferably less than 50ms.5.3 DesignThe design obje tives were to meet the requirements and to reate an e ient, robustproto ol that would be exible enough to a ommodate requirement hanges and the futureaddition of new apabilities.The TDMA proto ol designed for the FreeLin prototype follows a master-slaveparadigm. The master initiates ommuni ation with a slave by sending a pa ket, whi ho upies one TDMA time slot, and the slave, if present, responds by sending a pa ket ba kto the master in the next time slot. The full TDMA frame is dened in Table 5.2. The frameis stati , meaning that the duration and ordering of time slots in the frame does not hangewhile the devi e is in operation; however, the frame an be easily re-dened to a ommodatedierent data rate requirements and dierent numbers of slave nodes. Despite the stati 39

Page 53: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Table 5.2: TDMA frame denition.Type Sour e Destination Duration (bitperiods) Payload Size(bits) Net DataRate (kbps)Pa ket Master Slave 1 1632 1600 50Guard 5Pa ket Slave 1 Master 1632 1600 50Guard 5Pa ket Master Slave 2 1632 1600 50Guard 5Pa ket Slave 2 Master 1632 1600 50Guard 5Pa ket Master Slave 3 896 864 27Guard 5Pa ket Slave 3 Master 544 512 16Guard 7FrameTotal 8000 7776 243Table 5.3: TDMA pa ket denition.header (32 bits)payload (variable length, measured in bytes)unused spa enature of the frame, the proto ol is robust to slave nodes entering or leaving the network atany time. The master sends pa kets dire ted to ea h slave node at the appropriate time slotregardless of whether it dete ts a response.During ea h time slot, a master or slave node sends a TDMA pa ket with the stru tureshown in Table 5.3. Ea h pa ket begins with a 32-bit header ontaining a preamble, sour eand destination devi e odes, and payload length in bytes. The stru ture of the pa ketheader is dened in Table 5.4. The remainder of the pa ket is a payload whi h ontainsarbitrary data. Ea h node in the network examines the header information of in omingpa kets and only a epts pa kets with a orre t preamble and whi h have a destination ode40

Page 54: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Table 5.4: TDMA pa ket header denition.preamble (16 bits) sr ode (4 bits) dst ode (4 bits) payload size in bytes (8 bits)that mat hes its own devi e ode. Pa kets with orrupt headers or whi h are addressed toother nodes are simply ignored.Be ause ea h node in a wireless network is an independent physi al devi e with itsown lo k, a TDMA proto ol must provide a way for all nodes to be ome syn hronized.In this design, the master node sets the timing of the TDMA frame, and the slaves derivetheir timing from pa kets re eived from the master. This gives the master omplete ontrolof the frame timing, whi h ensures that the time elapsed between frames is both pre iseand a urate, whi h in turn guarantees that the proto ol will a hieve the spe ied datarates with negligible deviation. When a slave re eives a pa ket from the master, it waits forthe in oming pa ket to end and adds an appropriate guard period as dened in the framedenition before transmitting its response pa ket ba k to the master. Thus the arrival ofa pa ket from the master node is the event that syn hronizes a slave node to the master.Slaves always listen for pa kets from the master, and never transmit unless they su essfullydete t a pa ket from the master addressed to them.5.4 ImplementationThe TDMA prototype system was implemented on an Altera Cy lone III DSP Devel-opment Kit and integrated with an existing 250 kbps wireless trans eiver system designedand implemented previously. To provide the desired exibility, the proto ol and data man-agement algorithms were implemented primarily in software running on a NIOS II soft- orepro essor programmed into the Cy lone III FPGA. Supporting dedi ated hardware ir uitsfor time- riti al operations ensure good performan e.41

Page 55: Discrete-Time Implementation, Antenna Design, and MIMO for ...

5.4.1 Devi e IDThe identity of a node is determined by a DIP swit h on the devi e. This four-bitID value be omes the sour e eld in pa ket headers originating from the devi e. Devi e 0is the master, and devi es 1, 2, and 3 are slaves. Other possible devi e odes (4 to 15) areavailable for use in networks requiring up to 15 slave devi es.5.4.2 SOPC Builder SystemThe NIOS II is a ongurable pro essor provided with the Altera development toolsas a set of li ensable intelle tual property (IP) ores. NIOS II is part of a larger e osystemof peripherals, ontrollers, and other hardware modules that are ongured using Altera'sSOPC (System On a Programmable Chip) Builder. The TDMA system uses a basi NIOSII ore, two hardware interval timers, two DMA ontrollers, and several other omponents.The omplete system as seen in SOPC Builder is shown in Figure 5.2.5.4.3 SoftwareThe software is written in C and uses provided devi e drivers and the NIOS II Hard-ware Abstra tion Layer (HAL) provided by Altera. The ode onsists of onguration set-tings, initialization ode, and interrupt servi e routines (ISRs).The operation of the TDMA system is highly ongurable. Most of the ongurationsettings are stored in software header les that an be modied prior to ompilation. Thesettings available in these les in lude timing parameters for ne-tuning devi e syn hroniza-tion, onstants that dene number of slave devi es and the lengths of pa kets to and fromthose devi es, the value to use for the pa ket preamble, and the duration of the guard periodbetween pa kets.When initialization begins, the software reads four bits from the DIP swit h to de-termine the devi e ID (see Se tion 5.4.1). The remaining initializations are onditional onwhether the devi e is a master or slave devi e, in luding the parti ular interrupt servi e42

Page 56: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Figure 5.2: S reenshot of the SOPC Builder window ontaining the TDMA system, showingthe memory address spa e, IRQ assignments, and lo k domains. The soft- ore NIOS IIpro essor is the top omponent, and the trans eiver system designed in DSP Builder is the omponent at the bottom named trx_Interfa e_0. Other omponents in lude hardwaretimers, DMA ontrollers, ash memory, on- hip RAM, and debugging tools.43

Page 57: Discrete-Time Implementation, Antenna Design, and MIMO for ...

routines (ISRs) registered. After initialization is omplete, all software a tivity o urs inresponse to hardware interrupt requests (IRQs), whi h ause orresponding ISRs to run.5.4.4 Interval TimersA urate measurement of time is riti al to the operation of the TDMA proto ol. Twointerval timers in the SOPC builder system provide the desired a ura y and pre ision. Thetimers are ongured with an interval, whi h is a multiple of the lo k period, and generatean interrupt to the pro essor ea h time the interval expires. A timer an be ongured to run ontinuously or to stop at ea h expiration until software restarts it. The way these timersare used in the TDMA system is des ribed in the following paragraphs.Master nodes use one interval timer to signal the start of ea h new TDMA frame, anda separate interval timer to measure the interval between ea h pa ket within the frame. TheTDMA frame timer is ongured to run ontinuously, whi h guarantees that the interruptsgenerated by that timer will always o ur pre isely one frame interval apart. The frametimer's operation is not inuen ed in any way by the behavior of the software or the TDMAnetwork. Ea h time an interrupt from the frame timer is generated, the master sends apa ket to the rst slave node in the network to initiate the TDMA frame.The se ond timer measures smaller intervals within a single TDMA frame. It is setby software in response to events in the TDMA network, su h as the start of the frame, thearrival of a pa ket from a slave node, or an interrupt generated by itself. The master noderesponds to interrupts generated by this timer by sending pa kets to slave nodes (ex ludingthe rst slave, whi h o urs in response to the frame timer) and enabling the re eiver pa ketdete tor when in oming pa kets are expe ted from slave nodes.5.4.5 Custom FPGA Cir uitsMost of the TDMA proto ol management is done in software, but some supportingoperations are implemented as dedi ated hardware units in the FPGA. These in lude pa ket44

Page 58: Discrete-Time Implementation, Antenna Design, and MIMO for ...

header dete tion, storage of onguration parameters, and some mis ellaneous ontrol logi .Examples of these are found in the re eiver's bit sink unit, whi h is show in Figure 5.3. ThePa ket Dete tor blo k near the enter of the gure is des ribed in the next se tion.5.4.5.1 Pa ket Dete tionEa h node in the TDMA network must dete t arriving pa kets. Dete ted pa kets areidentied and stored, and slave nodes start hardware timers when pa kets from the masternode arrive. Be ause slave node timing must be as a urate as possible, the pa ket dete tionalgorithm is implemented as a ustom ir uit in the FPGA. The pa ket dete tion ir uit,shown in Figure 5.4, sear hes for a sequen e of ontiguous bits that mat h the expe tedvalues of the preamble, sour e, and destination elds in the pa ket header (see Table 5.3 forthe pa ket header denition). When a mat h is dete ted, the entire pa ket is added to aFIFO where it remains until a essed by software and an interrupt is generated. Slave nodesuse this interrupt to reset hardware timers as des ribed in Se tion 5.4.4.The expe ted values of the preamble and sour e elds are stored in software-a essibleregisters, and the expe ted value of the destination eld is the devi e ID. A separate ongu-ration register allows software to disable sour e or destination eld he king. For example, aslave node only expe ts to re eive pa kets with a sour e address orresponding to the masternode and a destination address orresponding to itself, so he king for both the sour e anddestination elds is appropriate. In ontrast, the master node expe ts to re eive pa kets fromany of the three slave nodes, therefore it disables sour e eld he king during initialization.5.4.5.2 Transmitter On Blo kFundamental to the operation of TDMA is the requirement that nodes in the networktake turns transmitting, whi h implies that ea h node must keep its transmitter turned oand only turn it on during its assigned time slot. Prior to the implementation of TDMA, thetransmitter of the FreeLin wireless system was always on. To provide on/o apability, a45

Page 59: Discrete-Time Implementation, Antenna Design, and MIMO for ...

The packet detector generates a pulse

when it finds a packet with (1) a matching

preamble, (2) a matching source code, and

(3) a matching destination code. (2) and/or (3)

can be disabled via the configuration register.

The detector is enabled by asserting Start, and

disabled by Reset (if both are asserted, Start wins).

RxOn turns on when an RxStart pulse is received,

and turns off when fifo full goes high. The intent of

this signal is that it can be used to enable/disable

Rx signal processing, ADC, analog circuitry, etc.

This is a special word rate pulse that is aligned

to packet data. It is meant to be used in

conjunction with the Packet Detector.

Write to FIFO

fifo full

packet found

write to fifo

Word Rate Pulse

reset pulse

Timeout Timer

reset timeout pulse

Serial To Parallel

sd

ena

d(31:0)

Rx On

fifo full

rx start

rx on

Packet Detector

Reset

Start

data

Match Pulse

Logical Bit Operator2

OR

Logical Bit Operator1

AND

Goto2

CustomBitRatePulse

Goto1

ReceivedPacketPulse

Goto

RxOn

From3

RxStart

From1

RxStart

FIFO_to_NIOS

we

d

full

bit enable

2

bits

1

Figure 5.3: The re eiver bit sink ir uit. This in ludes the pa ket dete tor, the FIFO where dete ted pa kets are stored, and ontrol logi .46

Page 60: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Match Pulse

1

Source Code Detector

data Match Level

Rising Edge Detector

In pulse

Preamble Match Detector

data Match Level

Logical Bit Operator2

OR

Logical Bit Operator1

OR

Logical Bit Operator

AND

From

Config

Extract Bit1

2

Extract Bit

1

Detector Enabled

Start

Reset

Enabled

Destination Code Detector

data Match Level

data

3

Start

2

Reset

1

Figure 5.4: Pa ket dete tor ir uit. This ir uit generates a pulse when all of the a tive header eld dete tor blo ks nd amat h. The sour e and destination ode dete tors an be disabled using two bits of a onguration register.

47

Page 61: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Tx On blo k was onstru ted (Figure 5.5). This blo k in ludes ontrol logi that turns thetransmitter on when a pa ket is being transmitted and then shuts it o immediately whenthe end of the pa ket is rea hed. The a ura y of the timing is riti al: If the on statelasts too long the node might interfere with adja ent time slots, but if too short the nodewill ut its own transmission short. Software- ongurable registers an be used to alibratethe ounters in the Tx On blo k to a hieve the desired timing requirements.5.4.5.3 Conguration RegistersSeveral hardware registers are mapped to the software address spa e, whi h allows for onguration of ertain hardware settings without re ompiling the FPGA hardware. Theseregisters are des ribed in Appendix C.5.5 Calibration and TestThe ompleted TDMA system was alibrated and tested by real-time operation withthree Cy lone III DSP Development Kits. Be ause only three development boards wereavailable, the test networks onsisted of one master node and a maximum of two slave nodesrather than three. However, the results of this testing are su ient to demonstrate withhigh onden e that a full network with three slave nodes would also work.The test onguration is designed to exer ise the system in a way that losely mat hesthe expe ted onditions of a tual operation. The tests run in real time and transmit mod-ulated data streams wirelessly or over oaxial ables. Pa kets payloads from ea h node arelled with repetitive data unique to ea h node su h that re eiving nodes an onrm thatea h re eived pa ket ontains the expe ted data without errors. Missing pa kets or or-rupted pa kets are ounted and the aggregate statisti s are displayed in a terminal windowfor debugging.Calibration of the system is primarily on erned with adjustment of timing param-eters. These in lude parameters that ae t the start and stop time of the transmitter, the48

Page 62: Discrete-Time Implementation, Antenna Design, and MIMO for ...

out

1

rising edge detector

in pulse

Stop Pulse Delay

pulse delayed pulse

Start Pulse Delay

pulse delayed pulse

Multiplexer1

sel(0:0)

0−

1−

MUX

Multiplexer

sel(0:0)

0−

1−

MUXLatch

set

reset

q

From1

TxOn

From

SourceSelect

Falling Edge

Detector

in pulse

Constant2

1

Constant1

8192

in

1Figure 5.5: The Tx On ir uit. The input signal TxOn in the top-left orner goes high when the TDMA software initiates apa ket transmission, and goes low when the pa ket ends. The rightmost multiplexer sele ts between a onstant representing 0V and the output samples of the transmitter signal pro essor. The output of this multiplexer is sent dire tly to the DAC.

49

Page 63: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Figure 5.6: Os illos ope apture of a TDMA frame produ ed by the system. The greensignals originate from the master devi e, and the yan and magenta signals originate fromtwo slave devi es. Be ause only three FPGA prototyping boards were available, the thirdslave devi e was not in luded in this test. The signal from a third slave devi e would o upythe two empty regions near the edges of the window. Guard periods between the pa ketsare too narrow to be observed at this zoom level.expe ted duration of ea h pa ket, how long a re eiver should wait to re eive an expe tedpa ket before giving up, and other minor adjustments. This alibration was a hieved withthe help of an os illos ope, whi h exposes overlapping transmissions and allows for measure-ment of pa ket and guard period duration (see Figure 5.6). When these timing parametersare arefully alibrated the guard periods between pa kets an be shortened, whi h allowsfor longer pa ket payloads. This redu ed overhead or in reased e ien y is what allowed thea hieved data rates to and from slave node 3 to ex eed the required rates ( ompare Table5.1 to Table 5.2). 50

Page 64: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Chapter 6MIMO6.1 Introdu tionNear-eld magneti indu tion (NFMI) is short-range wireless te hnology for on-bodynetworks, nan ial transa tions, biomedi al sensors, and proximity based advertising. NFMIsystems typi ally operate in the 13.56 MHz industrial, s ienti and medi al (ISM) band witha wavelength of over 22 meters, resulting in antennas that are ele tri ally small, ine ient,and narrow-band. The e ien y and bandwidth limitations of the antennas bound thea hievable apa ity of an NFMI system with onstrained physi al size and battery apa ity.A possible improvement in apa ity may be possible with the appli ation of multiple-input,multiple-output (MIMO) te hniques. In a su iently diverse hannel, MIMO an in reasethe information-theoreti hannel apa ity for the same power and bandwidth [20.To be ee tive, MIMO must be tailored to the diversity hara teristi s of the hannel.In a typi al far-eld RF system, MIMO uses the spatial diversity produ ed by ri h s atteringenvironments. For near eld systems operating at 13.56 MHz it is impra ti al to separatethe antennas by a signi ant fra tion of the wavelength, thus spatial diversity annot beexploited ee tively. However, the near-eld hannel has strong polarization diversity withthree distin t polarizations, greater than the two polarizations available in the far eld. Thusa 3-by-3 NFMI hannel matrix should be nearly full-rank.Diversity te hniques have already been applied to NFMI systems to mitigate fading[4. Sele tion diversity and maximal ratio ombining have be applied to mitigate fading aused by hanging antenna orientation, and similar diversity gains an be a hieved using51

Page 65: Discrete-Time Implementation, Antenna Design, and MIMO for ...

spa e-time oding for SIMO ongurations. Full MIMO implementations are also possiblein the near eld. In [21, 22, transmitter weights are hosen to enhan e the signal strengthat a parti ular re eiver while minimizing the strength at all others in a te hnique similar tospatial beamforming.MIMO improves performan e by exploiting diversity to in rease link reliability in afading hannel or to in rease the hannel apa ity via multiplexing. MIMO an in rease the hannel apa ity linearly with the number of transmit/re eive antenna pairs for xed powerand bandwidth [23. Some diversity te hniques that mitigate multipath fading an also beapplied to degenerate ases of MIMO, whi h in lude MISO (multiple-input single-output)where the re eiver has only one antenna, and SIMO (single-input multiple-output) wherethe transmitter has only one antenna.Near eld MIMO is losely related to line-of-sight (LOS) MIMO. In LOS MIMO,line-of-sight paths between N transmit and N re eive antennas result in hannel matri es Hwith lose to N non-negligible eigenvalues [24. The line of sight paths of the LOS hannel orrespond to the polarizations of the NFMI hannel, where the maximum rank of the hannel matrix is 3.6.2 MIMO Channel Capa ityThe apa ity of the MIMO hannel an be signi antly greater than the SISO apa -ity for a system with onstrained transmitter power. The information-theoreti Gaussian hannel apa ity for a SISO system isC = E [log2 (1 + SNR)] bits/s/Hz, (6.1)whi h grows logarithmi ally with SNR. The apa ity of a MIMO hannel may be found usingthe log-det formula. Dierent apa ities are possible for dierent allo ations of transmitterpower, whi h an be optimized for a given hannel matrix to maximum apa ity. A simpler52

Page 66: Discrete-Time Implementation, Antenna Design, and MIMO for ...

instan e of the log-det apa ity formula results when the transmitter has no informationabout the hannel, in whi h ase the power is divided equally among all transmitters. Forthis uninformed transmitter s enario, the apa ity be omesC = E

[

log2

det

(

INr+

ρ

Nt

HH†

)]

bits/s/Hz, (6.2)where † denotes the onjugate transpose, ρ is the SNR at the re eiver, Nt is the number oftransmitters and Nr is the number of re eivers [23. The hannel matrix H is an Nr × Ntmatrix where ea h elementHi,j relates the input voltage at transmit antenna j to the indu edvoltage at re eive antenna i. If H is full-rank, the apa ity grows linearly with its smallerdimension. For a full-rank 3-by-3 NFMI hannel, this implies a MIMO apa ity of up tothree times the SISO apa itya tremendous benet. In this hapter, a 3-by-3 NFMI hannel is simulated to ompute the singular values and apa ity to assess the feasibility ofimplementing MIMO for a near-eld system.6.3 Simulated Channel Capa ityThe NFMI MIMO hannel was simulated for two sets of three mutually-orthogonalantennas, one transmitter and one re eiver, separated by a distan e r. For ea h antenna, theferrites are designated by the letters A, B, and C, where ferrite A is used as the referen e forspe ifying orientation. The origin of a spheri al oordinate system is dened as the positionand orientation of the transmitter, su h that the z axis is parallel to transmitter ferriteA. The re eiver antenna may be lo ated at any arbitrary position and orientation in this oordinate system.The magneti eld H (r) generated by the transmitting loop antenna situated at theorigin of the spheri al oordinate system an be modeled as the quasi-stati magneti eld

53

Page 67: Discrete-Time Implementation, Antenna Design, and MIMO for ...

of a Hertzian dipole byH (r) = jωε

e−jkr

4πrIml

[

−j

kr+

(−j

kr

)2]

2 cos θr +

[

1− j

kr+

(−j

kr

)2]

sin θθ

, (6.3)where ω is the operating frequen y, k is the wave number, and r and θ are omponents ofthe ve tor r in spheri al oordinates [19. Substituting Iml = jωµI0A and simplifying givesH (r) = −k2I0A

e−jkr

4πr

[−j

kr+

1

k2r2

]

2 cos θr +

[

1− j

kr+

1

k2r2

]

sin θθ

, (6.4)where I0 is the magnitude of the urrent in the loop and A is the area of the loop.The urrent I0 in the transmitter antenna loop is hosen su h that the total powerdissipated in the antenna is equal to Pt = I20Rant, where Rant is the real part of the antennaimpedan e. The antennas are taken to be ferrite-loaded loop antennas with the propertieslisted in Table 6.1. Table 6.1: Antenna properties.Property ValueFerrite length 0.045 mFerrite radius 0.002 mFerrite relative permeability 120 + j2.59Number of turns 6Wire diameter 2.55× 10−4 mWire resistivity ( opper) 1.68× 10−8 ΩmThe resistan e of a mat hed ferrite-loaded antenna is Rant = Rferrite + Rloss + Rrad.The three terms in this formula are found using the approximations given in [25. The ferriteresistan e isRferrite = 2πf (µrod/µ

′)2FRµ

′′µ0n2A/lc, (6.5)where µ′ and µ′′ are the real and imaginary parts of the relative permeability of the ferritematerial, respe tively, lc is the length of the oil, and A = πa2 is the ross se tional area of54

Page 68: Discrete-Time Implementation, Antenna Design, and MIMO for ...

the ferrite rod. The fa tor FR is given by the fourth-order polynomial approximationFR ≈ 0.4371 (lc/lr)

4 − 0.7556 (lc/lr)3 − 0.1384 (lc/lr)

2 + 1.0210 (lc/lr) + 0.0169. (6.6)Next, the resistan e of the opper wire, Rloss, isRloss = 2πρan/S, (6.7)where S is the ross se tional area where urrent ows, given by

S =

π(

d2

)2 − π(

d2− δ)2 d

2> δ

π(

d2

)2 d2< δ

, (6.8)where the skin depth is δ =√2/2πfµ0σ. Finally, the radiation resistan e isRrad =

Zm

6πβ4m

(

µrodFV nπa2)2

, (6.9)where a is the radius of the loop,µrod =

µ′

1 + 0.37 (lr/d)−1.44 (µ′ − 1)

(6.10)is the ee tive permeability, Zm is the hara teristi impedan e of the medium, βm is thewave number of the medium, and FV is a third-order polynomial approximation fa tor givenbyFV ≈ −0.103 (lc/lr)

3 − 0.0332 (lc/lr)2 − 0.074 (lc/lr) + 0.9987. (6.11)The open- ir uit voltage at the terminals of the re eiving antenna is

voc = µrodµ0ωAnH (r2) · p2, (6.12)55

Page 69: Discrete-Time Implementation, Antenna Design, and MIMO for ...

where · denotes the inner produ t and r2 and p2 are the position and orientation of there eiver antenna, respe tively. Finally, the voltage produ ed in the re eive antenna load isvl = voc

Zl

Zl + Zant, (6.13)where Zl is the impedan e of the load and Zant is the impedan e of the mat hed antenna.6.3.1 Fixed Transmit Power SimulationEquations (6.36.13) were evaluated using MATLAB for ea h of the nine antennapairs, orresponding to ea h of the Hi,j elements of the hannel matrix H. The voltage vl inthe re eive antenna load for antenna pair (i, j) is assigned to Hi,j. This pro ess was repeatedfor a range of distan es from 0.1 to 1.5 meters with the same antenna orientation.The singular values of the resulting hannel matri es are shown in Figure 6.1, and theuninformed transmitter MIMO apa ity evaluated using equation (6.2) is shown in Figure6.2. The transmit power was hosen su h that the SISO SNR at 1 meter separationdistan e was near 15 dB. As expe ted, the apa ity of the MIMO system approa hes threetimes the SISO apa ity when the SNR is high. Unexpe tedly, one of the three singularvalues is stronger than the other two for distan es less than up to about eight meters. Thisresults from the relative orientation of the transmit and re eive antenna pairs. One ferritein both the transmitter and re eiver is oriented parallel to the axis of separation, su h thatthe ferrites are in aligned oaxially rather than in parallel. The oaxial alignment results instronger oupling than parallel alignment at a given distan e, whi h produ es the observeddisparity in singular values.6.3.2 Fixed SNR SimulationThe singular values and apa ity an be presented in another form that onstrainsSNR rather than total transmit power. This is a omplished by normalizing the hannel56

Page 70: Discrete-Time Implementation, Antenna Design, and MIMO for ...

0 0.5 1 1.510

−5

10−4

10−3

10−2

10−1

100

Distance (m)

Sin

gula

rV

alu

es

Singular Value 1Singular Values 2 and 3

Figure 6.1: Simulated NFMI-MIMO hannel matrix singular values versus distan e withxed transmitter power.matrix su h that the SNR is a parameter in the apa ity formula. The normalized hannelmatrix isHn =

√Nr

‖H‖FrobeniusH, (6.14)where ‖•‖Frobenius is the Frobenius matrix norm [26. The unknown hannel apa ity formulabe omes

C = log2 det[

I+ SNRrHnH†n

]

, (6.15)where † is the onjugate transpose. The simulated results of the NFMI hannel using thisnormalized approa h with an SNR of 15 dB from 0.01 to 10 meters are shown in Figures 6.3and 6.4.It is lear from Figure 6.3 that the largest singular value produ ed by the oaxiallyaligned antennas in the near eld de ays to zero in the far eld, leaving the two remainingsingular values produ ed by the parallel ferrites. The maximum apa ity o urs when allthree singular values have equal magnitude, whi h o urs at roughly 7 meters in distan e.57

Page 71: Discrete-Time Implementation, Antenna Design, and MIMO for ...

0 0.5 1 1.50

10

20

30

40

50

60

70

Distance (m)

Capaci

ty(b

its/

s/H

z)

SISO capacityMIMO capacity

Figure 6.2: Simulated NFMI-MIMO apa ity versus distan e for the unknown hannel withxed transmitter power. The SISO apa ity for a system with the same transmit power isshown for omparison.This is in the transition zone between the near and far eld regimes, and beyond the rangeof most NFMI systems.6.4 Con lusionsThe simulated 3-by-3 NFMI hannel has high rank and three non-negligible singularvalues, supporting the hypothesis that MIMO an provide a signi ant boost in ee tivebandwidth. The parti ular orientation of the antennas appears to be an important fa tor,suggesting that the apa ity of an uninformed transmitter system will vary between 9 and11 bits/s/Hz due. Despite the unexpe ted dis overy of orientation-dependent and unequalsingular values, the apa ity gain of the simulated MIMO hannel is signi ant ompared tothe SISO hannel. Further investigation of MIMO for near eld systems is fully justied bythese results.58

Page 72: Discrete-Time Implementation, Antenna Design, and MIMO for ...

10−2

10−1

100

101

102

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Distance (m)Figure 6.3: Simulated NFMI-MIMO hannel matrix singular values (normalized).

10−2

10−1

100

101

102

4

6

8

10

12

14

16

Distance (m)

Capaci

ty(b

its/

s/H

z)

SISO Capacity

MIMO Capacity

Figure 6.4: Simulated NFMI-MIMO apa ity versus distan e for the unknown hannel nor-malized to 15 dB SNR. The SISO apa ity at 15 dB SNR is shown for omparison.59

Page 73: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Chapter 7Con lusionsThis work makes several ontributions that address urrent needs of NFMI systems.First, a multi- hannel, dis rete-time trans eiver was designed and implemented onsoftware and FPGA platforms to support resear h and development eorts. An automatedantenna testing system was built on top of the ommuni ation time system to fa ilitate rapidand rigorous antenna testing, in luding the estimation of signal power, SNR, and bit errorrate. These systems, along with a quasistati near-eld model, were used to design, test, andevaluate dozens of unique antennas. Thousands of antenna tests in a variety of environmentsprovide su ient data for rigorous statisti al analysis. The performan e results of the bestdesigns in terms of e ien y and bandwidth were presented in this thesis, whi h in ludedsolid ore, hollow ore, dual-tuned and quad- ore designs.This work also ontributes an e ient TDMA implementation tailored to the uniqueneeds of an on-body NFMI network. Tight timing syn hronization is a hieved using a om-bination of dedi ated hardware and software interrupts to minimize overhead. A simple,re ongurable proto ol provides devi e identi ation, robustness to loss of slave nodes, andvariable length pa ket stru ture.Finally, preliminary work in the area of NFMI MIMO was performed. Simulationof the 3-by-3 NFMI hannel was performed using a quasistati eld model to evaluate thetheoreti al apa ity of NFMI MIMO for a typi al system. Initial results indi ate that MIMOmay provide a substantial gain in ee tive bandwidth for NFMI systems.60

Page 74: Discrete-Time Implementation, Antenna Design, and MIMO for ...

7.1 Future WorkThe ontributions of this work have furthered the NFMI body of knowledge, butmany problems and opportunities remain. Further work fo used on mat hing networks andNFMI-MIMO seem parti ularly promising.7.1.1 Mat hing NetworksMany antenna designs were explored as part of this work, but the bandwidth-e ien yperforman e of the antenna is heavily inuen ed by the mat hing network. Further work tostudy traditional rea tive mat hing networks and non-Foster mat hing networks will om-pliment the antenna resear h presented in this thesis. Non-Foster mat hing seems espe iallypromising, be ause an indu tive antenna mat hed by an a tive ir uit with negative indu -tan e ould result in a very broadband front-end. Demonstration of a working negativeindu tor ir uit and evaluation of its power/bandwidth performan e will be highly valuableto the ommunity.7.1.2 Channel SoundingTime did not permit extensive measurement of the 3-by-3 NFMI hannel for thisthesis. Experien e with NFMI antenna testing suggests that a large set of experimentalmeasurements is ne essary to produ e high-quality statisti al results. Measurements shouldalso be taken in dierent environmentsin luding near the human bodyto provide a more omprehensive pi ture.7.1.3 MIMO ImplementationsAfter good hannel sounding results are available, a full NFMI MIMO implementationshould be attempted. The hoi e of algorithm will be informed by the hannel soundingdata, and the platform for implementation should follow pra ti al onsiderations. The easiestapproa h may be an uninformed transmitter s enario su h as the V-BLAST algorithm [27, in61

Page 75: Discrete-Time Implementation, Antenna Design, and MIMO for ...

whi h ase the algorithms may be applied in MATLAB to sampled data olle ted previously.Resear h should attempt to measure the apa ity gain versus in reased power, omplexity,and size that will a ompany a MIMO system.

62

Page 76: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Referen es[1 R. Bansal, Near-eld magneti ommuni ation, IEEE Antennas and Propagation Mag-azine, vol. 46, no. 2, pp. 114115, April 2004.[2 J. I. Agbinya and M. Masihpour, Power equations and apa ity performan e of mag-neti indu tion body area network nodes, in Fifth International Conferen e on Broad-band and Biomedi al Communi ations, 2010, pp. 16.[3 N. Thilak and R. Braun, Near eld magneti indu tion ommuni ation in body areanetwork, in 2012 International Conferen e on Devi es, Cir uits and Systems, 2012, pp.124125.[4 D. H. Dobyns, H. B. Dobyns, J. E. Woodard, and A. J. Sutera, System and method fornear eld ommuni ations having lo al se urity, U.S. Patent 2009/0 081 943 A1, 2009.[5 A. Zmijewska, Evaluating wireless te hnologies in mobile paymentsa ustomer entri approa h, in International Conferen e on Mobile Business, 2005.[6 H. A. Al-Ofeishat and M. A. Rababah, Near eld ommuni ation (NFC), IJCSNSInternational Journal of Computer S ien e and Network Se urity, vol. 12, no. 2, pp.9399, February 2012.[7 E. Strömmer, J. Kaartinen, J. Pärkkä, A. Ylisaukko-oja, and I. Korhonen, Appli ationof near eld ommuni ation for health monitoring in daily life, in IEEE EMBS AnnualInternational Conferen e, 2006.[8 H. A. Wheeler, Fundamental limitations of small antennas, Pro eedings of the IRE,vol. 35, no. 12, pp. 14791484, De ember 1947.[9 L. J. Chu, Physi al limitations of omni-dire tional antennas, Journal of AppliedPhysi s, vol. 19, no. 12, pp. 11631175, De ember 1948.[10 V. H. Rumsey and W. L. Weeks, Ele tri ally small, ferrite-loaded loop antennas, inIRE International Convention Re ord, vol. 4, 1956, pp. 165170.63

Page 77: Discrete-Time Implementation, Antenna Design, and MIMO for ...

[11 R. DeVore and P. Bohley, The ele tri ally small magneti ally loaded multiturn loopantenna, IEEE Transa tions on Antennas and Propagation, vol. 25, no. 4, pp. 496505, July 1977.[12 S. R. Best, Low "q" ele tri ally small linear and ellipti al polarized spheri al dipoleantennas, IEEE Transa tions on Antennas and Propagation, vol. 53, no. 3, pp. 10471053, Mar h 2005.[13 T. L. Simpson, Designing an ele tri ally small ferrite-loaded loop antenna for optimumperforman e, in IEEE AP-S International Symposium, 2007.[14 D. F. Sievenpiper, D. C. Dawson, M. M. Ja ob, T. Kanar, S. Kim, J. Long, and R. G.Quarfoth, Experimental validation of performan e limits and design guidelines for smallantennas, IEEE Transa tions on Antennas and Propagation, vol. 60, no. 1, pp. 819,January 2012.[15 M. Oerder and H. Meyr, Digital lter and square timing re overy, IEEE Transa tionson Communi ations, vol. 36, no. 5, pp. 605612, May 1988.[16 M. D. Ri e, Digital Communi ations: A Dis rete-Time Approa h. Upper Saddle River,NJ: Pearson Prenti e Hall, 2009.[17 J. G. Proakis and M. Salehi, Digital Communi ations, 5th ed. New York, NY: M Graw-Hill, 2008.[18 D. R. Pauluzzi and N. C. Beaulieu, A omparison of SNR estimation te hniques forthe AWGN hannel, IEEE Transa tions on Communi ations, vol. 48, no. 10, pp. 16811691, O t 2000.[19 J. A. Kong, Ele tromagneti Wave Theory, 2nd ed. John Wiley & Sons, In ., 1990.[20 I. E. Telatar, Capa ity of multi-antenna gaussian hannels, European Transa tions onTele ommuni ations, vol. 10, no. 6, pp. 585595, November 1999.[21 S. Hwang, A. Medouri, and T. K. Sarkar, Signal enhan ement in a near-eld mimoenvironment through adaptivity on transmit, IEEE Transa tions on Antennas andPropagation, vol. 53, no. 2, pp. 685693, February 2005.[22 S. Hwang and T. K. Sarkar, Signal enhan ement through polarization adaptivity ontransmit in a near-eld mimo environment, in Antennas and Propagation So iety In-ternational Symposium, vol. 2A, 2005, pp. 301304.64

Page 78: Discrete-Time Implementation, Antenna Design, and MIMO for ...

[23 G. J. Fos hini and M. J. Gans, On limits of wireless ommuni ations in a fading envi-ronment when using multiple antennas, Wireless Personal Communi ations, no. 6, pp.311335, 1998.[24 P. F. Driessen and G. J. Fos hini, On the apa ity formula for multiple input-multipleoutput wireless hannels: A geometri approa h, IEEE Transa tions on Communi a-tions, vol. 47, no. 2, pp. 173176, February 1999.[25 L. L. Monte and D. Erri olo, Re eiving antenna design for ground penetrating tomo-graphi imaging, in Antennas and Propagation So iety International Symposium, 2008,pp. 14.[26 M. A. Jensen and J. W. Walla e, A review of antennas and propagation for mimowireless ommuni ations, IEEE Transa tions on Antennas and Propagation, vol. 52,no. 11, pp. 28102824, November 2004.[27 P. Wolniansky, G. Fos hini, G. Golden, and R. Valenzuela, "v-blast:" an ar hite turefor realizing very high data rates over the ri h-s attering wireless hannel, in URSIInternational Symposium on Signals, Systems, and Ele troni s, 1998, pp. 295300.

65

Page 79: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Appendix AAntenna Test ResultsThis appendix ontains the antenna test results for the four antennas des ribed inChapter 4. These results were obtained using the Automated Test System, whi h is des ribedin Appendix B. Ea h gure ontains information from dozens of individual tests taken at avariety of lo ations. The entral urve is the mean of all data points at a given frequen y,and 70 per ent of the data points at that frequen y lie within the asymmetri error bars.Ea h antenna was tested at four distan es: 0.5 meters, 0.75 meters, 1.0 meters, and 1.25meters.A.1 Hollow-Core Ferrite-Loaded Loop AntennaThe gures on the following four pages show the test results for the hollow- oreferrite-loaded loop antenna.

66

Page 80: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.515

16

17

18

19

20

21

22

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

−50

−40

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.1: Hollow- ore antenna performan e at 0.5 meters.67

Page 81: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.510

12

14

16

18

20

22

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

−50

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.2: Hollow- ore antenna performan e at 0.75 meters.68

Page 82: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

25

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.3: Hollow- ore antenna performan e at 1.0 meters.69

Page 83: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

25

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.4: Hollow- ore antenna performan e at 1.25 meters.70

Page 84: Discrete-Time Implementation, Antenna Design, and MIMO for ...

A.2 Quad-Core Ferrite-Loaded Loop AntennaThe next four pages of gures are the test results for the quad- ore ferrite-loaded loopantenna.

71

Page 85: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.516

17

18

19

20

21

22

23

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

−50

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.5: Quad- ore antenna performan e at 0.5 meters.72

Page 86: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.56

8

10

12

14

16

18

20

22

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.6: Quad- ore antenna performan e at 0.75 meters.73

Page 87: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

25

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

−70

−65

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.7: Quad- ore antenna performan e at 1.0 meters.74

Page 88: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

25

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.8: Quad- ore antenna performan e at 1.25 meters.75

Page 89: Discrete-Time Implementation, Antenna Design, and MIMO for ...

A.3 Solid-Core Ferrite-Loaded Loop AntennaThis se tion in ludes the test results for the solid- ore ferrite-loaded loop antenna.

76

Page 90: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

25

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

−70

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.9: Solid- ore antenna performan e at 0.5 meters.77

Page 91: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.10: Solid- ore antenna performan e at 0.75 meters.78

Page 92: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.11: Solid- ore antenna performan e at 1.0 meters.79

Page 93: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.12: Solid- ore antenna performan e at 1.25 meters.80

Page 94: Discrete-Time Implementation, Antenna Design, and MIMO for ...

A.4 Dual-Tuned Ferrite-Loaded Loop AntennaThe test results for the dual-tuned ferrite-loaded loop antenna are on the pages thatfollow. Two sets of results were olle ted for this antenna be ause the two ferrites are orientedorthogonally with respe t to ea h other and are ea h tuned to dierent resonant frequen ies.For the rst four gures, the antenna was oriented su h that the 12.72 MHz oil was parallelto the re eiving antenna, and the re eiving antenna was tuned to 12.72 MHz. For the se ondset of gures the re eiver antenna was tuned to 13.56 MHz, and the dual-tuned transmittingantenna was oriented with the 13.56 MHz oil parallel to the re eiving antenna.

81

Page 95: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.517

18

19

20

21

22

23

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

−50

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.13: Dual-tuned antenna performan e at 0.5 meters in the 12.72 MHz orientation.82

Page 96: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.510

12

14

16

18

20

22

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

−70

−65

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.14: Dual-tuned antenna performan e at 0.75 meters in the 12.72 MHz orientation.83

Page 97: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

25

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

−70

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.15: Dual-tuned antenna performan e at 1.0 meters in the 12.72 MHz orientation.84

Page 98: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.16: Dual-tuned antenna performan e at 1.25 meters in the 12.72 MHz orientation.85

Page 99: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.517

18

19

20

21

22

23

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−110

−100

−90

−80

−70

−60

−50

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.17: Dual-tuned antenna performan e at 0.5 meters in the 13.56 MHz orientation.86

Page 100: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.510

12

14

16

18

20

22

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

−70

−65

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.18: Dual-tuned antenna performan e at 0.75 meters in the 13.56 MHz orientation.87

Page 101: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

25

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

−70

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.19: Dual-tuned antenna performan e at 1.0 meters in the 13.56 MHz orientation.88

Page 102: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−6

10−4

10−2

100

Center Frequency (MHz)

Bit

Err

orR

ate

(a) Bit error rate versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

Center Frequency (MHz)

Eb/N

0(d

B)

(b) Eb/N0 versus frequen y.

11.5 12 12.5 13 13.5 14 14.5 15 15.5−105

−100

−95

−90

−85

−80

−75

Center Frequency (MHz)

Pow

er(d

Bm

)

Signal PowerNoise Power

( ) Power at LNA input versus frequen y.Figure A.20: Dual-tuned antenna performan e at 1.25 meters in the 13.56 MHz orientation.89

Page 103: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Appendix BAutomated Test SystemThe Automated Test System (ATS) is an integrated hardware/software system thatfa ilitates rapid testing of the antennas and ampliers. The ATS transmits a modulatedsignal on ea h of the 13 frequen y hannels in su ession and estimates signal and noisepower levels, bit error rates, signal-to-noise ratios, and other statisti s for ea h hannel.This information is automati ally indexed and ar hived on the proje t for later analysis.B.1 ATS ComponentsThe ATS is not a stand-alone program but rather an integrated system of several hardwareand software omponents. The ATS in ludes the Xilinx System Generator transmitter,Xilinx Xtreme DSP Development Kit, transmitter software, re eiver software, Adlink ADC,the Hubble and Galaxy PCs, MATLAB, and the proje t server spa e hosted on theCAEDM servers. The roles of these omponents in the ATS are des ribed here.The bulk of the ATS ode is ontained within a spe ial task in the re eiver softwareproje t, and it is this ode that integrates and drives the rest of the ATS omponents. It isresponsible for prompting the user for test parameters, establishing a network onne tionwith the transmitter software on Galaxy, sending transmitter frequen y and amplituderequests to the Tx software, initializing and running the Rx signal pro essing ode, andstoring the test results on the proje t server. The portion of the ATS in the Rx softwarealso performs extensive error he king to prevent orruption of data sets and to warn usersof unexpe ted behavior.The Tx software, Xilinx System Generator Tx, Xtreme DSP Development Kit, and Galaxyform the transmitter portion of the ATS. The Tx software listens for and a epts in omingTCP/IP onne tions from the Tx software on Hubble, initializes the transmitter hardware,and hanges the enter frequen y and amplitude of the transmitted signal. All Tx softwareoperations are initiated and ontrolled by the Rx software on Hubble via a TCP/IP so ket90

Page 104: Discrete-Time Implementation, Antenna Design, and MIMO for ...

onne tion. The Xtreme DSP Development Kit is a PCI ard with a Virtex IV FPGA[ he k, PCI interfa e hardware, DACs and ADCs. The Tx signal pro essing is allperformed on the Virtex IV on this ard. The FPGA implementation of the Tx signalpro essing was performed using Xilinx System Generator, whi h is a set of Simulinkblo ksets provided by Xilinx that allow generation of HDL ode using the Simulinkenvironment.B.2 Tests PerformedAfter gathering test parameters from the user, the ATS follows this pro edure to test thesystem:1. Estimate noise oor power for all 13 frequen y hannels with the transmitter turnedo.2. Turn on transmitter with PN9 bit sequen e as input starting at the 12.00 MHz hannel.3. Sample and demodulate the 12.00 MHz signal with the re eiver.4. Estimate signal power, Eb/N0, bit error rate, arrier phase drift, and ... for the 12.00MHz hannel.5. Repeat 24 for the remaining 12 frequen y hannels.6. Ar hive test results on the proje t server.The number of symbols transmitted at ea h frequen y hannel depends on the desiredresolution of the bit error rate estimator. For example, to estimate bit error rates down to10−6 with at least 5 bit errors per test on average, the system must transmit at least5× 106 bits. There is a dire t relationship between the desired resolution of the bit errorrate estimator and the run time of the test; thus an order of magnitude improvement inresolution requires an order of magnitude in rease in run time.For the purposes of the FreeLin resear h proje t I hose to use two xed test lengths inthe ATS, dubbed short and long. The short test runs in se onds but an only estimatebit error rates down to 10−4, whi h is appropriate for qui k tests where a urate estimationof small bit error rates is not riti al. When smaller bit error rate resolution is required,the long test should be hosen. The long test runs for about three minutes and is a uratedown to bit error rates of 10−6, whi h is the smallest bit error rate of interest to FreeLin .The ATS assumes that users of the test results will interpret bit error rates smaller than91

Page 105: Discrete-Time Implementation, Antenna Design, and MIMO for ...

the test resolution appropriately. For example, if the estimated bit error rate for aparti ular test is 5× 10−7 and the test resolution is 10−6, all that should be assumed isthat the a tual bit error rate is less than or equal to 10−6.B.3 Data Set ContentsEa h test performed by the ATS generates a data set that is stored on the proje t server asa MATLAB .mat le. Ea h data set ontains the following elements: Per- hannel ve tors: Ea h of the following ve tors has 13 elements, one per frequen y hannel: bitsRe eived: Total number of bits re eived on this hannel during the test ber: Bit error rate estimates snr: Eb/N0 estimates in dB pow: Signal power estimates in dBm noiseFloor: Noise oor power estimates in dBm phaseDrift: Carrier phase drift estimates in radians per symbol User-entered parameters distan e: Link distan e in meters txAntName: Tx antenna name rxAntName: Rx antenna name txAmpName: Tx amplier name rxAmpName: Rx amplier name longTest: Boolean value: true for long tests, false for short tests txGain: Gain value requested for the transmitter Other values anomalous: Boolean value set to false when test is performed. If the test is laterfound to be anomalous, this is set to true. timestamp: Date and time of test lename: Filename of the .mat le snrMethod: Indi ates whi h SNR estimator was used. The SNR estimator hasbeen repla ed several times during the lifetime of the ATS.92

Page 106: Discrete-Time Implementation, Antenna Design, and MIMO for ...

B.4 Data Set IndexThe data set ar hive also in ludes a global index of all tests performed. When the ATSadds a new data set to the ar hive, it also adds a new entry to this index. The index is inthe form of a MATLAB ell array, where ea h row in the array represents a data set andea h olumn stores a signi ant test parameter. The olumns in lude lename, timestamp,antenna and amplier names, link distan e, test duration, and other on ise information.This information an be used to sele t a subset of data sets to analyze together. Forexample, it might be desirable to analyze the set of tests with a link distan e of 1 meterand with a parti ular set of antennas and ampliers. The ustom fun tion reateSubindexdes ribed in Se tion B.5 provides this ltering apability.B.5 MATLAB UtilitiesSeveral ustom MATLAB fun tions fa ilitate easy analysis of the ar hived data sets. Twoof these fun tions, plotTestSet and multiPlot, plot test results in a MATLAB gurewindow. plotTestSet plots the bit error rate, Eb/N0, signal power, and noise power datafrom a single data set versus frequen y on three separate plots. An example of the outputfrom plotTestSet is given in Figure B.1. multiPlot also produ es three plots, but in ludesdata from multiple data sets. To display information in a visually meaningful manner,multiPlot generates a mean urve and error bars for ea h frequen y hannel. Multipleexamples of this an be found in Appendix A. reateSubindex lters the ontents of the global test index to reate a subindex. It takesone or more pairs of arguments, where the rst member of the pair is a olumn number ciand the se ond member is a mat h value vi. reateSubindex generates a ell array thatin ludes all rows of the global index where the value stored in olumn c1 is equal to v1 andthe value stored in olumn c2 is equal to v2, et . The resulting ell array an be used as anargument to multiPlot, whi h uses the data sets found in the array to generate its plots.B.6 Automati UpdateAfter the initial deployment of the ATS, it be ame lear that a more robust system wasneeded to a ommodate frequent software updates. For performan e reasons the softwareexe utables need to be stored on the lo al hard drives of the proje t PCs, but for ba kupand development the sour e ode is best kept on the proje t server. To meet these needs,93

Page 107: Discrete-Time Implementation, Antenna Design, and MIMO for ...

11.5 12 12.5 13 13.5 14 14.5 15 15.5

10−5

100

BER vs Frequency

Bit E

rro

r R

ate

11.5 12 12.5 13 13.5 14 14.5 15 15.50

5

10

15

20

Eb/N

0 vs Frequency

Eb/N

0 (

dB

)

11.5 12 12.5 13 13.5 14 14.5 15 15.5−70

−65

−60

−55

−50

−45Received Signal & Noise Power vs Frequency

Frequency Channel (MHz)

Sig

na

l/N

ois

e P

ow

er

(dB

m)

Ants: cancer & lupus, Amps: hyperion & io, Dist: 1 m

Figure B.1: Example of a gure window generated by the plotTestSet MATLAB fun tion.The plots show results from single test performed using the ATS.94

Page 108: Discrete-Time Implementation, Antenna Design, and MIMO for ...

an automati update system was designed and implemented. This system allows the urrent master opy of the software to reside on the proje t server at all times, but alsoensures that the lo al opies are kept up to date. Whenever the ATS is laun hed, theupdater he ks the timestamp of the master opy on the proje t server and ompares it tothe timestamp of the lo al opy. If the master opy is more re ent, it is downloaded fromthe server to repla e the lo al opy prior to exe ution. No user intervention is ne essary to he k for or install updates. Developers provide an update by repla ing the old master opy with a newer version, and an optionally ar hive the old version in a separate folder.To make this updating system possible, extra fun tionality was added to the AutomatedTest Laun her (ATL) software. The ATL runs on both Galaxy and Hubble, but itsbehavior on ea h ma hine is distin t. On Galaxy, the ATL is a ba kground pro ess thatstarts when a user logs on and listens for TCP/IP onne tions from the ATS software onHubble. When a onne tion is established, the ATL he ks for a software update,downloads the update if it exists, and then laun hes the transmitter software. On Hubble,the ATL runs only when laun hed by the user and is not a persistent ba kground pro ess.The update he k o urs on ea h laun h, after whi h the ATL runs the lo al opy of there eiver software.B.7 Wiki Usage GuideA omprehensive usage guide for the ATS is available on the FreeLin proje t wiki athttp:// sas.ee.byu.edu/dokuwiki/doku.php?id=freelin :automated_test_system. Theguide in ludes instru tions for rst-time setup, performing tests, and viewing test results inMATLAB. The guide also in ludes information on new features added sin e the initialrelease, bug xes, feature requests, and known issues.

95

Page 109: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Appendix CTDMA Conguration RegistersThe following paragraphs des ribe the onguration registers available to software.Ea h register is readable and writable and mapped to an address in the software addressspa e.Cong This is a 32-bit register where one bit is used to disable sour e ode mat hing inthe pa ket header dete tor, and another bit is used to disable destination ode mat hing.The other 30 bits are unused.Preamble This 16-bit register stores the preamble value used by the pa ket dete tor. There eiver will only a ept pa kets that start with this value.Rx Timeout This 16-bit register stores the length of the Rx timeout period in units ofbit periods (where one bit period is 1/250 kHz = 4 µs). Setting this register to 0 will resultin an innite timeout period. The timeout timer in the Rx is reset ea h time the Rx Startsignal is sent by software. When the timer rea hes zero, it auses the Rx to stop waiting fora mat hing pa ket header to appear if it has not already found one.Sour e Code This 4-bit register stores the pa ket sour e ode. When the sour e odemat h inhibit bit of the ong register equals zero, the Rx will only a ept pa kets that havea sour e ode mat hing the ontents of this register.Tx On Start Delay This 16-bit register stores the number of lo k y les to delay therising edge of the TxOn signal. When the software sends the Tx Start signal, the TxOnsignal goes high this many lo k y les later. This register is used to ne-tune the timing ofthe TxOn signal to a ount for delays in the hardware signal pro essing blo ks and elsewherein the system.Tx On Stop Delay This 16-bit register stores the number of lo k y les to delay thefalling edge of the TxOn signal. When the Tx FIFO be omes empty, the TxOn signal goes96

Page 110: Discrete-Time Implementation, Antenna Design, and MIMO for ...

low this many lo k y les later. This register is used to ne-tune the timing of the TxOnsignal to a ount for delays in the hardware signal pro essing blo ks and elsewhere in thesystem.PN9 Correlator FIFO IRQ Threshold This 8-bit register stores sets the threshold forthe CorrOut FIFO IRQ. When the number of items in the CorrOut FIFO is greater thanor equal to this value, its IRQ is asserted. The only way to lear the IRQ is to read fromthe FIFO until the number of items is less than this threshold. To disable the IRQ, set thisregister to 0 (default).

97

Page 111: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Appendix DQuasistati Field Model Sour e CodeThe following ode listings omprise the MATLAB sour e ode for the ferrite-loadedloop antenna quasistati magneti eld model.Listing D.1: driver.maddpath('J:\resear h\ ode\NFMI Model\model\');%% parameters% load ferrite parameters[a1 d_wire1 rho_wire1 n1 lr1 mu_real1 mu_imag1 = loadFerriteParameters('fl_500079_01');[a2 d_wire2 rho_wire2 n2 lr2 mu_real2 mu_imag2 = loadFerriteParameters('fl_500079_01');f = 13.5e6; % enter frequen yv_g1 = 1; % Thevenin peak voltage amplitude of sour e to antenna 1Z_g1 = 1; % Thevenin impedan e of sour e to antenna 1Z_L2 = 50; % input impedan e of re eiver amplifier (antenna load)R_ant1 = R_ant(mu_real1 , mu_imag1 , lr1 , n1, a1, d_wire1, rho_wire1 , f);L_ant1 = L_ant(mu_real1 , n1*d_wire1 , lr1 , n1, a1);C_1 = mat hingC(L_ant1, f); % apa itan e of mat hing apa itor inantenna 1R_ant2 = R_ant(mu_real2 , mu_imag2 , lr2 , n2, a2, d_wire2, rho_wire2 , f);L_ant2 = L_ant(mu_real2 , n2*d_wire2 , lr2 , n2, a2);C_2 = mat hingC(L_ant2, f); % apa itan e of mat hing apa itor inantenna 2r1 = [0; 0; 0; % position of antenna 1p1 = [0; 0; 1; % orientation of antenna 1r2 = [1; 0; 0; % position of antenna 2p2 = [0; 0; 1; % orientation of antenna 2%% fun tion allsI_1 = I_0(v_g1, Z_g1 , R_ant1, L_ant1, C_1 , f);mu_rod2 = mu_rod(mu_real2 , lr2 , a2);H1 = H_field(I_1 , a1, lr1 , n1, mu_real1 , f, 'Cartesian');v_o 2 = v_o (mu_rod2, f, a2, n2, 1, H1, r1, p1, r2, p2);v_L2 = v_L(v_o 2 , R_ant2, L_ant2, C_2 , f, Z_L2);98

Page 112: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Listing D.2: loadFerriteParameters.mfun tion [a d_wire rho_wire n lr mu_real mu_imag = loadFerriteParameters(filename)load(['J:\resear h\ ode\NFMI Model\model\parameters\' filename);end Listing D.3: R_ant.m%R_ant Resistan e of a ferrite -loaded loop antenna.% R = R_ant(mu_real, mu_imag , lr, n, a, d_wire, rho_wire , f) gives the% resistan e of a ferrite-loaded loop antenna in ohms where%% mu_real, mu_imag are the permeability of the ferrite material% lr is the length of the ferrite rod , in meters% n is the number of turns% a is the radius of the ferrite rod in meters% d_wire is the diameter of the wire in meters% rho_wire is the resistivity of the wire in Ohm -meters% f is frequen y in Hertzfun tion R_ant = R_ant(mu_real , mu_imag , lr, n, a, d_wire, rho_wire , f)l = n*d_wire; % assumes no gaps between wrapsR_l = R_loss(rho_wire , f, d_wire, a, n);R_r = R_rad(mu_real, l , lr, n, a, f);R_f = R_fer(mu_real, mu_imag , l , lr, n, a, f);R_ant = R_l + R_r + R_f;end Listing D.4: R_fer.mfun tion R_fer = R_fer(mu_real , mu_imag , l , lr, n, a, f)mu_0 = 4*pi*1e-7;mu_r = mu_rod(mu_real ,lr,a);F_R = 0.4371*(l /lr)^4 - 0.7556*(l /lr)^3 - 0.1384*(l /lr)^2 + 1.0210*(l /lr) + 0.0169;R_fer = 2*pi*f*(mu_r/mu_real)^2*F_R*mu_imag*mu_0*n^2*pi*a^2/l ;end Listing D.5: R_loss.mfun tion R_loss = R_loss(rho , f, d_wire, a, n)mu_0 = 4*pi*1e-7;sigma = 1/rho; % ondu tivityskinDepth = sqrt(2/(2*pi*f*mu_0*sigma));S = pi*(d_wire /2)^2 - pi*(d_wire/2 - skinDepth)^2;99

Page 113: Discrete-Time Implementation, Antenna Design, and MIMO for ...

R_loss = rho*2*pi*a*n/S;end Listing D.6: R_rad.m% sour e: paper by Montefun tion R_rad = R_rad(mu_real , l , lr, n, a, f) = 299792458; % speed of light in va uummu_0 = 4*pi*1e-7; % va uum permeabilityZ_m = sqrt(mu_0^2* ^2); % hara teristi impedan e of free spa ebeta_m = 2*pi*f/ ; % wavenumbermu_r = mu_rod(mu_real ,lr,a);F_V = -0.103*(l /lr)^3 - 0.0332*(l /lr)^2 - 0.074*(l /lr) + 0.9987;R_rad = Z_m/(6*pi)*beta_m ^4*(mu_r*F_V*n*pi*a^2)^2;end Listing D.7: L_ant.m%L_ant Indu tan e of a ferrite -loaded loop antenna.% L = L_ant(mu_real, l , lr, n, a) gives the indu tan e of a% ferrite -loaded loop antenna in henries where%% mu_real is the real part of the permeability of the ferrite material% l is the length of the oils (turns * wire diameter) in meters% lr is the length of the ferrite rod in meters% n is the number of turns% a is the radius of the ferrite rod in metersfun tion L = L_ant(mu_real , l , lr, n, a)mu_0 = 4*pi*1e-7;F_L = 0.3419*(l /lr)^3 - 1.3636*(l /lr)^2 + 1.6882*(l /lr) + 0.0501;L = mu_rod(mu_real,lr,a)*F_L*mu_0*n^2*pi*a^2/l ;end Listing D.8: mat hingC.mfun tion C = mat hingC(L, f)omega = 2*pi*f;C = 1/(omega^2*L);end Listing D.9: L_ant.m%L_ant Indu tan e of a ferrite -loaded loop antenna.% L = L_ant(mu_real, l , lr, n, a) gives the indu tan e of a100

Page 114: Discrete-Time Implementation, Antenna Design, and MIMO for ...

% ferrite -loaded loop antenna in henries where%% mu_real is the real part of the permeability of the ferrite material% l is the length of the oils (turns * wire diameter) in meters% lr is the length of the ferrite rod in meters% n is the number of turns% a is the radius of the ferrite rod in metersfun tion L = L_ant(mu_real , l , lr, n, a)mu_0 = 4*pi*1e-7;F_L = 0.3419*(l /lr)^3 - 1.3636*(l /lr)^2 + 1.6882*(l /lr) + 0.0501;L = mu_rod(mu_real,lr,a)*F_L*mu_0*n^2*pi*a^2/l ;end Listing D.10: I_0.mfun tion I_0 = I_0(v_g , Z_g , Z_L)I_0 = v_g / (Z_g + Z_L);end Listing D.11: mu_rod.m% Sour e: paper by Montefun tion mu_rod = mu_rod(mu_prime , lr, a)d = 2*a;if (lr/d < 2 || lr/d > 20)mu_rod = NaN;error('Fun tion only valid for 2 <= lr/(2*a) <= 20.');endX = 0.37*(lr/d)^ -1.44;mu_rod = mu_prime./(1 + X*(mu_prime - 1));end Listing D.12: H_eld.mfun tion H = H_field(I_0 , a1, lr1 , n1, mu_real1 , f, varargin)%% derived parameterslambda = 3e8/f; % wavelength (m)k = 2*pi/lambda; % wavenumber (m^-1)%% H fieldsyms r theta phi; 101

Page 115: Discrete-Time Implementation, Antenna Design, and MIMO for ...

syms x y z; oeff = -k^2*I_0*pi*a1^2*exp(-1j*k*r)/(4*pi*r)*mu_rod(mu_real1 ,lr1 ,a1)*n1;% H in Cartesian oordinates (default)H = oeff * [(1 - 3*1j/(k*r) - 3/(k^2*r^2))*z/r^2*x; ...(1 - 3*1j/(k*r) - 3/(k^2*r^2))*z/r^2*y; ...2*(-1j/(k*r) - 1/(k^2*r^2))*z^2/r^2 - (1 - 1j/(k*r) - 1/(k^2*r^2))*(x^2 + y^2)/r^2;H = subs(H, r, sqrt(x^2 + y^2 + z^2));if (length(varargin) == 1)if (str mpi(varargin1, 'spheri al'))% H in spheri al oordinatesH = oeff * [(-1j/(k*r) + 1/(k^2*r^2))*2* os(theta); ...(1 - 1j/(k*r) - 1/(k^2*r^2))*sin(theta); ...0;elseif (~str mpi(varargin1, 'Cartesian'))error('Coordinate system argument must be ''Cartesian'' or ''spheri al''.');endelseif (length(varargin) > 1)error('Too many arguments.');endend Listing D.13: v_o .m% Finds the open - ir uit voltage of a ferrite-loaded oil antenna (2) in% the presen e of a magneti field generated by a transmitting antenna (1),% taking into a ount the positions and orientations of the oils.fun tion v_o = v_o (mu_rod, f, a, n, F_A , H1, r1, p1, r2, p2)mu_0 = 4*pi*1e-7; % va uum permeabilityomega = 2*pi*f; % angular frequen yA = pi*a^2; % area of oil 2 oeff = mu_rod*mu_0*omega*A*n*F_A;[r2_prime p2_prime = trans_rotate(r1,p1,r2,p2);syms x y z;H1 = subs(H1, x, y, z, r2_prime(1), r2_prime(2), r2_prime(3));v_o = oeff*dot(H1,p2_prime);end 102

Page 116: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Listing D.14: v_L.mfun tion v_L = v_L(v_o , Z_S , Z_L)v_L = v_o *Z_L/(Z_L + Z_S);end

103

Page 117: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Appendix ESoftware Re eiver Code ListingThe following ode listings omprise the digital signal pro essing (DSP) sour e odefor the C software re eiver. Listing E.1: DSP.h/*Filenames: DSP.h & DSP. ppPurpose: This library ontains the dis rete -time signal pro essingfun tions that are at the heart of the digital re eiver ,along with additional nonessential signal pro essing utilities.*/#ifndef DSP_H#define DSP_H#in lude " hanFilters.h"#in lude "mat hed_filter.h"// Ea h signal pro essing fun tion produ es an output sample// by pro essing a window of input samples. The following// onstants define the lengths of these windows. onst int CHAN_WINDOW_LEN = M * CHAN_FILTER_LEN; onst int MATCHED_FILTER_WINDOW_LEN = MATCHED_FILTER_LEN - 1; onst int INTERPOLATOR_WINDOW_LEN = 4; onst int DQPSK_DETECTOR_WINDOW_LEN = 1; onst int RX_WINDOW_LEN = CHAN_WINDOW_LEN+ (MATCHED_FILTER_WINDOW_LEN + INTERPOLATOR_WINDOW_LEN) * D+ DQPSK_DETECTOR_WINDOW_LEN * 4 * D;/*Purpose: Performs frequen y sele tion and downsampling on sampled inputsignal. Produ es outputs for 1 to NUM_CHANS hannels.Parameters:outReal ,outImag: (return value) Result of the hannelization. Caller passesan array of pointers to pre -allo ated memory. The ve torsa essed are only those defined by the hansToUse parameter.outLen: Length of passed-in out ve tors. If this parameter is set tozero , the fun tion will return the required length of theoutput ve tor without performing any other omputation(all pointers an be set to null; only the numSamples parameterneeds to have a meaningful value in this ase). hansToUse: input ve tor spe ifying whi h frequen y hannels are to be104

Page 118: Discrete-Time Implementation, Antenna Design, and MIMO for ...

output. The first "numChansToUse" elements of this array willbe used to index the outReal and outImag arrays. For example,if numChansToUse is 1, the fun tion will store the real omponentsof the results in the ve tor at address outReal[ hansToUse[0.numChansToUse: Spe ifies the number of hannels desired.samples: Pointer to ve tor of real -valued input samples.numSamples: Number of elements in the samples ve tor.Return Value: Negative values indi ate error onditions. Non -negativevaluesgive the number of valid entries in the out ve tor (or, if lenOut is 0,the number of valid entries that would have been omputed).Error ondition odes:-1: When outLen is less than the minimum required. To find theminimum required , all the fun tion again with outLenset to 0.*/extern int hannelizer(double **outReal , double **outImag , int outLen, int* hansToUse , int numChansToUse, double *samples, int numSamples);/*Purpose: Performs mat hed filtering.Parameters:outReal ,outImag: (return value) Output of the mat hed filter. Caller passespointers to pre -allo ated memory.outLen: Length of passed-in out ve tors. If this parameter is set tozero , the fun tion will return the required length of theoutput ve tor without performing any other omputation(all pointers an be set to null; only the inLen parameterneeds to have a meaningful value in this ase).inReal,inImag: Pointers to ve tors of input samples to be filtered.inLen: Number of elements in inReal and inImag.Return Value: Negative values indi ate error onditions. Non -negativevaluesgive the number of valid entries in the out ve tor (or, if lenOut is 0,the number of valid entries that would have been omputed).Error ondition odes:-3: When outLen is less than the minimum required. To find theminimum required , all the fun tion again with outLenset to 0.*/extern int mat hedFilter(double *outReal , double *outImag , int outLen,double *inReal, double *inImag, int inLen);/*Purpose: Estimates the basepoint index and fra tional intervalrequired by the interpolator. See se tion 8.4.2 in Dr. Ri e'stextbook for details.Parameters:mu: (return value) Fra tional interval.offset: (return value) Basepoint index.105

Page 119: Discrete-Time Implementation, Antenna Design, and MIMO for ...

sReal ,sImag: Pointers to ve tors of input samples to be pro essed.sLen: Number of elements in all input ve tors.*/extern void timingParameterEstimation(double *mu, int *offset, double *sReal , double *sImag , int sLen);/*Purpose: Performs pie ewise polynomial interpolation to produ e anoutput signal downsampled by a fa tor of four from the inputsignal. See se tion 8.4.2 in Dr. Ri e's textbook for details.This is implemented to mat h the blo k diagram given in theupper portion of figure 8.4.16.Parameters:outReal ,outImag: (return value) Output of the operation. Caller passespointers to pre -allo ated memory.outLen: Length of passed-in out ve tors. If this parameter is set tozero , the fun tion will return the required length of theoutput ve tor without performing any other omputation(all pointers an be set to null; only the inLen and offsetparameters need to have a meaningful values in this ase).inReal,inImag: Pointers to ve tors of input samples to be pro essed.inLen: Number of elements in all input ve tors.mu: fra tional interval.offset: basepoint index.Return Value: Negative values indi ate error onditions. Non -negativevaluesgive the number of valid entries in the out ve tor (or, if outLen is 0,the number of valid entries that would have been omputed).Error ondition odes:-1: When outLen is less than the minimum required. To find theminimum required , all the fun tion again with outLenset to 0.*/extern int farrowInterp(double *outReal , double *outImag , int outLen,double *inReal, double *inImag, int inLen , double mu, int offset);/*Purpose: Performs differential QPSK dete tion.Parameters:outBits: (return value) Ve tor of output bits. Caller passespointers to pre -allo ated memory.outBitsLen: Length of passed-in outBits ve tor. If this parameter is settozero , the fun tion will return the required length of theoutput ve tor without performing any other omputation(all pointers an be set to null; only the sLenparameter needs to have a meaningful values in this ase).sReal ,sImag: Pointers to ve tors of input samples to be pro essed.sLen: Number of elements in input ve tors.106

Page 120: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Return Value: Negative values indi ate error onditions. Non -negativevaluesgive the number of valid entries in the out ve tor (or, if outLen is 0,the number of valid entries that would have been omputed).Error ondition odes:-1: When outBitsLen is less than the minimum required. To find theminimum required , all the fun tion again with outBitsLenset to 0.*/extern int DQPSKDete tor( har *outBits, int outBitsLen , double *sReal ,double *sImag , int sLen);/*Purpose: Estimates the time-average power in a omplex signal.WARNING: This is s aled by 2 to a ount for hannelizer attenuation!!Parameters:power: (return value) Result of omputation. Units: Watts.sReal ,sImag: Pointers to ve tors of input samples to be pro essed.sLen: Number of elements in input ve tors.*/extern void estimatePower(double *power , double *sReal , double *sImag , intsLen);/*Purpose: Estimates the time-average power in a real signal.Parameters:power: (return value) Result of omputation. Units: Watts or dBm.s: Pointer to ve tor of input samples to be pro essed.sLen: Number of elements in input ve tor s.*/extern void estimatePower(double *power , double *s, int sLen);extern void estimatePower_dBm(double *power , double *s, int sLen);/*Purpose: Produ es a zero-mean version of the input signal. Computesthe mean of the real and imaginary parts of the input signal, andsubtra ts those mean values from ea h element of the input signalto form the output signal.Parameters:outReal ,outImag: (return value) Output of the operation. Caller passespointers to pre -allo ated memory. Can point to samememory as inReal and inImag if desired.inReal,inImag: Pointers to ve tors of input samples to be pro essed.inLen: Number of elements in all input ve tors.*/extern void subtra tMean(double *outReal , double *outImag , double *inReal,double *inImag, int len);#endif 107

Page 121: Discrete-Time Implementation, Antenna Design, and MIMO for ...

Listing E.2: DSP. pp#in lude "DSP.h"#define _USE_MATH_DEFINES#in lude <math.h>#in lude " onv.h"#define MAX(X, Y) (((X) > (Y)) ? (X) : (Y))/* NOTE ON CHANNELIZER IMPLEMENTATIONSTwo ompeting implementations of the hannelizer are available.Both implementations are based on the ar hite ture presented in"The FreeLin Re eiver" by Dr. Ri e. A detailed derivation ispresented in Dr. Ri e's textbook "Communi ations: A Dis rete -TimeApproa h ," se tion 10.2. Performan e omparisons favor the newimplementation when using all 13 hannels , but favor the oldimplementation when using a single hannel. Commenting out thefollowing prepro essor definition will sele t the oldimplementation.*/#define NEW_CHANNELIZER#ifndef NEW_CHANNELIZER// the old hannelizer implementationint hannelizer(double **outReal , double **outImag , int outLen, int * hansToUse , int numChansToUse, double *samples , int numSamples) double databank[M[CHAN_FILTER_LEN;double urrentChanOutReal[NUM_CHANS;double urrentChanOutImag[NUM_CHANS;int k;double temp[M;int hanOutLen = (numSamples + D - (numSamples % D)) / D;if (outLen == 0)return hanOutLen;else if (outLen < hanOutLen)return -1;// initialize databank to zerosfor (int i = 0; i < M; i++) for (int j = 0; j < CHAN_FILTER_LEN; j++) databank[i[j = 0.0;for (int i = 0; i < hanOutLen + CHAN_FILTER_LEN; i++) // shift elements in databank and initialize with new sample valuesif (i == 0) databank[0[0 = samples[0; 108

Page 122: Discrete-Time Implementation, Antenna Design, and MIMO for ...

k = 1;else // shift data within databankfor (int j = CHAN_FILTER_LEN - 1; j > 0; j--) for (int l = 0; l < D; l++) databank[D + l[j = databank[l[j;databank[l[j = databank[D + l[j - 1;// edge ase , still shifting data within databankfor (int l = 0; l < D; l++) databank[D + l[0 = databank[l[0;// introdu ing new elements from the sample bufferif (k > D) for (int l = 0; l < D; l++) databank[l[0 = samples[k - l - 1;// array initializationfor (int j = 0; j < numChansToUse; j++) urrentChanOutReal[j = 0.0; urrentChanOutImag[j = 0.0;// for ea h bran h of the polyphase filter bank...for (int m = 0; m < M; m++) temp[m = 0.0;// polyphase filter onvolutionfor (int j = 0; j < CHAN_FILTER_LEN; j++) temp[m += databank[m[j * CHAN_FILTER[m[j;// bank of M heterodynes summed togetherfor (int j = 0; j < numChansToUse; j++) urrentChanOutReal[j += CHAN_HETER_REAL[m[CHAN_12_00_MHZ - hansToUse[j - MIN_K_VALUE * temp[m; urrentChanOutImag[j += CHAN_HETER_IMAG[m[CHAN_12_00_MHZ - hansToUse[j - MIN_K_VALUE * temp[m;// final heterodyne (Redu ed to multipli ation by 1 or -1. See eqn.(10.58) in Ri e.)for (int j = 0; j < numChansToUse; j++) if((CHAN_12_00_MHZ - hansToUse[j) % 2 == 0) 109

Page 123: Discrete-Time Implementation, Antenna Design, and MIMO for ...

outReal[ hansToUse[j[i = urrentChanOutReal[j;outImag[ hansToUse[j[i = urrentChanOutImag[j;else if(i % 2 == 0) outReal[ hansToUse[j[i = urrentChanOutReal[j;outImag[ hansToUse[j[i = urrentChanOutImag[j;else outReal[ hansToUse[j[i = - urrentChanOutReal[j;outImag[ hansToUse[j[i = - urrentChanOutImag[j;k += D;if (k >= numSamples) break;return hanOutLen;#else// the new hannelizer implementationint hannelizer(double **outReal , double **outImag , int outLen, int * hansToUse , int numChansToUse, double *samples , int numSamples) double polyFilterOut[M;double sumReal , sumImag;int sampleIndex;int indexOffset = (int) eil((double)(M - 1) / D);int hanOutLen = MAX(((numSamples - 1) - M * (CHAN_FILTER_LEN - 1)) / D- indexOffset + 1, 0);if (outLen == 0)return hanOutLen;else if (outLen < hanOutLen)return -1;// for ea h hannelizer outputfor (int i = 0; i < hanOutLen; i++) // for ea h bran h of the polyphase filterfor (int m = 0; m < M; m++) polyFilterOut[m = 0.0;for (int j = 0; j < CHAN_FILTER_LEN; j++) // this ompli ated index is at the heart of the// ommutation/downsample operationsampleIndex = (i + indexOffset) * D + M * j - m;// one of the M subfilters 110

Page 124: Discrete-Time Implementation, Antenna Design, and MIMO for ...

polyFilterOut[m += samples[sampleIndex * CHAN_FILTER[m[CHAN_FILTER_LEN - j - 1;for (int j = 0; j < numChansToUse; j++) sumReal = 0.0;sumImag = 0.0;// bank of M phase shifter heterodynesfor (int m = 0; m < M; m++) sumReal += polyFilterOut[m * CHAN_HETER_REAL[m[CHAN_12_00_MHZ - hansToUse[j - MIN_K_VALUE;sumImag += polyFilterOut[m * CHAN_HETER_IMAG[m[CHAN_12_00_MHZ - hansToUse[j - MIN_K_VALUE;// final heterodyne (redu ed to multipli ation by 1 or -1)if ((CHAN_12_00_MHZ - hansToUse[j) % 2 == 0) outReal[ hansToUse[j[i = sumReal;outImag[ hansToUse[j[i = sumImag;else if (i % 2 == 0) outReal[ hansToUse[j[i = sumReal;outImag[ hansToUse[j[i = sumImag;else outReal[ hansToUse[j[i = -sumReal;outImag[ hansToUse[j[i = -sumImag;return hanOutLen;#endifint mat hedFilter(double *outReal , double *outImag , int outLen, double *inReal, double *inImag, int inLen) onv(outReal, outLen, inReal, inLen , (double *)MATCHED_FILTER,MATCHED_FILTER_LEN, CONV_VALID);return onv(outImag, outLen, inImag, inLen , (double *)MATCHED_FILTER,MATCHED_FILTER_LEN, CONV_VALID);void timingParameterEstimation(double *mu, int *offset, double *sReal ,double *sImag , int sLen) double X_OM_real = 0.0;double X_OM_imag = 0.0;double x_OM;double epsilon;for (int i = 0; i < sLen; i++) 111

Page 125: Discrete-Time Implementation, Antenna Design, and MIMO for ...

x_OM = sReal[i * sReal[i + sImag[i * sImag[i;swit h(i % 4) ase 0:X_OM_real += x_OM;break; ase 1:X_OM_imag += x_OM;break; ase 2:X_OM_real -= x_OM;break; ase 3:X_OM_imag -= x_OM;break;epsilon = atan2(X_OM_imag , X_OM_real) / M_PI;if (0.0 <= epsilon && epsilon < 0.5) *offset = 0;*mu = epsilon * 2.0;else if (0.5 <= epsilon && epsilon <= 1.0) *offset = 1;*mu = (epsilon - 0.5) * 2.0;else if (-1.0 <= epsilon && epsilon < -0.5) *offset = 2;*mu = (epsilon + 1.0) * 2.0;else if (-0.5 <= epsilon && epsilon < 0.0) *offset = 3;*mu = (epsilon + 0.5) * 2.0;int farrowInterp(double *outReal , double *outImag , int outLen, double *inReal, double *inImag, int inLen , double mu, int offset) double v2r , v1r , v0r , v2i , v1i , v0i;int outIndex = 0;int omputedOutLen;// ompute needed outLen omputedOutLen = MAX(inLen / 4 - 1, 0);if (outLen == 0)return omputedOutLen;else if (outLen < omputedOutLen)return -1;int iStart = (offset == 0) ? 4 : offset;for (int i = iStart; i < inLen - 2; i += 4) 112

Page 126: Discrete-Time Implementation, Antenna Design, and MIMO for ...

v2r = 0.5 * (inReal[i + 2 - inReal[i + 1 - inReal[i + inReal[i -1);v2i = 0.5 * (inImag[i + 2 - inImag[i + 1 - inImag[i + inImag[i -1);v1r = 0.5 * (-inReal[i + 2 + inReal[i + 1 - inReal[i - inReal[i -1) + inReal[i + 1;v1i = 0.5 * (-inImag[i + 2 + inImag[i + 1 - inImag[i - inImag[i -1) + inImag[i + 1;v0r = inReal[i;v0i = inImag[i;outReal[outIndex = (mu * v2r + v1r) * mu + v0r;outImag[outIndex = (mu * v2i + v1i) * mu + v0i;outIndex++;if (outIndex == omputedOutLen)break;return omputedOutLen;int DQPSKDete tor( har *outBits, int outBitsLen , double *sReal , double *sImag , int sLen) double test0_real;double test0_imag;double test90_real;double test90_imag;double test180_real;double test180_imag;double test270_real;double test270_imag;double d2_0;double d2_90;double d2_180;double d2_270;int numBits = (sLen - 1) * 2;if (outBitsLen == 0)return numBits;else if (outBitsLen < numBits)return -1;for (int i = 1; i < sLen; i++) test0_real = sReal[i - 1;test0_imag = sImag[i - 1;test90_real = -sImag[i - 1;test90_imag = sReal[i - 1;test180_real = -sReal[i - 1;test180_imag = -sImag[i - 1; 113

Page 127: Discrete-Time Implementation, Antenna Design, and MIMO for ...

test270_real = sImag[i - 1;test270_imag = -sReal[i - 1;d2_0 = (sReal[i - test0_real) * (sReal[i - test0_real) + (sImag[i -test0_imag) * (sImag[i - test0_imag);d2_90 = (sReal[i - test90_real) * (sReal[i - test90_real) + (sImag[i - test90_imag) * (sImag[i - test90_imag);d2_180 = (sReal[i - test180_real) * (sReal[i - test180_real) + (sImag[i - test180_imag) * (sImag[i - test180_imag);d2_270 = (sReal[i - test270_real) * (sReal[i - test270_real) + (sImag[i - test270_imag) * (sImag[i - test270_imag);// De ide Rotation 0if (d2_0 <= d2_90 && d2_0 <= d2_180 && d2_0 <= d2_270) outBits[2*(i-1) = 1; //MSBoutBits[2*(i-1)+1 = 1; //LSB// De ide Rotation 90else if (d2_90 <= d2_0 && d2_90 <= d2_180 && d2_90 <= d2_270) outBits[2*(i-1) = 0; //MSBoutBits[2*(i-1)+1 = 1; //LSB// De ide Rotation 180else if (d2_180 <= d2_0 && d2_180 <= d2_90 && d2_180 <= d2_270) outBits[2*(i-1) = 0; //MSBoutBits[2*(i-1)+1 = 0; //LSB// De ide Rotation 270else //(d2_270 <= d2_0 && d2_270 <= d2_90 && d2_270 <= d2_180)outBits[2*(i-1) = 1; //MSBoutBits[2*(i-1)+1 = 0; //LSBreturn numBits;void estimatePower(double *power , double *sReal , double *sImag , int sLen)double p;p = 0.0;for(int i = 0; i < sLen; i++) p += (sReal[i * sReal[i) + (sImag[i * sImag[i);*power = p / (double)sLen / 50.0 * 2.0; // 50 Ohm load, fa tor of 2be ause hannelizer attenuates signal by 3 dB (?)void estimatePower(double *power , double *s, int sLen) double p = 0.0;for(int i = 0; i < sLen; i++) p += pow(s[i, 2); 114

Page 128: Discrete-Time Implementation, Antenna Design, and MIMO for ...

*power = p / (double)sLen / 50.0;void estimatePower_dBm(double *power , double *s, int sLen) double p;estimatePower(&p, s, sLen);*power = 10.0 * log10(p) + 30.0;void subtra tMean(double *outReal , double *outImag , double *inReal, double*inImag, int len) double meanReal = 0.0;double meanImag = 0.0;// ompute meanfor (int i = 0; i < len; i++) meanReal += inReal[i;meanImag += inImag[i;meanReal /= len;meanImag /= len;// subtra t meanfor (int i = 0; i < len; i++) outReal[i = inReal[i - meanReal;outImag[i = inImag[i - meanImag;

115