The present invention concerns a system and method for a seismic survey using towed streamers.
In a marine seismic survey, one or more surface vessel tows a source array and a receiver array comprising several streamers below a sea surface. The seismic sources emit powerful acoustic pulses, shots, which penetrate into an underground formation. Interfaces between materials with different elastic properties reflect and refract the waves, and seismic receivers in the receiver array record the echoes for later geophysical analysis. Seismic waves comprise P-waves and S-waves, but S-waves do no travel through fluids, so only P-waves are recorded in a marine seismic survey.
From an operational view, the seismic data acquisition should cover a large area per unit time and in particular reduce or eliminate needs for costly infills. From a geophysical view, the ultimate purpose of a survey is to provide proper boundary conditions for seismic equations, specifically to emit a series of pulses and sample a P-wavefield at discrete points in time and space. Improved temporal and spatial resolution of the sampling improves the quality of the geophysical model. General technological progress has increased common shot rates toward one shot per 5 seconds and reduced bin sizes from 25 toward 6.25 m2. Similarly, the number of streamers in an array have increased from a few to 12-18, present streamer lengths are up to 10 or 20 km and a typical inline spacing between receivers is 12.5 m, so there are currently 10-30 000 seismic receivers per array.
Thus, there is a need for a robust positioning system able to provide accurate geodetic positions for sources and receivers. Specifically, the bin size 6.25 m2 sets 12.5 m as upper limit for position of source with respect to receiver, so the system should provide at least 30 000 geodetic positions to within a few meters every 5 seconds or less.
U.S. Pat. No. 4,868,793 A (Dunbar/Atlantic Richfield) discloses a system and method where several laterally spaced subarrays are fired simultaneously and constitute one seismic source. Several such sources are fired sequentially in a round robin scheme. Firing several subarrays at the same time releases more acoustic energy per shot than firing one subarray per shot. The increased energy improves the signal to noise ratio (SNR) of the received waves. Accordingly, the minimum number of subarrays and number of airguns per source can be determined by a desired SNR. The period of the round-robin scheme must be larger than a maximum charge time required to charge a subarray, such that every subarray may be fired during each cycle. Thus, the source array may be divided into n sources, the period T may be divided into T/n intervals, and a source may be fired at the end of each interval. For example, a charging time T of 10 seconds and two sources may yield a shot with sufficient acoustic energy for an acceptable SNR at most every 5 seconds.
The receiver array comprises several streamers, their leading ends typically spread laterally from the towing direction by paravanes. Each streamer also carry birds able to exert a force on the streamer lateral to the towing direction and/or vertically. A tail buoy, also called a float, may be attached to the trailing end of a streamer. The streamer may also comprise position sensors and other equipment briefly described with reference to
U.S. Pat. No. 4,798,156 A (Langeland et al./Geco) discloses a streamer array with variable distances between the leading ends of streamers in an array, cf.
AU 661000B2 (Marschall/Prakla) discloses a method for marine seismic data acquisition in which at least one streamer is guided with its longitudinal axis parallel to the line of course and a plurality of additional streamers deployed on either side of the line of course in a fan arrangement. Thereby, each pass over a survey area covers a wider area.
U.S. Pat. No. 6,691,038 B2 (Zajac/WesternGeco) discloses a seismic streamer array tracking and positioning system comprising a towing vessel for towing a seismic array and an array comprising a plurality of seismic streamers. An active streamer positioning device (ASPD) is attached to at least one seismic streamer for positioning the seismic streamer relative to other seismic streamers within the array. A master controller is provided for issuing positioning commands to each ASPD to adjust a vertical and horizontal position of a first streamer relative to a second streamer within the array for maintaining a specified array geometry. The system accounts for environmental factors. Zajac describes different receiver arrays, including one with streamers at different depths to improve temporal resolution.
U.S. Pat. No. 7,944,774 B2 (Monk et al./Apache Corporation) discloses a method for determining adequacy of seismic data coverage of a subsurface area being surveyed and its application to selecting sensor array geometry. A data trace is created for each of the detected signals. At least one Fresnel zone is determined for at least some of the seismic data traces. A contribution of each of the traces to each one of a plurality of bins defined in a predetermined pattern is computed based on the Fresnel zone associated with each trace. Based on the computed contributions, a maximum lateral distance between corresponding seismic sensors is determined that will result in a contribution sum above a selected threshold. The streamers may be fanned.
US 20140269168 A (Hillesund et al./PGS Geophysical) discloses a control system for a streamer array in which input from position devices along the streamers are used to calculate a new desired orientation. The new desired orientation may include a new desired feather angle for the streamer. This “desired feather angle” includes a “fanning angle” in our terminology. Hillesund is also co-inventor in several patent publications from the last few decades, e.g. WO0020895A and U.S. Pat. No. 7,080,607 B2.
U.S. Pat. No. 8,897,094 (Eick et al./Conoco Phillips) discloses a streamer array where the spacing between leading ends of adjacent streamers vary with at least 5% and the outermost streamers have a fan angle of at least 2.5% each.
A general objective of the present invention is to solve or alleviate at least one of the problems above. Specific objects include providing accurate geodetic positions for all seismic sources and receivers in each shot interval and providing a graphical user interface (GUI) for specifying a predefined or ad hoc streamer configuration.
These and other objectives are achieved by a system according to claim 1.
In particular, the invention provides a positioning system for marine seismic surveying, comprising a towing vessel, a source array and a receiver array with several streamers. Each streamer comprises at least three birds and positioning sensors wherein several seismic receivers are placed between each pair of birds. The system comprises:
a) a dynamic model wherein each streamer is represented by a fitted B-spline curve and each bird is associated with a constant velocity and a constant acceleration; and
b) a Kalman filter using the dynamic model and observations from the positioning sensors to provide a geodetic position of each seismic receiver with better accuracy than the dynamic model alone and observations alone within a time interval Δt equal to or less than a minimum time between shots determined by the source array.
In any time interval Δt, most geodetic streamer positions will be displaced by a common shift provided by the Kalman filter. This is efficiently achieved by adding “large” arrays in computer memory or hardware. Deviations from a desired geodetic position and/or deviation from a desired streamer configuration in vessel-bound coordinates are rapidly identified by de Boor's algorithm applied to the B-splines. The B-splines ensure that no geodetic point outside the range of local support will be affected by recalculations.
Preferably, the system further comprises local support limited to at most four subsequent birds. This corresponds to a polynomial degree 3 or cubic B-splines. If the streamers comprise position sensors between birds, the local support is limited to 4 knot spans corresponding to 4 position sensors. In a physical system, the preferred Kalman filter corrects for unmodelled dynamics by an autocorrelation least squares (ALS) technique. Thus, the B-spline approximation of a physical streamer just has to be sufficiently accurate during one time interval Δt, i.e. for about 5 seconds.
Some of the position sensors may further provide observations of velocity and/or acceleration. Output from a MEMS-accelerometer in local rotational coordinates fall in this category. So does sea current measurements from flowmeters dispersed over the receiver array. The Kalman filter maintains precise estimates of velocities and accelerations in geodetic coordinates for use in all instances of x=vΔt+kaΔt2/2 used in the dynamic model. The Kalman filter may maintain additional parameters, e.g. sea current velocities without rapid spatial and temporal variation. An extra parameter generally means an extra degree of freedom in the Kalman filter and is a matter of design.
The observations may be expressed in geodetic and/or vessel bound coordinates. Observations in geodetic coordinates include GPS readings. Observations in vessel-bound coordinates means any measurement made relative to the towing vessel regardless of method. For example, positions obtained from known lengths of spreader cables and lead-in cables are included. So are distances provided by acoustic transducers in the receiver array and laser range measurements between the towing vessel and a reflector on a buoy.
A system involving physical source and receiver arrays needs a closed loop control system for controlling the physical components of the system. Such a control system should be capable of receiving an input vector from the Kalman filter and of presenting a response equal to the negative input vector. For example, a force is opposed by a force of equal size and opposite direction irrespective of coordinate system. The closed loop control system as such is known in the art.
The input vector to the control system may express a deviation from a desired position in geodetic coordinates. The proper response is a displacement in the opposite direction. Similarly, the response to a deviation from a desired streamer configuration expressed in vessel-bound coordinates is an opposite displacement in the input coordinates. The proper response to a force expressed in an arbitrary TNB-frame is a force of equal size and opposite direction expressed in the input coordinates. Transformations to and from other coordinates add computer cycles but does not change the result.
A transformation between any pair of coordinate systems may be performed by one matrix multiplication. The usual method is to pre-multiply augmented matrices in R3 resp. R4, where each augmented matrix represent an affine transformation in R2 resp. R3. This minimises the execution time for a transformation and allows a designer to balance storage vs. computing power in an efficient manner.
A preferred embodiment comprises linear extrapolation of the geodetic coordinates within the time interval Δt. This requires an array of piecewise constant velocities in addition to the array of piecewise constant positions.
The invention will be described by way of example and reference to the accompanying drawings, in which:
The drawings are schematic and intended to illustrate the invention. Thus, they are not to scale, and numerous details known to one skilled in the art are omitted for clarity.
The general idea of the invention is to use a fast and effective dynamic model and Kalman filtering to improve estimates of geodetic coordinates. We distinguish between speed (scalar) and velocity (vector), and note that the velocity (speed and heading) of a towing vessel moving at 4-5 knots is approximately constant during each time interval Δt<5 s. If the local constant velocity {dot over (x)} is known at each geodetic position at the start of each time interval Δt, then even more precise geodetic position estimates may be extrapolated during Δt.
The notation throughout this description and the claims follow usual conventions: Vectors and matrices are in bold Latin letters with capital letters denoting matrices. Italics indicate that R3 and C(s) are not matrices. Mark notation, e.g. C′(s), is used for space derivatives and dot notation, e.g. {dot over (x)}, is used for time derivatives. All scalars are real.
The shaded area 204 illustrates an area with adequate coverage, and the irregular area 205 within the previous pass is an area with inadequate coverage, i.e. an area needing infill. The area 205 lack coverage for some unspecified reason, and some streamers 131 are steered laterally from the present sailing line Sq in order to make an additional pass over the area 205.
In
Several receivers 132 and birds 134 are arranged along the streamers. The birds 134 are known devices of any kind capable of imposing a lateral force on the streamer 131 and are used for steering, e.g. to compensate for lateral currents and adjust the towing depth.
A vessel-bound spatial Cartesian coordinate system x, y, z is illustrated by axes x, y with origin midship in vessel 110, y-axis parallel to and directed opposite the present sailing line or towing direction Sq and x-axis horizontal and perpendicular to the y-axis. The z-axis (not shown) is conveniently perpendicular to the x and y-axes in a right handed Cartesian. The direction of the y-axis on
The area 205 is expressed in geodetic coordinates, for example in an Earth-bound Cartesian grid (X, Y). A graphical display similar to
For steering physical arrays, the system 100 needs a closed loop control system. In the present context, such a control system just changes sign on an input vector. For example, the proper response to a “deviation from a desired position” in geodetic resp. local coordinates is a displacement of equal size in the opposite direction expressed in input coordinates. Similarly, the response to an input force vector would be a response vector of equal size and opposite direction expressed in arbitrary input coordinates. The control system as such is known in the art and need no further explanation herein.
The Cartesian coordinates in
All transformations between the systems in
Any sequence of affine transformations can be combined to one transformation in a higher dimensional space. For example, a 3D affine transformation can be expressed as:
y(x)=Ax+b (1)
where
x is a vector in an affine domain space, e.g. the (x, y, z) coordinates in
y, b are vectors in an affine codomain (target domain), e.g. (T, N, B) or (X, Y, Z) in
A is a transformation matrix, e.g. a 3×3 rotation matrix.
The affine transformation (1) can be rewritten in augmented form in 4D:
where aij is a real scalar from row i and column j of the transformation matrix A.
Any sequence of affine augmented matrices can be multiplied to yield a new matrix of the same form. Moreover, M is invertible if and only if A is invertible, and is expressed by:
where A−1=AT if A represents any rotation in RN, N=2, 3, . . . . Note the similarities with and differences from a 3D decomposition of rotation, e.g. yaw, pitch and roll expressed by a composite 3D rotation matrix R=Rz,RyRx.
Returning to
The simple Kalman filter is a recursive algorithm where each time step k includes a “prediction phase” essentially comprising the calculations, and an “update phase” for collecting “observations” (sensor measurements) and computing output estimates from the step. The output estimates are weighted sums of predictions and observations, and are passed on to the next time step (k+1).
The calculations in the prediction phase depend on a dynamic model of the system. We have already approximated velocity by a constant velocity v, and note that constant acceleration does not represent a loss of generality due to the mean value theorem over the time interval Δt. Thus, a simple dynamic model of the present system is x=vΔt+aΔt2/2 with constant v and a applied to all elements in the system 100. Real embodiments may include, for example, a response to feathering forces acting on a length of the streamer. However, we know in advance that any model is imperfect: The present model includes truncation errors and round-off errors in the approximations of v and a. Best practice is to keep the dynamic model simple and leave as much as possible to “unmodelled dynamics” described below. If this approach fails, more features such as tension, curvature and/or rotational forces may be included in the dynamic model.
In the present example, only the paravanes 114, birds 134 and steerable tail buoys 133 can exert a force. In the prediction phase, all other elements are just shifted by Δx=vΔt, where v is the instantaneous towing velocity at the start of time interval Δt. Imagine that all sensor positions x in geodetic coordinates are stored in a large computer array. The positions would be stored in an ordered manner, for example as a look-up table where each row represent a streamer and element E[r, i] in row r represent the X or Y coordinate of sensor no i along streamer no. r. For numbers, 32b (4B) per dimension provides negligible round-off errors on the scale 1/20000. Using 32b numerical resolution, 50 000 geodetic positions in 2D (X, Y) would need about 400 kB of storage. Thus, several or all rows in the lookup table would fit nicely in the computer memory of an ordinary PC. Adding a constant vΔt to all elements in an array stored in fast hardware (computer memory) is handled by hardware during a few cycles in most CPUs and GPUs. Thus, we do not worry about the execution time of 10 000-30 000 additions in a loop, and remark that such straightforward parallelisation generally decreases execution times by orders of magnitude.
Next, we need a model for the streamers. The streamers are not mechanically coupled, so an appropriate dynamic model should represent each streamer as an individual curve in space. B-splines are preferred for their local support property and several other useful properties. B-splines are widely used in other fields of technology for similar reasons. For example, B-splines limit the number of pixels that must recalculated in a computer image with a moving foreground and static background.
The seismic receivers 132 are commercially available devices used to sample a P-wavefield and typically contain hydrophones and/or other seismic sensors. Any suitable seismic receiver 132 may be included in a streamer 131. For later reference, we note that the tension in a 10-20 km long streamer may cause significant strain. However, the distance between two adjacent seismic receivers 132 will remain approximately constant during a survey. The two distances ck and c+1 on streamer 131b illustrate that distances between adjacent elements are approximately constant but not necessarily equal. Each inline distance ck is known in advance, e.g. measured during deployment.
Birds 134 and position sensors 135-137 are also included in a streamer. A bird 134 may include a position sensor, e.g. an acoustic transducer 137 for determining distances to nearby acoustic transducers 137. The dashed lines between streamers 131a and 131b in
Other common position sensors shown in
Streamer 131b is connected to a separate tail buoy or float 133 with a GPS antenna 136 above the sea surface. The associated data point has a different mean position and variance than those of the GPS antenna on vessel 110.
Other common and useful sensors not shown in
The data points Di may be measured by any means. Referring to
Only the last few data points Dn−2, Dn−1, Dn are shown in
In the following, we will use some generally known properties and formulas. An overview can be found online, e.g. in “B-spline curves: Important properties” [1] or Wikipedia.
For our fit, we require that P0=D0 and that Pm=Dn. For a cubic B-spline, this implies that m=n+2. The parameter value si that corresponds to the joint at Di is called a knot, and the sequence of knots in ascending order is called the knot vector. According to common practice, the knot vector is normalised to [0, 1] to improve numerical stability due to the relatively high density of floating numbers in this interval. Referring to
where
ck is a constant length between two adjacent sensors 132-137 on the streamer
Ltot is the total length of the streamer—a measured value if strain is significant, and
n is the number of sensors 132-137 on the streamer
Note that this knot vector contains values sk for all sensors, while the curve fitting needs a much smaller knot vector with knots si for the positioning sensors. Knot vectors representing sk resp. si may conveniently be stored as rows in a look-up table similar to that for geodetic positions described above.
In order to clamp a B-spline of degree j to control points at its end, i.e. ensure that D0=P0 and Dn=Pm=Pn+2, the first and last j+1 knots are repeated. Thus, for a cubic B-spline clamped at both ends s0=s1=s2=s3=0 and sn=sn+1=sn+2=sn+3=1 in the si-knot vector.
The B-spline curve has the form
where Ni,j(s) are B-spline basis functions defined by Cox-de Boor's recursion formula:
We do not assume that all knot spans are equal, so a closed form of (6a, 6b) would look complicated. More important, the recursive expressions (6a), (6b) execute faster than closed form expressions would. Due to the step function in (6a), the first term in No(s) is nonzero only on knot span i, and the second term is nonzero only on knot span i+1. Each subsequent iteration of (6b) adds a knot span until 4 knot spans are added for j=3. This is the local support mentioned above.
In the case of cubic splines, at most 3 curve intervals Ci(s) are valid on any knot Si, so the fitting criterion is of the form:
N
i,3(si)Pi+Ni+2,3(si)Pi+2=Di (7)
Now, P0=D0 and Pn+2=Dn so equation (7) yields n−1 independent equations in n+1 unknowns. We need two extra conditions for a unique solution, and set the second derivatives to zero at the ends, i.e. C″(0)=0 and C″(1)=0. This seems reasonable in view of the streamer to be modelled.
We need expressions for the spatial derivatives for later reference:
where
the knot vector for (8) is the original with one copy of so and one copy of sn removed and
the knot vector for (9) is the original with second copies of so and sn removed.
In our curve fitting of a cubic spline, we have s=s0=s1=0 corresponding to P0=D0 in (x, y, z) Similarly, Pn+2=Dn correspond to sn=sn+1=sn+2=1. Thus, the first and last three terms of (9) yields a1P1+a2P2=D0 and anPn+an+1Pn+1=Dn by simple algebra. Together with (7), these yield a system with n+1 equations in n+1 variables:
where A is a banded matrix with at most 3 non-zero elements per row.
Standard methods for solving (10) without numerically expensive inversion include LU-decomposition and QR-decomposition with forward substitution. In a variant of forward substitution, we could solve the upper left 3×3 matrix of A and compute each next control point Pi from the previous 3 control points and the next Di.
The system (7) corresponds to a “fat” matrix, i.e. a matrix with more columns than rows (m>n), and the second derivatives need not be zero. In practice, minimal norms are widely used to provide the missing equations for a fat matrix system. For example, a least squares fit (minimal L2 norm) is appropriate in many applications. For B-splines, a minimal polyline (minimal L1 norm) might be an alternative due to the “strong convex hull property” of B-splines. In general, the QR decomposition involves an n×n matrix Ri padded with zeros in the last m-n rows. Another useful concept for numerical applications is “pseudo inverse matrices” A† which are sufficiently inverse to make A†A≈I. More precisely, a typical pseudo inverse matrix is computed by a recursion that stops when a residual is below some limit, for example a predefined tolerance of a few metres or a limit due to truncation or round-off errors. These and other algorithms from numerical linear algebra are available in software libraries and need no further explanation here.
The sk for any sensor 132-137 is found from a lookup table, cf eq. (4). C(sk) and de Boor's algorithm yields the position of the sensor in vessel-bound coordinates (x, y, z).
Next, we need a TNB-frame for birds 134, flow meters measuring sea current etc. The original Frenet-Serret formulas regard the kinematics of a particle moving along a continuous and differentiable parametric curve in R3 and define a TNB-frame with Cartesian unit vectors tangent, normal and binormal to the parametric curve. They are valid for any real scalar parameter s, not just the special case in equation (4). Again, we only need a few general results, and refer to textbooks or online articles for a thorough description.
Noting that C′(s) is tangent to C(s), we express the TNB-frame in matrix notation:
where ∥C∥=√{square root over (Cx2+Cy2+Cz2)} is the Euclidian norm, and a cross product in matrix form is
A unit normal is undefined for a “straight line” and need special consideration: Let Di−1, Di, Di+1 be corners in a triangle. If the height of the triangle is greater than a specified tolerance, compute N and B at Di from (12) and (13). Otherwise, set the values for N and B equal to those of Di−1. Here, the maximum height of the triangle corresponds to half the tolerance specified for the (x, y, z) positions Di.
T and N are shown in
Derivation with respect to time does not change the direction of a vector, so measurements of position, orientation, velocity and acceleration in a TNB-frame can be transformed to any coordinates of choice using eq. (2) and pre-multiplication.
The model of streamers described so far may be enhanced by fitting B-splines in the crossline direction and/or by defining a polygonal, e.g. triangular, mesh over acoustic transducers 137. Spline fitting in 1D and 2D is available in readymade software, e.g. graphics libraries. Some 2D splines, e.g. thin plate splines, assume elastic properties in two spatial directions and are inappropriate for decoupled streamers.
Assume the framework above is used to define a desired streamer configuration in a GUI and that the computer model provides a list of desired data points di. The Kalman filter maintains a similar list of estimated data points Di. Both lists are in vessel-bound coordinates (x, y, z) and are thus independent of towing velocity and associated time shifts in geodetic coordinates. In each time interval Δt, changing sign on Di and adding to di yields a tentative response. As above, operations can be performed on entire “rows” in computer memory. All elements in the tentative response array smaller than a predefined constant tolerance are ignored, those remaining are proper responses to a deviation.
For each such deviation, equation (7) defines 3 control points that must be recomputed to fit the cubic B-spline C(s) through the deviant Di. No other part of the B-spline is affected due to the local support property. Thus, the curve fitting means solving a 3×3 system with known coefficients. QR-decomposition with forward substitution is effective also in the rare cases where several adjacent data points are out of line within Δt.
Once the three control points are recomputed, all sensor positions on the 4 affected knot spans must be recomputed using de Boor's algorithm on a sequence from the sk knot vector. The results are transformed to geodetic coordinates and replace elements in the geodetic lookup table. A few of these elements, e.g. birds 134 and flow meters may need additional computation for a new TNB-frame.
A GUI may conveniently have a “local view” for streamer configuration etc. in vessel-bound coordinates and a “geodetic view” for showing “common midpoints” and sea current fields in geodetic coordinates as described above. B-splines are affine invariant, so a graphics engine, i.e. graphics software and a graphics card, just need a few control points to display the curve. In addition, any such graphics engine combine affine transformations and thus enable zooming in on any part of the streamer array and viewing the section or the entire streamer array in perspective and from any angle in real time. The required input is just a few control points in vessel-bound coordinates. The local sea current may be displayed as a nicely coloured graded background. For this, the graphics engine typically uses Bézier curves, which are B-splines without knots between the clamping zeros at the start and end of the knot vector.
The Kalman filter may have several external degrees of freedom such as the geodetic and vessel-bonds positions above. The number of internal states and variables is a matter of design. In the following, we use a bird 134 as example, and add velocity and acceleration as internal states. Using the notation above and dot notation for time derivatives, we let:
where x is in geodetic coordinates and B transforms from the bird's TNB-frame.
Let index min denote the state up to and including n. The prediction phase estimates a preliminary (a priori) state in step k from the output (a posteriori) estimates in step (k−1):
k|k-1
=F
k
{circumflex over (x)}
k-1|k-1
+B
k
u
k
P
k|k-1
=F
k
P
k-1|k-1
F
k
T
+Q
k (16)
Fk is the “state transition model” that brings the filter from step (k−1).
Bk is a “control model” and uk a “control vector” that express the response calculated for step k, e.g. based on an estimated local current and properties of the bird. The resulting force is transformed first to ka in vessel-bound coordinates, then to the relevant TNB-frame by ca=B−1 ka. The two transformations are combined into one matrix multiplications by eq. (2). Paravanes, steerable tail buoys and other equipment that can apply a force have Bu-terms, whereas seismic receivers 132, acoustic transducers 137 etc. lack the Bu term.
The P's are “prediction error covariance matrices” defined by recursion. If little or nothing is known in advance, a common assumption is random walk leading to P0|0=Iσ2, where I is the identity matrix and the system variance σ2 some scalar, e.g. 0.5. A properly designed filter converges, so the effort spent on estimating optimal values should be limited. The present KF will have performed 120 five second steps in ten minutes.
Q is the covariance of process noise wk˜N(0, Q). The process noise may contain unmodelled dynamics and other systematic faults that may cause the filter to diverge and that are difficult to distinguish from observation noise. Common practice is to compute the covariance matrix Q by statistical methods, e.g. an ALS technique. ALS is an acronym for auto-covariance least-squares and essentially uses data from several previous steps to look for systematic deviations. A comprehensive description can be found online or in the literature.
The update phase regards measurements, weighted sums and the output state. A first task is to find an “observation residual” from present and previous measurements:
{tilde over (y)}
k
=z
k
−H
k
{circumflex over (x)}
k|k-1 (17)
The “observation vector” zk for a specific bird correspond to a data point Di in
We also need a “residual covariance” Sk=HkPk|k-1HkT+Rk, where R is the covariance of observation noise and usually approximated by ALS.
The “optimal Kalman gain” Kk=Pk|k-1HkTSk−1 is optimal in the sense that it minimises the least square difference between x and its estimate {circumflex over (x)}. Its elements are real scalars in the interval [0, 1]. The expressions for S and K may look complicated, but are easily implemented because H simply picks a previous variable as described above.
The output state or a posteriori estimates in step k are
{circumflex over (x)}
k|k
={circumflex over (x)}
k|k-1
+K
k
{tilde over (y)}
k
P
k|k=(I−KkHk)Pk|k-1 (18)
“Large” elements Kij in the Kalman gain Kk, i.e. values in the interval <0.5, 1], puts more weight on observations and decrease the weight on prediction accordingly. The weighted sums in (18) are the values input to the next step (k+1).
In real embodiments, simple Kalman filters are numerically unstable if the values in the covariance matrices become small. The reason is that the covariance matrices P, Q, R by definition are positive definite, but small elements may cause negative round-off errors that render the matrices indefinite. The standard solution is to represent P, Q, R in square root form, preferably as UD-decompositions. Efficient algorithms for the Kalman prediction and update phases in square root form can be found in Thornton [2] and Bierman (1977) [3].
Adding velocity to the previous example with geodetic positions, the a posteriori position and velocity estimates from step (k−1) can be used to extrapolate positions during step k. For a towing speed 2.6 m/s (5 knots), this linear approximation would improve geodetic estimates by about 1.3 m compared to the position output from step (k−1). In a 2D-grid (X, Y) this extra degree of freedom would require an extra 400 kB of storage using the numbers above. Of course, the storage need will be different in a real embodiment.
During a turn between sailing lines Sq-1, Sq streamers are “thrown out” or separated to minimise operational cost and the risk for tangling. The shapes of the leftmost streamers in
The B-splines curves are expected to approximate physical streamers sufficiently well. Referring to
The Kalman filter as such is cheap on storage and processing power. ALS techniques calculate autocorrelation on a series of previous estimates and are costlier. However, a rough estimate of a MB per degree of freedom and time lags of ˜1000 steps yield storage needs in the GB range. Thus, an inexpensive PC-class computer running reasonably effective common operating and filesystems, e.g. some Linux dialect with ext4, should be able to run the proposed KF in real-time. Alternatively, a lightweight real-time operating system installed on the PC-class computer would remove further dead cycles. A specialised file system may improve mapping from filesystem to memory compared to general purpose filesystems.
The above and other embodiments are within the scope of the present invention. The skilled person will recognize these and other applications and modifications of the invention defined in the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
20161662 | Oct 2016 | NO | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/NO2017/050257 | 10/2/2017 | WO | 00 |