Download as pdf or txt
Download as pdf or txt
You are on page 1of 12

IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL.

70, 2021 9003612

Open-Source Heterogeneous Constrained


Edge-Computing Platform for Smart
Grid Measurements
Ashish Joglekar , Gurunath Gurrala , Senior Member, IEEE, Puneet Kumar ,
Francis C. Joseph , Graduate Student Member, IEEE, T. S. Kiran , Graduate Student Member, IEEE,
K. R. Sahasranand , and Himanshu Tyagi , Senior Member, IEEE

Abstract— This article presents a low-cost, open-source, Index Terms— Edge computing, Parallella, phasor measure-
heterogeneous, resource-constrained hardware platform called ment unit (PMU), power quality (PQ), signal compression,
“Parallella” as a measurement device for edge-computing appli- waveform recording.
cations research in smart grid. The unique hardware architec-
ture of the Parallella provides a multitude of edge-computing
I. I NTRODUCTION
resources in the form of a Zynq SoC (dual-core ARM + FPGA)
and a 16-core co-processor called Epiphany. A multifunctional
intelligent electronic device (IED) design is demonstrated to
showcase the capabilities of the platform. A custom I/O board
M OBILE computing architectures have improved the
capabilities of edge devices that are used in smart grid
applications. Multicore processors, graphic processing units
has been developed for the desktop and embedded versions of
Parallella, which can be interfaced with external daughter boards (GPUs), FPGAs, co-processors, and so on are being integrated
and peripherals for measurements. One such daughter board is with mobile-/edge-computing platforms at an ever-increasing
an analog sensing board, which can measure voltages of all the pace. Moreover, in recent years, many of these platforms
three phases and four line currents using a 16-bit synchronous are being made available as a development board to the
ADC set at 32 kHz. The ADC samples are synchronized to the research community, thus enabling unique edge-computing
PPS time clock of a GPS unit for providing global time reference.
These captured seven-channel raw waveform data are sent to a applications. Some popular platforms are NVIDIA-Jetson,
cloud server over a bandwidth-limited communication channel Adapteva Parallella, Zynq Z-board, Intel Agilex, and so on
using a custom anomaly-aware data compression algorithm for industrial/product development. Rasberry-Pi, Beaglebone,
implemented on the ARM. A phasor measurement algorithm and so on are being used for the hobbyists or proof-of-concept
using the Teager energy operator (TEO) is implemented on the developments [1].
field-programmable gate array (FPGA). A parallel power qual-
ity (PQ) measurement algorithm is implemented on the Epiphany. Many measurement platforms with multiple functionali-
The obtained measurements are found to be comparable to a ties, called intelligent electronic devices (IEDs), have been
commercial power analyzer. proposed in the literature for recording and analyzing mea-
sured signals. A microcontroller with two dsPIC33 proces-
Manuscript received January 15, 2021; revised March 26, 2021; accepted sors proposed in [2], one for sampling data at 7.68 kHz
April 21, 2021. Date of publication May 10, 2021; date of current version computations and the other for communication/device control,
June 17, 2021. This work was supported in part by the Bosch Research to satisfy the power quality (PQ) measurement requirements
and Technology Centre, Bengaluru, India, and in part by the Robert Bosch
Centre for Cyber-Physical Systems, Indian Institute of Science at Bengaluru, of the Brazilian power system. A synchronized 10-kHz data
India, through the Project E-Sense: Sensing and Analytics for Energy Aware recorder is discussed in [3] with fast Fourier transform (FFT)
Smart Campus. The Associate Editor coordinating the review process was for feature extraction. The need for low-cost measurement
Dr. Guglielmo Frigo. (Corresponding author: Gurunath Gurrala.)
Ashish Joglekar is with the Robert Bosch Centre for Cyber-Physical devices for research purposes has been recognized in [4]
Systems, Indian Institute of Science at Bengaluru, Bengaluru 560012, India. and developed an OpenPMU, which captures six channels of
Gurunath Gurrala is with the Department of Electrical Engineering, data at 6.4 kHz. In [5], an FPGA-based phasor measurement
Indian Institute of Science at Bengaluru, Bengaluru 560012, India, and
also with the Robert Bosch Centre for Cyber-Physical Systems, Indian unit (PMU) with a sampling rate of 12.8 kHz is proposed.
Institute of Science at Bengaluru, Bengaluru 560012, India (e-mail: In [6], a multipurpose board based on Mini-ITX Motherboard
gurunath_gurrala@yahoo.co.in). with peripherals performing PMU, PQ, and signal capture
Puneet Kumar, Francis C. Joseph, and T. S. Kiran are with the Department
of Electrical Engineering, Indian Institute of Science at Bengaluru, Bengaluru at 25.6 kHz is proposed. A 12.8-kHz sampling rate analog-
560012, India. to-digital (A/D) board is proposed in [7], which was inter-
K. R. Sahasranand is with the Department of Electrical Communication faced to notebooks for communicating the data to upstream
Engineering, Indian Institute of Science at Bengaluru, Bengaluru 560012,
India. servers. The notebooks were used for PQ indices computations
Himanshu Tyagi is with the Department of Electrical Communication as well. In [8], a waveform recorder with sampling rate
Engineering, Indian Institute of Science at Bengaluru, Bengaluru 560012, of 7.68 kHz is developed on an FPGA & ARM Cortex
India, and also with the Robert Bosch Centre for Cyber-Physical Systems,
Indian Institute of Science at Bengaluru, Bengaluru 560012, India. M4 board, which uses data compression based on a novelty
Digital Object Identifier 10.1109/TIM.2021.3078557 detection in the waveform using discrete wavelet transform
1557-9662 © 2021 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.
See https://www.ieee.org/publications/rights/index.html for more information.

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
9003612 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 70, 2021

