15.08.10: Software : : Communications and Signal Processing

Happy Independence Day ! Celebrating 63 years of Indian Independence!

Of late, I've been doing a lot of programming in Fortran. No, it's not a dead language. Modern Fortran is a fully object-oriented language with array-like operations built into the language itself, making it more like "compiled Matlab". Fortran Wiki is an excellent starting point.

That said, I have written up a few thousand lines of code for Communications and Signal Processing routines. The project is licensed under GNU General Public License. So, it's free and open-source software. The project is hosted at BitBucket. I've tested it on GNU/Linux (Ubuntu) and Windows/Cygwin. It's nice to know that my software is equivalent to 40,000 US dollars of development effort. Wow ! Thanks to Ohloh for the metrics, I've added a badge on the left sidebar.

Category: Software Posted by: bdsatish

05.04.10: Software : : Fixed-point Math for Embedded Systems, Part 2

As mentioned in my previous post , Fixed-point Arithmetic is proving more and more interesting. Ahem, I created an Open Source project at Bitbucket ! Here's the link : Fixed-Point Math Library. You can download the latest version of software for free and try it out. I've created versions 0.1, 0.2 and 0.3, but it's always suggested to use the 'TIP'

I managed to code a thousand lines in just three days (Happy Easter !) over the long weekend. So the following, features are complete:

  1. Conversions among fixed-point, floating-point and ASCII strings (with or without rounding)
  2. Extracting integer-part and fractional-part of Q-number, absolute value & saturation
  3. Add, Subtract, Multiply, Divide (different versions for dealing with rounding and saturation in different Q-formats available)
  4. Fixed-point Square-root and Inverse Sqrt

One more feature I added are unit-tests -- as and when I implement new code, CuTesT will automatically generate template for my test suite. Currently there are about 18 test suites, take a look at the test/
folder in the downloaded zip. Of course, all of them are passing !



Category: Software Posted by: bdsatish

» Read More

16.03.10: Software : : Fixed-point Math for Embedded Systems, Part 1

Hi there ! As a DSP programmer, I often encounter this situation: I need to do a lot of math, but the underlying CPU doesn't have a floating-point unit at all ! So, the general technique used is Fixed-point Arithmetic. The basic idea is that every real number, like 3.14159, is mapped to an integer. We all know that integer arithmetic is faster than floating-point arithmetic. For ex, 32-bit integer multiply (MUL EDX) takes about 5 clock cycles on a 80x86, whereas 32-bit IEEE float multiply (FMUL) takes over 10 clock cycles.

There you are, I rolled up my sleeves and wrote my own C library for dealing with Q-formats. There is basic support for conversion from float-to-fixed, addition, saturation, etc. I will be updating it soon with algorithms for sqrt( ), sin( ), cos( ) and finally FFT. The current version of the software is just a header file. A sample test program is also attached. You can download the software here: FixedPointMathLibrary. The software is licensed under the Non-Profit Open Software License 3.0.

Category: Software Posted by: bdsatish

26.01.10: Software :: One input, Multiple Outputs

There are various document formats in use today: Microsoft Word (*.doc), Open Office (*.odf), Portable Document Format (*.pdf), XML, HTML, Docbook, Rich Text Format (*.rtf), Unix man pages, GNU N/T/ROFF, GNU Info, GNU Texi, etc. However, the best document format that exists, according to me, is LaTeX. It has been in use for several decades and has stood the test of time. Nothing can beat LaTeX (or TeX, in general) when it comes to typesetting Mathematics. In this post, I'll give examples of a software converters which accept LaTeX input and convert it to various other output formats. I call this as the principle of "one input, multiple output" -- write once and use it in whatever format you want ! As an example, head over to my Channel Estimation article, which was automatically converted from LaTeX to XHTML.

Don't forget to subscribe to RSS feed! Read the full article!

Category: Software Posted by: bdsatish

» Read More

RSS Feed


ComSigProc


Navigation