From 9a0a271e4dcbbbb7f4c32407ce7352d8cee37c1d Mon Sep 17 00:00:00 2001 From: Rafat Hussain Date: Wed, 2 Aug 2017 18:44:39 +0530 Subject: [PATCH] Commit : Denoise First Commit --- denoise/denoise.c | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 denoise/denoise.c diff --git a/denoise/denoise.c b/denoise/denoise.c new file mode 100644 index 0000000..a5754a6 --- /dev/null +++ b/denoise/denoise.c @@ -0,0 +1,40 @@ +#include +#include +#include "../header/wavelib.h" + +int compare_double(const void* a, const void* b) +{ + double arg1 = *(const double*)a; + double arg2 = *(const double*)b; + + if (arg1 < arg2) return -1; + if (arg1 > arg2) return 1; + return 0; + +} + +double median(double *x, int N) { + double sigma; + + qsort(x, N, sizeof(double), compare_double); + + if ((N % 2) == 0) { + sigma = (x[N/2 - 1] + x[N/2] ) / 2.0; + } else { + sigma = x[N/2]; + } + + return sigma; +} + +int main(void) +{ + int i; + double x[10] = { -2.4, 100.9,33 ,34,0,-6, -74.3, 2.9789, 271, 42 }; + + + printf("Median %g \n",median(x,10)); + for(i = 0; i < 10;++i) { + printf("%g ",x[i]); + } +}