[hamradio-commits] [lysdr] 01/06: Imported Upstream version 1.0~git20141206+dfsg1
Iain Learmonth
irl-guest at moszumanska.debian.org
Wed Aug 12 15:23:13 UTC 2015
This is an automated email from the git hooks/post-receive script.
irl-guest pushed a commit to branch master
in repository lysdr.
commit 078805b8fcc54601d462e2d2541f3342a40bcd95
Author: Iain R. Learmonth <irl at fsfe.org>
Date: Wed Aug 12 15:54:52 2015 +0100
Imported Upstream version 1.0~git20141206+dfsg1
---
.gitignore | 5 +++++
.travis.yml | 6 ++++++
filter.c | 13 +++----------
sdr.c | 22 ++++++++++++++++++++++
4 files changed, 36 insertions(+), 10 deletions(-)
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..9dc92ee
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+build/
+.lock-wscript
+.waf*
+.lock-wafbuild
+*~
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..9696132
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,6 @@
+language: c
+compiler:
+ - gcc
+before_script:
+ - sudo apt-get install libjack-dev pkg-config libfftw3-dev libgtk2.0-dev
+script: ./waf configure && ./waf build
diff --git a/filter.c b/filter.c
index dafb402..2c483a1 100644
--- a/filter.c
+++ b/filter.c
@@ -120,9 +120,6 @@ void filter_iir_set_response(filter_iir_t *filter, int sample_rate, float cutoff
*/
}
-
-
-
void filter_fir_process(filter_fir_t *filter, double complex *samples) {
// Perform an FIR filter on the data "in place"
// this routine is slow and has a horrible hack to avoid denormals
@@ -140,12 +137,9 @@ void filter_fir_process(filter_fir_t *filter, double complex *samples) {
c = samples[i];
buf_I[index] = creal(c);
buf_Q[index] = cimag(c);
- // flush denormals
- if (IS_ALMOST_DENORMAL(buf_I[index])) { buf_I[index]=0; }
- if (IS_ALMOST_DENORMAL(buf_Q[index])) { buf_Q[index]=0; }
-
-
-
+ // flush denormals
+ if (IS_ALMOST_DENORMAL(buf_I[index])) { buf_I[index]=0; }
+ if (IS_ALMOST_DENORMAL(buf_Q[index])) { buf_Q[index]=0; }
accI = accQ = 0;
j = index;
for (k = 0; k < taps; k++) {
@@ -158,7 +152,6 @@ void filter_fir_process(filter_fir_t *filter, double complex *samples) {
if (index >= taps) index = 0;
}
filter->index = index;
-
}
void filter_hilbert(gint phase, double complex *samples, gint taps) {
diff --git a/sdr.c b/sdr.c
index dfa8eab..f5158a6 100644
--- a/sdr.c
+++ b/sdr.c
@@ -88,7 +88,9 @@ int sdr_process(sdr_data_t *sdr) {
sdr->loVector *= sdr->loPhase;
}
+/*
// demodulate by performing a Hilbert transform and then summing real and imaginary
+
switch(sdr->mode) {
case SDR_LSB:
filter_hilbert(-1, sdr->iqSample, size);
@@ -97,13 +99,33 @@ int sdr_process(sdr_data_t *sdr) {
filter_hilbert(1, sdr->iqSample, size);
break;
}
+
for (i=0; i < size; i++) {
y = creal(sdr->iqSample[i])+cimag(sdr->iqSample[i]);
sdr->output[i] = y;
}
//filter_iir_process(sdr->filter, sdr->output);
+
+
+*/
+ filter_fir_process(sdr->filter, sdr->iqSample);
+
+
+ switch(sdr->mode) {
+ case SDR_LSB:
+ for (i=0; i < size; i++) {
+ y = creal(sdr->iqSample[i])+cimag(sdr->iqSample[i]);
+ sdr->output[i] = y;
+ } break;
+ case SDR_USB:
+ for (i=0; i < size; i++) {
+ y = creal(sdr->iqSample[i])-cimag(sdr->iqSample[i]);
+ sdr->output[i] = y;
+ } break;
+ }
+
// apply some AGC here
for (i = 0; i < size; i++) {
y = sdr->output[i];
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-hamradio/lysdr.git
More information about the pkg-hamradio-commits
mailing list