pmudatacorrector

A GPS spoofing attack detection and correction of synchrophasor measurements

https://github.com/dilanspsenaratne/pmudatacorrector

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

A GPS spoofing attack detection and correction of synchrophasor measurements

Basic Info
  • Host: GitHub
  • Owner: dilanspsenaratne
  • License: gpl-3.0
  • Language: Opal
  • Default Branch: main
  • Size: 13.9 MB
Statistics
  • Stars: 3
  • Watchers: 1
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Created over 3 years ago · Last pushed over 3 years ago
Metadata Files
Readme License Citation

README.md

PMUDataCorrector: A GPS spoofing attack detection and correction of synchrophasor measurements

Table of Contents
  1. About The Project
  2. Getting Started
  3. Testbed Implementation
  4. Authors
  5. License
  6. Acknowledgments

About The Project

The PMUDataCorrector is an IEC 61131 software package for SEL Real-Time Automation Controller (RTAC). The PMUDataCorrector library provides real-time Global Position System (GPS) spoofing attacks detection and correction of wide-area synchrophasor data. The library consists of two parts. The first part is a python script to perform data pre-processing of power network information. The python script generates several .csv files that are required in the RTAC data correction library. The second part is a compiled RTAC library of a GPS spoofing attack detection and correction algorithm. The RTAC library captures the incoming phasor measurement units (PMU) measurements and provides GPS spoof corrected measurement, estimated angle biases, and a Boolean variable to indicate the presence of an attack.

(back to top)

Getting Started

Please refer the "Data Correction Library User Manual" pdf document in this repository for information on how to get started with the RTAC library, including necessary input data and expected output data.

Prerequisites

For the Data Preprocessing python script the user will need Python 3 installed and the python packages: numpy and pandas.

For the library the user will need ACSELERATOR RTAC® SEL-5033 Software with firmware version R145 or higher. The following SEL RTAC libraries are also required. - DescriptiveData V3.5.1.0 - DynamicVectors V3.5.3.0 - FileIO V3.5.6.2 - MathComplex V 3.5.1.0 - MathMatrix V3.5.2.0 - Queue V3.5.3.0 - Quicksort V3.5.1.0 - SEL IEC Types V3.5.0.0 - SysMem V3.5.12.0

Installation

Install the compiled library

The user will need to follow the following steps to install the provided compiled library to SEL RTAC - Insert -> under the user logic select "IEC 61131-3" -> Library - Click on "Manage Libraries" - Click on "Install New..." and browse to "PMUDataCorrector.compiled-library" - Close "Manage Logic Engine Libraries" window - Select "OSU PMUDataCorrector 1.0.0.11"

Start a project with library source code

  • Method 1 (Using .exp file)

Click on "Import" and browse to "RTACPMUDataCorrectorLibrary.exp"

  • Method 2 (Using XML files)

Create a new project with Project type "XML" and browse to the "RTAC XML files" folder

Testbed Implementation

The Opal RTDS (Real-Time Digital Simulator) Implementation and SEL Synchrowave Operations Implementation folders contain the projects required to implement the PMUDataCorrector in a testbed environment.

Opal RTDS Implementation

The majority of the files in this folder are automatically generated by RT-Lab, Opal-RT's RTDS configuration software. The simulator runs Matlab Simulink files.

The files created for this project are contained in: Opal RTDS/StateEstimator21PMUs/models/System_20220515

Description of Files

  • System_20220515.slx: Matlab simulink model simulated by RTDS
  • RTS96pinssimple_v2.xls: RT-Lab ePHASORSIM configuration of inputs and outputs
  • simulation_vars.m: Matlab Simulink variable file for modifying the simulation
  • RTS96pssestable.raw: PSSE v32 network description
  • dynamics.dyr: PSSE v32 dynamics data for power system simulation

SEL Synchrowave Operations

These files are the configuration files for the project visualization in SEL Synchrowave Operations.

Description of Files

  • RTS96onelineindicators.svg: SVG oneline diagram with GPS spoofing attack indicators
  • sel-c37reader-config.zip: C37.118 configuration to receive data from RTAC
  • sel-signalmonitor-config.zip: Configuration for enabling GPS spoofing alarm states
  • dashboardnoattack.jpg: Synchrowave dashboard example during normal operation
  • dashboardattackno_correction.jpg: Synchrowave dashboard during attack with no PMUDataCorrector
  • dashboardattackwith_correction.jpg Synchrowave dashboard during attack with PMUDataCorrector

Authors

  • Dilan Senaratne (senaratg@oregonstate.edu - Oregon State University, US)
  • Travis Hagan (hagantr@oregonstate.edu - Oregon State University, US)
  • Shashini De Silva (desilvas@oregonstate.edu - Oregon State University, US)
  • Eduardo Cotilla-Sanchez (ecs@oregonstate.edu - Oregon State University, US)
  • Jinsub Kim (kimjinsu@oregonstate.edu - Oregon State University, US)

(back to top)

License

Distributed under the GNU General Public License v3.0. See LICENSE for more information.

(back to top)

Acknowledgments

De Silva S, Kim J, Cotilla-Sanchez E, Hagan T. On pmu data integrity under gps spoofing attacks: A sparse error correction framework. IEEE Transactions on Power Systems. 2021 Mar 26;36(6):5317-32.

(back to top)

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Senaratne
    given-names: Dilan
  - family-names: Hagan 
    given-names: Travis
  - family-names: De Silva
    given-names: Shashini 
  - family-names: Cotilla-Sanchez 
    given-names: Eduardo 
  - family-names: Kim  
    given-names: Jinsub 		
title: "PMUDataCorrector"
version: 1.0.0.11
date-released: 2022-07-27

GitHub Events

Total
  • Watch event: 2
Last Year
  • Watch event: 2