A LOW-COST SOFTWARE-DEFINED TELEMETRY RECEIVER

Similar documents
Faculty of Information Engineering & Technology. The Communications Department. Course: Advanced Communication Lab [COMM 1005] Lab 6.

PLC2 FPGA Days Software Defined Radio

Spectral Monitoring/ SigInt

SOQPSK Software Defined Radio

THIS work focus on a sector of the hardware to be used

Developing a Generic Software-Defined Radar Transmitter using GNU Radio

HY448 Sample Problems

A DSP IMPLEMENTED DIGITAL FM MULTIPLEXING SYSTEM

VLSI Implementation of Digital Down Converter (DDC)

On the Design of Software and Hardware for a WSN Transmitter

From Antenna to Bits:

Research on DQPSK Carrier Synchronization based on FPGA

A GENERAL SYSTEM DESIGN & IMPLEMENTATION OF SOFTWARE DEFINED RADIO SYSTEM

Design and FPGA Implementation of an Adaptive Demodulator. Design and FPGA Implementation of an Adaptive Demodulator

Implementation of Digital Signal Processing: Some Background on GFSK Modulation

AN FPGA IMPLEMENTATION OF ALAMOUTI S TRANSMIT DIVERSITY TECHNIQUE

Digital Low Level RF for SESAME

Software Defined Radio in Ham Radio Dennis Silage K3DS TS EPA Section ARRL

NI USRP Lab: DQPSK Transceiver Design

Presentation Outline. Advisors: Dr. In Soo Ahn Dr. Thomas L. Stewart. Team Members: Luke Vercimak Karl Weyeneth. Karl. Luke

Simulating and Testing of Signal Processing Methods for Frequency Stepped Chirp Radar

Keywords: CIC Filter, Field Programmable Gate Array (FPGA), Decimator, Interpolator, Modelsim and Chipscope.

Introduction of USRP and Demos. by Dong Han & Rui Zhu

Channelization and Frequency Tuning using FPGA for UMTS Baseband Application

RF/IF Terminology and Specs

Costas Loop. Modules: Sequence Generator, Digital Utilities, VCO, Quadrature Utilities (2), Phase Shifter, Tuneable LPF (2), Multiplier

Session 3. CMOS RF IC Design Principles

UTILIZATION OF AN IEEE 1588 TIMING REFERENCE SOURCE IN THE inet RF TRANSCEIVER

Lecture 9: Spread Spectrum Modulation Techniques

Department of Electronics & Telecommunication Engg. LAB MANUAL. B.Tech V Semester [ ] (Branch: ETE)

BPSK_DEMOD. Binary-PSK Demodulator Rev Key Design Features. Block Diagram. Applications. General Description. Generic Parameters

Signals and Systems Lecture 9 Communication Systems Frequency-Division Multiplexing and Frequency Modulation (FM)

ELEC3242 Communications Engineering Laboratory Amplitude Modulation (AM)

EE 400L Communications. Laboratory Exercise #7 Digital Modulation

Digital Communication

Experiment 9. PID Controller

SOFTWARE DEFINED RADIO IMPLEMENTATION IN 3GPP SYSTEMS

Realization of Programmable BPSK Demodulator-Bit Synchronizer using Multirate Processing

Implementing Software Defined Radio a 16 QAM System using the USRP2 Board

Digital Logic, Algorithms, and Functions for the CEBAF Upgrade LLRF System Hai Dong, Curt Hovater, John Musson, and Tomasz Plawski

ON SYMBOL TIMING RECOVERY IN ALL-DIGITAL RECEIVERS

Introduction to Receivers

Design Implementation Description for the Digital Frequency Oscillator

CHAPTER 2 DIGITAL MODULATION

Lecture 6 SIGNAL PROCESSING. Radar Signal Processing Dr. Aamer Iqbal Bhatti. Dr. Aamer Iqbal Bhatti

PULSE CODE MODULATION TELEMETRY Properties of Various Binary Modulation Types

DIGITAL FILTERING OF MULTIPLE ANALOG CHANNELS

