by Joseph Rickert
R would probably not be the first language that pops into the mind of an engineer who is looking for signal processing software. However, I think anyone who looks into what R can do in this area would be very pleasantly surprised. The bulk of R’s basic signal processing capability comes from the signal package which was ported over from the open source project Octave. This package contains a number of functions for filtering, filter generation, resampling, interpolation and the visualization of filter models that Matlab packages up in its Signal Processing Toolbox. The functions in the R's signal package retain the look and feel of MatLab originals. Working with these functions should make it easy for anyone familiar with MatLab to make the transition to R. Here is some sample code adapted from D.M. Etter’s book "Engineering Problem Solving with Matlab" for computing the transfer functions for four digital filters and plotting the results. Remember that a transfer function H(z) may be described as the ratio of two complex ploynomials: