Algorithms
From setiquest wiki
Description
Digital Signal Processing tools developed at the SETI Institute. The code base is open source and allows a very flexible pipeline approach to analyze setiQuest Data with chained commmand-line invocations. Run the tools as is, in a multitude of configurations or create your own exploratory techniques signal detection and SETI. Also compiles to a DSP library that you can call from your own Python, Ruby, Java, or C++ programs. Contribute to the project by adding documentation or test code or new algorithm code blocks.
The first release of this project was principally supported by a Google through a Google Summer of Code internship for Aditya Bhatt in the summer of 2011. Original project description is at Open Sourcing of Exploratory Techniques for the SETI Search.
At project inception (2010) a few Octave/Matlab programs were developed as prototypes. You can learn more and download these Matlab Algorithms if you prefer this route. The project leaders chose to move to ANSI C after the prototype to gain the benefit of creating a compiled libary of routines more easily called from multiple languages, including MatLab.
Contents |
Members
- Gerry Harp (mentor)
- Erik Olson (co-mentor)
- Aditya Bhatt (GSoC student)
- Rob Ackermann (Emeritus mentor)
Protocols
- Follow General Guidelines
- Follow Coding Standards
- Sign SETI Institute Contributor Licensing Agreement (CLA)
- Collaborative communication for this project will use a combination of the Talk:Algorithms page and the #setiquest IRC channel.
- The source code will be hosted on GitHub.
- The #documentation will be hosted in this wiki page.
- Ubuntu 11.04 Linux development platform with possible Microsoft Windows support
Code Blocks
Reading material
- http://setiquest.org/blog/does-et-text-or-talk
- Communication with Extraterrestrial Intelligence (CETI) Chapter 4 (ask Gerry for a reprint, or better, buy the book! Its chock full of good material)
- ftp://ftp.seti.org/setiquest_ftp/SetiAlgorithms-CullersDeans.pdf
Setting Up
Download the software from GitHub and compile.
Documentation
Program help
You can find invocation/usage information about individual programs by invoking them with the -h option.
Examples
You can easily run your pipelines inside the bin/ directory, or from elsewhere by putting the bin/ directory into your path.
- A simple pipeline that lets you see the signal's complex sample values, with the real and imaginary parts on each line. The head -10 parameter shows only the first 10 samples.
cat ../../Data/2010-04-02-amc7-3693.4464-8bit-one-second.dat | ./sqsample | ./sqread -c 2 | head -10
-4.100000e+01 2.400000e+01
2.400000e+01 -6.000000e+00
-1.900000e+01 -1.600000e+01
-1.600000e+01 -2.900000e+01
-2.200000e+01 -1.600000e+01
1.000000e+01 2.300000e+01
2.300000e+01 1.300000e+01
-1.200000e+01 -2.400000e+01
-1.700000e+01 -2.600000e+01
-8.000000e+00 2.000000e+01
Create some more instructions that describe how to use this software and add them here.
See also
External links
- https://github.com/setiQuest/Algorithms (source code)
- http://setiquest.sigblips.com/all-sources.html (go directly to setiQuest data, graciously hosted by Sigblips)
- http://issues.setiquest.org/projects/algorithms (bug reports)
- http://setiquest.org/forums/signal-processing-algorithms (forum)