Library / Signal processing and digital filters / DSP-38
Signal processing and digital filters
Oscillation frequency of a complex pole pair
Positive modal frequency (0 to Nyquist) of a conjugate pole pair, from one pole p = Re + i Im at sampling rate fs.
- Ref
- DSP-38
- Rev
- v1
- Field
- Signal processing and digital filters
- Result
- f [Hz]
A conjugate pole pair at radius r and angle θ gives a damped oscillation rⁿ cos(θn + φ), whose frequency is the pole angle: f = fs θ/(2π), with θ = atan2(|Im p|, Re p). The result lies between 0 and Nyquist. The frequency of peak gain can differ slightly from this, especially for poles far from the unit circle.
Positive modal frequency (0 to Nyquist) of a conjugate pole pair, from one pole p = Re + i Im at sampling rate fs. The peak-gain frequency of the filter can differ from this pole angle.
Calculator
- Pole radius0.9
- Pole angle1.571 rad
- Decay time constant of the oscillation, −1/(fs ln r)0.009491 s
What drives the result
Each variable is moved across its typical range while the others stay at the values above. The longest bar is the key driver.
- The pole pair rings at 250 Hz, a quarter of the sampling rate when the pole is on the imaginary axis.
- Its radius of 0.9 sets the decay: the oscillation falls to 1/e in 0.009491 s.
Chart data as tables
Ranked variables
| Variable | Typical range | Lowest result | Highest result | Swing (Hz) | Local step | Change in result |
|---|---|---|---|---|---|---|
| fs Sampling rate | 10 to 1,000,000 Hz | 2.5 | 250,000 | 250,000 | +10% | +10 % |
| Re p Real part of the pole | −0.4 to 0.4 | 183.4 | 316.6 | 133.1 | +0.016 | −1.13 % |
| Im p Imaginary part of the pole | 0.01 to 0.9 | 250 | 250 | 0 | +10% | 0 % |
Sweep of Real part of the pole
| Real part of the pole | Oscillation frequency (Hz) |
|---|---|
| −0.4 | 316.6 |
| −0.3 | 301.2 |
| −0.2 | 284.8 |
| −0.1 | 267.6 |
| 0 | 250 |
| 0.1 | 232.4 |
| 0.2 | 215.2 |
| 0.3 | 198.8 |
| 0.4 | 183.4 |
Sweep one variable
Variables and how each one contributes
Oscillation frequency
What the equation gives you. Everything else feeds it.
Real part of the pole
The real part of the pole. A more positive real part lowers the angle and the frequency; a negative one raises it. Raising it by 10 % (to 0) moves the result by +0 %, from 250 to 250 Hz.
Imaginary part of the pole
The imaginary part of the pole. A larger imaginary part raises the angle and the frequency. Raising it by 10 % (to 0.99) moves the result by +0 %, from 250 to 250 Hz.
Sampling rate
The sampling rate, in Hz. Scales the frequency in direct proportion for a given pole angle. Raising it by 10 % (to 1,100) moves the result by +10 %, from 250 to 275 Hz.
Worked example with the values above
- Angle: atan2(|0.9|, 0) = 1.5708 rad.
- Fraction of a cycle per sample: 1.5708 / 2π = 0.25.
- f = fs × 0.25 = 250 Hz.
Assumptions and limits
- A real, linear, time-invariant second-order section with the leading denominator coefficient normalised to one.
- Exact arithmetic; fixed-point overflow and round-off noise are not included.
Common mistakes
- Using the unnormalised a₀ ≠ 1 coefficients without dividing through.
- Taking the pole angle as the frequency of peak gain.
- Treating a stability margin close to zero as safe in finite precision.
Statistics and uncertainty
Coefficient quantisation moves poles: in fixed point or single precision, poles close to the unit circle (r above about 0.999) can drift to instability, so check the margin with the rounded coefficients.
Where it is used
- Checking and designing recursive filters such as notches and resonators.
- Estimating ringing time and oscillation frequency from pole locations.
Maths you need
- Poles: roots of the denominator polynomial in z
- Unit circle: |z| = 1, the stability boundary
- Difference equation: the time-domain form of a recursive filter