Department of Electronics & Communication Engineering LAB MANUAL SUBJECT: DIGITAL COMMUNICATION LABORATORY [ECE324] (Branch: ECE)

RF and Microwave Test and Design Roadshow Cape Town & Midrand

TELECOMMUNICATION SATELLITE TELEMETRY TRACKING AND COMMAND SUB-SYSTEM

High Speed & High Frequency based Digital Up/Down Converter for WCDMA System

Software Design of Digital Receiver using FPGA

3 USRP2 Hardware Implementation

2002 IEEE International Solid-State Circuits Conference 2002 IEEE

High speed FPGA based scalable parallel demodulator design


ELEC3242 Communications Engineering Laboratory Frequency Shift Keying (FSK)

Time and Frequency Corrections in a Distributed Network Using GNURadio

STRS COMPLIANT FPGA WAVEFORM DEVELOPMENT

ECE5713 : Advanced Digital Communications

Case Study: and Test Wireless Receivers

THE BENEFITS OF DSP LOCK-IN AMPLIFIERS

DESIGN AND PERFORMANCE OF A SATELLITE TT&C RECEIVER CARD

Mobile Computing GNU Radio Laboratory1: Basic test

Principles of Communications ECS 332

AM, PM and FM mo m dula l ti t o i n

EE 460L University of Nevada, Las Vegas ECE Department

A-D and D-A Converters

Mobile & Wireless Networking. Lecture 2: Wireless Transmission (2/2)

Block Diagram. i_in. q_in (optional) clk. 0 < seed < use both ports i_in and q_in

EXPERIMENT 2: Frequency Shift Keying (FSK)

Software-Defined Radio using Xilinx (SoRaX)

Using a COTS SDR as a 5G Development Platform

YEDITEPE UNIVERSITY ENGINEERING FACULTY COMMUNICATION SYSTEMS LABORATORY EE 354 COMMUNICATION SYSTEMS

Image transfer and Software Defined Radio using USRP and GNU Radio

RPI TEAM: Number Munchers CSAW 2008

DESIGN AND IMPLEMENTATION OF AN ALGORITHM FOR MODULATION IDENTIFICATION OF ANALOG AND DIGITAL SIGNALS

Design of Simulcast Paging Systems using the Infostream Cypher. Document Number Revsion B 2005 Infostream Pty Ltd. All rights reserved

The figures and the logic used for the MATLAB are given below.

Software Radio Network Testbed

EECS 122: Introduction to Computer Networks Encoding and Framing. Questions

Design of Xilinx Based Telemetry System Using Verilog

Analysis and Simulation of UHF RFID System

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY NH-67, TRICHY MAIN ROAD, PULIYUR, C.F , KARUR DT.

Software radio. Software program. What is software? 09/05/15 Slide 2

Wireless Communication Fading Modulation

RF and Microwave Test and Design Roadshow 5 Locations across Australia and New Zealand

EE3723 : Digital Communications

A 2 to 4 GHz Instantaneous Frequency Measurement System Using Multiple Band-Pass Filters

Downloaded from 1

Lab 2: Digital Modulations

ADI 2006 RF Seminar. Chapter II RF/IF Components and Specifications for Receivers

Recap of Last 2 Classes

Hardware/Software Co-Simulation of BPSK Modulator and Demodulator using Xilinx System Generator

4 FSK Demodulators. 4.1 FSK Demodulation Zero-crossing Detector. FSK Demodulator Architectures Page 23

Encoding and Framing

EECS 307: Lab Handout 2 (FALL 2012)

COMPUTER COMMUNICATION AND NETWORKS ENCODING TECHNIQUES

An Experiment Study for Time Synchronization Utilizing USRP and GNU Radio

Getting started with OPENCORE NMR spectrometer. --- Installation and connection ---

Transcription:

