Jake Janovetz
(nospam@janovetz.com)

Boundary Waters | Solo Kayak Construction | Cantante | Erithacus

McClellan-Parks Program

I've authored a C version of the popular Parks-McClellan program (Remez exchange) which generates optimal -- in the Chebyschev sense -- FIR filters. It is now released under the GNU Library General Public License.
remez-19980711.zip
GNU General Public License
GNU Library General Public License

Erithacus

My masters work involved designing flexible digital hardware to be used in the Digital Communications Lab offered here at the University of Illinois. Follow this link for more information.

My Erithacus CVS Repository.
Thesis entitled Flexible Digital Communication System for Education

Cantante

Cantante was a fun project to build a stand-alone "Internet Appliance" for playing MP3-encoded audio. I haven't worked on this for several years, but it reached a reasonable level of completeness when I did.

DSP56302/002 EVM code

Here by popular demand are the macro definitions for the 56002 and 56302 EVM boards. These initialize the CODEC on-board and also provide a routine to synchronize with the incoming samples. The thru.asm code is provided as an example.
56002 Equates (equ002.inc)
56302 Equates (equ302.inc)
56002 Core Routines (core002.asm)
56302 Core Routines (core302.asm)
Thru example (for 002 or 302) (thru.asm)

Digital Signal Processing

As part of ADSL, I designed a digital signal processing board for PCs. It interfaces to the ISA bus and uses a Motorola DSP56002 as its processing engine. It also has a stereo audio CODEC (Crystal Semiconductor CS4215) for analog-to-digital and digital-to-analog conversion.
Since this project is not yet complete, the code below is in a development stage (perhaps eternally). It is provided for people interested, but comes with no guarantee.
Hardware Design Documentation
Software Design Documentation
"lex" lexer for 56002 assembler
"yacc" parser for 56002 assembler
C code for 56002 disassembler
56002 code for a monitor/debugger
C code for PC interface to DSP board and its header file

GPS Buggy

A couple years ago, Nate Young and I worked with getting a small robot platform to navigate around the UofI quad using differential carrier phase GPS (DCPGPS). A few people have asked for the documentation and code. It's all free (under the GPL). buggy.zip is the code. It is written in C for OS/2, but the DCPGPS stuff should be easily portable. buggy.doc is a Word document that Nate wrote up to describe the thing.

Color Netcam

A while back, I began to dabble in video. My first goal was to get video into a computer, then future projects would involve DSP or other manipulation on that video. As usual, my interests wandered... ADSL Netcams are ADSL's web interfaces for three cameras in ADSL. Two are black and white, but are mounted on a moveable platform. The third is my color version of the capture board. Unfortunately, none of them are in service anymore.