pyrocko.response¶
Frequency response parameterizations useful as transfer functions in signal processing.
Classes
|
Frequency response of an analog filter. |
|
Butterworth frequency response. |
|
Frequency response of a time delay. |
|
The differentiation response, optionally multiplied by a constant gain. |
|
Frequency response of an analog filter. |
|
Evaluates frequency response from digital filter pole-zero representation. |
|
Calls evalresp and generates values of the instrument response transfer function. |
|
Base class for parameterized frequency responses. |
|
Undocumented. |
|
A flat frequency response. |
|
The integration response, optionally multiplied by a constant gain. |
|
Frequency response returning NaN for all frequencies. |
|
Calls evalresp and generates values of the inverse instrument response for deconvolution of instrument response. |
|
Multiplication of several |
|
Evaluates frequency response from pole-zero representation. |
|
Interpolates frequency response given at a set of sampled frequencies. |
- class FrequencyResponseCheckpoint(**kwargs)[source]¶
Bases:
ObjectUndocumented.
- ♦ frequency¶
float
- ♦ value¶
float
- class FrequencyResponse(*args, **kwargs)[source]¶
Bases:
ObjectBase class for parameterized frequency responses.
- ♦ checkpoints¶
listofFrequencyResponseCheckpointobjects, default:[]
- evaluate(freqs)[source]¶
Evaluate the response at given frequencies.
- Parameters:
freqs (
numpy.ndarrayof shape(N,)and dtypefloat) – Frequencies [Hz].- Returns:
Complex coefficients of the response.
- Return type:
numpy.ndarrayof shape(N,)and dtypecomplex
- evaluate1(freq)[source]¶
Evaluate the response at a single frequency.
- Parameters:
freq – Frequency [Hz].
- Returns:
Complex response coefficient.
- Return type:
- get_fmax()[source]¶
Get maximum frequency for which the response is defined.
- Returns:
Noneif the response has no upper limit, otherwise the maximum frequency in [Hz] for which the response is valid is returned.- Return type:
float or None
- property summary¶
Short summary with key information about the response object.
- class Gain(*args, **kwargs)[source]¶
Bases:
FrequencyResponseA flat frequency response.
- ♦ constant¶
complex, default:(1+0j)
- class Evalresp(respfile, trace=None, target='dis', nslc_id=None, time=None, stages=None, **kwargs)[source]¶
Bases:
FrequencyResponseCalls evalresp and generates values of the instrument response transfer function.
- Parameters:
respfile – response file in evalresp format
trace – trace for which the response is to be extracted from the file
target –
'dis'for displacement or'vel'for velocity
- ♦ respfile¶
str
- ♦ nslc_id¶
tupleof 4strobjects, default:(None, None, None, None)
- ♦ target¶
str, default:'dis'
- ♦ instant¶
float
- ♦ stages¶
tupleof 2intobjects, optional
- class InverseEvalresp(respfile, trace, target='dis', **kwargs)[source]¶
Bases:
FrequencyResponseCalls evalresp and generates values of the inverse instrument response for deconvolution of instrument response.
- Parameters:
respfile – response file in evalresp format
trace – trace for which the response is to be extracted from the file
target –
'dis'for displacement or'vel'for velocity
- ♦ respfile¶
str
- ♦ nslc_id¶
tupleof 4strobjects, default:(None, None, None, None)
- ♦ target¶
str, default:'dis'
- ♦ instant¶
float
- class PoleZeroResponse(zeros=None, poles=None, constant=1 + 0j, **kwargs)[source]¶
Bases:
FrequencyResponseEvaluates frequency response from pole-zero representation.
- Parameters:
(j*2*pi*f - zeros[0]) * (j*2*pi*f - zeros[1]) * ... T(f) = constant * ---------------------------------------------------- (j*2*pi*f - poles[0]) * (j*2*pi*f - poles[1]) * ...
The poles and zeros should be given as angular frequencies, not in Hz.
- ♦ zeros¶
listofcomplexobjects, default:[]
- ♦ poles¶
listofcomplexobjects, default:[]
- ♦ constant¶
complex, default:(1+0j)
- class DigitalPoleZeroResponse(zeros=None, poles=None, constant=1 + 0j, deltat=None, **kwargs)[source]¶
Bases:
FrequencyResponseEvaluates frequency response from digital filter pole-zero representation.
- Parameters:
The poles and zeros should be given as angular frequencies, not in Hz.
- ♦ zeros¶
listofcomplexobjects, default:[]
- ♦ poles¶
listofcomplexobjects, default:[]
- ♦ constant¶
complex, default:(1+0j)
- ♦ deltat¶
float
- class ButterworthResponse(*args, **kwargs)[source]¶
Bases:
FrequencyResponseButterworth frequency response.
- Parameters:
corner – corner frequency of the response
order – order of the response
type – either
highorlow
- ♦ corner¶
float, default:1.0
- ♦ order¶
int, default:4
- ♦ type¶
str(pyrocko.guts.StringChoice), default:'low'
- class SampledResponse(frequencies, values, left=None, right=None, **kwargs)[source]¶
Bases:
FrequencyResponseInterpolates frequency response given at a set of sampled frequencies.
- Parameters:
frequencies,values – frequencies and values of the sampled response function.
left,right – values to return when input is out of range. If set to
None(the default) the endpoints are returned.
- ♦ frequencies¶
numpy.ndarray (
pyrocko.guts_array.Array)
- ♦ values¶
numpy.ndarray (
pyrocko.guts_array.Array)
- ♦ left¶
complex, optional
- ♦ right¶
complex, optional
- inverse()[source]¶
Get inverse as a new
SampledResponseobject.
- class IntegrationResponse(n=1, gain=1.0, **kwargs)[source]¶
Bases:
FrequencyResponseThe integration response, optionally multiplied by a constant gain.
- Parameters:
n – exponent (integer)
gain – gain factor (float)
gain T(f) = -------------- (j*2*pi * f)^n
- ♦ n¶
int, optional, default:1
- ♦ gain¶
float, optional, default:1.0
- class DifferentiationResponse(n=1, gain=1.0, **kwargs)[source]¶
Bases:
FrequencyResponseThe differentiation response, optionally multiplied by a constant gain.
- Parameters:
n – exponent (integer)
gain – gain factor (float)
T(f) = gain * (j*2*pi * f)^n
- ♦ n¶
int, optional, default:1
- ♦ gain¶
float, optional, default:1.0
- class DigitalFilterResponse(b, a, deltat, drop_phase=False, **kwargs)[source]¶
Bases:
FrequencyResponseFrequency response of an analog filter.
(see
scipy.signal.freqz()).- ♦ b¶
listoffloatobjects, default:[]
- ♦ a¶
listoffloatobjects, default:[]
- ♦ deltat¶
float
- ♦ drop_phase¶
bool, default:False
- class AnalogFilterResponse(b, a, **kwargs)[source]¶
Bases:
FrequencyResponseFrequency response of an analog filter.
(see
scipy.signal.freqs()).- ♦ b¶
listoffloatobjects, default:[]
- ♦ a¶
listoffloatobjects, default:[]
- class MultiplyResponse(responses=None, **kwargs)[source]¶
Bases:
FrequencyResponseMultiplication of several
FrequencyResponseobjects.- ♦ responses¶
listofFrequencyResponseobjects, default:[]
- class DelayResponse(*args, **kwargs)[source]¶
Bases:
FrequencyResponseFrequency response of a time delay.
- ♦ delay¶
floatTime delay [s]
- class InvalidResponse(message)[source]¶
Bases:
FrequencyResponseFrequency response returning NaN for all frequencies.
When using
FrequencyResponse.evaluate()for the first time after instantiation, the user supplied warningmessageis emitted.- ♦ message¶
strWarning message to be emitted when the response is used.