== **Programmable Metamaterial Antenna For Physical Layer Security** **Members:** Dylan Turner [UG], Prachi Patel [UG] **Project Advisors and Mentors:** Narayan Mandayam, ____ Wu, Hariharan Venkat == **PROJECT OVERVIEW** With the advent of the Internet of Things (IoT) revolution, there is an increasing need to develop low-cost physical layer security protocols for devices. This will reduce the computational power that is required and propagate energy savings to potentially tens of billions of IoT devices. This project proposes a computationally simpler solution that uses Metamaterial antenna arrays that scramble the signal for eavesdroppers from undesired directions. This is called Directional Modulation. [[Image()]] Previous researchers who have worked on this idea have successfully used Directional Modulation to securely transmit small amounts of data using low bandwidth. A problem arises however when larger amounts of data are transmitted, which require more bandwidth. It turns out that the Metamaterial Antenna is frequency-dependent. This means data sent on subcarrier waves with large differences in frequency ranges will be affected differently by the antenna, resulting in errors. [[Image(directional_modulation.png, 500px)]] The solution to this problem, and the focus of our research this summer, is called Symbol Precoding. [[Image(symbol_precoding.png, 500px)]] **Technologies:** GNU Radio, == **PROGRESS LOG** **Week 1 (5/28 - 5/30)** [https://docs.google.com/presentation/d/1ulUIl1nBwaNs0O2fuv4TT23h_kQwHrS-2Z11JWm-oBI/edit#slide=id.p Week 1 Slides] - We began reading the research paper our project is based on, which details the fundamental aspects of our topic. - We met with our mentor and began discussing topics in depth in regards to metamaterial antennas. - We learned how to use Orbit and the command line arguments in order to connect to the node along with turning it on and off. **Week 2 (6/3 - 6/6)** - We learned the fundamentals of Orthogonal Frequency Division Multiplexing (OFDM). - We watched an Introduction to Linux presentation. - We downloaded GNU Radio on our local devices. - We experimented with creating basic flow graphs. - We completed a tutorial with our mentor involving Sandbox 2, transmitting and receiving OFDM signals from two Software Defined Radios (SDR). **Week 3 (6/10 - 6/13)** - We began looking into source code for the OFDM transmitter block that required modification. - We learned how to output to file sink using GNURadio. - We researched related topics as we came across them in the flow graph, such as Cyclic Redundancy Check (CRC) which is essentially an error correction tool. - We viewed outputs for each individual block as Hex or Binary data. - Wrote a script to convert the complex number in Single precision IEEE 752 format to decimal using python. - We tried to visualize the output of the OFDM Carrier allocator, but ran into issues because we cannot use custom python blocks on mac due to a bug. - We modified the saving script to accept a second set of vectors as input which will multiply the OFDM carrier allocation output. **Week 4 (6/17 - 6/20)** - Created custom python blocks to interact with OFDM Carrier Allocator Block: - Prints its output in a readable format. - Multiplies specified carriers by precoded vector. - Studied the math that goes into Symbol Precoding. - Began implementing these functions using Python so we can complete our system and begin testing.