question on polezero response

I have a question on the PAZ dictionary for removing instrument response using poles, zeros and a constant as described here . Are the values of poles and zeros in units of radians or Hz ?

Hi Avinash,

that is actually a good question and if I’m not mistaken the values are in radians.

The actual frequency response is computed here:

Neither of the two scipy functions called perform any type of unit conversion and the final frequency values for the scipy.signal.freqs function are given in radians so I strongly assume that the Poles and Zeros also have units of radians.

Hope this helps!


So this is different from the ‘normal’ path in obspy to calculate
response using evalresp ?

e.g., evalresp seems to use the units (rads vs. Hz) correctly as far as I know.


Hi, Avinash,

These are the coordinates (real, imaginary) as a complex number in the z-plane as opposed to an angle and radius.


FWIW, the DMC’s software that generates “SAC Poles and Zeros” converts them to radians, when documented in Hertz. I cannot quickly find a firm reference for what sac expects, but this has been the case since the deep history of rdseed (RIP).


I think the SAC polezero files have these numbers in angular frequency 2pi times (Hz). I asked this question because I have seen some spec sheets in which the poles and zeros are in units of Hz but then you need to multiply them by 2pi and then the normalization constant has to be recalculated before it can be used in SAC.

I think sac poles zeroes are conversion to displacement and resp files are set up for velocity. To equate the conversion also requires adding a zero to resp pz in addition to other adjustments.