to reduce the transmission size. In [9], a PMU is developed sigma–delta ADC at a maximum sampling rate of 64 kHz,
on a BeagleBone Black, which features an ARM core and is developed for Parallella.
two programmable real-time units (PRUs) responsible for A technique to synchronize the ADC’s clock to the GPS
sampling at 12.8 kHz. Usage of either a discrete PLL ASIC time clock PPS reference is also provided [9]. A custom serial
or a software-based PLL with reduced accuracy for the GPS peripheral interface (SPI) ADC driver and a GPS driver to
discipline of the ADC clock was also discussed. The ARM synchronize to GPS time clock reference have been developed
performed frequency and phasor estimation along with data on FPGA.
communication. An FPGA-based PMU sampled at 32 kHz is A custom FPGA binary has been compiled to port the devel-
proposed in [10] using a NovTech IoT Octopus board with an oped custom drivers and algorithms. The developed binary file
iterative Interpolated DFT algorithm for estimation. In [11], exposes the Zynq I/Os without losing the default e-link driver
a review of commercial PMUs, open-source PMUs, and inte- responsible for high-speed communication interface between
grated PMU with digital protective relay functions is provided. the ARM and the Epiphany co-processor. Three applications
In [12], a 50-kHz IED intended for research and prototyping are demonstrated: a custom anomaly-aware data compression
HVDC protection on real-time simulators is discussed. Built algorithm on the ARM to enable the transfer of high-frequency
on ZedBoard with modular peripherals, the IED performs sampled waveform data to a server, a Teager energy operator
16-channel signal sampling on one of its peripheral module (TEO)-based phasor measurement algorithm proposed in [16]
and GPS synchronization on another. A very high-frequency on the FPGA, and a parallel PQ measurement algorithm [17]
sampling rate data capturing device, 215 samples per cycle, on 16-core Epiphany. The accuracy of the raw measurements
is proposed in [13], which requires a powerful desktop for and the PQ measurements is compared with the measurements
real-time signal processing and frequency estimation. obtained from a high-end commercial power analyzer. This is
This article focuses on the development of a measure- a first-of-its-kind effort in the literature, to the best of our
ment platform with edge-computing capabilities for smart knowledge, that explores the applicability of an open-source
grids based on a unique hardware developed by Adapteva, edge-computing platform under 5 W, with three varieties of
advertized as a credit card-sized supercomputer, Parallella. computing modules for a smart grid measurement platform.
This platform has three compute units: a Zynq SoC (an
industry-proven SoC), housing FPGA + Dual-core ARM II. M ULTIFUNCTIONAL IED H ARDWARE D ESIGN
Cortex-A9 MPCore, clocked at 650 MHz, and a 16-core A 5-W, 18-core credit card-sized microcomputer called
Epiphany co-processor. Parallella is available in three vari- Parallella-Desktop is used as the edge-computing module
ants, namely, server version ($99), desktop version ($159), in this article. The heart of this microcomputer is the
and an embedded version ($249) consuming less than 5 W. Zynq-7010 SoC, which features a seven-series FPGA pro-
This heterogeneous resource-constrained compute architecture grammable logic. The FPGA features 28k logic cells, 2.1 Mb
combines features of CPU, DSP, and ASSP on a single of block RAM, 80 DSP slices, and 150 I/O pins. The
board and makes the Parallella unique. This heterogeneous cores of Epiphany can exchange data with each other via
compute platform has been used as a compute node, accel- a low-latency mesh network on chip [15]. The Epiphany
erator, microserver, and server cluster in research applications architecture allows programming of each core using typical
covering image processing, video filtering, encryption, AI, and C code [18]. An SRAM alongside each core is required to be
machine learning [14]. managed, considering the lack of cache. At 2 W, the Epiphany
Parallella does not come with preprogrammed I/O interface SoC provides promising power efficiency (performance/watt).
options for any external sensor integration. The internal ARM The Epiphany talks with the Zynq over e-Link implemented
ADC is disabled on all versions of the Parallella. The default on the FPGA. The Epiphany e-Link driver can be accessed
FPGA binary file on Parallella does not allow an external sen- from the ARM’s userspace over a memory-mapped AXI inter-
sor interface to the FPGA GPIOs. The co-processor Epiphany face. The device connects to a 10-Mbps Ethernet backhaul.
can only be accessed from the ARM through a proprietary The device also has 1-GB SDRAM and 32 GB of onboard
e-Link protocol module implemented on the FPGA [15]. Any SD card storage.
configuration or modification on Parallella requires modifica- Fig. 1(a) and (b) shows the functional block diagram and the
tion of the FPGA binary file. Modifying the FPGA binary proposed implementation architecture on the Parallella. Three
of Parallella was not attempted before since it might impact voltage measurements for phase voltages, four current mea-
the working of the Epiphany. This limited the application of surements for line currents, and neutral current are provided
Parallella as a sensor node with edge-computing capabilities. using an AFE daughter board. The AFE and Parallella interact
An attempt is made in this article to harness the capabilities via a custom I/O board, which also provides the necessary
of Parallella as a powerful sensor node. hardware interfaces for making peripherals compatible with
A custom I/O board for the Parallella desktop and embedded the Zynq SoC. The developed IED using Parallella and the
versions is developed to expand the parallella capabilities I/O board is shown in Fig. 2(a) and (b), respectively. The IED
for peripheral sensors integration. The developed I/O board provides eight high drive strength GPIOs for the actuation of
provides high-speed, level-shifted GPIO interface to external external circuit breakers or relays. The AFE can accommodate
peripherals. One such peripheral, an analog front-end (AFE) eight differential analog channels for the IED. The clock for
daughterboard for analog measurements, using a synchronous AFE is generated from the GPS reference. The data generated

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
JOGLEKAR et al.: OPEN-SOURCE HETEROGENEOUS CONSTRAINED EDGE-COMPUTING PLATFORM 9003612

Fig. 1. IED design on Parallella. (a) Functional block diagram of the proposed IED. (b) Implementation architecture on Parallella.

Fig. 2. Developed IED using Parallella. (a) Prototype IED. (b) I/O board.

from the ADC move via the I/O board to the FPGA component arbitrator to send sampled data obtained from the FPGA-based
of the Zynq SoC. The data are buffered in a 16-sample ADC driver to the multicore co-processor. The Epiphany is
wide first in–first out (FIFO) buffer from which different used for data crunching applications, such as computation
applications can consume the data. of PQ on the measured signals. For want of space, security
The efficient utilization of the available compute mod- algorithms implemented on Parallella are not discussed, and
ules is an essential step in edge-computing devices, such as the work of [20] can be referred for this.
Parallella [19]. In this article, FPGA is proposed to be used for
sensing and compute-intensive real-time algorithms. Hardware A. I/O Board
drivers for GPS (UART) and ADC (SPI) are ported on the The e-link Epiphany interface utilizes 48 GPIOs of the
FPGA to meet the communication bandwidth requirements FPGA. Hence, only 24 external GPIOs on the desktop edition
when the data are sampled at 32 kHz (provision is made to use of the Parallella are available for customization. However,
up to 64 kHz depending on the requirement). Fig. 1(b) shows these are not exposed by the Parallella designers for external
various modules added to the FPGA apart from the default use, limiting the usability of Parallella as a sensor node.
e-link interface. Due to the nature of FPGA, all modules A custom I/O board is developed to provide a high-speed,
get executed in parallel. The ARM processor is intended to level-shifted GPIO interface to make the FPGA GPIOs acces-
communicate with the external world, file management on sible for external peripherals, such as analog sensing and
SD card, and security algorithms. The ARM also acts as an environmental sensors. This I/O board is one of the significant

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
9003612 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 70, 2021

contributions of this article. Pin mappings for custom GPIOs


were added in the Xilinx design constraints (XDC) file.
This file maps physical pins on the FPGA to signals that
interface with the peripheral driver IP. The electrical prop-
erty standards are also defined for each GPIO in this file.
The pin mappings for the Epiphany E-Link driver are also
present in the XDC file. Besides FPGA GPIOs, ARM GPIOs
can also be directly routed to the physical pins using the
extended multiplexed I/Os (EMIOs) routed on FPGA fabric.
The I/O board uses high-speed level converters to convert
the Parallella’s 1.8-V level GPIOs to 3.3-/5-V level GPIOs.
Eight GPIOs are interfaced with a Darlington driver to improve
their current sourcing, sinking capability for connection with
external relays/circuit breakers. Additional interfaces for future
expandability have also been brought out on the custom I/O
board. For example, BOSCH XDK, The Sensor X-perience Fig. 3. Current and voltage channel schematics.
(environmental sensors), has been interfaced with the I2C port
of the ARM over the EMIOs. Other peripherals provided by
Parallella, such as Ethernet port, SD card slot, and USB port,
are kept intact. AXI addresses are assigned to custom peripher-
als using the address editor in Vivado. AXI memory-mapped
peripherals, such as the ADC’s SPI driver, are declared in
the device tree file located on the ARM’s boot partition. The
entry in the device tree specifies the physical address allocated
to the peripheral and the interrupts (if any) that the device
will trigger. The entry also contains the corresponding Linux
kernel driver that will be loaded on boot. The FIFO full
AXI GPIO is mapped as a userspace IO framework (UIO)
device in the device tree. These modifications make the FIFO
full interrupt available to any userspace code on the ARM
processing subsystem. Fig. 4. ADC and GPS state diagrams. (a) ADC driver. (b) GPS driver.

B. Analog Front End


The Zynq’s inbuilt two-channel 12-bit ADC is insuffi- the bandwidth needed when seven channels are sampled at
cient for simultaneous sensing of seven channels. Hence, 32 kHz. As a result, a custom ADC SPI driver IP is developed
an eight-channel AFE daughter board using a 16-bit syn- for the FPGA. The custom driver IP has the necessary code
chronous ADC (ADS131E08) at a maximum sampling rate to configure the ADC, read, and buffer sampled data in
of 64 kHz (currently set to 32 kHz) is developed. The AFE synchronization with the GPS time clock reference. Fig. 1(b)
is presently intended to measure voltages up to 440 V and shows the ADC SPI driver IP’s internal subsystems developed
measure harmonics in the power. Hence, a voltage divider in the FPGA along with the peripheral interconnections. This
circuit is used as it is widely recommended for high-speed data driver is realized using a state diagram shown in Fig. 4(a), and
capture up to 800 V by the ADC manufacturers. For using the the states are described as follows.
potential transformers with the AFE, suitable compensation 1) Default power-on state is S0. Set RESET = 0 on the
techniques need to be employed as these transformers have next clock edge after power-on.
deviations in their effective transformation ratio [21], [22]. 2) In state S1, start the external clock at 2 MHz and then
A current transformer is used for current sensing since it set chip select (CS) = 1.
is robust and acceptable for harmonic magnitude measure- 3) In state S2, the ADC registers are configured.
ment [23]. The AFE board can be directly interfaced to 4) S2: Send stop data continuous (SDATAC) command
a 1-/5-A CT (0.2− burden). Since the ADC is unipolar, since the device wakes up in the read data continu-
a common-mode dc bias is provided for the measurement ous (RDATAC) mode.
of the bidirectional quantities. This dc bias is derived from 5) S2: Set sampling rate and set reference as 2.4 V
the ADC itself. The ADC’s clock is derived from the GPS and internal amplifier operation for common-mode bias
signal to obtain synchronized sampling. The schematics of the voltage.
differential CT secondary current and line voltage channels 6) S2: Send START command to start conversions and send
are shown in Fig. 3. The ADC on the AFE daughter board RDATAC to put the device back in RDATAC mode.
communicates over an SPI interface with the FPGA. The 7) In state S3, set dataFlag = 0, indicating that data are
ADC cannot communicate directly with the Zynq’s ARM not ready. As soon as DRDY becomes 1, the state is
processor as the ARM SPI peripheral driver does not provide changed to S4.

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
JOGLEKAR et al.: OPEN-SOURCE HETEROGENEOUS CONSTRAINED EDGE-COMPUTING PLATFORM 9003612

8) In state S4, data for eight channels are received. Then,


the data flag is set to 1, indicating that data are ready.
After saving the data, state is changed to S3.
Nomenclature for Fig. 4(a): Capital is for command/signals
sent to or received from ADC, while small letters are for sig-
nals generated within SPI driver to control the state machine.
To allow synchronization across ADCs, the ADC is configured
to accept an external clock signal. The internal ADC reference
is set to 2.4 V, and the common-mode bias VDD /2 = 1.5 V.
The differential ADC channels are set up with unity PGA gain.

C. Interface of ADC With GPS


