Jezdan Gomez

Filter center-wavelength shift with angle of incidence

Enter an interference filter's center wavelength at normal incidence, its effective index and the angle of incidence. The calculator gives the shifted center wavelength, the tilt that moves the filter to a target wavelength, and, for a converging beam, the cone half-angle, the edge-ray shift and the mean shift across the pupil.

Inputs

Filter

The filter's CWL (or edge position) at 0°. Allowed: 100 to 20000 nm.

Depends on the coating design, not only on its materials: typically between the low and high layer indices. Ask the supplier for it, or fit it to measured curves at two angles. Allowed: 1 to 4.

1.00 for air. Use the cement or immersion index if the filter is bonded or immersed. Allowed: 1 to 2.5.

Beam geometry

Angle between the beam axis and the filter normal, in the incidence medium. Allowed: 0 to below 90 °.

For a filter in a focused or diverging beam. 0 skips the cone results. Allowed: 0 to 100.

Tilt tuning (optional)

The wavelength you want the filter to sit at after tilting. Tilt only moves a filter to shorter wavelengths. Allowed: 0 to 20000 nm.

Results

λ(θ), Center wavelength at this angle
529.991nm
Δλ, Shift from normal incidence
−2.009nm
θt, Tilt that moves the filter to the target
9.98°

Shift at this angle

Center wavelength at this angle λ(θ)529.991nm
Shift from normal incidence ΔλNegative: tilt always moves an interference filter to shorter wavelengths.−2.009nm
Blue shift as a share of λ_0 0.378%
Limit of the shift as the angle approaches 90° λ(90°)No tilt can move the filter below this wavelength.460.73nm

Tilt to reach the target

Tilt that moves the filter to the target θt9.98°

Converging beam

Cone half-angle, arctan(1/(2N)) αn/a°
Center wavelength for the steepest ray, θ + α n/anm
Center wavelength for the shallowest ray At θ − α, or at normal incidence (λ_0) when the cone contains the normal.n/anm
Edge-ray shift from λ_0 n/anm
Spread of center wavelengths across the cone Specify a bandwidth wider than this, or move the filter to collimated space.n/anm
Mean shift the cone adds (small-angle estimate) Δλmean−λ_0·α²/(4n*²) for a uniformly filled circular pupil. Exact for small angles at normal incidence; for a small tilt, add it to the tilt shift.n/anm

Method and limits

Tilt: λ(θ)=λ01−(n0sin⁡θ/n∗)2\lambda(\theta)=\lambda_0\sqrt{1-(n_0\sin\theta/n^*)^2}. The passband always moves to shorter wavelengths, and a lower effective index n∗n^* moves it faster. Two filters with the same CWL but different coating designs can have different n∗n^* and so shift by different amounts.

Tilt tuning: the inverse, θ=arcsin⁡[(n∗/n0)1−(λt/λ0)2]\theta=\arcsin[(n^*/n_0)\sqrt{1-(\lambda_{\mathrm t}/\lambda_0)^2}], gives the tilt that moves the filter to a target wavelength. Order a filter slightly long and tilt it into place.

Converging beam: the cone half-angle is α=arctan⁡(1/(2N))\alpha=\arctan(1/(2N)). The steepest and shallowest rays in the plane of tilt bound the spread of center wavelengths, from Eq. (7). The pupil-averaged extra shift, −λ0α2/(4n∗2)-\lambda_0\alpha^2/(4{n^*}^2), is the small-angle estimate for a uniformly filled circular pupil; in the guide's f/2 worked example it agrees with the exact pupil average to the two decimals shown.

The effective index is a property of the coating design. Ask the supplier for it, or fit it to curves measured at two angles.

Disclaimer

This calculator uses the single-effective-index model of a tilted interference filter. It is a good approximation at small and moderate angles for one polarization state, and only approximate at large angles, where the s and p passbands separate and the bandwidth changes. The cone results assume a uniformly filled circular pupil and ignore the change of bandwidth and peak transmission. The effective index depends on the coating design. Results are estimates for early design. Confirm them against the supplier's measured curves at your angles. Provided as is, without warranty.

References

  • P. H. Lissberger and W. L. Wilcock, "Properties of all-dielectric interference filters. II. Filters in parallel beams of light incident obliquely and in convergent beams", J. Opt. Soc. Am. 49, 126–130 (1959), doi:10.1364/JOSA.49.000126.
  • H. A. Macleod, Thin-Film Optical Filters, 5th ed., CRC Press, 2017 (tilted coatings).
  • Companion guide: "Optical filter selection guide" (Sample 2), sections "Angle of incidence" and "Converging and diverging beams", Eq. (7) and (10).