A LOW-COST SOFTWARE-DEFINED TELEMETRY RECEIVER Michael Don U.S. Army Research Laboratory Aberdeen Proving Grounds, MD ABSTRACT The Army Research Laboratories has developed a PCM/FM telemetry receiver using a low-cost commercial software-defined radio (SDR). Whereas traditional radio systems are implemented in hardware, much of the functionality of software-defined radios is defined in software. This gives them the flexibility to accommodate military telemetry standards as well as other specialized functions. After a brief review of telecommunication theory, this paper describes the receiver implementation on a commercial SDR platform. Data rates up to 10 Mbs were obtained through the customization the SDR s field programmable gate array. Software-defined radio, FM receiver KEY WORDS INTRODUCTION The Army Research Laboratories (ARL) has decades of experience using telemetry systems to transmit sensor data during flight tests for post-processing and analysis. Unfortunately, much of ARL s telemetry equipment is now antiquated and deteriorating. New telemetry equipment, purchased at great cost over a year ago, is still not working properly. In addition, there are frequently custom applications that standard equipment cannot support, such as real-time decoding of GPS (global positioning system) messages and AES (Advanced Encryption Standard) encryption. Furthermore, data requirements continue to increase as systems become more complex. New vision-based navigation systems demand data rates beyond those supported by standard telemetry systems. With the proliferation of wireless communication, it would seem that an inexpensive commercial radio solution could be found. This solution remains elusive, however, due to the specialized requirements of military testing. These problems lead ARL to develop a software-defined radio (SDR) telemetry solution. Whereas traditional radio systems were implemented in hardware, much of the functionality of software-defined radios is defined in software. This makes them a highly versatile platform that can support military telemetry standards as well as research into new telemetry schemes. As technology advances, SDRs will become faster, smaller, more power efficient, and less expensive. Already, system-on-chip technology is incorporating multiple SDR components into 1

a single integrated circuit (IC). This makes SDR not only a platform for receivers, but also a practical option for higher volume telemetry transmitters. Due to the versatile nature of SDR, telemetry research can be adapted to other RF (radio frequency) applications, such as two-way communications, GPS, radar, anti-jamming, and IED (improvised explosive device) countermeasure development. This paper presents initial research developing an SDR telemetry receiver suitable for our current FM/PCM S-band transmitters, which employ BFSK (binary frequency shift key) modulation. Receiver theory, consisting of an overview of BFSK communication and bit synchronization, is reviewed first. Next, two SDR receiver implementations are presented. The first uses a SDR to acquire I/Q (Inphase/Quadrature) data and a LabVIEW program on a host computer to implement the BFSK receiver. This design worked successfully, but was too slow for typical ARL applications. The second design moved the radio algorithms to the SDR s onboard FPGA (field programmable gate array). This resulted in increased performance supporting data rates up to 10 Mbs (megabits per second). Finally, various additional features are presented as well improvements planned for the future. BFSK I/Q MODULATION In wireless communications, information is transmitted by using a modulation signal to vary a high-frequency carrier signal. Given a sinusoidal carrier of frequency, information can be encoded by modulating the amplitude (), frequency (), or phase (). cos 2 (1) This modulation can be reformulated in terms of I/Q data applied to a carrier signal (cosine) and a 90 shifted version of the carrier (sine) to produce the desired amplitude, frequency, and phase changes. 2_ cos2 sin2 (2) The modulation is formatted in this manner because the RF (radio frequency) transmitter hardware outlined in the left side of Figure 1 is relatively simple to implement. Figure 1. I/Q modulator and demodulator After the modulated signal is transmitted, it is received and demodulated to extract the encoded information. A block diagram of an I/Q demodulator is shown on the right side of Figure 1. The incoming RF signal is multiplied by I/Q sinusoids to produce and. These signals, 2

