jump to navigation

Projects followup September 1, 2011

Posted by Rich in school, work.
Tags: , ,
add a comment

In my last post, I started learning about various projects. Several months later, here is a followup.

I’ve been using git quite extensively for all of my projects, both work-related, school-related, and some personal work. I have an account on github and am enjoying using it, although nothing I do is really collaborative.

I used redmine quite a bit in the first few months this year, but my usage has tapered off a bit since. It’s a great system, I just haven’t been keeping up with updating my projects.

Over the summer, I learned python. I am enjoying it quite a bit. There are many virtues to the language and sure can handle many of my use cases:

  • Scripting: One of the first things I did when I started work at the MERS lab was to learn bash scripting. I’ve used it quite extensively in the past 3 years but I feel like I’ve hit its limits several times in my scripting. Python does a great job at replacing my bash scripting needs while offering more powerful constructs and features.
  • “General-purpose programming”: Python can do a lot, and I wanted to do some project to test out and expand my skills. At the request of my brother, I started an etymology tree viewer in python called etymdendron. I started with a simple command-line interface but soon built a decently capable GUI using wxWidgets. Now that school has started, I won’t really be able to work on it, but it’s at a decently done point. I’ve learned a lot about python and wxPython and XML along the way.
  • Numerical computing: In my field, MATLAB is the  de facto environment for writing and testing code to do scientific/numerical computing. While MATLAB is generally an impressive product and I feel like a decently advanced user after about five years of experience, I’m also quite aware of some of its deficiencies. This is a topic for a whole other post. But my #1 gripe is the lack of of a += or similar operator. Also, as a long-time user of libre software (eg Linux and GNU software) it’s a little uncomfortable to be writing so much code that is locked in to a proprietary solution. I shake my head at students in other majors on campus that religiously use software such as Powerpoint, but have to remind myself that writing MATLAB code is not much different. Well, the answer to my worries is Python.Python, coupled with NumPySciPy , and matplotlib, make for a strong alternative to MATLAB. I’ve started to do more coding in Python (and NumPy and matplotlib) than MATLAB lately and have been rather pleased with the results. Again, a topic for a future post. While NumPy is largely similar to MATLAB, there are enough differences that make the transition not as easy as I had hoped for. Mainly I just have to learn different programming idioms (ie the way I learned to do such-and-such with MATLAB is different than how you should do it with NumPy). However, the end results have been very satisfying. Especially with matplotlib. Matplotlib is a far superior and more flexible plotting library than MATLAB’s (at least for my use cases).

Also this summer I’ve been learning the joys of DocUtils and reStructuredText. I’ve been using them a little, but want to use them more. Another future post. 🙂

So, with the tools of git, python, and others under my belt, I am ready to tackle another semester at school.


Your mom can do a Hilbert transform April 1, 2009

Posted by Rich in school.
add a comment

Hi world, I just wanted to say that signal processing is cool. In my signal processing class, we’re learning about analytic signals and the Hilbert transform. Basically it’s a cool and compact way of extracting the amplitude-modulated and frequency-modulated components of a signal simultaneously! This is nifty.

Earlier, in my communication circuits class we learned about how to create an AM receiver and an FM receiver (I built one in a lab). These take quite a bit of design to get the right values of resistors, capacitors, and so on for the specific application, like broadcast AM/FM radio, for example. Using the miracle of a Hilbert transform, you can do it all at once with digital signal processing. THAT is awesome.

In other news, my team is presenting our senior project to the world this week at the Wilk. Everyone’s invited. It’s from 1-5pm at the Garden Court on Thursday. Our team will be demoing what we’ve done with aeronautical telemetry. kthanksbai

Please pass the breadboard February 5, 2009

Posted by Rich in school.
add a comment

So yesterday I built an oscillator out of some resistors, capacitors, and a couple of transistors. It’s cool, I just hook it up to a power supply and out comes a 5.8 kHz sinusoidal signal! Designing the thing was beastly but it works.

Today I built a digital filter in MATLAB that only passes frequencies around 3 kHz. We used it to filter out a bunch of Morse code that was interfering with the “signal of interest” at 3 kHz. It worked beautifully and we successfully decoded the Morse code signal we wanted without all the interference.

Tomorrow I’ll be working with my group on our Concept Generation and Selection document as part of our senior project. We’ll show why we chose one concept over another; for example, we’re using a matched filter in a digital demodulator — now, should it be a third-order Butterworth lowpass filter or a square root raised cosine? We chose the SRRC pulse shape but we have to document why and what criteria we used to select it.

All in the week of a student electrical engineer.