jgaeddert / liquid-fpm Goto Github PK
View Code? Open in Web Editor NEWfixed-point math library for embedded signal processing
Home Page: http://liquidsdr.org
License: GNU General Public License v3.0
fixed-point math library for embedded signal processing
Home Page: http://liquidsdr.org
License: GNU General Public License v3.0
Running fedora 30 on an AMD system.
sorry for opening an issue but would it be possible to use
libcorrect which fedora provides?
i found an error in the make file while compiling the gen tabs.you forgot to add the -lm flag
i suggest to change the line 166 in Makefile.ini to be like this :
$(gentab_programs) : % : %.c ./include/liquidfpm.h
Hi, I have a question about CORDIC algorithm in liquid-fpm. According to wiki, the basic operations in rotation in CORDIC are showed below:
x[i+1] = x[i] - d[i] * y[i] * 2^(-i)
y[i+1] = y[i] + d[i] * x[i] * 2^(-i)
θ[i+1] = θ[i] − d[i] * α[i]
where d[i] is either 1 or -1. I note that in liquid-fpm, we use XOR operation to deal with the judgment of positive and negative signs.
liquid-fpm/src/sincos.cordic.c
Lines 119 to 128 in a8ff545
But I suspect there is a bug in the above code. In line 123, there seems to be a missing parenthesis of ((y>>i)^d) -d;
. They should be a whole like line 125.
liquid-fpm/src/sincos.cordic.c
Line 125 in a8ff545
Is there a trick here that I don't know about or is this a simple clerical error? Looking forward to your reply.
In order to complete the sequence
./bootstrap.sh
./configure
make
successfully, I first had to edit makefile.in so that "-lm" appeared after, not before, "$<" in the compile command lines. Otherwise, math library symbols were not found because the math library was not in line to be searched after the source file. FWIW, this is Ubuntu 18.04.
A corrective patch:
diff --git a/makefile.in b/makefile.in
index 2b8320c..15c3e8f 100644
--- a/makefile.in
+++ b/makefile.in
@@ -180,7 +180,7 @@ gentab_objects =
$(gentab_programs) : % : %.c ./include/liquidfpm.h
$(CC) $(INCLUDE_CFLAGS) -lm $< -o $@
$(CC) $(INCLUDE_CFLAGS) $< -lm -o $@
@@ -373,7 +373,7 @@
./$(benchmarkgen_prog)
$(CC) $(BENCH_CFLAGS) -lm $< $(LDFLAGS) libliquidfpm.a -o $@
$(CC) $(BENCH_CFLAGS) $< -lm $(LDFLAGS) libliquidfpm.a -o $@
bench: $(benchmark_prog)
./$<
@@ -401,7 +401,7 @@
./$(autotestgen_prog)
$(CC) $(AUTOTEST_CFLAGS) -lm $< $(LDFLAGS) libliquidfpm.a -o $@
$(CC) $(AUTOTEST_CFLAGS) $< -lm $(LDFLAGS) libliquidfpm.a -o $@
check: $(autotest_prog)
./$<
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.