simplified using double angle formulas, contain the baseband I/Q data with additional signals at twice the carrier frequency. 4 sin 4 (3) 4 cos4 (4) Filtering out these higher frequencies using a low pass filter restores the original data. Real modulation and demodulation hardware may make use of intermediate frequencies (IF) in the conversion process, but the basic theory remains the same. BFSK is a modulation technique that uses the frequency of a carrier signal to encode information. Binary symbols 1 and 0 correspond to a frequency deviation of! and! respectively. " cos2! (5) # cos2! (6) Using the angle sum identity and the fact that cosine and sine are even and odd functions respectively, " and # can be rewritten in the I/Q format from Equation 2 with I and Q defined as " cos2!, " sin2! (7) # cos2!, # sin2! (8) Figure 2 shows the process of BFSK modulation. The top plot shows the binary data. The next plot shows the phase angle used to generate the I/Q data. The phase angle is the angle of the sine and cosine terms in equations 7 and 8. This gives the phase angle a slope of 2! for a data bit of 1, and a slope of 2! for a data bit of 0. The third plot shows the I/Q data itself generated from the phase angle. The last plot shows the modulated carrier signal with higher frequencies corresponding to data bit of 1 and lower frequencies corresponding to a 0. Phase (rad) Figure 2. BFSK Modulation 3

Figure 3 shows the demodulation process. The top plot shows the received signal. The next plot shows the recovered I/Q data. Since the I/Q data was formed from the cosine and sine of the phase angle, the phase angle can be recovered from the inverse tangent of Q divided by I. $ %" & ' ( 9 The original data can then be extracted from the slope of the phase angle through differentiation. This is shown in the bottom plot where the recovered data overlaps the original data. Phase (rad) Figure 3. BFSK Demodulation BIT SYNCRONIZTION In the low noise demodulation simulation above, it is easy to distinguish the recovered data bits. As noise increases, the data bits become harder to distinguish. By integrating over the bit period, the noise can be averaged out and the data recovered. Figure 4 shows a simulation using the same data as in Figure 3, except with more noise added to the received signal. The top plot shows the received data bits, which are now difficult to distinguish. The blue signal in the bottom plot shows the noisy data integrated over the bit periods, marked by a sampling clock in red. At the falling edge of the sampling clock, the final sum of the integrated data bit is marked with an asterisk. A negative value indicates a data bit of 0, while a positive value indicates a 1. Comparing the recovered data here to the data in Figure 3, it can be observed that all of the bits have been detected correctly. Before the data can be integrated over the bit period, the location of the bit boundaries must be known. This process of locating and recovering the data bits is called bit synchronization. Figure 5 shows a block diagram of a bit synchronizer. The period is determined by the digitally controlled oscillator (DCO) that creates the bit clock used for bit detection. The digital phase 4

detector detects the phase error between the bit clock generated by the DCO and data signal. This error signal is filtered in the digital loop filter and fed back to correct the phase of the DCO. When tuned correctly, the DCO will become synchronized to the data. The bit detector can then detect the data by integrating over the bit period. Figure 4. Recovered data integrated over bit period Figure 5. Bit Synchronizer block diagram Figure 6 illustrates how a simple digital phase detector generates the phase error for different cases of alignment between the clock and data signals (1). The black signal is the data and the red signal is the bit clock, here only transitioning once per bit period. The first half of the clock period is shaded yellow, and the second half is shaded blue. Each bit period has N samples denoted as *, with +1,,/0. The phase error, 12232, is calculated as 7/9 7 12232 4 56 * 6 * <56 * 6 * < 10 *8" *8 7 9 :" 7/9 *8" 7 *8 7 9 :" The summation from 1 to N/2 is the summation of data samples corresponding to the first half of the clock period, and the summation from N/2+1 to N is for the last half of the clock period. A positive error value indicates that the DCO should make the clock earlier, while a negative value indicates that the clock should be delayed. Subplot A in Figure 6 shows the data synchronized to the bit clock. In this case the difference term will be close to zero, making the phase error close to zero. In subplot B the data bit is early and positive. This will cause the difference term to be 5

positive, and the sign term to be positive, creating a positive error indicating that the clock should be made earlier. In subplot C the data is late and positive, making the difference term negative and the sign term positive. This leads to a negative error indicating that the clock should be delayed. In subplot D the data is early and negative, making the difference negative and the sign negative. The resulting positive error will indicate the clock should be made earlier. Subplot E shows late and negative data. The difference will be positive and the sign will be negative. The resulting positive error will cause the clock to be delayed. These cases are summarized in Table 1. Table 1. Summary of digital phase detector operation Subplot Bit Value Data Offset Difference Term Sign Term Error A 1 Early + + + B 1 Late - + - C 0 Early - - + D 0 Late + - - The rest of the bit synchronizer is straight forward. The DCO is implemented as a counter. When the phase error is positive the DCO counter is delayed by one, and when it is negative the counter will skip one count ahead. The loop filter is implemented as a threshold. The phase of the bit clock is adjusted only if the magnitude of the error signal is above the threshold, otherwise it will remain the same. The bit detector sums all of the samples of the bit. If the sum is positive, the bit is designated as a 1, and if it is negative, a 0. Figure 6. Digital phase detector graphs 6