Fig. 5. ADC output when connected to the same load.
The ADC (ADS131E08) used in AFE is an eight-channel
simultaneous-sampling sigma–delta ADC. The ADCs across
IEDs need to be synchronized to enable synchronous PMU 1) Default power-on state is S0. When reset = 1 go to
functionality. A mechanism to correct oscillator frequency state S1.
drift for an SAR ADC-based AFE was proposed in [24]. 2) In state S1, wait for negative edge of Rx (or Tx from
Sigma–delta ADCs are known to be less sensitive to clock GPS device). After that, reset dataReady and go to S2.
jitter compared to SAR ADCs. In a setup similar to [25], 3) In state S2, check whether the first character is $ (=2A
the ADC master clock is generated using an FPGA-based hexadecimal). If “$” is received, then set $ = 1 and go
custom clock generator module that uses the GPS universal to S3; else, reset $ = 0 and return to state S1.
clock reference for drift correction. If the START pulse and 4) Extract UTC time and date information from the
ADC clock signal are synchronized with the edge of the PPS obtained GPRMC sentence. After this, set dataReady =
clock reference, sampling across ADCs is guaranteed to be 1 and go to state S1.
in sync as per the device datasheet. The reference clock is The receiver (Rx) of the GPS driver is tied to the trans-
used to trigger the start of conversion and generate the ADC’s mitter (Tx) of GPS device (through MAX-232). Every signal
external CLK signal. A frequency multiplier block generates input to the ADC driver and the GPS driver has been passed
the ADC’s external clock reference of 2 MHz from the GPS through signal debouncers.
PPS clock reference on the FPGA. The performance of the simultaneous sampling on the IED
was evaluated in a similar way as in [9]. All the three phases
of the AFE are connected to a single-phase load powered
D. Global Positioning System (GPS)
by 50-Hz power supply. The integer output values of the
GPS device gives coordinated universal time (UTC) date ADCs are shown along with the maximum error among
and time of the day information. Garmin GPS 18x LVC-5m, the signals in Fig. 5. The plot shows ten cycles of power
which transmits this information using universal asynchronous frequency waveform captured in 6400 data points, and hence,
receiver-transmitter (UART) protocol, is used in this work the sampling frequency would be 32 kHz. The error is found
This device also gives measurement pulse output (called PPS) to be under 0.05% with respect to the 16-bit ADC.
after reporting a valid and accurate position fix for at least A Hioki Power Analyser PW6001 and the developed IED
4 s. The rising edge of this pulse is aligned to the start are connected to the authors’ lab input power supply for
of each GPS second within 1 μs, which is highly accurate. simultaneous recording of the data for comparison purposes.
Before interfacing GPS with the PMU processor, the baud The Hioki Power Analyser is set to sample at 50 kHz
rate for the UART communication is set to 38 400. For PMU (only available setting close to 32 kHz) with a bandwidth
device functionality, date and time information is required. of 100 kHz. Both the devices captured the dynamics of a load
Hence, the GPRMC output sequence from GPS output is made turn-on event created in the lab. The corresponding voltage and
available. Since the GPS device gives output at RS-232 level current waveforms from both the devices are shown in Fig. 6.
and PMU processor accepts data at TTL level, RS232 to TTL It can be observed from the figures that the recordings match
UART level converter, MAX-232 is used as a link between the very closely with each other.
GPS device and the PMU processor. As in the case of ADC,
an equivalent GPS driver to acquire GPS data is developed.
Output sequence that needs to be decoded is as follows: E. Data Pipeline
The ADC is configured to sample 7 channels at 32 kHz (640
$GPRMC, 1, 2, 3, 4, 5, 6, 7, 8, 9,
samples per line cycle) with a 16-bit resolution. The data rate
10, 11, 12 ∗ hhCRLF can be calculated using the following equation:
where 1 contains UTC time in the hhmmss format and 9 DR = (r × f s × c)/1024/8 (1)
gives UTC date in the ddmmyy format.
The state diagram of the GPS driver implementation is where DR is the data rate in kB/s, r is the bits per sample, f s
shown in Fig. 4(b), which can be summarized as follows. is the sampling rate, and c is the number of channels sampled.

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
9003612 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 70, 2021

communication processor, which facilitates data transfer to an


external server.

A. Anomaly-Aware Compression Algorithm


The IED would have a throughput of 35 Mbps, as given
in (2), for the sampled raw values. Such a high data rate is
formidable and is not amenable to storing onboard or even
transmission. Therefore, it is desirable to subsample in an auto-
mated fashion, keeping in mind the “frequency content” of the
underlying data. The proposed algorithm performs the required
adaptive sampling and bit packing needed while being feasible
in resource-constrained hardware. The algorithm prepares a bit
packing of the samples after filtering. It uses the number of
bits used in the bit-pack to measure the “informativeness” of
the samples. Highly informative samples are retained com-
pletely, while less informative ones are further subsampled.
In effect, the algorithm detects anomalous behavior (such as
fault, PQ disturbances, or switching) and chooses between
lossless compression and lossy compression (obtained using
subsampling) adaptively, based on configurable thresholds.
This view allows the use of a single streaming data pipeline
for compression, fault-detection, and subsampling for different
operations, which would have required different features to be
computed in traditional signal processing. The compression
Fig. 6. Comparison of recorded waveforms. (a) Voltage waveform compar- algorithm runs on the ARM processor and takes the channel
ison. (b) Current waveform comparison.
streams as input from the FPGA.
Formally, let x(t), t ≥ 0, denote the real-valued,
Accordingly, the data rate for the IED is continuous-time power signal and x[i ] = x(i / f s ), i ∈ N,
be the corresponding sampled sequence acquired at sampling
DR = (16 × 32 000 × 7)/1024/8 = 437.5 kB/s. (2) frequency f s and represented using r -bits per sample. The
consecutive samples are grouped into blocks x (1) , x (2) , . . . ,
The FPGA ADC driver IP provides a 16-sample wide FIFO, with block x (i) comprising samples x[n(i − 1) + 1], . . . , x[ni ].
for each channel. For a 16-sample wide FIFO, a PL fabric Thus, each block x consists of n signed integers taking values
FIFO full interrupt is raised at 2 kHz (32 000/16). A dedicated in [−(2r − 1), 2r ]. In the IED application, block size n = 16
ARM core services this interrupt. The CPU affinity flag is set and resolution parameter r = 16 are used.
in the OS to attach a single core to this interrupt. The interrupt The proposed compression algorithm operates block-
service routine transfers the data stored in the FIFO over a by-block and maps the block x (i) to a bit sequence Bi using
memory-mapped AXI interface at a transfer rate of 2.4 GB/s. a fixed quantizer function Q : x → Q(x). The quantizer Q
Thus, the FIFO is flushed before the next sample set. Raw can be a variable-length quantizer that uses different lengths
data sampled at 32 kHz are compressed by a thread running of Bi s for different i s. Note that the length information
on the ARM core using a custom anomaly-aware compression itself must be included in Bi for signal reconstruction. The
algorithm. The 32-kHz data stream is fed to the custom goal is to reduce the number of bits used per block while
PMU IP block within FPGA. The PMU IP block generates a ensuring that it is possible to construct an estimate x̂[i ] of
phasor ready interrupt that is processed by the ARM core. The the sampled sequence x[i ] from the bitstream B1 , B2 , . . . It is
calculated phasors per channel are transferred from the FPGA desirable to have FIFO recovery, that is, the compressed bit
PMU IP to the ARM over a memory-mapped AXI interface. sequences B1 , . . . , Bi should suffice to recover the estimate
The 32-kHz data stream is fed to the Epiphany co-processor x̂[i ] of x[i ]. The accuracy of recovery is measured by the
over the e-Link interface, with the ARM acting as an arbitrator. normalized mean-squared error (NMSE) for recovering the
The Epiphany is tasked with PQ measurement. sampled sequence up to time N that is given by
N
i=1 ( x̂[i ] − x[i ])
2
III. A PPLICATIONS N . (3)
2
Several power system-specific applications can be imple- i=1 x[i ]
mented on the IED. This article describes three such appli- The performance of the algorithm at a fixed NMSE level will
cations on each compute module: 1) anomaly-aware data be measured by the compression ratio (CR) defined as
compression algorithm on ARM; 2) TEO-based PMU algo-
r nT
rithm on FPGA; and 3) PQ measurement on the Epiphany CR = T (4)
parallel processor. Here, the ARM processor also acts as a i=1 |Bi |

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
JOGLEKAR et al.: OPEN-SOURCE HETEROGENEOUS CONSTRAINED EDGE-COMPUTING PLATFORM 9003612