Equations

Wavelength shift

λ(θ)=λ01−(n0sin⁡θneff)2\displaystyle \lambda(\theta) = \lambda_0\sqrt{1-\left(\frac{n_0\sin\theta}{n_{\mathrm{eff}}}\right)^2}Δλ=λ(θ)−λ0\displaystyle \Delta\lambda = \lambda(\theta)-\lambda_0

n₀ is the incident-medium index; nₑff is the coating's effective index. Trigonometric functions use radians.

Tilt to a target wavelength

θt=arcsin⁡[neffn01−(λtλ0)2]\displaystyle \theta_{\mathrm t} = \arcsin\left[\frac{n_{\mathrm{eff}}}{n_0}\sqrt{1-\left(\frac{\lambda_{\mathrm t}}{\lambda_0}\right)^2}\right]

The target must be positive and no longer than λ₀, with an arcsine argument below 1.

Converging beam

α=arctan⁡(12N)\displaystyle \alpha = \arctan\left(\frac{1}{2N}\right)θhi=θ+α\displaystyle \theta_{\mathrm{hi}} = \theta+\alphaθlo=max⁡(θ−α,0)\displaystyle \theta_{\mathrm{lo}} = \max(\theta-\alpha,0)Δλedge=λ(θhi)−λ0\displaystyle \Delta\lambda_{\mathrm{edge}} = \lambda(\theta_{\mathrm{hi}})-\lambda_0Spread=λ(θlo)−λ(θhi)\displaystyle \text{Spread} = \lambda(\theta_{\mathrm{lo}})-\lambda(\theta_{\mathrm{hi}})Δλcone≈−λ0(n0α)24neff2\displaystyle \Delta\lambda_{\mathrm{cone}} \approx -\frac{\lambda_0(n_0\alpha)^2}{4n_{\mathrm{eff}}^2}

N is the f-number. The last relation is the small-angle pupil-average estimate; cone bounds must remain within the model's angular domain.

Calculation steps and constants
require  f_num == 0 or f_num >= 0.5
th = theta * rad_per_deg
ns0 = n_0 * sin(th)
require  ns0 < n_eff
lam = lam0 * sqrt(1 - (ns0 / n_eff)^2)
dlam = lam - lam0
drop_pct = (lam0 - lam) / lam0 * pct
lam_min = if(n_eff > n_0, lam0 * sqrt(1 - (n_0 / n_eff)^2), 0 * lam0)
r_t = lam_t / lam0
arg_t = if(lam_t > 0 and r_t <= 1, n_eff / n_0 * sqrt(1 - r_t^2), 2)
tune_ok = lam_t > 0 and r_t <= 1 and arg_t < 1
theta_t = if(tune_ok, asin(arg_t) * deg_per_rad, 0)
alpha = if(f_num > 0, atan(1 / (2 * f_num)), 0)
th_hi = th + alpha
th_lo = max(th - alpha, 0)
ns_hi = n_0 * sin(th_hi)
cone_ok = f_num > 0 and th_hi < pi / 2 and ns_hi < n_eff
lam_hi = if(cone_ok, lam0 * sqrt(1 - (ns_hi / n_eff)^2), lam)
lam_lo = if(cone_ok, lam0 * sqrt(1 - (n_0 * sin(th_lo) / n_eff)^2), lam)
dlam_edge = lam_hi - lam0
spread = lam_lo - lam_hi
dlam_cone = -lam0 * (n_0 * alpha)^2 / (4 * n_eff^2)
th_hi_deg = th_hi * deg_per_rad
th_max = max(theta, theta_t, if(cone_ok, th_hi_deg, 0))

constants:
    rad_per_deg = 0.0174533 rad/°
    deg_per_rad = 57.2958 °/rad
    pct = 100 %
    theta_note = 15 °

Jezdan Gomez · Technical documents and tools for photonics

Filter AOI shift v1.0.0 · calc engine 1.0.0 · config 0a663b0cd4ba

Config and text: © 2026 Jezdan Gomez, portfolio sample. Calculator engine: Pre-Existing Material of Jezdan Gomez; a client receives a perpetual license to the built page under MSA sections 7.3 and 12.