SDR IMPLEMENTATION The initial implementation of the SDR telemetry system used a USRP N210. A block diagram is shown in Figure 7. During transmission, the I/Q data is supplied by a host computer through an Ethernet connection. This data in interpolated using cascaded integrator-comb (CIC) filters and is then converted to IF data with a digital up converter (DUC) in the USRP s FPGA. The IF data is then converted to analog through the DAC (digital to analog converter), and then passed to a daughter board for conversion to higher frequencies for transmission (2). Figure 7. USRP N210 block diagram This project used an SBX daughterboard, supporting carrier frequencies from 400 to 4400 MHz at a maximum output power of 100mW. The daughter board also has a receiver that converts the RF signal to IF I/Q data, which is then digitized in the ADC (analog to digital converter). The digitized IF data is passed to the FPGA where it is converted to baseband by the digital down converter (DDC) in the FPGA. The baseband data are then decimated to a lower sampling rate and transmitted to the host computer through the Ethernet connection. National Instruments (NI) supports LabVIEW drivers to allow LabVIEW applications on the host computer to communicate with the USRP. For transmission, the host computer creates the I/Q data and specifies the data sampling rate, carrier frequency, and transmission power. Similar settings are also specified for reception, with the USRP providing the host computer with the recovered I/Q data. A simple BFSK transmitter and receiver were programmed in LabVIEW using the modulation theory and bit synchronization technique described above. Test data was transmitted in frames of 16, 16 bit words. Just as bit recovery requires bit synchronization to determine the start of the each bit period, so too frame recovery requires frame synchronization to determine the start of each frame. This is accomplished through use of a synchronization pattern at the beginning of the frame. During reception, the detected data bits are compared to the sync pattern. When there is a match, the beginning of the frame has been found. Data word boundaries can now be identified in reference to the beginning of the frame. Once an entire frame of words has been received, the search for the next sync pattern begins. Figure 8 shows the LabVIEW BFSK receiver. On the right graph, the data bits are clearly visible in white along with a synchronized clock in red. The left side shows the frame data. The constant sync word, 65131, is shown in the upper plot, and the lower plot shows an 8-bit frame counter included in the test frames. 7

Figure 8. Simple BFSK LabVIEW reciever Due to processing constraints, the fastest BFSK signal that could be received and processed in real-time had a 200 kbs data rate, using 800 khz for the I/Q sampling rate. Unfortunately, this is well below ARL s typical telemetry speeds of 4 Mbs. It was possible, however, to save higher rate I/Q data, and then extract the frames in post-processing. This was done successfully using 2.2555GHz M/A-COM FSK transmitters, but is not an ideal solution. In order to process higher data rates in real-time, the receiver algorithms had to be accelerated by moving them to the USRP s FPGA. For this implementation, the design used a USRP B200 platform. This is a single board SDR, using Analog Devices new RFIC that combines an RF front end, I/Q demodulator, and ADCs into a single IC that covers a range of 70 MHz to 6 GHz. Initially, the design using the N210 and LabVIEW was duplicated using the B200 and GNU Radio, an open-source SDR toolkit using the open-source USRP Hardware Driver (UHD) for communication to the host computer. Figure 9 shows this configuration. The B200 provides I/Q samples to the host computer, and the GNU Radio program performing the demodulation, bit sync, frame sync, and display. Bit rates up to 1 Mbs were achieved, still short of ARL s typical 4 Mbs telemetry rate. Figure 9. Standard USRP B200 design Figure 10. Customized USRP B200 design 8

