summaryrefslogtreecommitdiff
path: root/filt
diff options
context:
space:
mode:
authorFreeArtMan <dos21h@gmail.com>2016-05-08 16:02:01 +0100
committerFreeArtMan <dos21h@gmail.com>2016-05-08 16:02:01 +0100
commite42911405c4bc2f8c097f47d4598baf8522ef3da (patch)
tree9eb767c5e6a4443e8773b18ea76cf4216f6c8758 /filt
parent9b95088bddcf1f83e3a8f73f08f49b38ecb0f500 (diff)
downloadradiola-master.tar.gz
radiola-master.zip
Moved source to src directoryHEADmaster
Diffstat (limited to 'filt')
-rw-r--r--filt/Kconfig0
-rw-r--r--filt/filt.h16
-rw-r--r--filt/filt_5th.c32
-rw-r--r--filt/filt_delay.c51
-rw-r--r--filt/make.mk11
5 files changed, 0 insertions, 110 deletions
diff --git a/filt/Kconfig b/filt/Kconfig
deleted file mode 100644
index e69de29..0000000
--- a/filt/Kconfig
+++ /dev/null
diff --git a/filt/filt.h b/filt/filt.h
deleted file mode 100644
index 9ce2caa..0000000
--- a/filt/filt.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __RADIOLA_FILT_H
-#define __RADIOLA_FILT_H
-
-#include <stdlib.h>
-#include <stdio.h>
-#include <stdint.h>
-#include <string.h>
-#include <unistd.h>
-
-//fifth order filter from rtlsdr
-void filt_5th(int16_t *data, int length, int16_t *hist);
-
-//delay filtering from https://github.com/dpiponi/mini_fm.git
-void filt_delay( uint8_t *buf, int buf_len );
-
-#endif \ No newline at end of file
diff --git a/filt/filt_5th.c b/filt/filt_5th.c
deleted file mode 100644
index 23d5aab..0000000
--- a/filt/filt_5th.c
+++ /dev/null
@@ -1,32 +0,0 @@
-#include "filt.h"
-
-void f_5th(int16_t *data, int length, int16_t *hist)
-/* for half of interleaved data */
-{
- int i;
- int16_t a, b, c, d, e, f;
- a = hist[1];
- b = hist[2];
- c = hist[3];
- d = hist[4];
- e = hist[5];
- f = data[0];
- /* a downsample should improve resolution, so don't fully shift */
- data[0] = (a + (b+e)*5 + (c+d)*10 + f) >> 4;
- for (i=4; i<length; i+=4) {
- a = c;
- b = d;
- c = e;
- d = f;
- e = data[i-2];
- f = data[i];
- data[i/2] = (a + (b+e)*5 + (c+d)*10 + f) >> 4;
- }
- /* archive */
- hist[0] = a;
- hist[1] = b;
- hist[2] = c;
- hist[3] = d;
- hist[4] = e;
- hist[5] = f;
-}
diff --git a/filt/filt_delay.c b/filt/filt_delay.c
deleted file mode 100644
index 53da0b0..0000000
--- a/filt/filt_delay.c
+++ /dev/null
@@ -1,51 +0,0 @@
-#include "filt.h"
-
-//delay filtering
-void filt_delay( uint8_t *buf, int buf_len )
-{
- //delay length
- const int n=10;
-
- int i=0;
- uint32_t cycle=0;
- uint32_t avg_i=0, avg_q=0;
- uint32_t cyc_buffer_i[n],delay_i=0;
- uint32_t cyc_buffer_q[n],delay_q=0;
- uint8_t in1=0,in2=0,out1=0,out2=0;
-
- memset( cyc_buffer_i, 0, n*sizeof(uint32_t) );
- memset( cyc_buffer_q, 0, n*sizeof(uint32_t) );
-
- //for (i=0; i<(buf_len-(n*2));i+=2)
- for (i=0 ; i<(buf_len-1) ; i+=2 )
- //for (i=0; i<1000; i+=2)
- {
- in1 = buf[i];
- in2 = buf[i+1];
-
- //average
- avg_i += (uint32_t)in1;
- avg_q += (uint32_t)in2;
-
- delay_i = cyc_buffer_i[cycle];
- delay_q = cyc_buffer_q[cycle];
-
- cyc_buffer_i[cycle] = avg_i;
- cyc_buffer_q[cycle] = avg_q;
- cycle = cycle + 1;
- if ( cycle >= n )
- {
- cycle = 0;
- }
-
- out1 = (avg_i - delay_i)/n;
- out2 = (avg_q - delay_q)/n;
-
- buf[i] = out1;
- buf[i+1] = out2;
-
- //printf("%d,avg=[%d,%d],delay=[%d,%d],in=[%d,%d],out=[%d,%d]\n",
- // cycle, avg_i,avg_q,delay_i,delay_q,in1,in2,out1,out2);
-
- }
-} \ No newline at end of file
diff --git a/filt/make.mk b/filt/make.mk
deleted file mode 100644
index be7468f..0000000
--- a/filt/make.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-DIR_FILT = filt/
-SOURCES_FILT += filt/filt_5th.c filt/filt_delay.c
-OBJECTS_FILT += $(SOURCES_FILT:.c=.o)
-LDFLAGS +=
-LDFLAGS_BSD +=
-
-
-OBJECTS_DIR_FILT += $(subst $(DIR_FILT),$(BUILD_DIR)$(DIR_FILT),$(OBJECTS_FILT))
-
-OBJECTS += $(OBJECTS_FILT)
-OBJECTS_FINAL += $(OBJECTS_DIR_FILT) \ No newline at end of file