TABLE I
M AXIMUM , M INIMUM , AND AVERAGE CR AND NMSE FOR T WO
D IFFERENT S ETTINGS OF T HRESHOLDS FOR L OSSY C OMPRESSION
AND A NOMALY D ETECTION W ITH n = 16, m = 4, AND BUF = 40

Fig. 7. Anomaly-aware compression algorithm.

calculated over T blocks and |B| denotes the length of the bit
sequence B. NMSE is considered a standard metric in theory,
but it need not be an appropriate metric for error in power
applications. Indeed, it can be observed that the quality of
recovered waveform is much better than what is reflected by
the NMSE. A schematic summary of the proposed algorithm
is shown in Fig. 7, a preliminary version of the algorithm
appeared in [26], and the adaptation to the IED environment is
described in this work. The first step in the algorithm is to pass
each block of data x (comprising n samples) through a linear a high compression with n = 16, m = 4, and BUF = 40. For
filter. The filter used is an iterated  filter where the output the medium case, τ H = 11 for both the voltage and current
y = (y1 , . . . , yn ) is given by y1 = x[1] and y2 = x[2] − x[1] channels and τ B = 7 for voltage channels and τ B = 6 for
and for k = 3, . . . , n, yk = x[k] − 2x[k − 1] + x[k − 2]. the current channels are used. For the high case, τ H = 15
The vector y is converted into a bit block B via a bit-packing and τ B = 14 are used for all the channels. It was observed
procedure in which each sample is stored using  bits where that an average CR of around 1.42 for current channels and
 is the maximum number of bits needed to represent any 1.64 for voltage channels could be obtained if all data have
sample within the block. The value of  (represented using to be retained losslessly. Table I shows that an average CR
log2 r bits) is also included in B. An anomaly detector uses of up to around 45 can be configured for waveform recording
block B and the corresponding  to determine whether to label based on the accuracy requirements for the n, m, and BUF.
the block as faulty or normal. If  > τ H , a fixed threshold, Figs. 8 and 9 show the heat map of the CR for a snapshot
the block is labeled faulty, normal otherwise. Normal blocks of voltage and current channel for the two settings in the
are set to be stored in a lossy fashion, but not immediately table. Here, a higher CR is attained around the smooth part
since it is necessary to retain a data cycle before and after of the signal and lower around the edges, illustrating adaptive
the fault. Toward this, the bit block stream B1 , B2 , . . . , BT compression. It was observed that the compressed data are
resulting from the input stream x (1) , . . . , x (T ) is passed to an captured without any loss and without overloading the network
FIFO queue of length BUF, which is set to the number of bandwidth. The data collected and the computed data by
cycles intended to be retained around the detected anomaly. the IED are streamed to the local server for storage and
Once the block x (i) is set to be stored in a lossy fashion, visualization. The user can access the streamed timestamped
the bits corresponding to the first sample in x (i) is retained data of the applications via a web browser.
and others are dropped. This procedure is repeated at a higher
level as well. Namely, if there are m consecutive blocks with B. TEO-Based PMU Algorithm
only the first sample retained, these first samples are passed Fig. 10 shows the block diagram of the TEO-based tech-
through the same linear filter, and the output is used to decide nique proposed in [16] implemented on the FPGA. As shown
whether or not to retain all of the m values or just the first one in the figure, the PMU IP block is fed with a 32-kHz raw
among them. In particular, if the number of bits per sample data stream. The measurement involves four main stages: 1) a
resulting from this filter,  > τ B , is a fixed threshold, all m bandpass filter (BPF); 2) TEO; 3) low-pass filter (LPF); and
values are retained. Otherwise, all values, except the first one, 4) moving average filter (MAF). Only a brief explanation of
are dropped. This process of downsampling the data first by n the stages is discussed here due to space constraints. The
and then by m, if needed, results in a hierarchical subsampling. raw data signal is first passed through an adaptive BPF. The
In effect, the algorithm tests whether or not high frequencies adaptive BPF is based on a recursive discrete Fourier trans-
are present and adjusts the sampling frequency accordingly. form (RDFT). It was observed that updating the number of
Reconstruction is performed by using splines to interpolate samples N dynamically is not numerically stable in a recursive
the dropped data points. The IED is connected to measure floating-point implementation [27]. For practical implementa-
the author’s laboratory input power supply. The measured tion, N is fixed and calculated as N = fs / f 0 , where fs and f 0
dataset comprises 5039 files of 1-s duration captured on are sampling and fundamental system frequency, respectively.
January 11, 2020, during daytime. The maximum, minimum, When the previously estimated frequency fˆ[n − 1] drifts from
and average CR and NMSE are calculated for all the 5039 files fundamental ( f 0 ), the phase and amplitude error are calculated
by varying the threshold settings τ H and τ B . Table I provides as discussed in [28], and accordingly, compensation is done
CR and NMSE for two cases corresponding to a medium and for the new sample x(n). Using the calculated amplitude, one

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
9003612 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 70, 2021

Fig. 8. Heat map of block-wise CR for a voltage channel. Top: medium


