signal processing programming

a week ago an old friend of mine contacted me. she wanted to know if i could help her on her thesis. she’s supposed to craft some kind of program to graph and analyze some digital signal processing technique. since i am not a C-course (signal systems and electronics) student and had no knowledge whatsoever about digital signal processing, i was immediately interested (what the…?!). so i invited her to come over to my place to talk a few things over.

she wanted to build the application on delphi, and i think she is just about as anxious to get the job done as i am. she bought a book on basic deplhi programming. unfortunately i have no experience about delphi. i couldn’t even get the main form to show up! so i talked her into visual basic 6.0. now this is a programming language i am very familiar with. well, at least i had completed several homeworks using this language.

so, on a saturday morning, after a full night without sleep in the internet cafe, i had my girlfriend pick me up. then, at home, i sat down with this old friend and we started exchanging ideas. i always wanted to do an application that includes graphing, and i think now’s my chance. she walked me through the equations and we worked out an algorithm. unfortunately, i lacked enough sensitivity to let her in on what i was typing on the visual basic IDE. well, at least the darn thing compiled OK, and we tested it a couple of times. she then copied the prototype and said “i’ll show this to my teachers and i’ll let you know what they have to say about it”. i think that means that if the teachers are okay with the prototype, she can go ahead and really start studying visual basic and develop a real application.

programming something scientific was something new to me, as i spent most of my time developing database-centric applications. as i was also a greenhorn in the world of desktop programming, this opportunity allows me to acquire new knowledge. the bottom line is, i think i’m not doing this for her, i’m doing it for myself.

today i finished the first – and very unreliable – class, containing calculations for the BPSK mode (whatever that is). i basically cut the calculation procedure from last week’s prototype and retrofitted it into a class. i wanted to finish the class – at least until it can validate its own data – but i had a job to go to.

i plan to put some other functionalities in the class, such as calculating PAPR, and other signal attributes. i also intend to build two more classes that will provide support for QPSK and nQAM modes.

let’s start!