Rotationally non-symmetric surfaces are sometimes required to achieve desired optical performance characteristics within a restricted volume. Such optical surfaces can include, for example, rotationally non-symmetric freeform surfaces that are provided on lenses, mirrors, or prisms.
Within the optical design community, the de facto standard for describing optical surfaces with rotational non-symmetry has been multivariate polynomials. For example, x-y polynomials and Zernike polynomials are used for designing such optical surfaces. In actuality, polynomial-based solutions are not as desirable as such conventional wisdom would lead one to believe. Given that polynomial functions are global functions, i.e., functions that do not substantially vanish beyond a local area, many overlapping polynomial functions may be required to achieve local characteristics that are desired of a given optical surface. In cases in which the optical surface must comprise many such local characteristics, the number of required polynomial functions increases further still. Furthermore, the Runge phenomenon highlights the fact that the point distribution of the sampled function is important. For example, equally spaced samples of the Runge function
do not lead to a satisfactory approximation and increasing the polynomial order does not help in this setting. Although Chebyshev points can be used in this instance to improve the approximation, the fact remains that the point distribution plays an important role in polynomial interpolation.
An alternative approach that can be used to design an optical surface is to divide the surface into intervals and use low-order polynomials, such as cubics, to define each interval for the purpose of approximating a target function. This approach is known as the spline approach. There are several types of splines that can be used in such an approach, including Bezier splines, B-splines, and non-uniform rational B-splines (NURBS). Perhaps the most flexible of those types of splines are NURBS. A p-th degree NURBS curve can be fully defined using control points, knots, and weights. The NURBS curve can be extended to two dimensions using the idea of a tensor-product. The set of control points in two dimensions is called a control mesh. Unfortunately, NURBS solutions are difficult for irregular point sets in three dimensions and not possible for higher dimensions.
In view of the above, it can be appreciated that it would be desirable to have an improved system or method for designing optical surfaces.
The present disclosure may be better understood with reference to the following figures. Matching reference numerals designate corresponding parts throughout the figures, which are not necessarily drawn to scale.
Described herein are embodiments of systems and methods that can be used to design optical surfaces, including complex optical surfaces, such as rotationally non-symmetric and freeform surfaces. In some embodiments, a system and method relate to approximating optical surfaces using a linear combination of radial basis functions. As used herein, the term “radial basis function” denotes a function whose Fourier transform is non-negative and, when shifted to data sites, generates an invertible interpolation matrix (Φ). In other words, a radial basis function is a positive definite function that generates a positive definite, and therefore invertible, interpolation matrix. In at least some cases, such optical surfaces have characteristics superior to those of surfaces designed using other techniques.
As a preliminary matter, reference is made to
The traditional description of an aspheric optical surface is accepted in the optical design community to be:
where c represents the curvature of the surface, r is the √{square root over (x2+y2)} radius of the surface, k is the conic constant, and ai represent the polynomial coefficients. Optical surfaces can also be represented as a sum of basis functions as follows:
z(x,y)=Σφi(x,y)wi [Equation 2]
where φi are the basis functions and wi are the coefficients or weights of the basis functions. Three choices for the basis functions φi include polynomials, trigonometric functions, and rational functions.
In the case where a basis function φ is a radial basis function, an optical surface can be written as
where x is an evaluation point, cn are the centers of the radial basis functions, wn are the weights, and ∥·∥ denotes the 2-norm. The translated basis functions in Equation 3 take data into account by shifting the radial basis functions to the data sites. Hence, there are no problems with the implications of the Mairhuber-Curtis theorem, which states that a multivariate basis with a finite number of basis functions and a set of distinct interpolation points may not lead to an invertible interpolation matrix if the basis functions are independent of the data. Significantly, the choice of radial basis functions obviates the need to create a mesh to generate a surface, which can be computationally expensive, and therefore provides a major advantage over other techniques. The basis centers can be placed within a domain Ω⊂Rs, s≧1, and a discrete surface is approximated at the points of interest (i.e., the evaluation points). The placement of the basis centers can be uniform, according to Chebyshev points, or even completely random. Composing the basis functions with the 2-norm makes the basis functions spherically radial.
Using the approximation condition s(xi)≈zi, where i=1, 2, . . . m, at m data sites and using n basis functions for s(x) in Equation 3, the approximation at each point xi can be expressed as a dot product. It is possible to express the collection of m products with a matrix-vector multiplication and arrive at the following m by n linear system:
Φmxnw=Z [Equation 4]
where Φmxn is an mxn matrix, w is a length n vector of weights, and Z is the resulting discrete surface evaluated at the m evaluation points. Each column in the Φmxn matrix corresponds to a radial basis function, and Φmxn may be written as
One can assume that Φ is positive definite and that m=n. In this case, the connection between the choice of φ and a desired positive definite interpolation matrix Φ is provided by the Bochner theorem. An important practical implication of the Bochner theorem is that the translated versions of a positive definite function φ indeed generate a positive definite Φ matrix. A function is positive definite if it has a nonvanishing Fourier transform. A matrix A is positive definite if uT Au≧0 for all uεRs. Positive definite matrices have positive eigenvalues, and therefore positive definite matrices are invertible. The theory developed by Micchelli, using the results of Bochner, covers the case in which the basis centers and the data sites coincide (i.e., a symmetric and positive definite interpolation matrix Φ).
Examples of radial basis functions include Gaussian functions and inverse multiquadric functions (i.e., β>0 in Table 1). Thin-plate splines are conditionally positive definite. The mathematical expressions for each of those functions are given in Table 1.
Other radial basis functions include compactly supported radial basis functions, such as the Wendland function and the Wu function.
Given a particular surface Z, a selection of a radial basis function, a selection of basis centers and data sites, and a shape factor in the case of a Gaussian or an inverse multiquadric, the vector w can be found using least squares with the following relation
w=(ΦTΦ)−1ΦTZ [Equation 6]
where ΦT denotes the transpose of the Φ matrix.
As is apparent from the above discussion, radial basis functions can be used to represent or approximate a known optical surface. In the optical design context, the shape of the optical surface is unknown at the starting point of the optimization. That shape can be determined, however, given that the optical characteristics desired from the surface are known for a given application. As is described in the following, the shape can be determined using radial basis functions by optimizing with an error function that provides an indication of the error of the optical surface in achieving the desired characteristics.
One aspect of the design process relates to selection of the number of radial basis functions that will be used. Generally speaking, the number of radial basis functions that is most appropriate may depend upon the nature of the optical surface that is desired. In at least some cases, the more simple the optical surface being designed, the smaller the number of basis functions that may be necessary. In some embodiments, the number of basis functions needed to solve an optical design problem can be found by trial and error.
A starting point, i.e., an initial surface, can also be selected. In some cases, a spherical surface may be an appropriate starting point. As with the number of basis functions, the starting point that is most appropriate may depend upon the nature of the optical surface that is desired. Assuming a base sphere as an initial surface, Equation 2 can be modified to add a base conic as follows:
where c is the curvature of the base conic in the x and y directions and k is the conic constant. In alternative embodiments, the initial surface may be represented without the base conic (i.e., represented with only the sum of basis functions). The addition of the base conic, however, facilitates first order raytracing calculations.
A Φ matrix (see Equation 5) can also be created in which each column of the matrix contains a radial basis function as per Equation 3 in vectorized form. Given a number of radial basis functions, the aperture can be divided into xnum pieces in the x dimension and ynum pieces in the y dimension. The number of columns in the matrix can be set by the product of xnum and ynum. The number of rows in the Φ matrix controls the spatial resolution of the radial basis functions and can be set by the designer in accordance with the degree of granularity that is desired. As with the choice of number of basis functions and the initial surface selections, the number of rows that is most appropriate may depend upon the nature of the optical surface that is desired.
In some embodiments, a rectangular aperture can be assumed. It is noted, however, that substantially any other aperture shape may be used since the radial basis functions can be spatially moved. For example, Gaussians can be spatially moved using their basis centers. When Gaussians are used as the radial basis functions, the aperture diameter can be divided into xnum pieces in the x dimension and the x-basis centers can be placed 1/xnum apart from each other. Similarly, the aperture can be divided into ynum pieces in the y dimension and the y-basis centers can be placed 1/ynum apart from each other. The shape factor can be set to 1.
As described above, the optical surface, z, in Equation 2 is unknown a priori in the context of an optical design problem. An iterative optimization process can be used to adjust the weights, wi, from that equation with the goal of reaching a minimum of an error function given the starting point. The error function that is selected may be chosen based upon the nature of the optical surface that is desired. In some embodiments, the error function can relate to the transverse error in the image plane, which is the sum of squares of the deviations of the rays from their respective reference wavelength chief rays. In other embodiments, the error function can relate to the Strehl ratio or the modulation transfer function. The optimization technique that is used may also be chosen based upon the nature of the optical surface that is desired. Suitable optimization techniques may include local or global optimization techniques including, for example, damped least squares, or global optimization such as simulated annealing, genetic algorithms, and particle swarm optimization. Of those techniques, damped least squares is available in several raytracing programs.
Once the error function and optimization techniques have been selected, optimization can be performed to minimize the error function. The result of such optimization is the weights of linear combination, which enable a fabricator to evaluate the surface at any point within the domain and, if desired, generate a sag table.
Beginning with block 200 of
In at least some embodiments, the selections described above may be made by the user based upon the user's skill and experience as well as the user's understanding of what would be most appropriate for the design problem being solved. For example, if the optical surface being designed is relatively simple (e.g., a rotationally symmetric surface), a relatively small number of basis functions and data sites may be deemed appropriate. If, on the other hand, the optical surface is relatively complex (e.g., rotationally non-symmetric, freeform, etc.), a larger number of basis functions and data sites may be deemed appropriate.
Once the above-described user selections have been received, the optical design program constructs a Φ matrix (Equation 5), as indicated in block 208, relative to those selections. Such a matrix can, for example, be generated using an appropriate software program, module, or routine that is, for example, written in C or C++. It is noted that although construction of a matrix is described herein, in the case where ray tracing is performed one ray at a time, the Φ matrix reduces to a single row. In such a case, results can be obtained using a dot product operation. A dot product of two vectors a=[a1, a2, . . . an] and b=[b1, b2 . . . bn] is defined to be
For the purposes of this disclosure, the action of constructing a Φ matrix includes cases in which rays are traced one at a time and such dot product operations are performed (i.e., instances in which the Φ matrix reduces to a single row). In such a case, the Φ matrix is at least implicitly constructed, albeit one row at a time.
Each time a ray intersects a surface described using radial basis functions, the location of the ray-surface intersection is stored in a vector. Each component in a vector contains a dimension. For example, the first component is the x-dimension and the second component is the y-dimension and so on. The Eucledian distance (i.e., the 2-norm) between the ray-surface intersection and each of the basis center locations can be computed. The Eucledian norm ∥x∥ of a vector x=x1, x2, . . . xn is defined to be √{square root over (x12+x22+ . . . +xn2)}. Then, for each column in the Φ matrix, the radial basis function can be evaluated using the computing difference vector representing the basis center and the evaluation point.
With reference next to block 210, the user is prompted to select an initial surface to use as a starting point and, as indicated in block 212, the selection is received. As described above, the initial surface can be selected by the user relative to the optical surface problem that is to be solved. By way of example, the starting point may be a base conic (e.g., sphere, parabola, hyperbola, ellipse), a flat surface, or a low order polynomial. Next, the optical design program prompts the user to select the initial weights, wi, for the radial basis functions, as indicated in block 214, and the selected weights are received, as indicted in block 216 of
At this point, iterative optimization can be performed. Before such optimization is performed, the user is prompted to select an error function, as indicated in block 220, and a selected error function is received, as indicated in block 222. Again, the selection may be made based upon the skill and experience of the optical surface designer and may be dependent upon the problem that is being solved. Appropriate error functions may, for example, relate to the transverse error, the Strehl ratio, or the modulation transfer function. Notably, alternative error functions can be constructed when solving non-imaging optics problems. In addition to selecting the error function, any design constraints can be identified. Therefore, the user can be prompted to identify the design constraints, as indicated in block 224, and the design constraints can be received, as indicated in block 226. Such design constraints may relate to focal length, distortion, thickness constraints (e.g., for a lens), packaging constraints, surface boundaries, and so forth. Identification of such constraints limits the number of possible solutions to the optical surface design problem and ensure that the application requirements are met.
Next, with reference to block 228, the initialized surface defined by the user selections is optimized to minimize the error function within the identified constraints, if any. As described above, various optimization techniques can be employed and the technique that is used may be selected by the user based upon his or her skill and experience relative to the problem to be solved. Suitable optimization techniques may include local or global optimization techniques such as damped least squares, simulated annealing, genetic algorithms, and particle swarm optimization. During optimization, different weights are used to define multiple optical surfaces, and each optical surface is individually evaluated relative to the selected error function to determine which is best in terms of minimizing error. Therefore, an iterative approach is used in which the program, module, or routine repeatedly changes the weights (w) of the radial basis functions, calculates a new surface (Z) using the new weights, and the error of the new surface is calculated using the error function. With such a process, the best optical surface for the given problem, as well as the various weights associated with that surface, can be identified. Through such identification, a solution can be output in the form of a continuous function (block 230) that may be utilized by an optics fabricator. As described above, the weights enable a fabricator to evaluate the optical surface at any point and, if desired, generate a sag table. At least in the case of a Gaussian radial basis function, the solution is continuously differentiable because that solution results from a linear combination of radial basis functions and therefore requires no stitching together of functions or other actions that can complicate such fabrication.
It is noted that although various selections are described as being made by a human user, the optical design program may make the selections on behalf of the user. For example, in some embodiments, one or more of the number of radial basis functions, number of data sites, type of radial basis functions, initial surfaces, initial weights, error functions, and design constraints can be “selected” by the optical design program as a default. Furthermore, as used herein, “selecting” extends to the optical design program making a selection responsive to a selection input by a human user.
As a test case, a system with a single on-axis field was optimized to determine whether a parabola represented by the linear combination of Gaussian radial basis functions resulted. A user-defined type 1 surface was set up for the test case with a 6×6 grid of uniformly distributed basis centers having 112 user-defined coefficients. The first coefficient represented the x curvature of the base sphere, the second coefficient represented the conic constant in the x direction, the third coefficient represented the conic constant in the y direction, and the fourth coefficient represented the aperture size. The next 36 coefficients were the weights wi of the Gaussian radial basis functions, and the last 72 coefficients contained the x and y basis centers of the Gaussian radial basis functions. The basis centers were frozen (i.e., were not variable) during optimization runs. Basis centers were included in the user coefficient array solely for diagnostics purposes to ensure that the gridding functions were working properly. The variables in the test case included the x and y curvatures, image plane defocus, and the 36 weights of the 6×6 Gaussian radial basis functions across the aperture. The conic constants in x and y direction of the base conic were set to zero and were not varied during optimization. The optimization converged in less than 10 cycles to a parabola with a Strehl ratio of 1, thereby verifying the soundness of the approach.
In a second test case, an off-axis magnifier was considered. More particularly, the issue of which shape is optimal for a single surface mirror constrained in an off-axis magnifier configuration was considered.
Four systems were designed to address the question of optimal shape for purposes of comparison: a 10th order anamorphic sphere, an x-y polynomial, a 10th order Zernike polynomial, and a linear combination of Gaussian radial basis functions. Each system under comparison operated with a 15 millimeter (mm) eye clearance, 3 mm pupil, a 24 degree diagonal full field of view, and 17 defined field points. Conventional design processes were used for each of the anamorphic sphere, x-y polynomial, and Zernike polynomial solutions. A procedure similar to that described above in relation to
Table 2 shows a comparison of the average tangential and sagittal modulation transfer function (MTF) values and maximum distortion values for the anamorphic asphere, x-y polynomial, Zernike polynomial, and Gaussian solutions, respectively. As is apparent from Table 2, the Gaussian solution achieved the highest MTF value by approximately 20% with an acceptable level of distortion. The MTF for the Gaussian solution is plotted in
As indicated in
The processing device 704 can include a central processing unit (CPU) or a semiconductor-based microprocessor. The memory 202 includes any one of or a combination of volatile memory elements (e.g., RAM) and nonvolatile memory elements (e.g., hard disk, ROM, flash memory, etc.). The user interface 706 comprises the components with which a user, such as the optical surface designer, interacts with the computing system 700, such as a keyboard, mouse, and a display. The one or more I/O devices 708 are adapted to facilitate communications with other devices and may include one or more communication components such as a modulator/demodulator (e.g., modem), wireless (e.g., radio frequency (RF)) transceiver, network card, etc.
The memory 704 comprises various code including at least an operating system 712 and an optical design program 714. The operating system 712 controls the execution of other programs and provides scheduling, input-output control, file and data management, memory management, and communication control and related services. The optical design program 714 can be used to generate Φ matrices and optimize optical surfaces defined by the Φ matrices relative to selected error functions. To that end, the optical design program 714 can comprise a matrix module 716 that generates Φ matrices, a ray-tracing module 718, an error calculation module 720, and an optimization module 722. In some embodiments, one or more of the ray tracing, error calculation, and optimization functionalities can be provided by routines identical or similar to those comprised by Code V by Optical Research Associates, Zemax by Zemax Development Corp., and Oslo by Sinclair Optics, Inc.
Various code (i.e., logic) has been described. Such code can be stored on any computer-readable medium for use by or in connection with any computer-related system or method. In the context of this document, a “computer-readable medium” is an electronic, magnetic, optical, or other physical device or means that contains or stores code, such as a computer program, for use by or in connection with a computer-related system or method. The code can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
Reference is now made to
This application claims priority to copending U.S. provisional application entitled “Optimal Local Shape Description for Non-Rotationally Symmetric Optical Surface Design and Analysis” having Ser. No. 60/986,396, filed Nov. 8, 2007, which is entirely incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
60986396 | Nov 2007 | US |