Figure 10 shows the final architecture. Demodulation, bit sync, and frame sync modules were developed in Verilog and added to FPGA firmware. The decimating filters, which are normally required to reduce the data rate to speeds slow enough for the host computer to process, were able to be replaced by non-decimating filters due to the enhanced processing capabilities of the FPGA. Adapting the LabVIEW software developed for the N210, a telemetry display program was designed for the host computer. A separate program in C++ was written using the UHD to route data from the USRP to a UDP (User Datagram Protocol) port. The LabVIEW program reads the UDP port to access data from the USRP. Initial receiver sensitivity tests showed reliable detection of signals down to -84 dbm. This is certainly sufficient for laboratory use, but falls short of professional grade telemetry receivers. Use of an external low noise amplifier (LNA) should help increase receiver sensitivity. The host computer display program has fairly basic functionality compared to commercial telemetry software. This is not a significant disadvantage since ARL typically performs advanced analysis of telemetry on saved data using other software packages. Some features controlled by the telemetry software are Carrier frequency: 70 MHz 6 GHz Static gain control: 0 73 db Automatic gain control (AGC) option Selection of filters optimized for 4 Mbs or 10 Mbs data rates I/Q sample clock frequency (max 56 MHz) and samples per bit, used to set data rate 15-bit RNRZ-L randomizer option External, hardwired PCM signal input option Data save and playback Internally generated test PCM stream option Received signal strength indicator (RSSI) AES 256 decryption The AGC uses a Proportional-Integral-Derivative (PID) controller in the LabVIEW program. PID control uses proportional, integral, and derivative error terms to set the receiver s gain which controls the received signal strength (3). The RSSI signal is calculated on the USRP as the sum of the squares of the filtered I and Q data, right before the demodulation in Figure 10. The RSSI is placed at the end of the frames for transmission to the host computer. This is why frame synchronization is performed on the FPGA as well as the host computer, so that additional information can be placed at the end of the frames in the FPGA. Gain constants are used to tune the error terms. >? : Proportional gain, produces an output value proportional to the current error value > * : Integral gain, eliminates residual steady-state errors >! : Derivative gain, improves settling time and stability of the system t d u( t) = K pe( t) + Ki e( τ ) dτ + Kd e( t) (11) 0 dt 9

Figure 11 shows examples of the AGC controlling the received signal strength. The graph on the left shows AGC using only proportional control which exhibits oscillation in the RSSI signal. The graph on the right adds derivative control which eliminates this oscillation. Tuning of the integral gain did not seem to have much effect on the quality of the gain control. Figure 11. AGC example The AES decryption support is another noteworthy aspect of this design, but a detailed description is outside the scope of this paper. Enhancements planned for the future are Expanded display software GPS time-stamping Support for high order modulation schemes Real-time error code correction External low noise amplifier to increase receiver sensitivity CONCLUSION This paper has presented initial research into an SDR telemetry system. The flexible nature of SDR makes it an ideal platform for the specialized requirements of military flight testing. The first receiver implementation used the host computer to perform the radio algorithms. This proved to be too slow for typical ARL applications. The second version accelerated the receiver algorithms by moving them to the SDR s onboard FPGA, resulting in data rates up to 10Mbs. This basic receiver can be used with ARL s present PCM/FM transmitters, and provides a basis with which to research more advanced telemetry schemes, as well as other RF applications. ACKNOWLEDGEMENTS I am grateful to John Hallameyer for his help with receiver sensitivity testing. REFERENCES 1. Zicari, P., Corsonello, P., and Perris, S., "A high flexible early-late gate bit synchronizer in FPGA-based software defined radios", 4th European Conference on Circuits and Systems for Communications Proceedings, Bucharest, July 2008. 2. USRP N200/N210 Networked Series, Retrieved June 2015, from the URL http://www.ettus.com/content/files/07495_ettus_n200-210_ds_flyer_hr_1.pdf 3. Introduction: PID Controller Design, Retrieved June 2015, from the URL http://ctms.engin.umich.edu/ctms/index.php?example=introduction&section=controlpid 10