What is P-Syn?

P-Syn is a network synthesis program designed to synthesise:
P-Syn has a schematic display which allows component values to be changed and the circuit responses are automatically updated.


Download the latest version of P-Syn (V0.7.1) here.


I guess the motivation for P-Syn started way back in my university days. In the final year of my degree I took a subject on lumped and active filter design. Although this course was a good introduction, I had a yearning to learn more and really wanted to understand how one could generate a lumped filter from a transfer function (network synthesis).

A year or so later while discussing the course with one of my colleagues, David Rowntree, he suggested I take a look at a book called Circuit Design Using Personal Computers by Thomas R. Cuthbert, Jr. I studied the book and it started to answer a lot of the questions I had. I used some of the concepts and software in the book to write some routines of my own in C. David was very encouraging and had lots of good ideas as he had written a lot of routines several years previous himself.

After I had completed some of these routines I realised that this was going to be more than a passing interest and I really wanted to turn these routines into an application or a least put them in a more usable form. I started off by looking into whether I could incorporate these routines into a custom module with in MathCAD (one of my favourite programs). After some research I found that this was possible and I begin to write some custom DLLs to work with MathCAD. This worked OK, but there were two problems: I didn't like the Microsoft Visual C++ language very much and these DLL's relied on the user having a copy of MathCAD. It was time to think about doing things slightly differently.

During the period I was messing around with the DLL's, I had become interested in FreeBSD (a free UNIX OS) and Gnome (a desktop manager). I purchased a book on GTK+/Gnome programming and begun to experiment with it. GTK+ (Gimp Tool Kit) is a GUI toolkit for developing graphical applications. I found the learning curve was fairly steep and it was not simple to compile the applications on FreeBSD due to my lack of experience with UNIX and command line tools/compilers. Some months later I found a much better book for beginners which sorted out all my compiling issues and I was off.

Well I lost interest in messing around on UNIX and I decided that if I wanted to develop an application that was going to be widely distributed it had to have a Windows version. I found a Windows port of the GTK+ libraries created by a guy named Tor Lillqvist and a free compiler for windows (MinGW) and continued my work in Windows environment.

It had taken a lot of time looking into the GUI toolkits and it was now time to re-focus on the filter routines of my application (which I was calling Cut-Off). I worked hard on the routines and developed a concise set of libraries for generating prototype values for Butterworth, Chebychev, Bessel and Gaussian Filters. Once I had tested these I continued my work on the graphical front end. At this point I decided to change the name of my application to P-Syn; partly because this software was created to generated Butterworth, Checbychev, Gaussian and Bessel polynomials, and partly because I wanted it to function in a similar way to EEsof's (now Agilent) software E-Syn.

Well on the 1st of June 2004 the first version of P-Syn (Version 0.1.0) was born! It had taken a long time (and a lot of tangents) to get to this point, but I was there. Finishing this first version gave my the enthusiasm to start work on the next version and add more features and the rest as they say is history!