Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

In-vehicle powerline communication using software-defined radio Bar, Roee 2016

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata


24-ubc_2016_september_bar_roee.pdf [ 1.45MB ]
JSON: 24-1.0307515.json
JSON-LD: 24-1.0307515-ld.json
RDF/XML (Pretty): 24-1.0307515-rdf.xml
RDF/JSON: 24-1.0307515-rdf.json
Turtle: 24-1.0307515-turtle.txt
N-Triples: 24-1.0307515-rdf-ntriples.txt
Original Record: 24-1.0307515-source.json
Full Text

Full Text

IN-VEHICLE POWERLINE COMMUNICATIONUSING SOFTWARE-DEFINED RADIObyROEE BARB.Sc., Technion - Israel Institute of Technology, 2007A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTSFOR THE DEGREE OFMASTER OF APPLIED SCIENCEinTHE FACULTY OF GRADUATE AND POSTDOCTORAL STUDIES(Electrical and Computer Engineering)The University of British Columbia(Vancouver)August 2016c© Roee Bar, 2016AbstractPowerline communication is an attractive solution for in-vehicle communi-cation. However, the research of communication over powerlines requiresfield-testing and full access to communication protocol layers, particularlyto the physical and the Media Access Control (MAC) layers. This ability canbe accomplished through the use of software-defined radio along with real-time signal processing executed on a personal computer. In this work, wepresent the design and implementation of an IEEE 1901-based transceiveraimed for vehicular powerlines, written for GNU Radio and operated onEttus Universal Software Radio Peripheral (USRP) N210 hardware. Thesoftware components include a C++ physical layer signal processing li-brary and several complementary GNU Radio blocks including a MAClayer block written in Python. The implemented capabilities include sev-eral channel estimation methods, a noise power spectral density estimatorand an adaptive bit loading algorithm. We make all the software compo-nents available as an open source project to facilitate further developmentby the broader research community. We then show experimental resultsobtained with the system applied to a vehicle harness and a real vehiclepowerline network. In the first part of the experiments, we demonstratethe correctness of the implementation, compare between several channelestimation methods, and test the system performance. In the second part,we examine the feasibility of reliable communication with IEEE 1901 overpowerlines in a car. Our experiments show that IEEE 1901 along with theimplemented receiver algorithm are capable of operating in the scenariostested. The vehicular impulsive noise is identified as the primary cause forerrors. In particular, our experiments show that it affects mainly the framesynchronization. Hence we believe that further investigations of in-vehicleiipowerline communication should focus on alleviating the effect of impulsenoise on synchronization.iiiPrefaceThe work presented in this thesis was completed in the Department of Elec-trical and Computer Engineering at the University of British Columbia un-der the supervision of Dr. Lutz Lampe. This thesis is original, unpublished,independent work by the author, R. Bar. This includes, but is not limitedto, literature review, simulation design and implementation, coding, dataanalysis, and manuscript writing. Dr. Lampe contributed to the work as asecondary author by providing guidance and supervision throughout.ivTable of ContentsAbstract . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iiPreface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ivTable of Contents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vList of Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixList of Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xList of Symbols . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xiiGlossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xivAcknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . . . . xviDedication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.1 In-Vehicle Communication Networks . . . . . . . . . . . . . 21.1.1 Communication Protocols . . . . . . . . . . . . . . . . 21.1.2 Next Generation Network . . . . . . . . . . . . . . . . 31.2 Powerline Communication . . . . . . . . . . . . . . . . . . . . 41.2.1 Powerline Communication Standards . . . . . . . . . 5IEEE 1901 . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Software-Defined Radio-Based Implementation . . . . . . . 71.4 Related Works . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5 Contribution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6 Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10v2 Powerline Communication System Description . . . . . . . . . . 122.1 PHY Transmitter . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . 122.1.2 Preamble Generation . . . . . . . . . . . . . . . . . . . 142.1.3 Encoder . . . . . . . . . . . . . . . . . . . . . . . . . . 15Frame Control Encoder . . . . . . . . . . . . . . . . . 15Payload Encoder . . . . . . . . . . . . . . . . . . . . . 16Turbo Convolutional Encoder . . . . . . . . . . . . . . 172.1.4 Symbol Generation . . . . . . . . . . . . . . . . . . . . 182.2 PHY Receiver . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.2.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . 202.2.2 Frame Detection . . . . . . . . . . . . . . . . . . . . . 212.2.3 Symbol Alignment . . . . . . . . . . . . . . . . . . . . 222.2.4 Phase Estimation . . . . . . . . . . . . . . . . . . . . . 232.2.5 Symbol Demodulation . . . . . . . . . . . . . . . . . . 252.2.6 Decoder . . . . . . . . . . . . . . . . . . . . . . . . . . 27Frame Control Decoder . . . . . . . . . . . . . . . . . 27Payload Decoder . . . . . . . . . . . . . . . . . . . . . 282.3 Channel Estimation . . . . . . . . . . . . . . . . . . . . . . . . 292.3.1 Sounding Method . . . . . . . . . . . . . . . . . . . . 292.3.2 Payload Method . . . . . . . . . . . . . . . . . . . . . 312.3.3 Preamble Method . . . . . . . . . . . . . . . . . . . . . 342.4 Noise Power Spectral Density Estimation . . . . . . . . . . . 342.5 Adaptive Bit Loading . . . . . . . . . . . . . . . . . . . . . . . 352.5.1 Incremental Algorithm . . . . . . . . . . . . . . . . . . 372.6 MAC Layer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382.6.1 MAC Frame . . . . . . . . . . . . . . . . . . . . . . . . 382.6.2 MAC Protocol Data Unit (MPDU) . . . . . . . . . . . 392.6.3 Channel Access . . . . . . . . . . . . . . . . . . . . . . 39Sounding Process . . . . . . . . . . . . . . . . . . . . . 402.7 Impulse Noise Model . . . . . . . . . . . . . . . . . . . . . . . 402.7.1 Damped Sine Wave . . . . . . . . . . . . . . . . . . . . 42Fourier Analysis . . . . . . . . . . . . . . . . . . . . . 43vi2.7.2 Periodic Impulse Noise . . . . . . . . . . . . . . . . . 453 Implementation Details . . . . . . . . . . . . . . . . . . . . . . . . 463.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463.1.1 Development Platform . . . . . . . . . . . . . . . . . . 463.1.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 473.2 Ettus USRP N210 . . . . . . . . . . . . . . . . . . . . . . . . . 483.3 Lightplc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493.4 GNU Radio Blocks . . . . . . . . . . . . . . . . . . . . . . . . 513.4.1 PHY Hierarchical Block . . . . . . . . . . . . . . . . . 513.4.2 PHY Rx Block . . . . . . . . . . . . . . . . . . . . . . . 52State Machine . . . . . . . . . . . . . . . . . . . . . . . 53Incoming Messages . . . . . . . . . . . . . . . . . . . . 543.4.3 PHY Tx Block . . . . . . . . . . . . . . . . . . . . . . . 55State Machine . . . . . . . . . . . . . . . . . . . . . . . 55Incoming Messages . . . . . . . . . . . . . . . . . . . . 563.4.4 MAC Block . . . . . . . . . . . . . . . . . . . . . . . . 56State Machine . . . . . . . . . . . . . . . . . . . . . . . 57Incoming Messages . . . . . . . . . . . . . . . . . . . . 57User Parameters . . . . . . . . . . . . . . . . . . . . . 603.4.5 APP Layer Blocks . . . . . . . . . . . . . . . . . . . . . 613.4.6 Impulse Source Block . . . . . . . . . . . . . . . . . . 613.4.7 Transceiver . . . . . . . . . . . . . . . . . . . . . . . . 613.5 Known Limitations . . . . . . . . . . . . . . . . . . . . . . . . 634 Experimental Results . . . . . . . . . . . . . . . . . . . . . . . . . . 654.1 System Setup . . . . . . . . . . . . . . . . . . . . . . . . . . . 654.1.1 PHY Parameters . . . . . . . . . . . . . . . . . . . . . 664.1.2 MAC Layer Parameters . . . . . . . . . . . . . . . . . 674.1.3 Power Spectral Density . . . . . . . . . . . . . . . . . 694.2 Car Cable Harness (White Noise) . . . . . . . . . . . . . . . . 704.2.1 Channel Estimation . . . . . . . . . . . . . . . . . . . 72Comparison of Channel Estimation Methods . . . . . 73vii4.2.2 Bit Loading . . . . . . . . . . . . . . . . . . . . . . . . 74Bit Error Rate . . . . . . . . . . . . . . . . . . . . . . . 764.2.3 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 784.3 Car Cable Harness (Impulse Noise) . . . . . . . . . . . . . . . 794.3.1 Noise Generation . . . . . . . . . . . . . . . . . . . . . 794.3.2 Noise PSD . . . . . . . . . . . . . . . . . . . . . . . . . 814.3.3 Bit Loading . . . . . . . . . . . . . . . . . . . . . . . . 814.3.4 Performance . . . . . . . . . . . . . . . . . . . . . . . . 82Bit Error Rate . . . . . . . . . . . . . . . . . . . . . . . 83PHY Rate . . . . . . . . . . . . . . . . . . . . . . . . . 84Sync Error . . . . . . . . . . . . . . . . . . . . . . . . . 85Block Error . . . . . . . . . . . . . . . . . . . . . . . . 864.3.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 864.4 Real Car . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884.4.1 Results . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Car-Off . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Turn-Signal-On . . . . . . . . . . . . . . . . . . . . . . 90Lights-Toggle . . . . . . . . . . . . . . . . . . . . . . . 90Wipers-On . . . . . . . . . . . . . . . . . . . . . . . . . 91Engine-On . . . . . . . . . . . . . . . . . . . . . . . . . 934.4.2 Summary . . . . . . . . . . . . . . . . . . . . . . . . . 945 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 975.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Bibliography . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100A Derivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107A.1 Rice Parameter Estimation . . . . . . . . . . . . . . . . . . . . 107A.2 OFDM Symbol Energy . . . . . . . . . . . . . . . . . . . . . . 108A.2.1 Generated Symbol . . . . . . . . . . . . . . . . . . . . 108A.2.2 Received Symbol . . . . . . . . . . . . . . . . . . . . . 109viiiList of Tables2.1 Modulation Types in IEEE 1901 . . . . . . . . . . . . . . . . . 194.1 Modified IEEE 1901 Properties . . . . . . . . . . . . . . . . . 684.2 Implementation-Specific Parameters . . . . . . . . . . . . . . 684.3 Impulse Noise Parameters . . . . . . . . . . . . . . . . . . . . 804.4 Car Car-Off Results . . . . . . . . . . . . . . . . . . . . . . . . 904.5 Car Lights-Toggle Results . . . . . . . . . . . . . . . . . . . . 934.6 Car Wipers-On Results . . . . . . . . . . . . . . . . . . . . . . 934.7 Car Engine-On Results . . . . . . . . . . . . . . . . . . . . . . 95ixList of Figures2.1 PPDU Structure . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2 Preamble Structure . . . . . . . . . . . . . . . . . . . . . . . . 152.3 PPDU Generation . . . . . . . . . . . . . . . . . . . . . . . . . 162.4 IEEE 1901 Constituent Encoder . . . . . . . . . . . . . . . . . 182.5 Modified Constituent Encoder . . . . . . . . . . . . . . . . . 182.6 PPDU Receive Path . . . . . . . . . . . . . . . . . . . . . . . . 212.7 Preamble Correlation . . . . . . . . . . . . . . . . . . . . . . . 232.8 Master-Slave Channel Access . . . . . . . . . . . . . . . . . . 412.9 Damped Sine Wave . . . . . . . . . . . . . . . . . . . . . . . . 432.10 Damped Sine Wave Fourier Transform . . . . . . . . . . . . . 443.1 Implementation Block Diagram . . . . . . . . . . . . . . . . . 473.2 USRP N210 Architecture . . . . . . . . . . . . . . . . . . . . . 493.3 PHY Hierarchical Block . . . . . . . . . . . . . . . . . . . . . 523.4 PHY Rx State Machine . . . . . . . . . . . . . . . . . . . . . . 533.5 PHY Tx State Machine . . . . . . . . . . . . . . . . . . . . . . 553.6 MAC Master State Machine . . . . . . . . . . . . . . . . . . . 583.7 MAC Slave State Machine . . . . . . . . . . . . . . . . . . . . 593.8 Two-Transceiver Flow Graph . . . . . . . . . . . . . . . . . . 624.1 IEEE 1901 Spectrum . . . . . . . . . . . . . . . . . . . . . . . . 674.2 OFDM Power Spectral Density . . . . . . . . . . . . . . . . . 704.3 Car Cable Harness . . . . . . . . . . . . . . . . . . . . . . . . 714.4 Car Cable Harness Diagram . . . . . . . . . . . . . . . . . . . 724.5 Car Cable Harness Channel Estimation . . . . . . . . . . . . 734.6 Channel Estimation Methods Comparison . . . . . . . . . . . 754.7 Number of Payload OFDM Symbols . . . . . . . . . . . . . . 76x4.8 Channel Estimation Methods PHY Rate . . . . . . . . . . . . 774.9 Channel Estimation Methods BER . . . . . . . . . . . . . . . 784.10 Car Cable Harness Noise PSD Estimation . . . . . . . . . . . 824.11 Car Cable Harness SNR Estimation . . . . . . . . . . . . . . . 834.12 Car Cable Harness Tone Map . . . . . . . . . . . . . . . . . . 844.13 Car Cable Harness Bit Error . . . . . . . . . . . . . . . . . . . 854.14 Car Cable Harness PHY Rate . . . . . . . . . . . . . . . . . . 864.15 Car Cable Harness Synchronization Error . . . . . . . . . . . 874.16 Car Cable Harness Block Error . . . . . . . . . . . . . . . . . 884.17 Car Experiment Diagram . . . . . . . . . . . . . . . . . . . . . 894.18 Car Channel in Lights-Toggle . . . . . . . . . . . . . . . . . . 914.19 Car Block Error Rate in Lights-Toggle . . . . . . . . . . . . . 924.20 Car Block Success and Sync Error in Wipers-On . . . . . . . 94xiList of SymbolsGeneral Notationx(t) continuous time form of a signalx[n] discrete time form of a signalX[k] discrete Fourier transform of x[n]x∗ complex conjugate of xx vector form of a signalMathematical Symbols, Functions and Operationsj =√−1ejt = cos(t) + j sin(t)δ[n] ={0 n 6= 01 n = 0}u(x) ={0 x < 01 x ≥ 0}Re(x) = 12(x+ x∗)X(ξ) = F (x(t)) = ∫∞−∞ x(t)e−2piξtdtPowerline Communication System Description (Chapter 2)N the number of samples or carriers in an OFDM symbol(2048)M the number of samples or carriers in a SYNCP/SYNCMsymbol (256)T the sampling intervalr(t) a received signalxiis(t) a transmitted signalw(t) noiseh(t) a channel impulse responsexiiiGlossaryADC Analog to Digital ConverterAPP ApplicationBER Bit Error RateBPSK Binary Phase-Shift KeyingCRC Cyclic Redundancy CheckDAC Digital to Analog ConverterDC Direct CurrentDDC Digital Down ConverterDFT Discrete Fourier TransformDUC Digital Up ConverterFEC Forward Error CorrectionFPGA Field-Programmable Gate ArrayIDFT Inverse Discrete Fourier Transformi.i.d Independent and Identically DistributedLPF Low Pass FilterMAC Media Access ControlMAP Maximum A PosterioriMPDU MAC Protocol Data UnitNMSE Normalized Mean Square ErrorOFDM Orthogonal Frequency-Division MultiplexingPC Personal ComputerPHY Physical LayerPLC Powerline CommunicationPPDU PHY Protocol Data UnitPSD Power Spectral DensityQAM Quadrature Amplitude ModulationxivQPSK Quaternary Phase-Shift KeyingRF Radio FrequencyROBO Robust OFDMSIMD Single Instruction Multiple DataSDR Software-Defined RadioSNR Signal to Noise RatioUSRP Universal Software Radio PeripheralVNA Vector Network AnalyzerxvAcknowledgementsFirst I would like to thank Dr. Lutz Lampe for his guidance throughout myMaster thesis work. It was a pleasure working with such a supportive andinsightful supervision. I would like to acknowledge Auto21 for researchfunding during my project. I also greatly appreciate my previous teach-ers at the Technion for providing me a solid foundation. I am also deeplygrateful for my family overseas for unconditional support. Finally, I wouldlike to thank my caring and supportive wife, Tali. Over the past two years,she has made countless sacrifices and was dedicated to making sure I getenough food, sleep, and air. My heartfelt thanks.xviTo Alma and Iddowith love,AbaxviiChapter 1IntroductionPowerline Communication (PLC) is an attractive solution for in-vehiclecommunication. It brings some important advantages such as the needfor fewer wires and an easier installation. For this reason, the PLC has beenadopted in recent standards for communication between plug-in electricalvehicles and the charging infrastructure [1, 2, 3]. For in-vehicle communi-cation, PLC can be a stand-alone solution or a complementary solution as abackup or extension of an existing network. However, the vehicular pow-erlines are a harsh environment for communication. The main challengesare a high amplitude impulse noise and a time-varying channel impulseresponse. Hence, extensive in-situ testing of PLC solutions is necessary fordesign choices and verification of their suitability for in-vehicle communi-cation.In this work, we present a Software-Defined Radio1 (SDR) implemen-tation of a PLC transceiver that facilitates a field-test-guided design andverification. It is based on the IEEE 1901 standard comprising an IEEE1901-based physical layer (PHY) as well as a minimal Media Access Control(MAC) layer. The implemented system has been used to perform measure-ments on an actual vehicle powerline, and we present here the results ofour experiments.In the next section, we briefly review current in-vehicle communicationnetworks and popular protocols. We then discuss the main challenges forin-vehicle PLC and describe the benefits of SDR for PLC research.1We use the term software-defined radio even though we use the platform for wired-based communication rather than wireless communication.1Chapter 1. Introduction1.1 In-Vehicle Communication NetworksA typical vehicle nowadays includes a multitude of sensors and processorsfor various purposes. In addition, electronic devices are increasingly re-placing the mechanical systems. All these and other electronic units havea need for a digital communication network that supports different typesof data traffic. The data traffic types are often separated in categories asfollows [4, 5].Control Data: This includes all data related to subsystems that controlvarious aspects of the vehicle. Control data requires relatively low data ratewith either high or low latency. Controlling safety critical systems such assuspension and braking systems requires low latency. Non-safety criticalsystems such as electronically controlled mirrors can use high latency.Safety Data: This data is related to driver-assist safety systems. Safetydata usually requires low latency while the data rate depends on the ap-plication. Systems such as reversing cameras and lane departure detectioncameras require high data rate while parking sensors and infrared sensorsfor nighttime pedestrian detection require less data rate.Infotainment Data: This includes all entertainment and driver informa-tion network traffic used in navigation systems, audio and visual entertain-ment, and more. Such systems usually demand high data rate.1.1.1 Communication ProtocolsSeveral automotive communication protocols are used to address the var-ious applications data rate and latency requirements. The most commonprotocols are Controller Area Network (CAN) [6], Media Oriented SystemsTransport (MOST) [7], FlexRay [8], Local Interconnected Network (LIN) [9]and Low-Voltage Differential Signaling (LVDS) [10].CAN: This protocol has been developed by Robert Bosch GmbH andwas released in 1986. CAN is typically used to transmit control traffic be-tween electronic control units within the vehicle. It allows a maximum busspeed of 1 Mbps over a distance of up to 40 m. It is currently very popular in2Chapter 1. Introductionthe automotive domain as a communication bus for event-triggered com-munication. Suitable for low bandwidth control applications with a highor low latency.MOST: This protocol has been developed to primarily support multi-media data. The maximum possible bandwidth supported by MOST150 is150 Mbps.FlexRay: This protocol has been developed specifically for automotivenetworking by the FlexRay Consortium, which disbanded in 2009. Its keybenefits over CAN are its flexibility, higher maximum data rate (10 Mbps),and its deterministic channel access behavior. It is suitable for low data rateand low latency applications.LIN: The LIN protocol was developed in the late 1990s by the LIN Con-sortium as a low-cost alternative to CAN for less important vehicular net-work elements. It is suitable for low data rate and high latency applications.LVDS: This is a high-speed signaling standard that uses twisted paircopper cables. The standard is attractive for automotive camera usage dueto high data rate capabilities (up to 655 Mbps).1.1.2 Next Generation NetworkRecently, there has been a request by the automotive industry for a stan-dardization of in-vehicle networking between manufacturers. This maylead to a greater reuse and interoperability between the original equipmentmanufacturers and the manufacturers. A thorough analysis of the futurein-vehicle network was done in [5]. The authors argue that a significantindustry interest in Ethernet through groups such as AVnu and OPENSIGalliances suggests that Ethernet-based network is most likely the dominantstandard in the next generation network [5, 11]. The advantages of a wide-scale adoption of Ethernet include high data rate capabilities, cost effec-tiveness, flexibility and a recognized IEEE standard (with the benefits of acontinuing improvement and vehicle-specific features). However, Ethernetdoes not address all requirements, and there is still a need for complemen-tary protocols. For example, in a case of a network malfunction, a backup3Chapter 1. Introductionnetwork is required for safety-critical units. PLC can address this and more,as discussed in the next section.1.2 Powerline CommunicationPowerline communication uses electrical wiring to carry data while allow-ing electric power transmission over the same wires. PLC can potentiallyreach every device connected to the powerline without adding extra wires.These features are specifically attractive for vehicular networks whichcontain many devices linked by the same powerline. Although PLC maynot be the primary intra-vehicle network, PLC is a good candidate for abackup network. Adding extra wires may complicate the network and ad-versely affects the vehicle energy efficacy due to their weight. Also, in sce-narios where cabling space or cost is limited, the PLC network can replacethe primary network. Aftermarket devices, for example, may be easier toinstall if no extra wires are required for communication.PLC is capable for low or high data rate applications. We expect thathigh latency control applications and high date rate infotainment data canimmediately benefit from PLC. However, low latency may be more chal-lenging for PLC. The powerline is a harsh environment not designed forcommunication. The challenges of PLC include a varying impedance, atime-varying channel impulse response, colored noise and impulse noise.Powerline networks are usually made of a variety of conductor typesand loads with a varying impedance. Over such channels, the frequencyresponse may vary widely with frequency. Also, the channel may changeover time as switching on or off devices changes the network topology. Incars, for example, the channel of a stationary car can be very different thanthat of a moving car.Noise in powerline is also a significant problem. We classify here twomajor noise types.• Background Noise: This noise distribution may be stationary or time-varying. The sum of low power noise sources is included in this4Chapter 1. Introductionnoise. Interference from wireless broadcast stations also contributesto this noise as a narrowband background source.• Impulse Noise: This type of noise is an abrupt noise with a large am-plitude. It can be repetitive and synchronized to some source but canalso be isolated. One characteristic of impulse noise is the inter-arrivaltime — the time between successive noise pulses. This property, forexample, is different between in-home powerlines and in-car power-line as an impulse inter-arrival time in a car can be hundreds of timesshorter than in a home network [12].A more thorough review of the PLC characteristics and challenges canbe found in [13, 14, 15].Due to the vehicular powerline characteristics, an in-vehicle PLC re-search can greatly benefit from full access to a PLC protocol operating onactual powerlines. This can be accomplished through a use of an SDR. Thecommunication protocol utilized by the SDR system can be based on anavailable standardized PLC protocol. This enables us to reuse parts thathave already been proven to work efficiently in similar circumstances.1.2.1 Powerline Communication StandardsThere are no vehicle-specific powerline communication standards. Yamarhas developed a proprietary PLC technology for communication over Di-rect Current (DC) powerline [16]. There are, however, numerous powerlinestandards for narrowband and broadband applications for in-home or in-dustrial use. Similarly to Ethernet, broadband standards have the abilityto serve a broad range of in-car applications. Therefore, we will focus heresolely on the PLC broadband standards. The most widely deployed power-line networking standards are from the HomePlug Powerline Alliance [14].Also worth mentioning is the High-Definition Powerline Communication(HD-PLC) standard. A brief description of these standards physical layeris given below (a more thorough overview can be found in [15]).HomePlug 1.0 [17]: The standard was released in 2000. HomePlug1.0 uses Orthogonal Frequency-Division Multiplexing (OFDM) symbols5Chapter 1. Introductionwith 84 carriers in the frequency band between 4.5 to 21 MHz. It usesdifferential Binary Phase-Shift Keying (BPSK) and differential Quater-nary Phase-Shift Keying (QPSK) modulation, a Reed-Solomon ForwardError Correction (FEC) with a code rate between 1/2 and 3/4. A RobustOFDM (ROBO) mode is defined for transmitting important managementinformation. ROBO mode is achieved by using a strong code, lower ratesand a diversity copier of the data. The nominal maximum PHY rate is13.78 Mbps.HomePlug AV [18]: This standard was released in 2005. HomePlug AVuses a windowed Discrete Fourier Transform (DFT)-based OFDM symbolswith 917 carriers in the frequency range of 2 to 30 MHz. It uses modu-lations from BPSK up to 1024-Quadrature Amplitude Modulation (QAM)independently applied to each carrier (bit-loaded modulation). HomePlugAV also uses powerful turbo convolutional code with rate 1/2 and 16/21.Three ROBO modes are defined (see IEEE 1910 highlights in next chapterfor more information). HomePlug AV can share the medium with Home-Plug 1.0 devices. The maximum date rate supported is 200 Mbps.HomePlug Green PHY [19]: This is essentially a subset of HomePlug AVas it uses only the ROBO modes. It targets smart energy and home ap-plications. HomePlug Green PHY aims to provide a significantly reducedpower consumption, maintain high reliability and be cost effective. Themaximum date rate supported is 10 Mbps.HomePlug AV2 [20]: This standard was built on top of HomePlug AV. Itextends the band to 2 to 86 MHz. It also adds 4096-QAM, a 8/9 code rate,smaller guard intervals, and MIMO capabilities. The maximum date ratesupported is 1.5 Gbps.HD-PLC: The standard uses wavelet-transform based OFDM symbolswith 512 carriers in the frequency range of 2 to 28 MHz. HD-PLC carri-ers are modulated with pulse amplitude modulation, and it uses convolu-tional Reed-Solomon code for the FEC. The maximum date rate supportedis 210 Mbps.6Chapter 1. IntroductionIEEE 1901The HomePlug AV and HD-PLC were adopted by the IEEE 1901 group asthe baseline technology for their IEEE Std 1901-2010 standard [21] (calledIEEE 1901 in this thesis).We have chosen to use IEEE 1901 as the basis for our in-vehicle PLCresearch as it is based on the most widely used standard for in-home PLC.IEEE 1901 also indirectly includes HomePlug Green PHY, which has beenadopted for communication between charging stations and plug-in electriccars [1, 2, 3].The IEEE 1901 has two optional physical layers: the FFT-PHY adoptedfrom HomePlug AV and the Wavelet-PHY adopted from HD-PLC speci-fication [22]. The standard provides a way for the two physical layers tocoexist, but there is no requirement for interoperability. In our work, wefocus solely on the FFT-PHY.The IEEE 1901 FFT-PHY extends the HomePlug AV PHY in severalways, including a higher bandwidth, a higher maximum modulation, andan increased maximum code rate. The maximum data rate supported is400 Mbps. More details are given is Section Software-Defined Radio-Based ImplementationAs the powerline channel is unpredictable, simulating the real-life perfor-mance of a PLC network is a difficult task. Testing on an actual chan-nel is desired and can significantly reduce the research and developmentturnaround time. However, full access to an operating PLC protocol issomewhat limited. One approach is to experiment with commercial off-the-shelf devices as it was done in [23, 24, 25]. However, this limits thescope of the research as only a few PHY attributes are controllable or ob-servable by the user.Another approach is to build a custom hardware prototypes, usuallybased on Field-Programmable Gate Array (FPGA) boards. A hardwarebased implementation gives a good performance but the overhead of7Chapter 1. Introductionbuilding such prototypes is high, and it is a relatively complicated process.Therefore it focuses on only parts of the transmission and reception chain.Furthermore, reproducing the results by other researchers is difficult as thephysical hardware is not accessible to all.An SDR-based implementation combines the advantages of using asoftware simulation environment (like MATLAB) and conducting a real-life experiment. The SDR consists of a Personal Computer (PC) connectedto a radio peripheral hosting an Analog to Digital Converter (ADC), aDigital to Analog Converter (DAC) and a Radio Frequency (RF) front-end.The DAC is responsible for taking the signal generated on the PC andfeed it to the RF front-end for transmission. The ADC is in charge tosample signals received by the front-end and pass it to the PC software forsignal processing. Most of the signal processing is conducted on the PCrather than on dedicated hardware. This enables a quick development ofprototypes in software and testing them in a real environment, rather thandesigning a special-purpose hardware. However, the main drawback ofthis approach is the lower data processing speed compared to the use ofdedicated hardware.When performing the signal processing using the software, we can ei-ther do it in real-time and get instantaneous results or do it off-line by cap-turing the signals and carry out the processing later on. Why would wewant a real-time signal processing? One reason is to emulate real-life sce-narios that are difficult to reproduce offline, such as a car powerline chan-nel. Real-time processing enables longer testing as it does not require sav-ing large volumes of data. For example, the Ettus Universal Software RadioPeripheral (USRP) N210 SDR front-end can sample at 25 MHz where eachsample takes 64 bits in memory. This means 200 MB/s of incoming data.This is a serious challenge, concerning the throughput of a typical mechan-ical hard drive nowadays, not to mention the amount of storage it mayrequire. Another reason for a real time signal processing is interaction withother systems that require an immediate feedback.In this work, we develop a software-based implementation of the IEEE1901 protocol for use in an SDR that operates in real time. We then utilize8Chapter 1. Introductionthe system to perform experiments on a real powerline.1.4 Related WorksSeveral other related works involving SDR-based experimentation with orwithout PLC are described below.The authors of [26] implemented an OFDM receiver supporting theIEEE 802.11a/g/p (WiFi) standards in GNU Radio. In this work, they usethe USRP N210 as the front-end. Their source code is publicly available,and some software design concepts related to integration with GNU Ra-dio framework were taken from this project. We also use a similar statemachine-based implementation of the PHY receiver.The authors of [27] investigated PLC using an SDR-based implementa-tion. They used GNU Radio for a PLC noise analysis. They also used anIEEE 1901 FFT-PHY-based implementation on MATLAB for experiment-ing with a dynamic spectrum access algorithm. However, this work onlydemonstrated a proof of concept where only small parts of the transmit andreceive chain were implemented.In [28] the authors use an SDR-based implementation to experimentwith PLC. The signals were generated in MATLAB and passed to GNU Ra-dio for testings. They experimented with an OFDM signal over 12 V DCand in-home powerlines. This was done mainly for demonstrating the po-tential of the SDR platform. In [29] the same researchers used the samesystem along with a simple MAC layer and were able to demonstrate avideo streaming over PLC using USRP. They experimented with optimiza-tion of several parameters such as the cyclic prefix and the OFDM symbollength.In [23] the authors use commercial modems and compare the through-put of HomePlug AV and HD-PLC in a vehicular powerline network. Themeasurements were performed at different locations in the car and in vari-ous scenarios including a stationary car and a moving car.The authors of [30] experimented with a single carrier PLC system us-ing an SDR-based implementation in GNU Radio. They use differential9Chapter 1. IntroductionBPSK modulation, an interleaver and a convolutional code with rate 1/2.They used the implementation to analyze the channel Signal to Noise Ratio(SNR) and to calculate the Bit Error Rate (BER).1.5 ContributionIn this thesis, we address two areas. The first one is the need for an SDRimplementation of a PLC protocol. The second one is a reliable PLC ina vehicular powerline network, where we test aforementioned SDR-basedsystem on an in-vehicle powerline.Software-Defined Radio PLC System: We developed an SDR of an end-to-end PLC system. It is capable of streaming data in real-time. The systemis based on IEEE 1901, with some modifications. It includes an IEEE 1901-based PHY as well as a simple MAC layer. We derived a blind channelamplitude estimation method for IEEE 1901 aimed for the vehicular time-varying channel. We use a noise Power Spectral Density (PSD) estimatoralong with an adaptive bit loading algorithm to cope with the vehicularchannel noise. The system can be used both for simulation and for actualtransmission and reception of data over powerlines. We make all softwarecomponents available as an open source project to facilitate further devel-opment by the broader research community.Reliable In-Vehicle PLC Feasibility: We show experimental results ob-tained with the SDR-based system. The system was tested on a vehicleharness and a real vehicle powerline network under different networksettings. We present our analysis of the IEEE 1901-based protocol behaviorin a vehicular powerline.1.6 OrganizationThe remainder of this thesis is organized as follows.In Chapter 2 we describe the theory and derive the formulas utilized inthe actual implementation of the SDR system. In Chapter 3 we discuss theimplementation details. In Chapter 4 we presents the experiments results10Chapter 1. Introductionperformed on a car harness and an actual car powerline network. Finally,in Chapter 5 we draw conclusion and suggest future research direction.11Chapter 2Powerline CommunicationSystem DescriptionIn this chapter, we present the background information about the PLC sys-tem implemented in this thesis.The frame generation process performed by the transmitter is describedin Section 2.1. The frame receiving process performed by the receiver is de-scribed in Section 2.2. The channel estimation, noise PSD estimation andadaptive bit rate algorithm performed by the receiver are described in Sec-tions 2.3, 2.4 and 2.5 respectively. A description of the MAC layer is givenin Section 2.6. The impulse noise model used for the impulse noise emula-tion is described in Section PHY TransmitterIn this section, we describe the frame generation process performed by thetransmitter PHY. The frame specification described in this section is basedon IEEE 1901 FFT-PHY.2.1.1 OverviewHighlights of IEEE 1901 FFT-PHY are given below.• DFT-based OFDM symbols:12Chapter 2. Powerline Communication System Description– 1974 OFDM carriers from 1.8 to 50 MHz. The actual availablecarriers are defined in the tone mask. The default tone mask fornorth America consists of 917 OFDM carriers from 1.8 to 30 MHz.– 40.96 µs OFDM symbol length.– Guard intervals of 5.56 µs or 7.56 µs for the payload symbols and18.32 µs for the frame control.• Bit-loaded modulation with constellations from BPSK, QPSK, 8-QAM, 16-QAM, 64-QAM, 256-QAM, 1024-QAM and 4096-QAM.• A turbo convolutional code FEC for the frame control and payloadswith code rates of 1/2, 16/21 and 16/18.• A channel interleaver for interleaving the turbo convolutional codeFEC block to overcome powerline noise.• A diversity copier for a more reliable frame control.• ROBO modes for a more reliable payload. The ROBO modes useQPSK modulation, a code rate of 1/2 and a diversity copier whereeach bit is replicated 2,4 or 5 times.In IEEE 1901, the physical frame that is transmitted over the power-line is referred as PHY Protocol Data Unit (PPDU). The PPDU consists ofa preamble, a frame control OFDM symbol and optional several payloadOFDM symbols. A PPDU with two payload symbols is depicted in Figure2.1.Frame Control Payload PayloadPreambleFIGURE 2.1: PPDU Structure with Two Payload SymbolsThe frame control and the payload OFDM symbols consist of 4096 realsamples or 2048 complex samples in baseband representation. The pream-ble consists of 10 smaller symbols, each with 512 real samples or 256 com-plex samples in baseband representation. Note that since we perform the13Chapter 2. Powerline Communication System Descriptionsymbol generation in the baseband, for the rest of this chapter the symbolslengths refer to the baseband representation.The spectral mask is determined by a tone mask which defines themasked carriers. The tone mask is an extension of the default tone maskwhich is predetermined by the manufacturer. For simplicity, in ourimplementation, the user is restricted to the default tone mask.As our implementation goal was to provide an IEEE 1901-like com-munication between two stations, almost all the PHY specifications wereadopted from IEEE 1901. Aspects that deviate include the following:• The TIA-1113 (or 1901 FFT hybrid) mode for compatibility with pre-vious protocol version is not supported.• The guard interval length is fixed for all payload symbols.• The turbo convolutional code is different than what is defined in IEEE1901 (see Section 2.1.3).• The preamble is a concatenation of the SYNCP and SYNCM symbols(see description at Section 2.1.2) multiplied by a window. Therefore itmight not meet the spectral requirement due to the SYNCP/SYNCMtransition.• Priority Resolution Symbol (PRS) is not supported, as our MAC layerdoes not use it.• Amplitude map control is not supported. This means that all carriershave the same gain.2.1.2 Preamble GenerationThe first part of the PPDU is the preamble. The preamble in the time do-main consists of a repeating pattern of 7.5 SYNCP symbols followed by 2.5SYNCM symbols, where SYNCM is simply the SYNCP multiplied by −1.The SYNCP/SYNCM are OFDM symbols of length M = 256. The symbols14Chapter 2. Powerline Communication System Descriptionare frequency sweeps spanning the used bandwidth except for masked car-riers as derived from the default tone mask. All non-masked carriers havethe same magnitude, and their phase is given in Table 13-27 from [21].The SYNCP/SYNCM symbols are generated using a 256-point InverseDiscrete Fourier Transform (IDFT) and are then concatenated. The pream-ble is multiplied by a window to create a roll-off at both ends accordingto the instructions in Section 13.9.1 of [21]. The final preamble is depictedin Figure 2.2. The number of samples in the roll-off interval is LRI = 248.Therefore there are approximately only 6.5 and 1.5 effective SYNCP andSYNCM symbols respectively. Additional filtering is required to meet thespectral mask requirements due to SYNCP/SYNCM transition, but thisstep is not performed in our implementation.SYNCMSYNCP SYNCMFIGURE 2.2: Preamble Structure2.1.3 EncoderThe encoder is the first step in the frame control and payload symbol gen-eration. We use different encoders for the frame control and payload bits,although some of the encoder elements are shared.Frame Control EncoderThe frame control pre-encoded data is a structure of 128 bits. The structurecontains information about the PPDU length, PPDU type, and the payloadbit loading configuration. These fields are mostly filled by the upper MAClayer. The PPDU length field, however, depends on the number of payloadsymbols in the PPDU, which is more difficult for the MAC layer to calcu-late. Therefore it is filled by the PHY layer. The PHY then also fill the CyclicRedundancy Check (CRC) field, measured on the entire frame control, asdefined in Section of [21].15Chapter 2. Powerline Communication System DescriptionThe frame control 128 bits are passed through the frame control encoderblocks as depicted in Figure 2.3. Description of the encoder blocks is givenbelow.Turbo Convolutional EncoderChannelInterleaverDiversityCopierScramblerTurboConvolutionalEncoderChannelInterleaverROBOInterleaverMapper IDFTCyclic Prefix,Window andOverlapFrame Control EncoderPayload EncoderFrame control bits (128)Payload bitsTo powerlineInsert PreambleFIGURE 2.3: PPDU GenerationTurbo Convolutional Encoder: The raw bits enter the turbo convolutionalencoder. The turbo convolutional encoder in our PHY is different thanwhat is defined in IEEE 1901. The output is 256 bits consists of the 128systematic bits and the 128 parity bits.Channel Interleaver: The 256 bits are shuffled according to the IEEE 1901channel interleaver specification given in Section 13.7.3 of [21].Diversity Copier: The 256 shuffled bits are then replicated several timesto fill the entire OFDM symbol. The diversity copier follows the IEEE 1901specification as defined in Section 13.6.4 of [21]. For a typical case of NorthAmericas tone mask with 917 QPSK carriers, each bit is copied at leastseven times. The redundant information is used by the receiver improvethe data detection.Payload EncoderThe payload length should be a multiple of 520 bytes or a total of 136 bytesas defined in IEEE 1901. Therefore the payload is first sliced into 520-byteblocks or remains one 136-byte block. Each block is then passed throughthe payload encoder as depicted in Figure 2.3. Description of the encoderblocks is given below.16Chapter 2. Powerline Communication System DescriptionScrambler: The bits are first scrambled by XORing them with a pseudonoise sequence to produce a uniform bits distribution. This is done withthe IEEE 1901 pseudo noise generator given in Section 13.7.1 of [21].Turbo Convolutional Encoder: The raw bits enter the turbo convolutionalencoder. The turbo convolutional encoder in our PHY is different thanwhat is defined in IEEE 1901. This step doubles the number of bits.Channel Interleaver: The bits are shuffled according to the IEEE 1901channel interleaver specification given in Section 13.7.3 of [21].ROBO Interleaver: This is an optional step. When in ROBO mode, eachbit is copied 2, 4 or 5 times. This block replicates and interleaves the bitsaccording to the IEEE 1901 specification given in Section of [21].The redundancy improves data detection at the receiver.Turbo Convolutional EncoderA special section is dedicated for the turbo convolutional encoder as it wasmodified from the IEEE 1901 specification.The IEEE 1901 turbo convolutional encoder consists of two identicalrate 2/3 recursive systematic convolutional constituent encoders and oneinterleaver. The encoder output is optionally punctured to produce a fi-nal code rate of 1/2, 16/21 or 16/18. The IEEE 1901 constituent encoder isdepicted in Figure 2.4. u1 and u2 are the turbo convolutional encoder in-put even bits and odd bits respectively. The generator matrix of IEEE 1901constituent encoder isG(D) =(D3+D+1D3+D2+1D3+D2+D+1D3+D2+1).Due to time constraints, we have used the IT++ library [31] in our im-plementation of the turbo convolutional encoder and decoder. However,the library does not support a two-input constituent encoder as in IEEE17Chapter 2. Powerline Communication System Description+ ++ +210FIGURE 2.4: IEEE 1901 Constituent Encoder1901. Therefore we use a rate 1/2 recursive systematic convolutional con-stituent encoder with one input. The generator matrix of the modified con-stituent encoder isG(D) =(D3 +D + 1D3 +D2 + 1).The encoder is depicted in Figure 2.5, where u is the turbo convolutionalencoder input. The modified version has eight states, as in the IEEE 1901encoder. The same constituent encoder is used in UMTS (third generationcellular network) [32]. The turbo interleaver (not described here) followsthe IEEE 1901 specification given in Section of [21]. The parity bitsare then punctured such that the final code rate is 1/2 as in IEEE 1901. Coderate of 1/2 is the only rate supported in our encoding chain.If desired, the original IEEE 1901 encoder and decoder can be integratedinstead, while keeping the rest of implementation intact.+ ++ +0FIGURE 2.5: Modified Constituent Encoder2.1.4 Symbol GenerationThe encoded frame control and payload bits are modulated to form theOFDM symbols. The process for frame control and payload symbols is18Chapter 2. Powerline Communication System DescriptionTABLE 2.1: Modulation Types in IEEE 1901. Mi is the num-ber of constellation points, Bi is the number of bits carried,and Ei is the energy per symboli Name Mi Bi Ei1 BPSK 2 1 12 QPSK 4 2 1√23 8-QAM 8 3 1√5+1.2924 16-QAM 16 4 1√105 64-QAM 64 6 1√426 256-QAM 256 8 1√1707 1024-QAM 1024 10 1√6828 4096-QAM 4096 12 1√2730similar, and it is depicted in the common part in Figure 2.3.The number of frame control encoded bits fit exactly one OFDM sym-bol due to the diversity copier. Payload bits, however, may take severalOFDM symbols. Therefore, the payload bit stream is first sliced, whereeach slice fills one OFDM symbol. The number of bits that fit in one sym-bol is known in advance and depends on the bit loading, the tone mask,and ROBO mode. E.g., for 917 carriers with 8-QAM modulation on all car-riers and no ROBO mode, each symbol carries 917× 3 = 2751 bits.The symbol generation process includes the following steps.Mapper: The mapper takes the encoded bits and maps them to constella-tion symbols according to the bit loading configuration. The frame controlOFDM symbol is QPSK only, while the payload OFDM symbols can haveany configuration of bit loading (see Section 2.5). In ROBO mode, however,all payload OFDM symbols are QPSK only. The mapping is performed ac-cording to IEEE 1901 specification given in Section 13.8 of [21]. The mapperuses gray coding and modulation types as shown in Table 2.1. The outputof this step is N = 2048 complex numbers (one number for each carrier).IDFT: The N complex numbers are passed through N -point IDFT toproduce a time domain OFDM symbol of length N according to IEEE 190119Chapter 2. Powerline Communication System Descriptionspecification given in Section 13.9.3 and 13.9.4 of [21]. The IDFT of X[k] isdefined asx[n] =N−1∑k=0X[k]ej2pinkN 0 ≤ n ≤ N − 1.Note that this produces a baseband signal since that is what the SDR hard-ware expects. At a later stage, the SDR front-end performs the conversionto a real-valued signal as defined in IEEE 1901. The conversion performedby the hardware is described in Section 3.2.Cyclic Prefix, Window, and Overlapping: A cyclic prefix is added to theOFDM symbol in the time domain. It is then multiplied by a window tocreate a roll-off at the beginning and the end of the symbol. All symbolsare then concatenated with an overlap during the roll-off interval. All thesteps are in agreement with the IEEE 1901 specification given in Section13.9.3 and 13.9.4 of [21] except that the payload symbol guard interval isfixed at 756 samples regardless of ROBO mode or other configurations.Output: The preamble is inserted to form the final PPDU signal as illus-trated in Figure 2.1. The PPDU is ready for transmission over the power-line.2.2 PHY ReceiverIn this section, we describe the frame reception process performed by thePHY receiver. Note that IEEE 1901 specifies the frames format but does notspecify how to receive them, except an outline of the transceiver buildingblocks. Therefore, an actual receiver is implementation dependent.2.2.1 OverviewThe receiver continuously listens to the powerline channel and searches fora PPDU frame. Once a PPDU is detected, it is processed as depicted in Fig-ure 2.6. The receiver components are discussed in the following sections.20Chapter 2. Powerline Communication System DescriptionFrame Control DecoderPayload DecoderFrompowerlineOutputOutputFrameDetectionAlignment &PhaseCorrectionRemoveCyclic PrefixDFT DemodulatorCombineCopiesChannelDeinterleaverTurboConvolutionalDecoderROBODeinterleaverChannelDeinterleaverTurboConvolutionalDecoderDescramblerFIGURE 2.6: PPDU Receive Path2.2.2 Frame DetectionThe first task of the receiver is to detect the PPDU. Each PPDU starts witha preamble which consists of a periodic signal of length 7.5 × M − LRI ,followed by another periodic signal of length 2.5 ×M − LRI where M isthe SYNCP/SYNCM length, and LRI is the roll-off interval as described inSection 2.1.2.Let s(t) be the transmitted signal. Assuming an additive noise channel,the received signal r(t) isr(t) = (h ∗ s)(t) + w(t),where w(t) is an additive noise, and ∗ stands for the convolution operator:(f ∗ g)(t) = ∫∞−∞ f(u)g(t− u)du. The sampled received signal isr[n] = (h ∗ s)(nT ) + w[n],where T is the sampling interval, and w[n] is the sampled noise.In order to detect the preamble we exploit its cyclic property. Consider21Chapter 2. Powerline Communication System Descriptionthe following normalized autocorrelation with lag M of the incoming sig-nal samples over a window of length M :ρ[n] =Re(∑M−1k=0 r[n+ k]r∗[n+ k +M ])√∑M−1k=0 |r[n+ k]|2∑M−1k=0 |r[n+ k +M ]|2. (2.1)Due to the preamble structure and its cyclic property, this autocorrela-tion is high at the start of the preamble, and remains high for 5.5×M−LRIsamples. Therefore, the frame is detected once ρ[n] is above a threshold tdfor consecutive 5.5×M − LRI samples. We mark this sample as nd, thusnˆd = min{n|ρ[m] > td, ∀m ∈ [n− (5.5M − LRI) + 1, n]}. (2.2)Choosing td depends mostly on the channel noise and the channel im-pulse response length. For example, an abrupt noise during the preamblecan pull ρ[n] down. An actual measurement of ρ[n] from a car powerlineis illustrated in Figure 2.7. The graph shows the duration which ρ[n] re-mains high. In this graph, for example, a threshold of td = 0.9 would notdetect the preamble, where td = 0.8 would detect it. We experimented withdifferent threshold values and found that td = 0.75 works well.Similar correlation-based detection scheme for 802.11a/g/p standardwas done in [26].2.2.3 Symbol AlignmentThe symbol alignment is the process which attempts to locate the first sam-ple of the preamble. We perform the alignment by exploiting the inversionbetween the SYNCP and the SYNCM symbols. Similar inversion techniquewas discussed in [33].We use the same correlation ρ[n] and look for its minimum value duringthe 2 × M + LRI samples following nˆd. The minimum value is attainedwhen the signal is anti-correlated with its lag, i.e, when SYNCP overlapsSYNCM in ρ[n]. As this can happen at only one location in a preamble (seethe preamble structure at Figure 2.2), we use this point as an anchor. We22Chapter 2. Powerline Communication System Description0 500 1,000 1,500 2,000 2,500 3,000−1−0.8−0.6−0.4−ρ[n]FIGURE 2.7: Preamble Correlationsubtract 6.5M from the anchor point in order to estimate the first sample ofthe preamble na. Thereforenˆa = arg minn∈[nˆd+1,nˆd+2M+LRI ](ρ[n])− 6.5M . (2.3)2.2.4 Phase EstimationAs the symbol alignment is not perfect, as the sampling times of the senderand the receiver are not synchronized, and as the channel might distortthe phase, a phase offset is introduced. The phase offset may vary withfrequency. It can be estimated in the frequency domain by subtracting theknown sent phase from the received phase.23Chapter 2. Powerline Communication System DescriptionThe following approach of combining the channel phase estimationwith the channel delay is based on [34, Algorithm B]. Estimation of theamplitude HA[k] is performed at a later stage as also suggested in [34,Algorithm B] and discussed in Section 2.3.Let r[n] be the aligned received signal such that r[0] is the beginning ofthe preamble as estimated by Equation 2.3. Thus the received signal isr[n] = (h ∗ s)(nT − d) + w[n],where s(t) is the aligned PPDU such that s(0) is the beginning of the pream-ble, and d is an offset caused by an alignment estimation error or samplingoffset between the transmitter and the receiver. Note that |d| < 1 if thesymbol alignment was precise, else |d| ≥ 1. In this analysis we assume h(t)with a support within [0, 3.5MT − LRIT − d]. This length corresponds tothe cyclic prefix in r[n] as described below.Note that s(t) is periodic for LRIT ≤ t ≤ 7.5MT with a period of M .We can utilize the cyclic property of s(t) to reduce the noise variance andto allow the linear convolution with the unknown channel to be modeledas a circular convolution. To reduce the variance we average three copiesof the SYNCP symbol as follows:r¯[n] =13(r[n+ 3.5M ] + r[n+ 4.5M ] + r[n+ 5.5M ])= (h ∗ s˜)(nT − d) + w˜[n]0 ≤ n ≤M − 1,where s˜(t) is a repeated SYNCP symbol, and w˜[n] is the additive noise. Theshift of r[n] by 3.5M is for removing the cyclic prefix as we assumed h(t)support is within [0, 3.5MT − LRIT − d].Let H[k] be the Fourier Transform H(ξ) = F(h(t)) at ξ = 2pik/TM . Wenow take an M -point DFT of r¯[n], therefore,R[k] = H˜[k]S[k] +W [k] 0 ≤ k ≤M − 1,24Chapter 2. Powerline Communication System Descriptionwhere H˜[k] = H[k]e−j2pidM , and S[k] and W [k] are the DFT of the SYNCPsymbol and w˜[n] respectively.Denote H˜[k] = HA[k]ejHP [k] where HA[k] and HP [k] are the amplitudeand the phase component of H˜[k]. The phase estimation is performed bycomparing the phase of R[k] with the known phase of S[k] as follows:φ[k] = argR[k]S[k]= HP [k] + δW [k] mod 2pi,where δW [k] is the phase shift introduced by W [k].Let {ki}M˜i=1 be the non-masked SYNCP carriers where M˜ is the numberof non-masked SYNCP carriers. Denote ∆i = φ[ki]− φ[ki−1]. As we expectthat |HP [ki]−HP [ki−1]| < pi, a phase wrapping is assumed when |∆i| > pi.The estimated phase for the first non-masked isHˆP [k1] = φ[k1],and the estimated phase for the other non-masked carriers is calculatedrecursively by unwrapping φ[ki] as follows:HˆP [ki] =HˆP [ki−1] + ∆i − 2pi ∆i > piHˆP [ki−1] + ∆i + 2pi ∆i < piHˆP [ki−1] + ∆i else 2 ≤ i ≤ M˜ .The phase estimation HˆP (ξ) for an arbitrary 0 ≤ ξ < 1T is performedby an interpolation of HˆP [k] at k = TMξ. As the N OFDM carriers are atξ = k′/TN , 0 ≤ k′ ≤ N − 1, the discrete HˆP [k] is interpolated at k = k′MN .2.2.5 Symbol DemodulationThe preamble is followed by a frame control OFDM symbol and then op-tionally several payload symbols. The payload symbols are different fromthe frame control. Payload carriers may use a non-QPSK modulation, pay-load bits may not have several copies, and the payload guard interval is25Chapter 2. Powerline Communication System Descriptionshorter than frame control guard interval. Therefore payload and framecontrol symbols are processed differently.The frame control carries information about the length, type, and bitloading configuration of the following payload symbols, if any. Thereforepayload symbols only start processing after the frame control is fully de-coded.The first sample of the frame control OFDM symbol is derived from thesymbol alignment process. The frame control is then extracted, demodu-lated and decoded. Similarly, the payload symbols are then also extracted,demodulated and decoded. The demodulation process performed on eachsymbol is depicted in Figure 2.6 and described below.Remove Cyclic Prefix: The cyclic prefix is removed according to the sym-bol type (frame control or payload).DFT: The remaining symbol r[n], 0 ≤ n ≤ N − 1 goes through DFT:R[k] =N−1∑n=0r[n]e−j2piknN 0 ≤ k ≤ N − 1.ThereforeR[k] = H˜[k]S[k] +W [k] 0 ≤ k ≤ N − 1.where H˜[k] = H[k]e−j2pidN similarly to what described in Section 2.2.4.Demodulation: Let B[m] be the m-th uncoded bit in an incoming bitstream. A soft bit b[m] is defined as followsb[m] = logp(B[m] = 0|R)p(B[m] = 1|R) = logp(R|B[m] = 0)p(R|B[m] = 1) .Assume that B[m] is replicated in L different carriers k1, . . . , kL. Let Bk[q]be the q-th bit in carrier k, soBk1 [q1] = . . . = BkL [qL] are the actual copies ofB[m] where q1, . . . , qL are the corresponded bit positions. Also assume thatthe added noiseW [k] is Gaussian and for any two carriers k 6= k′, W [k] andW [k′] are independent. Under these assumptions the soft bit expression is26Chapter 2. Powerline Communication System Descriptionsimplified as follows:b[m] = logp(R|B[m] = 0)p(R|B[m] = 1) = logp(R[k1], . . . , R[kL]|B[m] = 0)p(R[k1], . . . , R[kL]|B[m] = 1)= logp(R[k1]|Bk1 [q1] = 0)p(R[k1]|Bk1 [q1] = 1)+ · · ·+ log p(R[kL]|BkL [qL] = 0)p(R[kL]|BkL [qL] = 1). (2.4)Denote bk[q] = logp(R[k]|Bk[q]=0)p(R[k]|Bk[q]=1) , thusb[m] =L∑i=1bki [qi]. (2.5)It can be shown that bk[q] is approximatelybk[q] ≈ 1σ2W [k]∣∣∣Y [k]− x(1)k [q]∣∣∣2 − ∣∣∣Y [k]− x(0)k [q]∣∣∣2 , (2.6)where σ2W [k] is the noise variance in carrier k, Y [k] =R[k]H˜[k], and x(0)k [q],x(1)k [q] are the closest constellation symbols to Y [k] which their q-th bit iszero or one respectively. Demodulation thus is the calculation of the valuesbk[q] for all bits in all non-masked carriers. Estimations for H˜[k] and σ2W [k]are discussed in Sections 2.2.4, 2.3 and 2.4. When the estimation for H˜[k]amplitude HA[k] has not been obtained yet it is assumed HˆA[k] = 1. Thisshould not affect the BPSK or QPSK carriers demodulation (hence framecontrol symbol demodulation). However, a full channel estimation mustbe performed before payload symbols with QAM carriers can be received.2.2.6 DecoderFrame Control DecoderThe input to the frame control decoder are the values bk[q] calculated inthe demodulation step. The frame control decoder blocks are depicted inFigure 2.6 and described below.Decopier: For each bit, all copies are located by reversing the diversitycopier. Let bitB[m], 0 ≤ m ≤ 128×2−1 have L copies at carriers k1, . . . , kL27Chapter 2. Powerline Communication System Descriptionwith the corresponded bit location q1, . . . , qL. The soft bit b[m] ofB[m] is thesum as shown in Equation 2.5. Therefore, for each bitB[m] we calculate thesoft bit b[m] as follows:b[m] =L∑i=1bki [qi].Channel Deinterleaver: The channel interleaving process is reversed hereso the correct order of soft bits b[m] is sent to the turbo decoder.Turbo Convolutional Decoder: The IT++ library [31] is utilized for decod-ing the soft bits information. The Maximum A Posteriori (MAP) probabilityis used to determine the 128 hard bits output.Output: The bits are checked for CRC. If the CRC passes, the data isparsed to determine the frame type, frame length, ROBO mode, bit loadingand other information. The decoded bits are passed to the MAC layer aswell.Payload DecoderThe input to the payload control decoder are the values b(l)k [q] calculatedin the demodulation step, where (l) indicates the symbol number in thesequence. The stream is first sliced into groups of 520× L× 2 bytes or oneslice of 136×L×2 bytes where L is the number of times the bits are copies,and the factor of 2 is for the code rate of 1/2. If in ROBO mode then L canbe 2, 4 or 5, otherwise L = 1. The decoding process performed on each sliceis depicted in Figure 2.6 and described below.ROBO Deinterleaver: This part is executed only if in ROBO mode. InROBO mode each bit is copied 2, 4 or 5 times. For each bit, all copies arelocated by reversing the ROBO interleaver process. Let bit B[m], 0 ≤ m ≤136×8×2−1 or 0 ≤ m ≤ 520×8×2−1 have L copies at carriers k1, . . . , kLwith the corresponded bit location q1, . . . , qL in the corresponding symbolnumber l1, . . . , lL. The soft bit b[m] ofB[m] is the sum as shown in Equation28Chapter 2. Powerline Communication System Description2.5. Therefore, for each bit B[m] we calculate the soft bit b[m] as follows:b[m] =L∑i=1b(li)ki[qi].Channel Deinterleaver: The channel interleaving process is reversed hereso the correct order of soft bits b[m] is sent to the turbo decoder.Turbo Decoder: The IT++ library [31] is utilized for decoding the soft bitsinformation. The MAP probability is used to determine the 520×8 or 136×8hard bits output.Descrambling: The final step in the decoding process is descrambling.The reverse process is identical to the forward process where each bit isXORed by the pseudo-random noise sequence.Output: The bits are passed to the MAC layer for CRC and parsing.2.3 Channel EstimationAs the channel phase is estimated using the preamble (see Section 2.2.4),we now present three channel amplitude estimation techniques. The firstmethod is using a sound frame where a station receives a predeterminedframe it can utilize to estimate the channel. The estimation is stored andused in subsequent frames demodulations. The second and third meth-ods exploit selected carriers with a known amplitude and interpolates in-between carriers to estimate the entire channel amplitude. This allows im-mediate demodulation of QAM payload data symbols on a time-varyingchannel without waiting for a sound frame.2.3.1 Sounding MethodIn the sounding method, the channel estimation is performed by the re-ceiver PHY after receiving a sound PPDU. A sound PPDU consists of an all-zeros 512-byte payload which typically spans several OFDM symbols. Themodulation type is QPSK for all carriers. The receiver identifies a sound29Chapter 2. Powerline Communication System Descriptionframe by a field in the frame control thus it knows to use the payload forchannel estimation only.The sounding method presented here is based on the least-squares-based algorithm described in [34, Algorithm B].Let L be the number of payload OFDM symbols in the PPDU, letR(i)[k], 0 ≤ k ≤ N − 1 be the N -point DFT of the i-th received OFDMsymbol where 1 ≤ i ≤ L and let H[k] be the unknown Fourier TransformH(ξ) = F(h(t)) at ξ = 2pik/TN, 0 ≤ k ≤ N − 1. Assuming no inter-symbolinterference is present due to the guard interval, the value of R(i)[k] isR(i)[k] = H˜[k]S(i)[k] +W (i)[k], (2.7)where H˜[k] = H[k]e−j2pidN , d is an offset caused by an alignment estimationerror or sampling offset between the transmitter and the receiver, S(i)[k] isthe N -point DFT of the i-th sent symbol s(i)[n], and W (i)[k] is an additivenoise. Note that S(i)[k] is known by the receiver. The receiver constructsS(i)[k] using the prior information that it should be an all-zeros payload.The construction is done by passing all-zeros bits through the transmissionpath as in Figure 2.3 until the IDFT block.The estimation for H˜[k] is performed using a linear least-squares er-ror regression. This is equivalent to a maximum likelihood estimation [35]when W (i)[k] is i.i.d. following the distribution CN (0, σ2W [k]) [36]. Theleast-squares error estimation is given by:Hˆ[k] =∑Li=1 S(i)∗[k]R(i)[k]∑Li=1∣∣S(i)[k]∣∣2 .The estimation of the channel amplitude HA[k] = |H[k]| is performedby taking the absolute value of Hˆ[k] as follows:HˆA[k] =∣∣∣Hˆ[k]∣∣∣ = 1L∣∣∣∣∣L∑i=1R(i)[k]S(i)[k]∣∣∣∣∣ , (2.8)30Chapter 2. Powerline Communication System Descriptionwhere we used the fact that the amplitude∣∣S(i)[k]∣∣ = A is constant for allcarriers in all payload symbols.Note that HˆA[k] =∣∣∣H˜[k] + 1L∑Li=1 W (i)[k]S(i)∗[k] ∣∣∣. Since S(i)[k] amplitudeis A and the phase is independent of the noise, the term∑Li=1W (i)[k]S(i)∗[k] ∼CN (0, σ2W [k]/A2). Thus HˆA[k] ∼ Rice (|H[k]|, σH) [37] where σH = σW [k]√2AL .The expected value of the Rician HˆA[k] for |H[k]|/σH  1 is approxi-mately [37]E[HˆA[k]]≈ σ2H|H[k]| + |H[k]|.The expected value shows that the estimator is biased. The reason is theabsolute value operation done in Equation 2.8 on the unbiased Hˆ[k]. Thebias term however decreases with increasing number of payloads symbolsL, carrier amplitude A or channel amplitude |H[k]|.The mean square error of HˆA[k] isE[(HˆA[k]− |H[k]|)2]= E[Hˆ2A[k]]− 2|H[k]|E[HˆA[k]]+ |H[k]|2≈ 2σ2H + |H[k]|2 − 2|H[k]|(σ2H|H[k]| + |H[k]|)+ |H[k]|2 = Payload MethodA sound PPDU-based estimation becomes invalid once the channel haschanged. This makes the sounding method inefficient in a repeatedlychanging channel as it requires a high rate of sound frames. An alternativeway to estimate the channel amplitude is to use the non-masked preambleand the frame control carriers. In-between carriers can be interpolatedsimilarly to the phase estimation process discussed in Section 2.2.4, or, amore sophisticated fitting techniques can be used as in [38]. However,this may not perform well on a noisy channel as there are very few usableSYNCP symbols and only one frame control symbol. What we require is ablind channel amplitude estimation method suitable for IEEE 1901.There are several literature discussions regarding blind channel estima-tion for PLC systems. A subspace-based channel estimation for HomePlug31Chapter 2. Powerline Communication System Descriptionis described in [39]. However, it is not practical for a time-variant channel.A pilot based channel estimation techniques are described in [40, 41, 42]but IEEE 1901 FFT-PHY does not facilitate pilot carriers.There are other blind channel estimation methods, not designed specif-ically for PLC. In [43, 44] they present a blind channel estimation for chan-nels that changes slowly in the frequency domain. The method exploitsphase-shift keying carriers properties. This process is too complicated forour system and was tested only in wireless channels models. Thereforeit may also not be efficient in powerlines. In [45] they present a methodthat exploits the finite alphabet property of the transmitted symbols, but itsuffers from high complexity and an irreducible error floor [39].We now present a novel scheme which exploits the preamble, framecontrol, and the payload symbols to blindly estimate the channel ampli-tude. This method requires that selected payload carriers be forced to useQPSK modulation. The channel is then estimated for these carriers, and therest are linearly interpolated. The payload symbols can greatly improvethe channel amplitude estimation as the number of payload symbols in aPPDU frame can reach ≈ 50 (or even ≈ 100 when two stations negotiate alonger maximum frame length). For a comparison, only 3 SYNCP symbolsparticipate in the channel phase estimation described in Section 2.2.4.The main difference between this method and the sounding method isthat for a payload carrier modulated with QPSK, we do not have infor-mation about the transmitted S(i)[k] phase, just the amplitude. Therefore,we take the absolute value of the normalized Equation 2.7 to eliminate thephase part from the signal statistics. Let k be a QPSK modulated payloadcarrier with amplitude A, thusY (i)[k] =∣∣∣∣∣R(i)[k]A∣∣∣∣∣ =∣∣∣∣∣H˜[k]S(i)[k]A + W (i)[k]A∣∣∣∣∣ .S(i)[k] is a random variable with equal probability for± A√2±j A√2. ThereforeY (i)[k] ∼ Rice(|H[k]|, σW [k]√2A).Similarly can be done for the frame control symbol. Let SF [k] andRF [k]32Chapter 2. Powerline Communication System Descriptionbe the N -point DFT of the sent and the received frame control symbol re-spectively. ThenYF [k] =∣∣∣∣RF [k]AF∣∣∣∣ =∣∣∣∣∣H˜[k]SF [k]AF + WF [k]AF∣∣∣∣∣ ,where AF is the amplitude of SF [k]. Similarly to the payload symbolsYF [k] ∼ Rice(|H[k]|, σW [k]√2AF).We can also use the known preamble symbols and get more samplesfor the channel estimation. Let S(i)P [k] and R(i)P [k] be the N -point DFT ofthe sent and the received i-th SYNCP symbols respectively. Similarly towhat we showed in the sounding method for a known sent symbol (as inEquation 2.8), we haveYP [k] =∣∣∣∣∣ 1LP ∑iR(i)P [k]S(i)P [k]∣∣∣∣∣ ,where LP is the number of participating SYNCP symbols. Again, YP [k] ∼Rice(|H[k]|, σW [k]√2APLP)where AP is the amplitude of S(i)P [k].We now use the Rician samples Y (i)[k], YF [k] and YP [k] to estimate thechannel amplitude at carrier k. See Appendix A.1 for a Rice parameterestimation using samples with a varying variance. The estimator HˆA[k]using Equation A.1 is given byHˆA[k] =√√√√∑i ∣∣R(i)[k]∣∣2 + |RF [k]|2 + ∣∣∣AP ∑iR(i)P [k]/S(i)P [k]∣∣∣2 − (L+ 2)σˆ2W [k]A2L+A2F +A2PL2P, (2.9)where k is both a QPSK payload carrier and a SYNCP carrier, and σˆ2W [k] isan estimate for σ2W [k]. The value of HˆA[k] for other k is linearly interpolatedusing the nearest estimated neighbours. When the expression inside thesquare root is negative, we discard it and interpolate the point instead.33Chapter 2. Powerline Communication System Description2.3.3 Preamble MethodThe preamble method is similar to the payload method but without incor-porating the payload symbols. Therefore only the preamble and the framecontrol participate in the estimation. This method does not restrict the pay-load carriers modulation thus the data rate is inherently higher.Similarly to Equation 2.9 we haveHˆA[k] =√√√√ |RF [k]|2 + ∣∣∣AP ∑iR(i)P [k]/S(i)P [k]∣∣∣2 − 2σˆ2W [k]A2F +A2PL2P. (2.10)2.4 Noise Power Spectral Density EstimationThe noise DFT samples W [k] used by several equations in this chapter areassumed to be i.i.d. CN (0, σ2W [k]). The variance σ2W [k] is used by the re-ceiver when calculating the soft bit information in Equation 2.6, during thechannel estimation in Equation 2.9 and Equation 2.10 and during the adap-tive bit rate algorithm in Equation 2.13.σ2W [k] estimation can be performed when no data is transmitted overthe channel. The IEEE 1901 dictates a default inter-frame space of 140 µsbetween PPDU frames, which corresponds to 7000 complex noise samples(for a 100 MHz sampling rate). As this may be an insufficient number ofsamples, several or other silence periods can be utilized as well.Similar to what has done in [46], the method for a spectral analysis isbased on periodogram averaging. Unlike [46] we do not use any windowfunction for the periodogram as we would like to incorporate the spectralleakage into the estimation as well.Let NT be the number of samples during a silence period, and let r[n]be the received signal during that period where 0 ≤ n ≤ NT −1. The signalr[n] is divided into segments of length N as follows:r(i)[n] = r[n+ iN ]0 ≤ n ≤ N − 10 ≤ i ≤ L− 1 ,34Chapter 2. Powerline Communication System Descriptionwhere L = bNTN c. The periodograms are then computed according toP (i)[k] =∣∣∣∣∣N−1∑n=0r(i)[n]e−j2piNkn∣∣∣∣∣20 ≤ k ≤ N − 1,An estimate for σ2W [k] can be obtained by averaging the periodograms asfollows [47]:σˆ2W [k] =1LL−1∑i=0P (i)[k]. (2.11)The estimator for σ2W [k] presented above is identical to a noise PSD es-timation technique shown in [47], except a factor of 1/N when calculatingthe periodograms. Therefore we refer to Equation 2.11 as a noise PSD esti-mator for the rest of the thesis.2.5 Adaptive Bit LoadingAs the IEEE 1901 is a multi-carrier system, we need a method to assigna modulation type for each carrier. The technique for assigning differentmodulation types is referred here as bit loading, while the actual assignmentis referred as tone map.We first introduce the carrier BER equations, and then present the in-cremental algorithm [48] which performs the bit loading based on theseequations and a target total BER.A constellation symbol Sl,m transmitted in a carrier with modulationtype i (see Table 2.1) is of the formSl,m = N√Ei (Xl + jYm) ,whereXl = 2l −√Mi + 1 l = 0, 1, . . . ,√Mi − 1Ym = 2m−√Mi + 1 m = 0, 1, . . . ,√Mi − 135Chapter 2. Powerline Communication System Descriptionand Mi is number of constellation points. Exceptions are BPSK (i = 1)where Ym = 0, and 8-QAM (i = 3) whereXl = 2l − 3 l = 0, 1, 2, 3Ym ={−1.29 m = 01.29 m = 1}.Ei is chosen such that the average power of Sl,m is N2,Ei =Mi∑l,m |Xl + jYm|2.Let H[k] be the Fourier Transform H(ξ) = F(h(t)) at ξ = 2pik/TN , andlet S[k] = Sl[k],m[k] be the transmitted symbol in carrier k. The receivedsymbol is thenR[k] = H˜[k]S[k] +W [k] 0 ≤ k ≤ N − 1,where H˜[k] = H[k]e−j2pidN , d is an offset caused by an alignment estima-tion error or sampling offset between the transmitter and the receiver, andW [k] ∼ CN (0, σ2W [k]).The maximum likelihood estimate for l[k],m[k] is calculated by findingthe closest point Sl,m to the normalized R[k] as follows [49]:(lˆ[k], mˆ[k]) = arg minl˜,m˜∣∣∣∣R[k]H˜[k] − Sl˜,m˜∣∣∣∣ . (2.12)Let γi[k] =√EiN |H˜[k]|σW [k]. Similar to what was shown in [50], the symbolestimation error probability for carrier k with modulation type i is givenby:C˜i[k] =12erfc (γ1[k]) i = 12(1− 1√Mi)erfc (γi[k])[1− 12(1− 1√Mi)erfc (γi[k])]i = 2, 4, 5, 6, 7, 834erfc (γ3[k]) (1− erfc (1.29γ3[k]) + 12erfc (1.29γ3[k])) i = 3 ,(2.13)36Chapter 2. Powerline Communication System Descriptionwhere erfc(x) = 2√pi∫∞x e−u2du. The bit error probability is obtained usingthe approximationCi[k] ≈ C˜i[k]/Bi, (2.14)where Bi is the number of bits in modulation type i. The reasoning behindthis approximation is that a symbol error corresponds to one bit error, as theconstellation points are arranged such that the hamming distance betweentwo adjacent points is one.2.5.1 Incremental AlgorithmWe will now describe an algorithm for performing a bit loading given atotal BER limit PT . It is based on the algorithm in [48] but customized forIEEE 1901 modulation types and with an ability to force carriers to QPSKfor supporting the channel estimation method described in Section 2.3.2.Let t[k] be the modulation type for carrier k, let q[k] be the number ofbits for the modulation (q[k] = Bt[k], see Table 2.1), let c[k] be the carrier BER(c[k] = Ct[k][k]) and let PT be the target error rate. Assigning modulationstype for all carriers (i.e. performing the bit loading) is formulated in thefollowing optimization problem:maxqN−1∑k=0q[k] subject to P¯ =∑N−1k=0 q[k]c[k]∑N−1k=0 q[k]≤ PT .Based on [48], the incremental algorithm described below gives an ap-proximate solution to the optimization problem above.1. Initialization: set the modulation type of carriers k = 0, 1, . . . , N − 1to the maximum allowed.t[k] =0 k is masked2 k is forced to QPSK8 else .2. Determine q[k] = Bt[k] and c[k] = Ct[k][k] for k = 0, 1, . . . , N − 1 giventhe γt[k][k] values using Equation 2.14.37Chapter 2. Powerline Communication System Description3. Compare P¯ with PT . If P¯ is less than PT , the current tone map is keptand the algorithm ends.4. Search for the carrier k, that is not forced to QPSK or with t[k] = 0,with the worst c[k] and reduce its constellation size, i.e., t[k]← t[k]−1.5. Recompute q[k] and c[k] of all carriers with changed allocations andreturn to Step 3.The adaptive bit loading process is performed by the receiver. Oncethe receiver obtained the desired tone map, it transmits it to the senderusing IEEE 1901 management message. The transmitter may then use thecustomized tone maps for subsequent frames payload modulation.2.6 MAC LayerA minimal MAC layer is required in order to manage the resources, senddata through the PHY, and accept data arriving from the PHY. In this sec-tion, we describe the MAC frame, the MAC Protocol Data Unit (MPDU)and our channel access model.2.6.1 MAC FrameAn IEEE 1901 MAC frame is a structure that includes fields for the sourcestation address, the destination station address, a MAC frame payload, and aCRC value computed over the entire MAC frame. The MAC frame payloadis the data required to transfer by the upper layer or a management messagefrom one MAC entity to its peer. The full structure of a MAC frame or amanagement message is beyond the scope of this work and is available inSections 6.1 and 6.5 of [21] respectively.When the MAC layer receives data to transfer or when it is requiredto transfer a management message, it constructs a MAC frame accordingto IEEE 1901 specification mentioned above. As in IEEE 1901, all availableMAC frames are concatenated to form a MAC frame stream. The MAC framestream is then fragmented into 512-byte segments or one 128-byte segment38Chapter 2. Powerline Communication System Descriptionif the stream is less than 128 bytes. A header of 8 bytes is added to eachsegment to form a 520-byte or 136-byte PHY block. The header containsinformation such as a segment sequence number and a segment valid flag.The PHY blocks are concatenated and become the payload of the MPDU(described below) which is passed to the PHY for transmission.Alternatively, the MAC layer may also construct a MAC frame contain-ing a management message. The only management message required byour communication system is for passing a tone map data between twostations. This refers to IEEE 1901 CM CHAN EST.indication managementmessage described in Section of [21].2.6.2 MAC Protocol Data Unit (MPDU)MPDU is the unit of data exchanged between two peer MACs over thePHY. The MPDU consists of a 128-bit frame control and an optional 136-byte or multiple of 520-byte payload. These two parts become the framecontrol and payload of the PPDU (as in Figure 2.1).Our MAC layer supports the following MPDU types: Start-of-Frame(SOF), Sound and Selective Acknowledgment (SACK).An SOF MPDU consists of a frame control and a payload. SOF MPDUsare used for transmission of data or management messages.A Sound MPDU consists of a frame control and an optional 136-byte or520-byte payload. The payload is predetermined to be zeros and used fornegotiating a tone map and channel estimation between two stations.An SACK MPDU consists of only a frame control. SACK MPDUs areused by a station to acknowledge the reception of an SOF MPDU.Other MPDU types not supported by our MAC layer are Request toSend/Clear to Send (RTS/CTS), Beacon, and Reverse SOF. The full specifi-cation of the MPDU is given in Section 6.4.1 of [21].2.6.3 Channel AccessOur MAC layer performs a master-slave channel access described as follows.We have two stations, where one is defined as a master and the other as a39Chapter 2. Powerline Communication System Descriptionslave. The communication begins when the master initiates a sounding pro-cess. When the sounding process is complete, the master transmits an SOFMPDU with data to the slave. Upon reception, the slave responds withan SACK MPDU. The master then transmits another SOF MPDU, and theprocess repeats. This channel access is depicted in Figure 2.8. When a mas-ter does not receive an SACK MPDU after some time interval, it assumesthe slave did not receive the last SOF MPDU, and it transmits another SOFMPDU. The process is periodically interrupted for a sounding process.Sounding ProcessA sounding process in our system begins with a transmission of a SoundMPDU by the master. The slave then performs the sounding method chan-nel estimation as described in Section 2.3.1 and calculates a bit loading asdescribed in Section 2.5. Upon completion, the slave responds with anSACK MPDU and a management SOF MPDU containing the new tonemap.The master initiates a sounding process when the tone map ”expires”.The expiration is determined by a timer in the MAC layer. The processis depicted in Figure 2.8: it begins with a sounding process, followed byseveral SOF MPDU transmissions and a new sounding process after thetone map expires.The channel estimation performed may be kept for demodulation ofsubsequent SOF MPDUs or discarded if using the other estimation methodas discussed in Section Impulse Noise ModelImpulse noise is considered as a major difficulty for a vehicular PLC system[12]. It is generated by the various connected electronic devices. In orderto test the system performance in a controlled noise environment, we needto generate the noise in software. In this section, we describe the impulse40Chapter 2. Powerline Communication System DescriptionInitiate soundingSlaveMasterSound MPDUSACK MPDUSOF management MPDUSOF MPDUSACK MPDU(contains  new custom tone map)(modulated with the new tone map)SOF MPDUSound MPDUSOF management MPDUChannel estimation,bit loading calculationChannel estimation,bit loading calculationSACK MPDUTone map expired, initiate soundingSACK MPDUFIGURE 2.8: Master-Slave Channel Access41Chapter 2. Powerline Communication System Descriptionnoise model and its characteristics. This model is then used to create theactual impulse noise in Chapter 4.A typical impulse noise pulse shape is similar to a damped sine wave[12, 46, 51]. In Section F.3.5.2 of [21], they model it as a damped sine waveor a double-side damped sine wave. Another model for the impulse noisesuggested in [21] is a product of a periodic rectangular wave and colorednoise. Here we chose to model it as a damped sine wave as we found itrepresents better the vehicular impulse noise shape as observed in [12, 46].2.7.1 Damped Sine WaveA damped sine wave signal d(t) is of the formd(t) = Ae−λt cos(2pift+ φ)u(t), (2.15)where A is the amplitude, λ is the decay, f is the frequency, φ is the phase,and u(t) is the unit-step function. As we feed the transmitter with the im-pulse noise in the baseband, an approximation for the complex basebandrepresentation is given by:dB(t) = Ae−λt+j2pi(f−fc)t+jφu(t), (2.16)where fc is the translation frequency. We refer to dB(t) as the basebandrepresentation sinced(t) = Re(dB(t)ej2pifct).However, we refer to it as an approximation sinceDB(ξ) = F(dB(t)) is onlyapproximately equal to D+(ξ + fc), where D+(ξ) = F(d(t))u(t). Similarapproximation was also done in Section F. of [21].λ is set according to the required impulse duration U . We require thatthe temporal power is reduced by at least 99 % till the end of the duration,thus λ = ln 1002U . A damped sine wave with a slow decay (small λ) and witha faster decay (bigger λ) is depicted in Figure 2.9.42Chapter 2. Powerline Communication System Description−1−0.500.51SlowDecayA = 1, f = 10M,λ = ln 1002µ, U = 2µ, φ = −pi/20 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3− (µs)FastDecayA = 1, f = 10M,λ = 5 ln 100µ, U = 0.1µ, φ = −pi/2FIGURE 2.9: Damped Sine WaveFourier AnalysisThe impulse noise analysis in the frequency domain is performed in thissection. This analysis will help us explain the experimental results in Chap-ter 4.The Fourier Transform DB(ξ) = F (dB(t)) is given by:DB(ξ) =Aejφλ+ j2pi(ξ − f + fc) .The magnitude of DB(ξ) is then|DB(ξ)| = A√λ2 + 4pi2(ξ − f + fc)2,andξˆ = arg max |DB(ξ)| = ±(f − fc).43Chapter 2. Powerline Communication System DescriptionThe Fourier Transform magnitude |D(ξ)| of a slow decay (small λ)damped sine wave is illustrated in Figure 2.10. The graph shows a narrowband signal with a sharp peak around the sine frequency f − fc = 10 MHz.However, a fast decay (bigger λ) damped sine wave, as depicted in thesame figure has a wider band. A faster decay damped sine wave be-haves more like a Dirac delta function, which means a wider band in thefrequency domain.0 5 10 15 20 25 3010−810−7ξ (MHz)log|DB(ξ)|A = 1, f − fc = 10M,λ = ln 1002µA = 1, f − fc = 10M,λ = 5 ln 100µFIGURE 2.10: Damped Sine Wave Fourier TransformThe energy of dB(t) is given by:∫ ∞−∞|dB(t)|2dt = A22λ. (2.17)44Chapter 2. Powerline Communication System Description2.7.2 Periodic Impulse NoiseWe generate the impulse noise in order to verify the correctness of our im-plementation in Chapter 4. Therefore, the impulse noise parameters are de-terministic. For the same reason, we are emulating only periodic impulsenoise as an aperiodic impulse noise has little value for us.Similar to the periodic impulse noise model in Section F. of [21],we define the periodic impulse noise I(t) as follows:I(t) =∞∑n=−∞dB(t+ Ln+ l),whereL ≥ U is the inter-arrival time, and l is the offset parameter. For severalimpulse noise sources the cumulative noise w(t) isw(t) =∑iIi(t), (2.18)where Ii(t) is the i-th impulse noise with its own parametersAi, fi, λi, φi, Liand li.A typical OFDM symbol in IEEE 1901 is of length 40.96 µs. As we setthe impulse duration U = 2 µs (as in [46]), several impulses can interferewith one OFDM symbol but not vise versa (an impulse cannot span severalOFDM symbols). The inter-arrival time parameter Li dictates how manyimpulses from noise source i will interfere with an OFDM symbol. SmallLi means more impulses per OFDM symbol window.The Fourier analysis performed in Section 2.7.1 is also valid during awindow that contains several impulses. Assuming the inter-arrival time Lidivides the OFDM symbol length, then the Fourier Transform shape of therepetitive impulse is similar to what previously discussed, but the mag-nitude is proportional to the number of impulses fit the OFDM window.When the inter-arrival time Li does not divide the OFDM length, we willsee a deviation from that analysis due to spectral leakage. Also, if the im-pulse frequency f is greater than the Nyquist frequency, it will alias to othercarriers.45Chapter 3Implementation DetailsIn this chapter, we describe the implementation of the IEEE 1901-basedtransceiver described in Chapter 2. The source code for the IEEE-1901-based transceiver is readily available at [52]. The code is open source toallow reproduction of our results and to facilitate further development bythe broader research community.3.1 Overview3.1.1 Development PlatformThe hardware front-end used in our work is Ettus USRP N210. The USRPN210 is supported on several platforms such as MATLAB, GNU Radio,LabVIEW and more, each with its limitations and advantages. We choseto use GNU Radio software, a well-accepted open source platform in theSDR community. The main reasons are portability, multi-platform support,native C/C++ support for time-sensitive code, scripting (Python) for fastprototypes, successfully used in similar projects [26, 53], open source, andfree. As C/C++ is so ubiquitous, the core code can be ported to other plat-forms if desired. The popular MATLAB platform was rejected due to poorsignal processing speed which limits a real-time operation with the USRP.MATLAB also suffers from poor code portability due to a closed program-ming language and propitiatory software. LabVIEW was rejected for simi-lar reasons.46Chapter 3. Implementation Details3.1.2 StructureThe core of our software implementation lies in a C++ library that we calllightplc. The library performs signal processing routines required by thePHY. A complementary code is implemented in several new GNU Radioblocks. The important implemented GNU Radio blocks are the PHY blockand the MAC block. The PHY block, representing the physical layer, uti-lizes lightplc for most of the signal processing and performs the rest ofthe processing within the block. The PHY block is the only componentthat interacts with lightplc. The PHY block also communicates with theMAC block and the USRP block. The MAC block, representing the MAClayer, manages the resources and controls the PHY block. The USRP block(included in GNU Radio software) is the front-end which transmits andreceives samples from the physical USRP hardware. Other implementedblocks are the APP Out block which provides the input to the MAC, theAPP In block which accepts the MAC block output, and the Impulse Sourceblock for emulating a periodic impulse noise. An abstract diagram of thebasic architecture is depicted in Figure 3.1.PowerlineAPP MAC PHYFrontendLightplcFIGURE 3.1: Implementation Block DiagramMost of the signal processing is performed in the external library light-plc rather than within a GNU Radio module. This approach reduces theoverhead of creating a dedicated block for each step in the signal process-ing chain (if a block does not exist in GNU Radio). Too many blocks wouldalso over complicate the potential transceiver flow graph. We believe that47Chapter 3. Implementation Detailsmodifications are easier with this approach. Some of the disadvantages in-clude not utilizing GNU Radio scheduling capabilities and its built-in Sin-gle Instruction Multiple Data (SIMD) which may improve the performance.3.2 Ettus USRP N210The implemented transmitter and receiver described in this chapter usesthe Ettus USRP N210 for the SDR front-end. The host PC connects to theUSRP using a Gigabit Ethernet port. The USRP N210 includes a XilinxSpartan 3A-DSP 3400 FPGA, a 100 MS/s ADC and a 100 MS/s DAC. Forthe RF front-end, we have daughterboards that perform the actual trans-mission and reception. The daughterboards used in this work are LFRX forthe receiver and LFTX for the transmitter. They operate in the frequencyrange 0 to 30 MHz.The transmission path is described as follows. The signal from the hostPC arrives through the Ethernet port to the FPGA. Each sample is 32-bitwide which consists of I and Q numbers, 16 bits each. The FPGA first in-terpolates the signal to reach the DAC sampling rate of 100 MS/s. As weuse Gigabit Ethernet, the maximum sampling rate of a 32 bits number is1G32 = 31.25 MS/s. However, the FPGA cannot interpolate such a rate into100 MS/s since it requires the interpolation factor to be an integer. The clos-est rate that satisfies the condition is a sampling rate of 25 MS/s, which is,therefore, the maximum achievable rate from the host to the USRP. Thiscorresponds to a bandwidth of 25 MHz. Note however that the IEEE 1901bandwidth is 50 MHz. Hence, we cannot reach the full IEEE 1901 spectrumusing the USRP N210. Other SDR devices from the same company allowcommunication with the PC host using 10 Gigabit Ethernet or dual GigabitEthernet, which enable a wider bandwidth.After the interpolation, the USRP performs Digital-Up-Conversion(DUC) to change the center frequency of the signal, if required. The I andQ samples from the FPGA arrives the DAC, which performs a conversionto analog and passes the signal to the daughterboard. The daughterboardfilters the signal using a Low Pass Filter (LPF) and may further change the48Chapter 3. Implementation Detailscenter frequency if it includes an oscillator (the LFRX/LFTX used here donot include an oscillator). The daughterboard then transmits the signal.The process is depicted in Figure 3.2.DUCDACLPFDUCDACLPFEthernetPowerlineADCLPFDDCADCLPFDDCcos()cos()-sin()-sin()FIGURE 3.2: USRP N210 ArchitectureThe receiving direction is similar but reversed. The signal arrives thedaughterboard which may bring it to an intermediate frequency range (if itincludes an oscillator) and filters it using the LPF. The signal is sampled bythe ADC and passed to the FPGA for decimation and changing of centerfrequency using the Digital-Down-Conversion (DDC). Lastly, it arrives thePC host through the Ethernet connection.3.3 LightplcThe lightplc library performs signal processing tasks requested by the PHY.As it needs to be fast, it was written in C++. Lightplc consists of a singleclass called phy service. Its objectives are:49Chapter 3. Implementation Details• Generate IEEE 1901-like PPDUs which includes encoding and gener-ating the preamble, frame control, and payloads symbols.• Process incoming preamble, frame control, and payload symbols.This includes demodulation, decoding, and parsing of the data.• Perform channel estimation.• Calculate the noise PSD from incoming noise samples.• Perform bit loading.Typically, a user instantiates a phy service object and access the fol-lowing services routines:create ppdu: The function performs the encoding and the generationof frame control and payload symbols. It also inserts the preamble andproduces a complete PPDU ready for transmission as described in Section2.1.process ppdu preamble: The function processes a PPDU preambleand computes the phase offset as described in Section 2.2.4.process ppdu frame control: The function processes a PPDUframe control symbol. It demodulates the OFDM symbol as described inSection 2.2.5, and decodes the received bits as described in Section 2.2.6.process ppdu payload: The function processes PPDU payload sym-bols. It demodulates the OFDM symbols as described in Section 2.2.5 anddecodes the received bits as described in Section 2.2.6. It may also performchannel estimation if using the payload method or the preamble methodsas described in Section process ppdu: The function takes the last processed payloadsymbols and performs BER calculation. It may also perform channel esti-mation if the last frame was sound as described in Section 2.3.process noise: The function processes the noise samples and esti-mates the noise PSD as described in Section 2.4.calculate tone map: The function performs bit loading calculationusing the incremental algorithm as described in Section 2.5.50Chapter 3. Implementation Details3.4 GNU Radio BlocksIn the following sections, we describe the implemented GNU Radio blocksand how they connect to each other to form a complete PLC transceiver.All new GNU blocks are encapsulated in an out-of-tree module we calledgr-plc.3.4.1 PHY Hierarchical BlockThe PHY block is a hierarchical block. A hierarchical block is an abstrac-tion of several connected GNU Radio blocks. The PHY hierarchical blockdesigned in GNU Radio Companion tool is depicted in Figure 3.3. The im-portant blocks are PHY Rx, which is in charge of the reception, and PHYTx, which is in charge of the transmission. These blocks are described inthe following subsections.The output of PHY Tx is scaled by a constant. We refer to this as the con-trollable gain AG (see AG’s contribution to signal energy in Appendix A.2).The controllable gain can be used for any purpose, but the main purposeis to keep the PHY block output samples between −1 and 1 as required bythe USRP block.The PHY Rx has a sensitivity parameter which corresponds to thepreamble detection threshold td from Equation 2.2. The log parameterdetermines the amount and type of information to print (for debuggingand analysis of the PHY operation).In the figure, the ’mac in’ and ’mac out’ blocks correspond to messagesarriving from the MAC or going to the MAC. The ’samp out’ and ’samp in’correspond to the signal samples arriving at the PHY block or going fromthe PHY block. Solid lines correspond to a continuous stream of samplesbetween two blocks. Dashed lines correspond to an asynchronous messagepassing between two blocks.51Chapter 3. Implementation DetailsFIGURE 3.3: PHY Hierarchical Block3.4.2 PHY Rx BlockThe PHY Rx block is the physical layer receiver. It is written in C++ as itcommunicates with the lightplc library and performs time-sensitive signalprocessing. For the most time critical operations we use SIMD to allowa real-time signal processing. The block has two inputs: one input is forincoming samples (originated from the USRP), and the other input is formessages arriving from the MAC block. It has one output that goes tothe MAC block. The PHY Rx block instantiates a phy service object toperform some of the signal processing (see below). In general, the framedetection and alignment is performed by the PHY Rx block and the rest ofthe signal processing is performed by the phy service class.Processing an incoming PPDU consists of multiple steps where for eachstep we assigned a state in a state machine. Here we will describe the statemachine states. Variables outside the state machine required for the blockseamless operation and interaction with GNU Radio are beyond the scopeof this thesis.52Chapter 3. Implementation DetailsState MachineThe block operates a state machine as depicted in Figure 3.4. The states aredescribed as follows.ResetSearchCopyPreambleCopyFrameControlCopyPayloadSyncCRC failedFound preambleCRC passedFIGURE 3.4: PHY Rx State MachineReset: This is the initial state. It initializes the internal counters and thengoes to the next state.Search: When in this state, it performs an autocorrelation of the incom-ing samples and searches for a preamble as described in Section 2.2.2. Oncea preamble is detected, the machine goes to the next state.Sync: When in this state, it performs the symbol alignment as describedin Section 2.2.3. Once a synchronization has been established, the machinegoes to the next state.53Chapter 3. Implementation DetailsCopy Preamble: When in this state, it copies the incoming PPDUpreamble samples and performs phase offset correction by callingprocess ppdu preamble. Also, it passes the noise samples collectedbefore the preamble, during the inter-frame space, to process noise fora noise PSD estimation. It then goes to the next state.Copy Frame Control: When in this state, it copies the PPDU frame con-trol samples and passes them to process ppdu frame control. If thedecoded frame control passes the CRC, it determines the length of the up-coming payload. It then goes to the next state. If the CRC fails, the machinegoes to Reset.Copy Payload: When in this state, it copies the PPDU payload samplesand passes them to process ppdu payload for decoding. The decodedbits are sent to the MAC block via an outgoing message. The machine thengoes to Reset.Incoming MessagesThe PHY Rx performs other tasks triggered by messages from the MACblock. The messages are described as follows.PHY-RXINIT: This message commands to put the state machine in theReset state. This message also configures the default tone mask and otherPHY parameters. The message is sent by the MAC only on system start-up.PHY-RXPOSTPROCESS: This message commands to perform post-processing on last received PPDU. This is triggered by the MAC blockonce the received payload passes the CRC. The actual utilization is carriedout by post process ppdu which performs channel estimation and BERcalculation.PHY-RXCALCTONEMAP.request: This message is a request arrivingfrom the MAC block to perform bit loading. The actual calculation is per-formed by calculate tone map.54Chapter 3. Implementation Details3.4.3 PHY Tx BlockThe PHY Tx block is the physical layer transmitter. It is written in C++ as itcommunicates with the lightplc library and performs time-sensitive opera-tions. The block has one input for incoming messages from the MAC block.It has two outputs. One output is for outgoing samples (which goes to theUSRP block), and the other output is for messages to the MAC block. Theblock instantiates a phy service class to perform the signal processing.Transmitting a PPDU consists of multiple steps where for each step weassigned a state in a state machine. Here we will describe the state machinestates. Variables outside the state machine required for the block seamlessoperation and interaction with GNU Radio are beyond the scope of thisthesis.State MachineThe block operates a state machine as depicted in Figure 3.5. The states aredescribed as follows.ReadyTx PreparingPHY-TXSTARTPPDU readyFIGURE 3.5: PHY Tx State Machine55Chapter 3. Implementation DetailsReady: When in this state, the block is ready for transmission and waitsfor an incoming message from the MAC block. It produces an output ofzeros.Preparing: We enter this state after receiving a PHY-TXSTART messagefrom the MAC block (see below). When in this state, we are waiting for thePPDU frame to be ready. The block still produces samples of zeros.Tx: We enter this state after the PPDU frame is ready. When in this state,the block outputs the PPDU frame samples. Once the transmission of thePPDU is done, the machine goes to the Ready state.Incoming MessagesThe PHY Tx is controlled by messages arriving from the MAC block. Themessages are described below.PHY-TXINIT: This message commands to put the state machine in theReset state. This message also configures the default tone mask and otherPHY parameters. The message is sent by the MAC only on system start-up.PHY-TXSTART: This message commands to transmit a frame. The mes-sage contains a MAC Protocol Data Unit (MPDU). If the state machine is inReady, the MPDU is passed to create ppdu, and the state machine goesto Preparing. If the state machine is not in Ready the MPDU is dropped.PHY-TXCONFIG: This message sets the tone map for future transmis-sions using the set tone map routine.3.4.4 MAC BlockThe MAC block implements the MAC layer as described in Section 2.6. Asthe MAC layer does not perform signal processing but mainly managesresources and copies data, high performance is not required. Thereforeit was written in Python which simplifies the implementation and allowseasier modifications if required.The implemented MAC block constructs MAC frames where the pay-load data arrived from the APP Out block. Each MAC frame is fragmented56Chapter 3. Implementation Detailsinto three 520-byte PHY blocks. The payload of successfully received MACframes is passed to the APP In block.State MachineThe MAC block operates a state machine. The master state machineis illustrated in Figure 3.6 and the slave state machine is illustratedin Figure 3.7. The labels on the transitions arrows are in the form ofEVENT/CONDITIONS/ACTION. For example, from the ’Waiting forAPP’ state: if the event ’frame arrived’ occurred and the condition ’tonemap is valid’ is satisfied, then ’transmit SOF’ action is taken, and we transitto the state ’Transmitting SOF’.The state machine transitions are triggered by messages arriving fromthe PHY block, the APP In block.Incoming MessagesThe MAC block communicates with the PHY block through messages. Theoutgoing messages of the MAC block, PHY-RXINIT, PHY-RXPOSTPROCESS,PHY-RXCALCTONEMAP.request, PHY-TXINIT, PHY-TXSTART, andPHY-TXCONFIG are described in the PHY Rx and PHY Tx blocks descrip-tion in Section 3.4.2 and Section 3.4.3.The incoming messages are described as follows.PHY-RXSTART: This message is sent by the PHY Rx to indicate that anew PPDU was detected and that the receiving process has begun. Themessage includes the received MPDU frame control and the MPDU pay-load. The MAC layer parses the MPDU frame control to determine theMPDU type.PHY-RXEND: This message is sent by the PHY Rx to indicate that thePPDU frame reception process has ended.PHY-RXCALCTONEMAP.response: This message is sent by the PHYRx in response to PHY-RXCALCTONEMAP.request. The message includesa new tone map. The MAC then send the tone map to the other station viaa management MPDU.57Chapter 3. Implementation DetailsTimeoutSACK received Transmission is doneTransmittingSOFWaiting forManagementSOFFrame arrived /Tone map expired /Transmit SoundFrame arrived /Tone map valid /Transmit SOFWaitingFor SACKTransmittingSoundSACK received or timeout /No frame availableWaitingFor APPSACK receivedor timeout /Frame available,tone map expired /Transmit SoundSOF received //Transmit SOFWaitingFor SACKSACK receivedor timeout /Frame available,tone map valid /Transmit SOFTransmissionis doneFIGURE 3.6: MAC Master State Machine58Chapter 3. Implementation DetailsTransmission is doneTransmission is doneTransmission is done //Transmit management SOF TransmittingManagementSOFSOF received //Transmit SACKSound arrived //Transmit SACKTransmittingSACKTransmittingSACKWaiting fora FrameFIGURE 3.7: MAC Slave State Machine59Chapter 3. Implementation DetailsPHY-TXEND: This message is sent by the PHY Tx to indicate that thePPDU transmission is complete.MAC-TXMSDU: This message is sent by the APP Out block to a masterMAC block. The message contains data required to transmit to the slavestation.User ParametersSeveral parameters in the MAC block are easily configurable. Some of theparameters used internally by the MAC block and some are passed to thePHY via messages. The parameters are described as follows.Role: The parameter sets whether a block is a master or a slave.Address: The parameter sets the station address. This value is usedwhen the MAC frame is constructed.Dest Address: The parameter sets the destination station address. Thisvalue is used when the MAC frame is formed.Tone Mode: The parameter sets the tone mode for the station: StandardROBO, High-Speed ROBO, Mini ROBO or no ROBO mode which uses thenegotiated tone map.Broadcast Mask: The parameter is a mask of 2048 bits which sets thedefault tone mask.Sync Mask: The parameter is a mask of 256 bits which sets the tone maskfor the preamble SYNCP and SYNCM symbols.QPSK Mask: The parameter is a mask of 2048 bits which determineswhich carriers should be forced to QPSK modulation during the bit loadingcalculation.Target BER: The parameter sets the target BER for the bit loading calcu-lation.Channel Estimation: The parameter sets the channel estimation methodused by the station.Inter-frame Space: The parameter sets the minimum space between twoadjacent transmitted frames.60Chapter 3. Implementation DetailsLog: The parameter sets the amount and type of information to printwhen running. Used for debugging and analysis of the MAC block opera-tion.3.4.5 APP Layer BlocksThe APP Out block and APP In block represent the APP layer.The purpose of the APP Out block is to pass to the MAC block data re-quired for transmission. The APP Out block input may be any bit streamsource such as a file and a sound wave. The block first fragments the in-coming bit stream and then passes the fragments to the MAC block via theMAC-TXMSDU outgoing message. The MAC block responds with the mes-sage MAC-READY when it is ready to receive more data.The purpose of APP In block is to collect data arriving from the MACblock. The APP In block receives data from the MAC block via theMAC-RXMSDU incoming message and streams it through its output port.3.4.6 Impulse Source BlockThe Impulse Source block generates a repetitive impulse noise as definedin Equation 2.18. The block can generate several repetitive impulse noisesources each with its own Ai, fi, λi, Li and li parameters.3.4.7 TransceiverA complete two-transceiver flow graph created in GNU Radio Companionis depicted in Figure 3.8. The top part is the master station transceiver, andthe bottom part is the slave station transceiver. Note that the PHY blocksin the figure are the hierarchical block that is shown in Figure 3.3.The master station includes a file source that feeds the APP Out blockwith a continuous bit stream. The data is processed through the MAC andPHY blocks and then goes to the USRP block. The USRP block sends thesignal to an actual USRP hardware through the Ethernet port. The USRPhardware is connected to the powerline.61Chapter 3. Implementation DetailsFIGURE 3.8: Two-Transceiver Flow GraphThe powerline is also connected to another USRP hardware, represent-ing the slave station. The USRP sends the data through the same Ethernetport to the slave station USRP block shown in the bottom part of Figure3.8. Samples from the USRP block are processed through the PHY andMAC blocks and eventually saved to a file through the APP In block.The two USRP physical devices are paired using a special MIMO cable.This connection synchronizes the two USPRs internal oscillators to avoid acarrier frequency offset.The return path, from the slave to the master, is not going through theUSRP blocks. Instead, the slave PHY block output is fed directly to the62Chapter 3. Implementation Detailsmaster station PHY block. In our channel access scheme described in Sec-tion 2.6.3, the return path is less important as it is used solely for acknowl-edging received frames and for sending management messages containingtone maps. Therefore we have decided to utilize a real powerline only inthe forward path.In order to utilize the USRPs in the return path as well, two more daugh-terboards are required. However, connecting two more daughterboardswill adversely affect the system bandwidth as we double the data passedthrough the Ethernet port. It will also put more strain on the PC, and thesystem might fail. Therefore, for using a two-way USRPs connection, weadvise using two PCs. Each PC should run an instance of GNU Radio andconnect to a USRP with a receiver and transmitter daughterboards.3.5 Known LimitationsThe following are known limitations that apply to our communication sys-tem, and how to mitigate them.• The library used for the turbo convolutional decoder is IT++ [31]. Weexpect that implementing a custom-made decoder will greatly im-prove the PHY receiver throughput. It would also allow compatibil-ity with the original IEEE 1901 turbo convolutional code rather thanusing the modified version as discussed in Section 2.1.3.• Lightplc supports only one tone map. This means that setting a newtone map overrides the previous one. In the current master-slavechannel access this is not a problem. However, there may be a prob-lem when more than two stations are communicating or when morethan one tone map is required.• The communication system does not correct a carrier frequency off-set, as it relies on the USRPs’ ability to synchronize their internal os-cillators using a MIMO cable. For non-synchronized oscillators, a car-rier frequency offset may appear, and a correction mechanism shouldbe added to the system.63Chapter 3. Implementation Details• As the maximum Ethernet data rate is 25 MS/s (complex numbersamples), the maximum bandwidth when using USRP N210 is25 MHz (see description in Section 3.2). For a higher bandwidth,the user can use other SDR devices which can utilize a 10 GigabitEthernet or dual Gigabit Ethernet.• A known limitation of the USRP N210 is an aliasing effect caused byan upsampling and a non-ideal LPF in the transmitter. This processcreates unwelcome images near the bandwidth edges. Therefore, itis best to avoid using carriers near the bandwidth edges. This makesthe actual bandwidth available less than 25 MHz. In the experimentsperformed in Chapter 4 we use only the central 12.5 MHz out of the25 MHz to avoid this interference.64Chapter 4Experimental ResultsIn this chapter, we present the results of experiments conducted with ourcommunication system.In Section 4.1 we describe the system setup used throughout the exper-iments. In Section 4.2 we perform experiments on an actual car harness(disconnected from a car) where a white Gaussian noise is generated insoftware. In Section 4.3 we use the same setting but with an addition ofan impulse noise. Lastly, in Section 4.4 we perform measurements on anactual vehicle.The purpose of the car harness experiments is to verify the correctnessof the implementation, to compare between the different channel estima-tion methods and to measure the system performance. The purpose of thelast part is to investigate the feasibility of a reliable IEEE 1901 communica-tion in a vehicular powerline.4.1 System SetupAll experiments were performed with the implemented system describedin Chapter 3. The specific PHY and MAC layer parameters are describedbelow.65Chapter 4. Experimental Results4.1.1 PHY ParametersIn IEEE 1901 the sampling frequency is 100 MHz where the OFDM symbolconsists ofN = 2048 carriers (4096 samples). The positive frequency of car-rier k is thus equals to k 502048MHz, where 0 ≤ k ≤ 2047 and the bandwidthis 50 MHz.Due to USRP N210 sampling rate limitation as described in Section3.2, the effective sampling rate is 50 MHz. This corresponds to carriers atk 252048MHz, where the bandwidth is 25 MHz. To keep the same carrier spac-ing as in IEEE 1901, we use a tone mask where we unmasked one of everytwo carriers. We are then left with 20482 = 1024 carriers. Due to aliasingeffect at the band edges, as described in Section 3.5, we will use only thecenter N˜ = 512 carriers. The same logic is applied to the preamble SYNCsymbols, where one of every two carriers is masked to keep the same car-rier spacing as in IEEE 1901, and only the central M˜ = 64 carriers are used.As the implemented PHY uses baseband modulation and as the USRPsampling frequency of complex numbers is 25 MHz, the input to the USRPis a signal between −12.5 to 12.5 MHz. Therefore the central frequency pa-rameter in the USRPs is set to fc = 12.5 MHz, which shifts the band to 0 to25 MHz. The effective band used in our modified IEEE 1901 is illustrated inFigure 4.1.The minimum inter-frame spacing, which is exploited for noise PSDestimation, has been tripled to improve estimation accuracy. In an actualIEEE 1901 system, several or other silence periods can be utilized for thispurpose. However, to keep the system simple, we have decided to extendthe inter-frame spacing.Note that as the effective sample rate is two times slower than IEEE 1901(50 MHz vs. 100 MHz), the frame is two times longer than in IEEE 1901. Acomparison between IEEE 1901 and our system is summarized in Table 4.1.Other implementation-specific parameters are the sensitivity for pream-ble detection (see Section 3.4.1), the target BER for the incremental algo-rithm (from Section 2.5.1) and the controllable gain (from Section 3.4.1).The values are summarized in Table 4.2. Note that the controllable gain is66Chapter 4. Experimental ResultsMaskedActiveIEEE19010 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30MaskedActiveFrequency (MHz)ModifiedIEEE1901FIGURE 4.1: IEEE 1901 Spectrum Mask. The original spec-ification spectrum mask (top) and the modified spectrummask (bottom)reduced when we add an external amplifier in Section 4.4. When not us-ing an external amplifier the purpose of the controllable gain is to keep thePHY output between −1 and 1 as described in Section 3.4.1. When usingthe external amplifier, the controllable gain is reduced to keep the amplifieroutput below the maximum power limit as described in Section 4.1.3. Forboth cases, the controllable gain value was determined empirically.4.1.2 MAC Layer ParametersThe channel access mode we use is the master-slave channel access as de-scribed in 2.6.3. The master takes data from a file (a compressed videostream) and transmits MPDUs where each MPDU consists of three 520-bytePHY blocks, i.e. 520× 3 = 1560 bytes in each MPDU payload.The transceiver used is similar to the one describe in Section 3.4.7 butwith an addition of emulated noise if required. As outlined in Section 3.4.7,67Chapter 4. Experimental ResultsTABLE 4.1: Modified IEEE 1901 PropertiesIEEE 1901 Modified IEEE 1901Sampling rate 100 MHz 50 MHzNumber of carriers 2048 2048Non-masked carriers 917 512Band 2 to 28 MHz 6.25 to 18.75 MHzCarrier spacing 24.41 kHz 24.41 kHzNumber of SYNC carriers 256 256Non-masked SYNC carriers 113 64SYNC carrier spacing 195.28 kHz 195.28 kHzPreamble length 51.20 µs 102.4 µsOFDM symbol length 40.96 µs 81.92 µsFrame control guard interval 18.32 µs 36.64 µsPayload guard interval 7.56 µs 15.12 µsRoll-off interval 4.96 µs 9.92 µsMinimum inter-frame spacing 140 µs 840 µsTABLE 4.2: Implementation-Specific ParametersSensitivity 0.75Target BER 0.01Controllable gain 0.3 or 0.06668Chapter 4. Experimental Resultsonly the forward path goes through the SDRs (master to slave). The re-turn path (slave to master) is done internally on the PC. The return path isless important as it is used solely for acknowledgment of frames reception(SACK MPDU) and management messages.4.1.3 Power Spectral DensityWe first show the PSD of the SDR output. The IEEE 1901 requires a PSDlower than −55 dBm/Hz between 1 to 30 MHz for a 100 Ω terminationimpedance. We performed measurements by continuously transmittingthe same frame control OFDM symbol (which has slightly more powerthan a payload symbol). The controllable gain parameter for this mea-surement was set to 0.3. The PSD as measured by the spectrum analyzerVNA Master 2304A from Antrisu is depicted in Figure 4.2. The resolutionbandwidth used is 10 kHz and the detection scheme was set to peak. Thespectrum analyzer input impedance is 50 Ω. We assume that the USRPoutput impedance is small. Therefore the results for 100 Ω terminationshould be similar.As shown in the figure, the PSD is a pulse shape around the OFDMband (6.25 to 18.75 MHz) where the height is approximately −80 dBm/Hz,which is much below the maximum allowed by IEEE 1901. We believethat the slight declining in the PSD shape in the figure is due to the cableconnecting the USRP to the spectrum analyzer or due to the USRP internalhardware.For the car experiment in Section 4.4 we add an amplifier to increasesignal power. This is due to increased noise and an increased signal attenu-ation. When using the amplifier, the controllable gain parameter is reducedto 0.066 to keep the output signal below the maximum output power limitof the amplifier. The PSD measurement by the spectrum analyzer in thisconfiguration is −67 dBm/Hz.Reaching the limits set by IEEE 1901 is possible by adding an appropri-ate amplifier. However, we did not have one available at the time of theexperiments.69Chapter 4. Experimental Results0 2 4 6 8 10 12 14 16 18 20 22 24−140−130−120−110−100−90−80−70Frequency (MHz)PSD(dBm/Hz)FIGURE 4.2: OFDM Power Spectral Density4.2 Car Cable Harness (White Noise)In this part, we test our system over a car cable harness, as shown in Figure4.3. The cable harness was built by Azure Dynamics and was taken from ahybrid Ford truck. Its layout is depicted in Figure 4.4. The numbers in thefigure identify the connectors and the devices used to connect to it.In our experiments, the two SDRs communicate between connectorC347S and C346S, which corresponds to the powertrain and the electri-cal power assisted steering system. The path length is 4.25 m and has 8branches [54]. No electrical devices except the SDRs are connected to thecable.In this part, we present a comparison between the channel estimation70Chapter 4. Experimental ResultsFIGURE 4.3: Car Cable Harness71Chapter 4. Experimental ResultsC020PC053SC056SC060SC074PC082PC142SC153SC154SC155SC174SC251SC253SC261SC308SC309SC310SC312SC321SC335PC346SC347SC354SC355SRT001RT002 RT003RT090RT091RT092 C252SFIGURE 4.4: Car Cable Harness Diagrammethods, results of the adaptive bit rate algorithm and general perfor-mance of the system. In each test the master station transmits a total of1000 MPDUs to the slave station.4.2.1 Channel EstimationThe channel amplitude estimation is performed by the slave using one ofthe estimation methods as described in Section 2.3. A channel estimationusing the sounding method (as outlined in section 2.3.1) in a noiseless set-ting obtained by the slave is shown in Figure 4.5. For a reference, we useda Vector Network Analyzer (VNA) to perform an independent channel es-timation. The device used is VNA Master 2304A by Antrisu. The referencechannel estimation is also shown in Figure 4.5. The two shapes of the esti-mated channel amplitude are similar. The main difference is a vertical shiftwhich is resulting from some scaling done by the SDR front-end and bythe transmitting PHY block (such as the controllable gain in Section 3.4.1).These scalings are considered by the slave as a part of the channel ampli-tude. The other minor distortions (for frequencies above 9 MHz), we believeare attributed to the USRP internals.72Chapter 4. Experimental Results−38−36−34−32−30OurSystemChannel Amplitude (dB)7 8 9 10 11 12 13 14 15 16 17 18−10−8−6−4−2Frequency (MHz)VNAFIGURE 4.5: Car Cable Harness Channel EstimationComparison of Channel Estimation MethodsWe now perform a comparison between the three channel amplitude es-timation methods presented in Section 2.3: sounding channel estimationmethod (Sounding-CE), payload channel estimation method (Payload-CE)and preamble channel estimation method (Preamble-CE). For the Payload-CE we force a QPSK carrier in one of every eight non-masked carriers, so itmatches the SYNC carriers frequency.The added noise follows the distribution CN (0, σ2W ). The noise is addedto the signal going from the USRP block to the PHY block in the slave sta-tion (see transceiver diagram in Figure 3.8).The SNR is calculated as follows:SNR =PRσ2W + σ˜2W,73Chapter 4. Experimental Resultswhere PR is the average power of a received noise-free payload OFDMsymbol as described in Appendix A.2, and σ˜2W is the external non-emulatednoise variance. This non-emulated noise is assumed to be a Gaussian whitenoise.The emulated noise variance σ2W is thereforeσ2W = PR(1SNR− 1˜SNR),where ˜SNR = PRσ˜2W. In this setup our measurements showed that ˜SNR =27 dB.The baseline for the comparison is the noiseless Sounding-CE measure-ment described before and shown in Figure 4.5.The average Normalized Mean Square Error (NMSE) for each methodin different SNR settings is shown in Figure 4.6. The graphs indicate thatSounding-CE performs the best, as expected, as it is inherently more accu-rate than the other two methods. It also shows that as the SNR decreasesthe gap between Preamble-CE and Sounding-CE increases. This is alsoexpected as there are very few symbols participating in the Preamble-CE.However, the difference between Payload-CE and Sounding-CE increasesonly slightly. Reasons for the difference between Sounding-CE andPayload-CE are a noise PSD estimation error and a linear interpolationinaccuracy which may adversely affect Payload-CE but do not affectSounding-CE. However, Payload-CE uses more symbols than Preamble-CE to estimate the channel. Therefore it is more accurate. The number ofsymbols is also increasing as we lower the SNR since as data rate decreasesthe number of OFDM symbols per frame increases. The average numberof payload OFDM symbols against the SNR in Payload-CE is depicted inFigure Bit LoadingThe bit loading calculation is performed by the slave using the incrementalalgorithm according to the estimated channel amplitude and the noise PSD74Chapter 4. Experimental Results6 8 10 12 14 16 18 20 22 240123456789·10−3SNR (dB)NMSESounding-CEPayload-CEPreamble-CEFIGURE 4.6: Channel Estimation Methods Comparisonas described in Section 2.5.We define PHY rate as the number of bits in a payload OFDM symboldivided by the symbol duration. The maximum PHY rate is attained whenall 512 carriers are assigned 4096-QAM, i.e., 512 × 12 = 6144 bit/symbol.The number of decoded bits are half of this number as the code rate is 1/2.The maximum PHY rate is then 61442×(81.92µ+15.12µ) = 31.65 Mbps. Note thePHY rate only measures the capacity according to the tone map, regardlessif the actual bits were received correctly or not.As the Payload-CE forces carriers to QPSK, the PHY rate is degraded.For the Payload-CE the maximum number of uncoded bits is 64×2+448×12 = 5504 bit/symbol. This corresponds to a PHY rate of 28.35 Mbps, whichis around 90 % of a non Payload-CE PHY rate.75Chapter 4. Experimental Results6 8 10 12 14 16 18 20 22 24024681012141618202224SNR (dB)PayloadOFDMSymbolsFIGURE 4.7: Number of Payload OFDM Symbols perFrame in Payload-CEFigure 4.8 shows the average normalized PHY rate (i.e. divided by31.65 Mbps) as calculated by the incremental algorithm. The graphs showthat for the measured SNRs range the Payload-CE reaches around 90 %PHY rate of the other methods.Bit Error RateThe BER calculated for each method is depicted in Figure 4.9. We remindthat the target BER used is 0.01. The BER measured is the uncoded BER. Itis calculated based on the received bits before passed to the turbo convo-lutional decoder. A bit error is assumed when the sent bit is different from76Chapter 4. Experimental Results6 8 10 12 14 16 18 20 22 2400. (dB)AverageNormalizedPHYRateWithout Payload-CEWith Payload-CEFIGURE 4.8: Channel Estimation Methods PHY Ratethe maximum likelihood estimation as described in Section 2.5 and calcu-lated by Equation 2.12. The BER measures the quality of the received softbits.The actual BER is different from the target BER as it is affected by thechannel and noise PSD estimation accuracy (the incremental algorithm as-sumes a perfect knowledge of both). The graphs show that the BER is de-creasing as the SNR increases. As the SNR decreases the BER is increas-ing due to poor channel estimation, especially the channel phase which isbased solely on the preamble in all methods. The slight BER increase inPreamble-CE and Payload-CE at high SNR is due to a high modulationtype assigned by the incremental algorithm (due to the high SNR) whichdoes not take the channel estimation statistics into account.77Chapter 4. Experimental Results6 8 10 12 14 16 18 20 22 241.61.822.·10−2SNR (dB)BERSounding-CEPayload-CEPreamble-CEFIGURE 4.9: Channel Estimation Methods BER4.2.3 SummaryIn this section, we demonstrated the system behavior in a Gaussian whitenoise environment. We first performed a channel estimation withoutnoise emulation and compared it to an independent channel estimationperformed by a VNA device. We then drew a comparison between theNMSE of the three channel estimation methods for different SNR levels.We showed that Sounding-CE performed the best, as expected, and thatPayload-CE performed much better than the simpler Preamble-CE, espe-cially in low SNR. We also showed how the number of OFDM symbolsincreases as the noise level is increasing. This inherent feature improvesthe Payload-CE accuracy at low SNR. We then compared the PHY rateof Payload-CE to the other methods and showed it reaches roughly 90 %78Chapter 4. Experimental Resultsof the data rate, as expected. Lastly, we presented the BER for the threemethods and showed that the BER increases while the SNR is decreasing.This is expected since a channel estimation error or a noise PSD estimationerror adversely affects the adaptive bit rate algorithm accuracy.4.3 Car Cable Harness (Impulse Noise)As an impulse noise is a significant part of a vehicular powerline noise[12], we now demonstrate the system behavior in an impulsive noise en-vironment. In this part, we focus on the noise PSD estimation and the bitloading calculation which are directly affected by periodic impulse noise.We first describe the noise parameters and then we show how it affects thesystem operation. As in previous part, the noise is generated in softwareand added to the signal going from the USRP block to the PHY block in theslave station (see transceiver diagram in Figure 3.8). The channel estima-tion method used throughout this section is the Sounding-CE.4.3.1 Noise GenerationWe generate two types of noise: a periodic impulse noise and a white Gaus-sian noise.The impulse noise is generated using the impulse noise generator as de-scribed in Section 3.4.6. The impulse noise parameters are described below.The emulated background noise follows the distribution CN (0, σ2W ).Based on [46] we have five repetitive impulse noise sources. All sourcesproduce impulses with the same energy. The duration of an impulse is2 µs [46], thus λ = ln(100)4µ . The frequencies fi, 1 ≥ i ≥ 5 are distributedover the OFDM band as shown in Table 4.3. The offset parameter of eachsource is chosen such that the combined impulses from all sources arespaced equally. The inter-arrival time L for each source is chosen such79Chapter 4. Experimental ResultsTABLE 4.3: Impulse Noise ParametersParameter Valueλ - Decay 1.1513 MHzL - Inter-arrival time 87.12 µsi fi - Frequency li - Offset1 813MHz 02 10 512MHz L/53 1212MHz 2L/54 14 712MHz 3L/55 1623MHz 4L/5that each OFDM symbol will be hit by approximately one impulse. There-fore we choose L = 485.2 µs. The impulse noise parameters are summa-rized in Table 4.3. Note that the space between two successive impulses isL/5 = 97.04 µs which is the same order of magnitude discussed in [46, 12].Since we have two noise types, we define two SNRs. Let SNRW be theratio between the average power of a received noise-free payload OFDMsymbol and the background white noise variance. Then, similarly to theSNR in the previous section:SNRW =PRσ2W + σ˜2W,where PR is the average power of a received noise-free payload OFDMsymbol as described in Appendix A.2, and σ˜2W is the external non-emulatednoise variance. This non-emulated noise is assumed to be a Gaussian whitenoise.The emulated noise variance σ2W is thereforeσ2W = PR(1SNRW− 1˜SNR),where ˜SNR = PRσ˜2W. In this setup our measurements showed that ˜SNR =27 dB.80Chapter 4. Experimental ResultsLet SNRI be the ratio between the average power of a received noise-free payload OFDM symbols and the average power of the impulse noisePI :SNRI =PRPI.Using Equation 2.17 for impulse noise energy, the average power of an im-pulse is given by PI = 5A22λL . The amplitude is then determined by:A =√25PRλLSNRI.4.3.2 Noise PSDThe noise PSD is estimated by the slave during the inter-frame space, asdescribed in Section 2.4. Since the impulse noise inter-arrival time (for eachimpulse noise source) is less than the inter-frame space, we expect peaks atthe noise frequencies as discussed in Section 2.7.A noise PSD measurement from the slave station for SNRW = 15 dBand SNRI = 10 dB is shown in Figure 4.10. The peaks for the impulse noisefrequencies in Table 4.3 are shown clearly in the noise PSD graph. Note thatthe peaks height vary due to PSD estimation spectral leakage.4.3.3 Bit LoadingThe bit loading calculation is performed by the slave using the incrementalalgorithm according to the estimated channel amplitude and the noise PSDas described in Section 2.5. As we have a colored noise, we expect it to bereflected in the calculated tone map.The adaptive bit loading algorithm utilizes the average carrier SNR es-timation performed by the slave. The carrier SNR estimation for carrier kwith modulation type i is γ2i [k] =|NHˆ[k]|2σˆ2W [k]as described in Section 2.5. Acarrier SNR estimation for SNRW = 15 dB and SNRI = 10 dB calculated bythe slave is depicted in Figure 4.11. The graph shows local minima at theimpulse noise frequencies. Note that above 15 MHz the SNR is low due tolow channel amplitude (see Figure 4.5).81Chapter 4. Experimental Results8 10 12 14 16 18−126−124−122−120−118−116−114−112−110−108−106Frequency (MHz)NoisePSD(dB/Hz)FIGURE 4.10: Car Cable Harness Noise PSD EstimationA tone map from the master station for SNRW = 15 dB and SNRI =10 dB is depicted in Figure 4.12. In this figure, each carrier has a cor-responded dot in the graph according to its modulation type. The fiveimpulse noise frequencies cause a reduction in the modulation typearound their carrier frequency. The low modulation types assignmentsat frequency 15 MHz and above are due to low carrier SNR as shown inFigure PerformanceWe have performed tests with SNRI between 0 to 25 dB and SNRW = 25, 20and 15. In each test the master station transmits ≈ 350 MPDUs to the slavestation. For each test, we measure the BER, average PHY rate, block error82Chapter 4. Experimental Results8 10 12 14 16 18−10−50510152025Frequency (MHz)SNREstimation(dB)FIGURE 4.11: Car Cable Harness SNR Estimationrate and sync error rate. The BER and the PHY rate were defined in the pre-vious section. A block error corresponds to a PHY block CRC failure. Thisoccurs when the turbo decoder cannot recover all erroneous bits. A syncerror corresponds to a PPDU frame not detected correctly by the receiver.Bit Error RateThe BER graphs are depicted in Figure 4.13. The three lines represent thethree SNRW levels. We remind that the target BER for the incremental al-gorithm is set to 0.01. The graphs show that the white noise has very littleimpact on the BER, when comparing to the impulse noise impact. Increas-ing the impulse noise power (i.e. decreasing SNRI) increases the BER moresignificantly. This behavior is expected since the adaptive bit rate algorithm83Chapter 4. Experimental Results8 10 12 14 16 18NulledBPSKQPSK8-QAM16-QAM64-QAM256-QAM1024-QAM4096-QAMFrequency (MHz)ModulationTypeFIGURE 4.12: Car Cable Harness Tone Mapassumes the noise is purely Gaussian. Other factors that may increase theBER above the target BER are channel and noise PSD estimation inaccuracy.Note that the BER is calculated only for successfully transmitted frames.Frames with synchronization error are obviously not included in the calcu-lation since the frame is not decoded. Frames with block error are also notincluded in the BER calculation since the reference frame cannot be con-structed.PHY RateThe normalized PHY rate graphs are depicted in Figure 4.14. The graphsshow, as expected, that the PHY rate increases when SNRW or SNRI areincreasing. Note that the PHY rate is not the actual data rate but rather thepotential transfer speed based on the tone map. Data transfer error is notreflected in the PHY rate.84Chapter 4. Experimental Results0 2 4 6 8 10 12 14 16 18 20 22 2401 · 10−22 · 10−23 · 10−24 · 10−25 · 10−26 · 10−27 · 10−28 · 10−29 · 10−20.1SNRI (dB)BERSNRW = 25 dBSNRW = 20 dBSNRW = 15 dBFIGURE 4.13: Car Cable Harness Bit ErrorSync ErrorThe sync error rate graphs are depicted in Figure 4.15. The graph resem-bles a step like function where the cutoff is at SNRI = 10 dB. As illustratedin the graphs, no sync error occurs above SNRI = 10 dB, and a sharp in-crease occurs at SNRI = 10 dB. When going below 10 dB, the sync errorrate slowly increases. Note that the background Gaussian noise has little tono effect on the sync error rate.Since the inter-arrival time between two impulse noises is L/5 =97.04 µs, and the preamble length is 102.4 µs, we have roughly one im-pulse in a preamble window. The detection success depends on wherean impulse impacts the preamble. We expect that increasing the impulseinter-arrival time will decrease the sync error rate. The cutoff SNRI will be85Chapter 4. Experimental Results0 2 4 6 8 10 12 14 16 18 20 22 2400. (dB)NormalizedPHYRateSNRW = 25 dBSNRW = 20 dBSNRW = 15 dBFIGURE 4.14: Car Cable Harness PHY Ratehigher since the impulse noise average power is reduced.Block ErrorThe block error rate graphs are depicted in Figure 4.16. The graphs showsmall blocks error rate (less than 2.5 %) and only at very low SNRI. Thisresult means that the impulses almost do not affect the OFDM symbol de-coding results. That is due to IEEE 1901 encoding schemes and the adaptivebit rate algorithm.4.3.5 SummaryIn this section, we demonstrated the system behavior in a repetitive im-pulse noise environment. We first showed a noise PSD estimation and a86Chapter 4. Experimental Results0 2 4 6 8 10 12 14 16 18 20 22 2400. (dB)SyncErrorRateSNRW = 25 dBSNRW = 20 dBSNRW = 15 dBFIGURE 4.15: Car Cable Harness Synchronization Errorbit loading calculation performed by the slave station in a presence of arepetitive impulse noise and a background white Gaussian noise.We then conducted several tests with different levels of impulse andbackground noise and measured the BER, PHY rate, sync error rate andblock error rate. The BER increases while the impulse noise level is increas-ing. This behavior is expected since the incremental algorithm assumed apure Gaussian noise. Sync errors occur when an impulse noise energy goesbeyond some threshold. However, the impulse noise almost does not af-fect the OFDM payload symbols decoding. This suggests that the OFDMsymbols along with the adaptive bit rate algorithm are more robust to therepetitive impulse noise than the preamble detection process.87Chapter 4. Experimental Results0 2 4 6 8 10 12 14 16 18 20 22 2401 · 10−22 · 10−23 · 10−24 · 10−25 · 10−26 · 10−27 · 10−28 · 10−29 · 10−20.1SNRI (dB)BlockErrorRateSNRW = 25 dBSNRW = 20 dBSNRW = 15 dBFIGURE 4.16: Car Cable Harness Block Error4.4 Real CarIn this section, we present the results of experiments executed on a real car.The tests were performed on a 2006 Pontiac Solstice. In this experiment, themaster station USRP was connected to the car lighter, and the slave stationUSRP was connected to the left front light. Two bias tees were used to blockthe DC component. Since the USRP output PSD of −80 dBm/Hz is too lowfor this setup, we add an amplifier which brings the master station outputPSD to around −67 dBm/Hz as described in Section 4.1.3. The connectiondiagram is illustrated in Figure 4.17.The system was tested in five scenarios: the engine is off (Car-Off), theengine is off and the turn signal is on, (Turn-Signal-On), the engine is offwhile toggling the front lights switch (Lights-Toggle), the engine is off and88Chapter 4. Experimental ResultsUSRPUSRPFIGURE 4.17: Car Experiment Diagramthe wipers are on (Wipers-On), and the engine is on (Engine-On). All sce-narios were tested with the three channel estimation methods: Sounding-CE, Payload-CE, and Preamble-CE. The sound frame spacing is set to twoseconds in all cases.For each test, we measure the BER, average PHY rate, block error rateand sync error rate.4.4.1 ResultsCar-OffWe first demonstrate the performance of the system in Car-Off, which isthe most static and least noisy setting. In this scenario, the master stationtransmits a total of 10 000 MPDUs.The results are shown in Table 4.4. Reasons for deviation from thetarget BER can be errors in channel or noise PSD estimation, a non-linearoperation of the amplifier and non-Gaussian noise components. TheSounding-CE yields the best BER since the channel is the most accurate,next is Payload-CE and last is Preamble-CE. No block error or sync erroroccurred in this setting.The results show that the IEEE 1901-like system works correctly andcan recover all transmitted frames in a real car when the car is off. As89Chapter 4. Experimental ResultsTABLE 4.4: Car Car-Off ResultsBERBlock Error(Out of30000)Sync Error(Out of10000)PHY Rate(Mbps)Sounding-CE 0.0209 0 0 24.27Payload-CE 0.0242 0 0 21.94Preamble-CE 0.0254 0 0 24.12there are no block errors in all channel estimation methods, the Preamble-CE is preferred in this case as it has the advantage of a dynamic channelestimation without reducing the data rate.Turn-Signal-OnIn scenario Turn-Signal-On the master station continuously transmits MP-DUs, where at some point we switch on the turn signal for around 40 s.The purpose of this test is to check the influence of different units on thecommunication channel. The results of this test are very similar to the re-sults in Car-Off at Table 4.4. Therefore the results are omitted here. We alsodid not observe any changes in the channel impulse response in this case.Therefore, we can conclude that the turn signal has little to no effect on thiscommunication path.Lights-ToggleIn scenario Lights-Toggle the master station continuously transmits MP-DUs where at some point we manually toggle the front lights switch every2 s for a total of 40 s. As the slave station is connected to the left front light,we expect the toggling to heavily influence the communication channel.The two channel states measured in Lights-Toggle are depicted in Fig-ure 4.19. The estimation method used in the Figure is Sounding-CE. Thegraphs show a significant difference between the two states.The short-term block error rate for the three estimation methods is il-lustrated in Figure 4.19. In Sounding-CE all PHY blocks are lost after every90Chapter 4. Experimental Results8 10 12 14 16 18−42−40−38−36−34−32−30Frequency (MHz)ChannelAmplitude(dB)Lights offLight onFIGURE 4.18: Car Channel in Lights-Toggletoggling (error rate is one). The system recovers immediately following asounding process, and the error rate goes to zero until the next toggle. Thetoggling however has little to no effect on the Payload-CE. In Preamble-CEwe see sporadic spikes in the Preamble-CE error rate due to the toggling.The results are summarized in Table 4.5. Note that only successful PHYblocks are included in the BER calculation since the reference PHY blockcannot be recovered. This explains why the BER of Sounding-CE seemslower than the other methods despite its poor performance.Wipers-OnIn scenario Wipers-On the master station is continuously transmittingMPDU, where at some point in time we switch on the wipers for around40 s. The purpose of this test, similarly to Turn-Signal-On, is to check the91Chapter 4. Experimental Results00. Error Rate00. 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3100. (Second)Preamble-CEFIGURE 4.19: Car PHY Block Error Rate in Lights-Toggleinfluence of other units on the communication path between the frontlights and the lighter.A high amplitude impulsive noise, reaching 10 times the preamble max-imum height, was observed when the wipers were switched on. This phe-nomenon caused sync error at around 15 % of the attempted MPDUs trans-mission. Figure 4.20 illustrates the cumulative PHY block success and thecumulative sync error in Sounding-CE (Payload-CE and Preamble-CE be-have the same as the sync error is not related to the channel estimationmethod). The wipers are switched on at around 10 s and switched off justbefore 50 s. The graphs show how the block success rate drops as the syncerror rate rises.All other results are summarized in Table 4.6. Notice that the impulsenoise very little effect on the block error, i.e. the encoding schemes and the92Chapter 4. Experimental ResultsTABLE 4.5: Car Lights-Toggle ResultsBERBlock Error(Out of≈ 3000)Sync Error(Out of≈ 1000)PHY Rate(Mbps)Sounding-CE 0.0286 1693 1 25.86Payload-CE 0.0332 0 0 23.30Preamble-CE 0.0345 10 0 25.68TABLE 4.6: Car Wipers-On ResultsBERBlock Error(Out of≈ 900)Sync Error(Out of≈ 300)PHY Rate(Mbps)Sounding-CE 0.0241 23 48 23.37Payload-CE 0.0214 3 48 21.03Preamble-CE 0.0266 2 49 23.64adaptive bit rate algorithm are able to accommodate the high amplitudenoise.We believe the sync errors can be alleviated by increasing the PSD (ofthe entire signal or just the preamble) which is still much below the maxi-mum allowed in IEEE 1901. Another possible solution is to clip high am-plitude samples only for preamble detection purposes. Note that changingthe sensitivity parameter of the PHY had little to no effect on the sync errorrate in this case.Engine-OnLastly, we measure the system performance when the car is started. In sce-nario Engine-On, we turn on the engine and similarly to Car-Off the masterstation transmits a total of 10 000 MPDUs. The car remains in neutral gear,and no other device is switched on.The results are summarized in Table 4.7. Despite the increase of noisewhen the engine is on, the number of PHY block errors and sync errors is93Chapter 4. Experimental Results0 10 20 30 40 5002004006008001,0001,2001,4001,6001,8002,000Time (Second)CumulativeBlockSuccess01020304050CumulativeSyncErrorTotal block successTotal sync errorFIGURE 4.20: Car Block Success and Sync Error in Wipers-Oninsignificant. The decreased SNR causes a 5 % decrease in the establishedPHY rate.The results show that the IEEE 1901-like system works correctly andcan recover transmitted frames in a car when the engine is turned on, butno other device is switched on. It also shows that Payload-CE performedslightly better than Sounding-CE. This might suggest that the channel isnot entirely static when the engine is on, even when no other device isoperating.4.4.2 SummaryIn this section, we presented the results of our IEEE 1901-like communi-cation system experiments executed on a real car. As our system includesall components of the IEEE 1901 physical layer (with some modifications),94Chapter 4. Experimental ResultsTABLE 4.7: Car Engine-On ResultsBERBlock Error(Out of30000)Sync Error(Out of10000)PHY Rate(Mbps)Sounding-CE 0.0239 39 33 23.20Payload-CE 0.0229 6 46 20.84Preamble-CE 0.0245 5 36 23.04we expect that an actual IEEE 1901 system will perform similarly or better.The major differences between the system tested and the IEEE 1901 speci-fications are a doubled guard interval for the frame control and a differentturbo code. A compliant guard interval, we believe, will not affect the over-all performance as the tested payload symbols had a much shorter guardinterval and did not show signs of error resulting from a short guard inter-val. The turbo code of IEEE 1901 we believe will perform at least as goodas this one as it was designed for powerline networks (we used a turbocode designed for UMTS). Also note that our system PSD is −67 dBm/Hzand can perform better if operated at−55 dBm/Hz as allowed by IEEE 1901(see Section 4.1.3).Although IEEE 1901 is not targeted for vehicular powerline networks,we showed that it is capable of working efficiently in the scenarios tested.When the car was off, no sync errors or block errors were observed, and alldata was decoded correctly. When we switched on the turn signal, it didnot affect the communication path whatsoever. When we toggled the frontlight, it directly influenced the channel impulse response, and the Payload-CE showed the best resilient. When we switched on the wipers, it did notchange the channel impulse response but merely introduced high ampli-tude impulse noise. This phenomenon caused around 15 % lost frames dueto sync errors. However, the impulse noise almost did not affect the pay-load decoding performance, which suggests that the noise is band limitedand manageable. When we turned on the engine, we saw a slight degra-dation in the established PHY rate due to the increased noise. The systemhowever still performed well with an insignificant number of sync errors95Chapter 4. Experimental Resultsor block errors.In [23] they showed that for HomePlug AV over vehicular powerlines,an operation of other devices such as the wipers, adversely affect the chan-nel throughput up to 15 %. This was performed in a different car, and theparticular communication path and the devices used were not provided inthe article. However, we observed in our experiments the same order ofmagnitude of throughput reduction.In [12] it was suggested that the impulse noise is one of the biggestproblems for vehicular PLC. We can add that in the scenarios tested theimpulse noise mainly affects frame synchronization.The channel estimation methods comparison shows that in very dy-namic scenarios (as in Lights-Toggle) the Payload-CE performs better thanthe others. Preamble-CE also performs well as it shows only a few num-ber of errors. Sounding-CE, as expected, is not suitable for such cases. Forstatic scenarios, Sounding-CE is supposed to give the best results, however,in all tests except Car-Off the BER of the Payload-CE is better than the othertwo methods. This may suggest that even in Car-On scenario the channelis somewhat time-variant.96Chapter 5ConclusionsTo conclude this thesis, in the following sections we summarize our maincontribution, draw conclusions and suggest directions for future work.5.1 ConclusionsWe first presented an IEEE 1901-like communication system. The systemconsists of an IEEE 1901-based PHY and a minimal IEEE 1901 MAC layer.It is the first SDR of an end-to-end PLC system, capable of streaming datain real-time. The code is publicly available to allow reproduction of theresult and further study by fellow researchers. As the system developedfor SDR, it can be used both for simulation and for actual transmission andreception of data over powerlines.To deal with the vehicular powerline challenges we presented methodsto cope with a time-varying channel impulse response and a periodic im-pulse noise. For the time-varying channel, we derived a blind channel am-plitude estimation method that does not require a training frame. For theperiodic impulse noise, we gather statistics about the noise spectrum dur-ing the silence periods and use that information for performing bit loadingcalculation using the incremental algorithm.We demonstrated the system behavior on a car harness with an emu-lated noise. We compared the different channel estimation methods andshowed that the Payload-CE is more robust to noise than the Preamble-CE, as expected. We demonstrated the correctness of the implementation97Chapter 5. Conclusionsby comparing to a reference channel measurements performed by a VNA.Next, we showed how repetitive impulse noise is correctly reflected in thenoise PSD estimation and bit loading calculation. We also presented thesystem performance by measuring the BER, PHY rate, sync error rate andblock error rate under different impulse and background noise levels.We then performed tests on an actual car in various scenarios. Theresults show that an IEEE 1901-like communication system is capable ofworking efficiently in the scenarios studied. In our experience, the largeamplitude impulse noise occurs due to other devices operation such as thewipers. We showed that such noise mainly affects frame synchronization.Therefore, the system throughput is degraded in the presence of such noise.Previous attempts to tests similar standards using commercial modems (asin [23]) showed a similar performance degradation. However, they couldnot show exactly why it happens and how to mitigate it. Such analysiswas accomplished by our system as it allows full access all physical layercomponents.A comparison between the channel amplitude estimation methods onan actual car shows that the Sounding-CE channel estimation may not besuitable for a car powerline. Our experiments show that even when onlythe engine is on, the channel is not entirely static. The simpler Preamble-CEor the more robust Payload-CE perform similarly to Sounding-CE in staticscenarios but also able to cope with a dynamic channel impulse response.5.2 Future WorkRegarding the implementation, an IEEE 1910 turbo convolutional encoderand decoder would be highly beneficial to this project. It will be both com-patible with the standard and would improve the decoding speed which isnow hindered by the external decoding library.As the impulsive noise is known to be the main drawback of vehicularPLC, we have identified that it mainly affects the frame detection. Morework should be done to adapt the detection process to an impulse noiseenvironment. As suggested in the thesis, one immediate possible solution98Chapter 5. Conclusionswould be to amplify the output signal, or just the preamble, to meet themaximum PSD allowed in IEEE 1901. Another possible quick solution is toclip high amplitude samples during the detection process.As the system was tested only on a standing car, more testing should beperformed in other scenarios. We believe that running tests on a movingcar might be more challenging but may bring new insights regarding thefeasibility of a reliable in-vehicle PLC.99Bibliography[1] ISO/IEC. ISO/IEC DIS 15118-3: Road vehicles - Vehicle to grid communi-cation interface – Part 3: Physical and data link layer requirements. 2012.URL:[2] SAE International. Broadband PLC Communication for Plug-in ElectricVehicles. 2014. URL:[3] Jason D Harper. Development and Implementation of SAE DC ChargingDigital Communication for Plug-in Electric Vehicle DC Charging. Tech.rep. SAE Technical Paper, 2013.[4] M. Rahmani et al. “A Novel Network Architecture for In-Vehicle Au-dio and Video Communication”. In: Broadband Convergence Networks,2007. BcN ’07. 2nd IEEE/IFIP International Workshop on. May 2007,pp. 1–12. DOI: 10.1109/BCN.2007.372741.[5] S. Tuohy et al. “Intra-Vehicle Networks: A Review”. In: IntelligentTransportation Systems, IEEE Transactions on 16.2 (Apr. 2015), pp. 534–545. ISSN: 1524-9050. DOI: 10.1109/TITS.2014.2320605.[6] CAN Specification. Version 2.0. Robert Bosch GmbH. 1991.[7] MOST Specification. Rev 2.4. MOST Cooperation. 2005.[8] Rainer Makowitz. “Flexray-a communication network for automo-tive control systems”. In:[9] LIN Specification Package. Revision 2.2A. LIN Consortium. 2010.[10] An Overview of LVDS Technology. Revision 2.2A. National Semicon-ductor. 1994.100BIBLIOGRAPHY[11] Peter Hank, Thomas Suermann, and Steffen Mu¨ller. “AutomotiveEthernet, a Holistic Approach for a Next Generation In-Vehicle Net-working Standard”. English. In: Advanced Microsystems for AutomotiveApplications 2012. Ed. by Gereon Meyer. Springer Berlin Heidelberg,2012, pp. 79–89. ISBN: 978-3-642-29672-7. DOI: 10.1007/978-3-642-29673-4_8. URL:[12] V. Degardin et al. “Impulsive Noise Characterization of In-VehiclePower Line”. In: Electromagnetic Compatibility, IEEE Transactions on50.4 (Sept. 2008), pp. 861–868. ISSN: 0018-9375. DOI: 10.1109/TEMC.2008.2006851.[13] M. S. Yousuf and M. El-Shafei. “Power Line Communications: AnOverview - Part I”. In: Innovations in Information Technology, 2007. IIT’07. 4th International Conference on. Nov. 2007, pp. 218–222. DOI: 10.1109/IIT.2007.4430363.[14] M.S. Yousuf, S.Z. Rizvi, and M. El-Shafei. “Power Line Communi-cations: An Overview - Part II”. In: Information and CommunicationTechnologies: From Theory to Applications, 2008. ICTTA 2008. 3rd Inter-national Conference on. Apr. 2008, pp. 1–6. DOI: 10.1109/ICTTA.2008.4530268.[15] H.C. Ferreira et al. Power Line Communications: Theory and Applicationsfor Narrowband and Broadband Communications over Power Lines. Wiley,2010. ISBN: 9780470740309. URL:[16] Yamar Website. [accessed 25-Jan-2016].[17] HomePlug 1.0 Technical White Paper. HomePlug Powerline Alliance.Sept. 2005.[18] HomePlug AV White Paper. Version HPAVWP-050818. HomePlugPowerline Alliance. 2005.[19] HomePlug Green PHY Specification. Release Version 1.1.1. HomePlugPowerline Alliance. July 2013.101BIBLIOGRAPHY[20] HomePlug AV2 Technology. HomePlug Powerline Alliance. 2013.[21] “IEEE Standard for Broadband over Power Line Networks: MediumAccess Control and Physical Layer Specifications”. In: IEEE Std1901-2010 (Dec. 2010), pp. 1–1586. DOI: 10.1109/IEEESTD.2010.5678772.[22] Haniph A. Latchman et al. Homeplug AV and IEEE 1901: A Hand-book for PLC Designers and Users. 1st. Wiley-IEEE Press, 2013. ISBN:0470410736, 9780470410738.[23] P. Tanguy, F. Nouvel, and P. Maziero. “Power Line Communicationstandards for in-vehicule networks”. In: Intelligent Transport SystemsTelecommunications,(ITST),2009 9th International Conference on. Oct.2009, pp. 533–537. DOI: 10.1109/ITST.2009.5399296.[24] W. Gouret, F. Nouvel, and G. El-Zein. “High Data Rate Network Us-ing Automotive Powerline Communication”. In: Telecommunications,2007. ITST ’07. 7th International Conference on ITS. July 2007, pp. 1–4.DOI: 10.1109/ITST.2007.4295835.[25] W. Gouret, F. Nouvel, and G. El-Zein. “Powerline Communica-tion on Automotive Network”. In: Vehicular Technology Conference,2007. VTC2007-Spring. IEEE 65th. Apr. 2007, pp. 2545–2549. DOI:10.1109/VETECS.2007.524.[26] Bastian Bloessl et al. “An IEEE 802.11a/g/p OFDM Receiver for GNURadio”. In: ACM SIGCOMM 2013, 2nd ACM SIGCOMM Workshop ofSoftware Radio Implementation Forum (SRIF 2013). Hong Kong, China:ACM, Aug. 2013, pp. 9–16. DOI: 10.1145/2491246.2491248.[27] Nico Otterbach et al. “Software-Defined Radio for Power LineCommunication Research and Development”. In: Proceedings of the2015 Workshop on Software Radio Implementation Forum. SRIF ’15.Paris, France: ACM, 2015, pp. 37–42. ISBN: 978-1-4503-3532-4. DOI:10.1145/2801676.2801690. URL:[28] P. Tanguy and F. Nouvel. “Vehicle Power Line Communication(VPLC) using SDR demonstrator”. In: 2012.[29] Fabienne Nouvel and Philippe TANGUY. “In Vehicle Commu-nication Networks : A Power Line Communication Study andDemonstrator for Infotainment Applications”. In: Best Award Paper.IARIA. NICE, France, Oct. 2014. URL:[30] A. Pinomaa et al. “Utilization of Software-Defined Radio in powerline communication between motor and frequency converter”. In:Power Line Communications and Its Applications (ISPLC), 2010 IEEE In-ternational Symposium on. Mar. 2010, pp. 172–177. DOI: 10.1109/ISPLC.2010.5479887.[31] Inc Free Software Foundation. IT++. Version 4.3.1. July 6, 2013. URL:[32] Matthew C Valenti and Jian Sun. “The UMTS turbo code and an effi-cient decoder implementation suitable for software-defined radios”.In: International journal of wireless information networks 8.4 (2001),pp. 203–215.[33] H. Minn, M. Zeng, and V. K. Bhargava. “On timing offset estimationfor OFDM systems”. In: IEEE Communications Letters 4.7 (July 2000),pp. 242–244. ISSN: 1089-7798. DOI: 10.1109/4234.852929.[34] R. Riva et al. “Improved HomePlug AV channel estimation exploitingsounding procedure”. In: Power Line Communications and Its Applica-tions, 2009. ISPLC 2009. IEEE International Symposium on. Mar. 2009,pp. 296–300. DOI: 10.1109/ISPLC.2009.4913446.[35] Abraham Charnes, EL Frome, and Po-Lung Yu. “The equivalence ofgeneralized least squares and maximum likelihood estimates in theexponential family”. In: Journal of the American Statistical Association71.353 (1976), pp. 169–171.[36] Robert G Gallager. “Circularly-symmetric Gaussian random vec-tors”. In: (2008).103BIBLIOGRAPHY[37] H. Kobayashi, B.L. Mark, and W. Turin. Probability, Random Processes,and Statistical Analysis: Applications to Communications, Signal Process-ing, Queueing Theory and Mathematical Finance. Cambridge UniversityPress, 2011. ISBN: 9781139502610. URL:[38] D. Altolini et al. “Preamble-based channel estimation in HomePlugAV systems”. In: Power Line Communications and Its Applications (IS-PLC), 2012 16th IEEE International Symposium on. Mar. 2012, pp. 176–181. DOI: 10.1109/ISPLC.2012.6201326.[39] X. Ding, J. Meng, and B. R. Petersen. “Blind Channel Estimation forHomePlug Power-Line Communications: A Feasibility?” In: IEEETransactions on Power Delivery 26.2 (Apr. 2011), pp. 754–763. ISSN:0885-8977. DOI: 10.1109/TPWRD.2009.2038477.[40] J. A. Cortes, A. M. Tonello, and L. Diez. “Comparative Analysisof Pilot-based Channel Estimators for DMT Systems Over IndoorPower-line Channels”. In: 2007 IEEE International Symposium onPower Line Communications and Its Applications. Mar. 2007, pp. 372–377. DOI: 10.1109/ISPLC.2007.371153.[41] P. Corlay et al. “Improving Channel Estimation in Power Line Com-munications by using Linear Interpolation Revitalized”. In: 2007IEEE International Symposium on Power Line Communications and ItsApplications. Mar. 2007, pp. 471–475. DOI: 10.1109/ISPLC.2007.371170.[42] V. Degardin, M. Lienard, and P. Degauque. “Optimisation of equal-isation algorithm for power line communication channel”. In: Elec-tronics Letters 39.5 (Mar. 2003), pp. 483–485. ISSN: 0013-5194. DOI: 10.1049/el:20030286.[43] Marc C Necker and Gordon L Stuber. “Totally blind channel estima-tion for OFDM over fast varying mobile channels”. In: Communica-tions, 2002. ICC 2002. IEEE International Conference on. Vol. 1. IEEE.2002, pp. 421–425.104BIBLIOGRAPHY[44] M. C. Necker and F. Sanzi. “Generalized 8-PSK for totally blind chan-nel estimation in OFDM”. In: Vehicular Technology Conference, 2004.VTC 2004-Spring. 2004 IEEE 59th. Vol. 2. May 2004, 924–928 Vol.2.DOI: 10.1109/VETECS.2004.1388965.[45] Shengli Zhou and G. B. Giannakis. “Finite-alphabet based channel es-timation for OFDM and related multicarrier systems”. In: IEEE Trans-actions on Communications 49.8 (Aug. 2001), pp. 1402–1414. ISSN: 0090-6778. DOI: 10.1109/26.939873.[46] J.A. Cortes et al. “Analysis of the periodic noise on in-vehicle broad-band power line channels”. In: Power Line Communications and Its Ap-plications (ISPLC), 2012 16th IEEE International Symposium on. Mar.2012, pp. 334–339. DOI: 10.1109/ISPLC.2012.6201305.[47] Alan V. Oppenheim, Ronald W. Schafer, and John R. Buck. Discrete-time Signal Processing (2Nd Ed.) Upper Saddle River, NJ, USA:Prentice-Hall, Inc., 1999. ISBN: 0-13-754920-2.[48] Alexander M. Wyglinski, F. Labeau, and P. Kabal. “Bit loading withBER-constraint for multicarrier systems”. In: Wireless Communi-cations, IEEE Transactions on 4.4 (July 2005), pp. 1383–1387. ISSN:1536-1276. DOI: 10.1109/TWC.2005.850313.[49] Andreas Molisch. Wireless Communications. Wiley-IEEE Press, 2005.ISBN: 047084888X.[50] J.G. Proakis. Digital Communications. Electrical engineering series.McGraw-Hill, 2001. ISBN: 9780072321111. URL:[51] M. Zimmermann and K. Dostert. “Analysis and modeling of impul-sive noise in broad-band powerline communications”. In: IEEE Trans-actions on Electromagnetic Compatibility 44.1 (Feb. 2002), pp. 249–258.ISSN: 0018-9375. DOI: 10.1109/15.990732.[52] Roee Bar. gr-plc. URL:[53] Johannes Demel, Sebastian Koslowski, and Friedrich K. Jondral. “ALTE Receiver Framework Using GNU Radio”. In: J. Signal Process.Syst. 78.3 (Mar. 2015), pp. 313–320. ISSN: 1939-8018. DOI: 10.1007/s11265-014-0959-z. URL:[54] Florian Gruber. “MIMO PLC Channel Emulation with Application toVehicular PLC”. MA thesis. Lehrstuhl fu¨r Informationsu¨bertragungFriedrich-Alexander-Universita¨t Erlangen-Nu¨rnberg, 2014.[55] J. Sijbers et al. “Maximum-likelihood estimation of Rician distribu-tion parameters”. In: IEEE Transactions on Medical Imaging 17.3 (June1998), pp. 357–361. ISSN: 0278-0062. DOI: 10.1109/42.712125.106Appendix ADerivationsA.1 Rice Parameter EstimationLet {Yi}Li=1 be L independent random variables following the distributionRice(µ, σ/αi) [37]. The second moment of Yi is given by:E[Y 2i]= µ2 + 2σ2/α2i .Let σˆ2 be an estimate for σ2. An estimate for µ2 is thenµˆ2 =∑Li=1 α2iY2i − 2Lσˆ2∑Li=1 α2i. (A.1)This formula is based on an estimator shown in [55] except that each Riciansample is weighted proportionally to its σ2/α2i parameter.Note that the expected value isE[µˆ2|σˆ2] = µ2 + 2L(σ2 − σˆ2)∑Li=1 α2i.This expected value shows that the estimate is biased. The equation alsoshows that adding samples with low αi increases the bias term.However, the variance of of the estimate isVar(µˆ2)=4σ2∑Li=1 α2i(Lσ2∑Li=1 α2i+ µ2)107Appendix A. DerivationsIt can be shown that adding samples even with low αi can reduce the esti-mator variance.We estimate µ by µˆ =√µˆ2. For the simple case of αi = 1,∀i and whereµσ  1 (high SNR), we have the following expected value of µˆ [55]:E [µˆ] ≈ µ− σ22Lµ.A.2 OFDM Symbol EnergyA.2.1 Generated SymbolThe average energy of an IEEE 1901 OFDM symbol is given by:ES =A2R2N× N˜N2 × 1N× 1Fs×A2GEach term in the formula is described below.• As defined in IEEE 1901, each OFDM symbol is multiplied by AR√2N,where AR = 102.2/20 is the relative power boost of 2.2 dB for payloadsymbols. For the preamble and frame control AR = 103/20.• We have N˜ active carriers where each carrier has an average ampli-tude of N in the DFT domain (thus unit amplitude in the time do-main). This corresponds to the N˜N2 factor.• The term 1N is the Parseval’s theorem factor for energy in the DFTdomain.• We then multiply by the sampling interval 1Fs for a continuous timetotal energy.• The factorAG is the gain. The gain is determined by the user. Usuallyit is chosen empirically so the real and the imaginary part of the signalwill not exceed 1 or −1 as this is the input range for the USRPs.108Appendix A. DerivationsSimplifying the formula givesES =A2RN˜A2G2Fs.The average power is given by:PS =ESFsN=A2RN˜A2G2N.For N˜ = 512, Fs = 25× 106 and AG = 0.3, we haveES =102.2/10 × 512× 0.322× 25× 106 = 1.5295× 10−6, andPS =102.2/10 × 512× 0.322× 2048 = 0.0186.A.2.2 Received SymbolThe average energy of a received noise-free IEEE 1901 OFDM symbol r(t)is given by:ER = E[∫ NT0|r(t)|2dt]≈ NFs∑k|H[k]|2 , (A.2)where the summation is over all non masked carriers k.The derivation is described below.• Note that ∫ NT0|r(t)|2dt ≈N−1∑k=0|r[n]|2 T = 1NN−1∑k=0|R[k]|2 T . (A.3)• Since |R[k]|2 = |H[k]S[k]|2, thenE[|R[k]|2]= |H[k]|2 ×N2,109Appendix A. Derivationswhere we assumed E[|S[k]|2]= N2. Substituting it in Equation A.3gives Equation A.2, where T = 1Fs .The average power PR = ER/NT is given by:PR ≈∑k|H[k]|2 .Note that since the true H[k] is unknown we use Hˆ[k] instead.110


Citation Scheme:


Citations by CSL (citeproc-js)

Usage Statistics



Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            async >
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:


Related Items