Developing an Early Warning Application for Detecting Low-Frequency Oscillations in Power Systems
Master thesis
Date
2024Metadata
Show full item recordCollections
- Institutt for elkraftteknikk [2607]
Abstract
Verden beveger seg gradvis vekk fra avhengighet av fossile brensler, og mot økt generell elektrifisering og økt andel kraftelektronikkbaserte energikilder i energi-miksen. Dette gjør det mer utfordrende å opprettholde stabiliteten elektriske kraftsystemer. Én av utfordringene er lavfrekvente svingninger med høy amplitude som følge av store forstyrrelser, som må dempes så raskt som mulig for å unngå risiko for ustabililtet.
Bruk av fasemålingsenheter (PMU-er) er utbredt i kraftsystemer, og det er et stort uutnyttet potensial for å bruke avanserte analysemetoder på PMU-data for å gi operatører i kontrollrommet mer lettforståelig innsikt i tilstanden til systemet. En applikasjon som gir operatører tidlige varslinger om lavfrekvente svingninger, ville vært et nyttig verktøy for å ta gode beslutninger raskt i kritiske situasjoner.
I denne masteroppgaven har en Python-applikasjon som kan koble seg til PMU-er og overvåke data fra dem for å oppdage og gi tidlige varslinger om lavfrekvente svingninger, blitt utviklet. Funksjonalitet for å analysere et utsnitt av et ferdig signal på samme måte ble også implementert, slik at applikasjonen kan testes på opptak av ekte eller simulert PMU-data, eller hvilket som helst annet slags signal.
Dataen analyseres i tidssegmenter av en viss lengde. For å analysere et segment brukes først Hilbert-Huang-transformasjon (HHT) på dataen for å lage et Hilbert-spekter, en tidsoppløst frekvensrepresentasjon av segmentet. En algoritme ble utviklet for å analysere Hilbert-spekteret og oppdage svingemodier og estimere dempingen på disse. For å identifisere en modus kombinerer den rader i spekteret som inneholder punkter som er del av ei tilnærmet rett, horisontal linje med verdier ikke er null, ettersom en frekvenskomponent ideelt sett skal resultere i ei helt rett linje. Kurven til momentanamplituden til en modus skal ideelt sett følge en avtagende eksponentialkurve, og dempinga på modusen estimeres ved å tilpasse en avtagende eksponentialkurve til amplitudepunktene i den kombinerte raden. Hvis en vedvarende modus med lav demping blir oppdaget, slår en alarm ut. Dette gjøres for alle oppdagede modier i hvert segment, og resultatene blir lagret i kronologisk rekkefølge i ei CSV-fil.
Applikasjonen har blitt testet på et syntetisk signal med sinusbølger, i tillegg til ekte og simulert PMU-data, for å evaluere nøyaktigheten og nyttepotensialet. Resultatene er lovende og tilsier at applikasjonen og metoden den bruker, har stort potensial til å være et nyttig verktøy for systemoperatører. Modier og frekvensene deres blir oppdaget nøyaktig, alarmer slår ut når kritiske lavfrekvente svingninger er til stede og ikke ellers, og algoritmen er robust mot støy i signalet. Det er rom for forbedring, som å implementere flere tiltak for å hindre falske alarmer, forbedre nøyaktigheten til dempingsestimatene og bruke bedre kriterier for når alarmer slår ut. Versjonen av applikasjonen som har blitt utviklet her, er ment som et konseptbevis som kan bygges videre på. Den fungerer og finner nyttig informasjon fra dataen, men har ingen ordentlig brukergrensesnitt, som den bør ha for å være nyttig i et ekte kontrollrom.
Applikasjonen, OscilloWatch, er publisert med åpen kildekode, i håp om at noen vil utvikle den videre og gjøre den eller deler av den til noe faktisk nyttig for systemoperatører. The world gradually moves away from a dependency on fossil fuels and towards increased overall electrification and a higher share of power electronics-based energy sources like wind and solar in the energy mix. This makes maintaining the stability electric power systems increasingly challenging. One of the challenges is high-amplitude, low-frequency oscillations caused by large disturbances, which must be damped quickly to avoid the risk of instability.
Phasor measurement units (PMUs) are widely used in power systems, and there is a great untapped potential of using advanced processing techniques on PMU data to give grid operators in the control room more interpretable insight into the state of the system. An application that gives grid operators early warnings for low-frequency oscillations would be a helpful tool for making good decisions quickly in critical situations.
In this thesis, a Python application that can connect to PMUs and continuously monitor their data to detect and give early warnings for low-frequency oscillations in the power system has been developed. Functionality for analyzing a pre-given signal snapshot in the same way was also implemented, letting the application be tested on recorded simulated and real PMU data or any other type of signal.
The data is analyzed in time segments of a certain length. To analyze a segment, the Hilbert-Huang transform (HHT) is first applied to the data to create a Hilbert spectrum, a time-frequency representation of the segment. An algorithm was developed for analyzing the Hilbert spectrum to detect oscillating modes and estimate their damping. To identify a mode, it combines rows in the spectrum that contain points that are part of an approximately straight horizontal line of non-zero values, as a frequency component should ideally manifest as an exactly straight line. The instantaneous amplitude curve of a mode should ideally follow a decaying exponential curve, and the damping of the mode is estimated by fitting a decaying exponential curve to the amplitude points in the combined row. If a sustained mode with low damping is detected, an alarm is raised. This is done for all detected modes in each segment, and the results are stored in chronological order in a table in a CSV file.
The application has been tested on a synthetic sine wave signal, as well as real and simulated PMU data, to evaluate its accuracy and potential to be useful. The results are promising and indicate that the application and the method it uses have great potential to be a useful tool for grid operators. Modes and their frequencies are accurately detected, alarms are raised when and only when critical low-frequency oscillations are present, and the algorithm is robust to noise in the signal. There is room for improvement, such as taking further measures to ensure that no false alarms are raised, improving the accuracy of the damping estimates, and using better criteria for when alarms are raised. The version of the application developed here is meant as a proof of concept that can be built upon. It is functional and extracts useful information from the data but has no proper user interface, which it should have to be useful in a real control room setting.
The application, OscilloWatch, is published with open source code, in the hopes that someone will develop it further and turn it or parts of it into something truly useful for grid operators.