compression. Bottom: high compression. Fig. 9. Heat map of block-wise CR for a current channel. Top: medium
compression. Bottom: high compression.

has to normalize the instantaneous fundamental component of


the input signal. Kaiser [29] introduced the TEO concept to
calculate the energy needed to generate speech signals. TEO
is a nonlinear operator and can be used to estimate the energy
of a sinusoidal signal. The TEO block takes the normalized
fundamental component as input and outputs the frequency
deviation from nominal. TEO is given as
E[x(n)] = x 2 (n) − x(n − 1) ∗ x(n + 1). (5)
Fig. 10. Block diagram of RDFT-TEO.
For a sinusoidal signal, x(n) = A cos(2π( f / f s )n + φ),
the Teager energy is given as
  For a 50-Hz system, ωcut ≤ 250 rad/s, since window size
  f
E x 1u (n) = sin2 2π (6) of BPF is one fundamental time period. To further filter the
fs estimated output, an MAF is used so as to bring the errors
where x 1u (n) represents the normalized version of x 1 (n). It is within the PMU standards [30]. Window size for this filter is
worth noting that only three consecutive samples are required taken as one fundamental period of nominal frequency (50 Hz)
to find the frequency deviation from nominal  f (n) [16] using and its transfer function is given by
TEO as shown in the following:
 1 1 − z −M
2 Hma f (z) = (9)
x 1u (n) − x 1u (n − 1)x 1u (n + 1) − S0 M 1 − z −1
 f (n) = ∗ f s (7)
2πC0 where M is the filter order.
where S0 = sin(2π f 0 / f s ) and C0 = cos(2π f 0 / f s ). This Implementation on Hardware: The RDFT-TEO algorithm is
first-order infinite impulse response (IIR) LPF restricts the implemented on the FPGA. Xilinx Vivado HLS v2014.3 tool
bandwidth of the estimated amplitude normalized fundamental chain was used to convert the “C” code into “HDL.” The fol-
signal component. The cutoff frequency of LPF is calculated lowing points need to be followed to ensure optimal resource
using [16] utilization within device limits [31], [32].
ωcut ≤ 5/TRDFT. (8) 1) Use of f loat32 instead of f loat64.

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
JOGLEKAR et al.: OPEN-SOURCE HETEROGENEOUS CONSTRAINED EDGE-COMPUTING PLATFORM 9003612

TABLE II
R ESOURCE U TILIZATION FOR PMU A LGORITHM

Fig. 12. Real-time PMU-dashboard.

Since the frequency is lower than the nominal frequency,


a decreasing trend in the estimated phase can be observed.
The PMU data are also sent to the server for real-time display
Fig. 11. Voltage phasor output. and storage. A snapshot of the real-time PMU dashboard is
shown in Fig. 12. Voltage phasors, corresponding estimated
2) Use of directives such as #PRAGMA frequencies, and rate of change of frequencies for each channel
Ex: #pragma HLS allocation instances = fadd limit = are displayed.
1 operation.
3) Avoid use of dummy variables to optimally utilize C. Measurement of PQ
memory elements. PQ refers to a wide variety of electromagnetic phenomena
The final resource utilization of the TEO-PMU algorithm is that characterize the voltage and current at a given time
shown in Table II, where “SE” represents resource utilization and a given location on the power system [33]. In this
of the AXI compatible synchrophasor estimator IP and “Total” work, the harmonic and interharmonic content of the captured
represents the resource utilization of SE-IP along with SPI voltage and current waveforms is calculated. The PQ parame-
ADC driver IP, GPS driver IP, AXI Interconnect, and Epiphany ters, magnitude, phase, crest factor, total harmonic distortion
driver IP. Resource utilization has been efficient, with room (THD), and total demand distortion (TDD) are used to define
for further expansion as given in Table II. The recorded the harmonic content. The measurement time interval for
output of PMU is shown in Fig. 11. It can be observed from calculating these parameters is a ten-cycle time interval for
Fig. 11 that the frequency estimation is relatively consistent a 50-Hz power system as per the STD IEC 61000-4-30 [33].
with the grid frequency of 50 Hz. Also, constant grid voltage For power system, applications up to the 50th harmonic (i.e.,
amplitude and minor variations in frequency can be observed. 2.5 kHz) would need to be captured [17]. Hence, the captured

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
9003612 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 70, 2021

Fig. 13. PQ tasks on Epiphany.

waveform is downsampled to 6.4 kHz by dropping samples.


Considering the nominal case, ten cycles at 6.4 kHz would
lead to 1280 samples per signal. The nearest 2 power, which
can capture up to 50th harmonic, would be 1024; hence,
another resampling stage is achieved by using the Newton
divided difference interpolation. The required antialiasing filter
is applied at the interpolation stage before passing through
a Fourier transform. Considering the frequency resolution,
the FFT would be the suitable choice since the computation
complexity would be O(n log n), where n is the number of
data points [34].
Usage of Epiphany: The measurement of PQ is divided
into four tasks, as shown in Fig. 13. The 16-core Epiphany
co-processor, which is fabricated as a 4 × 4 mesh, is used Fig. 14. THD comparison of recorded waveforms. (a) Voltage THD
to calculate the PQ parameters by efficiently mapping these comparison. (b) Current THD comparison.
tasks to one or more cores called workgroups (W1–W4). The
row and column indices form the core number. Fig. 13 shows TABLE III
the cores grouped with other adjacent cores in the same row; E PIPHANY U SAGE
this reduces the core to core communication time; a message is
passed along the row and then across the column [18]. The first
task, namely, decimation and channel segregation, is assigned
to workgroup W1, having the core (2, 0). The second task,
interpolation and buffering for ten cycles data, is assigned
to workgroup W2 consisting of cores (2, 1) and (2, 2). One
core processes the voltage and another the current; the core
processing the voltages acts as master. The antialiasing filter is in each Epiphany, space available for instruction and data
implemented at 5.12 kHz, which corresponds to the sampling is only 32 kB [15]. Thus, binary exchange is utilized for
interval for 1024-point FFT. Since 200 ms of data from seven FFT deployment. The FFT workgroup W3 writes back the
channels lead to nearly 35-kB block, this is stored in the results to another block in the 32-MB shared space. Apart
32-MB shared space. However, the segregation of the cores from FFT, W3 computes the true RMS and max value per
into workgroups forces data sharing only from the shared channel required for the indices calculation.
space or host [18]. This leads to the utilization of flag-based The PQ parameters (indices) are calculated in the work-
handshake between the adjacent workgroups and host for group having the core (2, 3). The ARM can access the
process management. computed indices from W4 and sends them to a server. The
A parallel FFT algorithm is used in the Epiphany, in which Epiphany SDK [18] coding framework allows different codes
the data are methodically divided among the workgroup for each workgroup, keeping a smaller size code for each
W3 consisting of processors (0, 0) to (1, 3). The binary task rather than a single code enforced on all groups. The
exchange algorithm [34] is one such parallel FFT method resource utilization and average run time for each task are
based on the Cooley–Tukey algorithm and can be deployed on shown in Table III. The timing is done on the data captured
any 2 x processors. Alternatively, the 2-D transpose FFT [34] for a 2-s duration by the IED. It can be observed that the
can be used, but the number of processors is limited to even computation time (including communication time) is within
powers of 2. Since preprocessing and other tasks are to be the output interval of each workgroup. Each image is within
accommodated in the Epiphany cores, the maximum cores the 32-kB size, including the data space.
that can be used for 2-D transpose are 4, whereas for the Keeping the Hioki Power Analyser and proposed device in
binary exchange, it can be 8. Hence, the data space used parallel, the THD and FFT spectrum from both the devices
by 2-D transpose is twice that of binary exchange. However, are recorded. The power analyzer was set to use a rectangular

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
JOGLEKAR et al.: OPEN-SOURCE HETEROGENEOUS CONSTRAINED EDGE-COMPUTING PLATFORM 9003612

