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

03.06.10: Language : : Writing Chinese in Devanagari

It has been six weeks in Hangzhou, China. This has given me enough time to decipher the Mandarin language. Mainland China uses Simplified Chinese. Chinese cannot be transliterated but only transcribed. What makes Chinese so different are the following facts:

  1. There is no concept of vowels (a,e,i,o,u) or consontants. It's all about initials, finals and tones.
  2. The same character can correspond to two (or more) different sounds. For example, 言 can be transcribed as yán or yín or yàn
  3. The same sound can correspond to two (or more) different characters. For example, can be written as 他 or 她 or 踏

Here, I have come up with a scheme to pronounce Chinese as closely as possible by the Indian tongue. It's easy because Indian languages (say Hindi or Kannada) are "phonetic" -- we pronounce the way we write. One letter, one sound.

The rest of the article assumes that you have some knowledge of Pinyin, Devanagari, International Phonetic Alphabet, Vedic Accent, Sanskrit phonology and Mandarin phonology. Read on full article here !


Category: Languages Posted by: bdsatish

» Read More

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

31.01.10: Language :: Catch up with News in Sanskrit

In this post, I'll introduce you to web resources that help you to catch up with the news in Sanskrit, free of cost, everyday.

1. All India Radio (AIR)
Since the 1980s, Indians are addicted to two things - the television and the radio, or more precisely, Doordarshan and Akashavani, as they were then called.If you think you are missing those good old times, here's some solace.The AIR has been broadcasting news in several languages everyday. You can subscribe to the RSS feed of Sanskrit news through this link:
http://sanskritdocuments.org/news/air_news.xml
I use Google Reader which neatly streams the MP3 right inside the browser. If youchoose to listen regularly, just register your name on this link. Of course, I am the 18-th on the list !You can find all previous archives and the news transcripts at Sanskrit Documents

2. Sudharma -- World's only Sanskrit Newspaper
Sudharma was started in 1970 by a Mysorean, Varadaraja Iyengar. As such, you'll find a lot of local news, in and around Bangalore.This newspaper is struggling for its existence. The least you can do is to spread awareness aboutthis to your friends. You can subscribe to its RSS feeds here:
http://feeds.feedburner.com/sanskritnews


Category: Languages Posted by: bdsatish

RSS Feed


ComSigProc


Navigation