I have heard people have success with scipy and/or Octave. While Octave tries to be similar in form and function to Matlab, the latter is a professional quality package that has very rich set of toolboxes for signal processing of various forms. Octave has many proponents, but if you use it, be sure to get the latest distro, as the ones packaged with today's Linux distros are usually very old and are not worth using.
SciPy in the other hand is a set of toolboxes for python. My colleagues have used this quite successfully, especially SciPy.signal. It does require developing familiarity with python, which is a good skill to have anyway
Anaconda is a distribution that contains a prebuilt sciPy as well as NumPy and various plotting packages. It is an easy way to get all the packages up and running for someone with minimal software skills
Octave these days is very good, the signal processing toolbox (and all other toolboxes) are included in the distribution. Octave is largely Matlab compatible, in the sense that matlab code written ten years ago or so will generally run fine on Octave. Code you write on Octave will generally run well on Matlab. This provides an easy way to collaborate with people who use either Octave or Matlab.
The latest Octave distribution includes both the CLI and GUI interfaces. I've found the GUI to be quite good. Windows and Linux distributions are free to download.