analysis. The FIFO buffer implemented provides the separation


of AFE and the computation functions. Hence, applications
can be built without much regard to the measurement system.
The salient features of the proposed platform are given in the
following.
1) Availability of ARM, FPGA, and multicore processors
at very low cost (∼$760) and low power.
2) The researcher gets hands-on exposure to all the com-
pute modules at one go while designing smart grid
sensors and edge-computing applications.
3) The platform comes with an inbuilt Ethernet commu-
nication module, which enables the development of
various IoT protocols and security features relevant for
smart grid sensing.
4) Availability of high sampling rate (32 and 64 kHz) data,
ability to connect a wide variety of sensors (such as envi-
ronment sensors) and GPS synchronization enables the
development of wide variety of data-driven applications
in smart grids.
5) The modified FPGA binary provides an FIFO buffer
that allows the application to decide the rate of data
consumption.
6) Availability of full-fledged Linux distribution on ARM,
MPI, python, and openMP for epiphany provides ver-
satile programming environment for niche applications
development.
The proposed hardware can be extended as an IEC 61850 com-
pliant merging unit. The phasor measurement module can be
extended to communicate as per C37.118.2 Synchrophasor
Fig. 15. Real-time PQ-dashboard (V A shown). Data Transfer Protocol. The PQ analysis can be extended
to include flicker, unbalance, and event detection to provide
window, and the time window of FFT was kept at 200 ms, features of a complete PQ analyzer.
which is the same for the Parallella device. Fig. 14 shows
the voltage and current harmonic spectrum given by both the R EFERENCES
[1] M. Caprolu, R. Di Pietro, F. Lombardi, and S. Raponi, “Edge computing
devices. The parallella has reported 2.36% and 24.87% THD perspectives: Architectures, technologies, and open security issues,” in
in voltage and current, respectively. The power analyzer has Proc. IEEE Int. Conf. Edge Comput. (EDGE), Jul. 2019, pp. 116–123.
reported 2.28% and 24.64% in voltage and current, respec- [2] G. P. Colnago, J. L. F. Vieira, G. C. D. Sousa, and J. R. Macedo,
“Real time power quality monitoring system according to new Brazilian
tively. This accuracy is deemed sufficient for research pur- regulation policies,” in Proc. 14th Int. Conf. Harmon. Qual. Power
poses. Fig. 15 shows the real-time PQ-dashboard showing max (ICHQP), Sep. 2010, pp. 1–8.
values, peak values, crest factor, K-factor, THD, and TDD. [3] H. Maass et al., “First evaluation results using the new electrical data
recorder for power grid analysis,” IEEE Trans. Instrum. Meas., vol. 62,
The total hardware cost of the proposed IED is approximately no. 9, pp. 2384–2390, Sep. 2013.
INR. 60 000 ($760 USD). Since Parallella is an open platform [4] D. M. Laverty, R. J. Best, P. Brogan, I. Al Khatib, L. Vanfretti, and
and incorporates an industrial Zynq platform at <5-W power, D. J. Morrow, “The OpenPMU platform for open-source phasor mea-
surements,” IEEE Trans. Instrum. Meas., vol. 62, no. 4, pp. 701–709,
it makes an excellent choice for even commercial product Apr. 2013.
development at an affordable cost. [5] P. Castello, P. Ferrari, A. Flammini, C. Muscas, and S. Rinaldi, “A new
IED with PMU functionalities for electrical substations,” IEEE Trans.
IV. C ONCLUSION Instrum. Meas., vol. 62, no. 12, pp. 3209–3217, Dec. 2013.
[6] T. Atalik et al., “Multipurpose platform for power system monitoring
This article introduced a low-power heterogeneous edge- and analysis with sample grid applications,” IEEE Trans. Instrum. Meas.,
computing platform called Parallella as a measurement vol. 63, no. 3, pp. 566–582, Mar. 2014.
platform for smart grid research. A custom FPGA binary file [7] H. Maaß et al., “Data processing of high-rate low-voltage distribution
grid recordings for smart grid monitoring and analysis,” EURASIP J.
and an I/O board development are proposed to harness the Adv. Signal Process., vol. 2015, no. 1, p. 14, Feb. 2015.
capabilities of Parallella as an edge-computing sensor node. [8] L. R. M. Silva et al., “Gapless power-quality disturbance recorder,” IEEE
The approaches for enabling access to Zynq I/Os without Trans. Power Del., vol. 32, no. 2, pp. 862–871, Apr. 2017.
[9] X. Zhao, D. M. Laverty, A. McKernan, D. J. Morrow, K. McLaughlin,
loss of existing functionalities and allowing the platform to and S. Sezer, “GPS-disciplined analog-to-digital converter for phasor
integrate with the AFE and GPS device are detailed. The ARM measurement applications,” IEEE Trans. Instrum. Meas., vol. 66, no. 9,
has been used for compression and communication, FPGA pp. 2349–2357, Sep. 2017.
[10] P. Romano, M. Paolone, T. Chau, B. Jeppesen, and E. Ahmed, “A high-
is used for the peripheral interface, raw data capture, and performance, low-cost PMU prototype for distribution networks based
phasor estimation, and Epiphany co-processors are used for PQ on FPGA,” in Proc. IEEE Manchester PowerTech, Jun. 2017, pp. 1–6.

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.
9003612 IEEE TRANSACTIONS ON INSTRUMENTATION AND MEASUREMENT, VOL. 70, 2021

