diff --git a/iPDC/src/Dynamic_time_warping.c b/iPDC/src/Dynamic_time_warping.c index 53c6a73..c9dff7a 100644 --- a/iPDC/src/Dynamic_time_warping.c +++ b/iPDC/src/Dynamic_time_warping.c @@ -60,6 +60,13 @@ struct DTWvollist struct DTWfreqlist *dtwhead = NULL; struct DTWvollist *dtwheadvol = NULL; +/** + * @brief It is used to check event detection using Dynamic Time Warping using frequency + * called in data_vis.c + * + * @param df data frame + * @return int + */ int DTWfreqDistance(struct data_frame *df) { if (dtwhead == NULL) @@ -186,6 +193,13 @@ int DTWfreqDistance(struct data_frame *df) } } +/** + * @brief It is used to check event detection using Dynamic Time Warping using voltage + * called in data_vis.c + * + * @param df data frame + * @return int + */ int DTWvolDistance(struct data_frame *df) { if (dtwheadvol == NULL) @@ -342,6 +356,13 @@ int DTWvolDistance(struct data_frame *df) } } +/** + * @brief It is used to check event detection using Dynamic Time Warping using frequency and voltage + * called in data_vis.c + * + * @param df data frame + * @return int + */ int DTWfreqvolDistance(struct data_frame *df) { return DTWfreqDistance(df) && DTWfreqvolDistance(df); diff --git a/iPDC/src/Event_detect.c b/iPDC/src/Event_detect.c index 15236ff..51e1f0f 100644 --- a/iPDC/src/Event_detect.c +++ b/iPDC/src/Event_detect.c @@ -7,7 +7,7 @@ * Copyright (C) 2022-2023 Kedar V. Khandeparkar * Copyright (C) 2022-2023 Pavan Kumar V Patil * Copyright (C) 2022-2023 Karthik Murakonda - * + * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 @@ -36,6 +36,7 @@ #include "parser.h" #include "Event_detect.h" +/*Used in maintaining Nodes for all PMUS*/ struct freqlist { int idcode; @@ -44,6 +45,7 @@ struct freqlist struct freqlist *next; }; +/*Used in maintaining Nodes for all PMUS*/ struct vollist { int idcode; @@ -55,6 +57,13 @@ struct vollist struct freqlist *head = NULL; struct vollist *headvol = NULL; +/** + * @brief It is used to check event detection using Basic appraoch using freq + * called in data_vis.c + * + * @param df data frame + * @return gboolean + */ gboolean attack_detect_freq(struct data_frame *df) { if (head == NULL) @@ -124,6 +133,13 @@ gboolean attack_detect_freq(struct data_frame *df) } } +/** + * @brief It is used to check event detection using Basic appraoch using voltage + * called in data_vis.c + * + * @param df data frame + * @return gboolean + */ gboolean attack_detect_vol(struct data_frame *df) { float CURR_vol; @@ -223,9 +239,14 @@ gboolean attack_detect_vol(struct data_frame *df) } } +/** + * @brief It is used to check event detection using Basic appraoch using voltage and frequency + * called in data_vis.c + * + * @param df data frame + * @return gboolean + */ gboolean attack_detect_freq_vol(struct data_frame *df) { return attack_detect_freq(df) && attack_detect_vol(df); -} - -/* pavan changes */ +} \ No newline at end of file diff --git a/iPDC/src/Kmeans.c b/iPDC/src/Kmeans.c index a201ccd..0952ec7 100644 --- a/iPDC/src/Kmeans.c +++ b/iPDC/src/Kmeans.c @@ -7,7 +7,7 @@ * Copyright (C) 2022-2023 Kedar V. Khandeparkar * Copyright (C) 2022-2023 Pavan Kumar V Patil * Copyright (C) 2022-2023 Karthik Murakonda - * + * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 @@ -50,6 +50,13 @@ struct kmeans1 struct kmeans1 *headk = NULL; +/** + * @brief It is used to check event detection using Kmeans clustering using frequency + * called in data_vis.c + * + * @param df data frame + * @return gboolean + */ gboolean kmeans(struct data_frame *df) { if (headk == NULL) diff --git a/iPDC/src/Kmeans2.c b/iPDC/src/Kmeans2.c index 4478a96..5b33503 100644 --- a/iPDC/src/Kmeans2.c +++ b/iPDC/src/Kmeans2.c @@ -36,6 +36,7 @@ #include #include +/*Used for storing points*/ struct Point { long double x, y; // coordinates @@ -43,6 +44,7 @@ struct Point long double minDist; // default infinite dist to nearest cluster }; +/*used for storing centroid of clusters formed*/ struct centroid { long double x, y; @@ -50,6 +52,7 @@ struct centroid unsigned long long int count; }; +/*used to maintain nodes for all PMUs*/ struct Kmeans2 { int idcode; @@ -64,11 +67,23 @@ struct Kmeans2 struct Kmeans2 *head_of_kmeans2 = NULL; +/** + * @brief It finds data between point A and B + * + * @param A,B + * @return long double + */ long double distance(struct Point *A, struct Point *B) { return (((A->x - B->x) * (A->x - B->x)) + ((A->y - B->y) * (A->y - B->y))); } +/** + * @brief It finds data between centroid A and point B + * + * @param A,B + * @return long double + */ long double distance2(struct centroid *A, struct Point *B) { return (((A->x - B->x) * (A->x - B->x)) + ((A->y - B->y) * (A->y - B->y))); @@ -109,6 +124,13 @@ int *getRandoms(int lower, int upper, int count) } } +/** + * @brief It is used to check event detection using Kmeans clustering using voltage and frequency + * called in data_vis.c + * + * @param df data frame + * @return bool + */ bool Kmeans2(struct data_frame *df) { if (head_of_kmeans2 == NULL)