[11] D. Schofield, F. Gonzalez-Longatt, and D. Bogdanov, “Design and [23] A. E. Emanuel and J. A. Orr, “Current harmonics measurement by
implementation of a low-cost phasor measurement unit: A compre- means of current transformers,” IEEE Trans. Power Del., vol. 22, no. 3,
hensive review,” in Proc. 7th Balkan Conf. Lighting (BalkanLight), pp. 1318–1325, Jul. 2007.
Sep. 2018, pp. 1–6. [24] W. Yao et al., “A novel method for phasor measurement unit sampling
[12] I. Jahn, F. Hohn, G. Chaffey, and S. Norrga, “An open-source time error compensation,” IEEE Trans. Smart Grid, vol. 9, no. 2,
protection IED for research and education in multiterminal HVDC pp. 1063–1072, Mar. 2018.
grids,” IEEE Trans. Power Syst., vol. 35, no. 4, pp. 2949–2958, [25] Y. Kononov, M. Ospishchev, and V. Rudnev, “Current and voltage
Jul. 2020. synchronous measurements using NI cRIO system with sigma-delta
[13] J.-P. Kitzig, S. Schlaghecke, and G. Bumiller, “Power quality mea- ADC NI 92xx and S.E.A GPS modules,” in Proc. 20th IMEKO World
surement system with PMU functionality based on interpolated sam- Symp., 2014, pp. 25–30.
pling,” IEEE Trans. Instrum. Meas., vol. 68, no. 4, pp. 1014–1025, [26] K. R. Sahasranand, B. Rout, A. Joglekar, G. Gurrala, and H. Tyagi,
Apr. 2019. “Fault-aware compression for high sampling rate data acquisition in
[14] Parallella Publications. Accessed: Mar. 20, 2021. [Online]. Available: smart grids,” in Proc. 10th ACM Int. Conf. Future Energy Syst.
https://www.parallella.org/publications/ New York, NY, USA: ACM, Jun. 2019, pp. 422–424.
[15] Epiphany Archit. Reference. Accessed: Jan. 10, 2020. [Online]. [27] H. A. Darwish and M. Fikri, “Practical considerations for recursive DFT
Available: https://www.adapteva.com/docs/epiphany_arch_ref.pdf implementation in numerical relays,” IEEE Trans. Power Del., vol. 22,
[16] S. Reza, M. Ciobotaru, and V. G. Agelidis, “Single-phase grid volt- no. 1, pp. 42–49, Jan. 2007.
age frequency estimation using teager energy operator-based tech- [28] M. Wang and Y. Sun, “A practical method to improve phasor and power
nique,” IEEE J. Emerg. Sel. Topics Power Electron., vol. 3, no. 4, measurement accuracy of DFT algorithm,” IEEE Trans. Power Del.,
pp. 1218–1227, Dec. 2015. vol. 21, no. 3, pp. 1054–1062, Jul. 2006.
[17] IEEE Recommended Practice for Monitoring Electric Power Quality, [29] J. F. Kaiser, “On a simple algorithm to calculate the ‘energy’ of a
IEEE Standard 1159-2009 (Revision of IEEE Std 1159-1995), Jun. 2009, signal,” in Proc. Int. Conf. Acoust., Speech, Signal Process., vol. 1, 1990,
pp. 1–94. pp. 381–384.
[18] Epiphany SDK Reference. Accessed: Jan. 10, 2020. [Online]. Available: [30] IEEE Standard for Synchrophasor Measurements for Power Systems—
https://adapteva.com/docs/epiphany_sdk_ref.pdf Amendment 1: Modification of Selected Performance Requirements,
[19] C. Jiang, X. Cheng, H. Gao, X. Zhou, and J. Wan, “Toward compu- IEEE Standard C37.118.1a-2014 (Amendment to IEEE Std C37.118.1-
tation offloading in edge computing: A survey,” IEEE Access, vol. 7, 2011), Apr. 2014, pp. 1–25.
pp. 131543–131558, 2019. [31] Xilinx. Vivado Design Suite User Guide: High-Level Synthesis.
[20] B. P. Robert, P. A. Babu, N. Kashyap, and G. Gurrala, “Practical Accessed: Jan. 10, 2020. [Online]. Available: https://www.xilinx.com/
approaches towards securing edge devices in smart grid,” in Proc. 8th support/documentation/sw_manuals/xilinx2014_1/ug902-vivado-high-
Int. Conf. Power Syst. (ICPS), Dec. 2019, pp. 1–6. level-synthesis.pdf
[21] H. Seljeseth, E. A. Saethre, T. Ohnstad, and I. Lien, “Voltage transformer [32] Xilinx. Vivado Design Suite Tutorial: High-Level Synthesis.
frequency response. Measuring harmonics in norwegian 300 kV and Accessed: Jan. 10, 2020. [Online]. Available: https://www.xilinx.com/
132 kV power systems,” in Proc. 8th Int. Conf. Harmon. Qual. Power., support/documentation/sw_manuals/xilinx2014_1/ug871-vivado-high-
vol. 2, 1998, pp. 820–824. level-synthesis-tutorial.pdf
[22] M. Klatt, J. Meyer, M. Elst, and P. Schegner, “Frequency responses [33] Electromagnetic Compatibility (EMC)—Part 4-30: Testing and Measure-
of MV voltage transformers in the range of 50 Hz to 10 kHz,” in ment Techniques—Power Quality Measurement Methods, document IEC
Proc. 14th Int. Conf. Harmon. Qual. Power (ICHQP), Sep. 2010, 61000 4-30 (2003), 2003.
pp. 1–6. [Online]. Available: http://ieeexplore.ieee.org/document/ [34] A. Grama, V. Kumar, A. Gupta, and G. Karypis, Introduction to Parallel
5625484/ Computing. London, U.K.: Pearson, 2003.

Authorized licensed use limited to: San Francisco State Univ. Downloaded on June 20,2021 at 02:38:57 UTC from IEEE Xplore. Restrictions apply.

You might also like