Title of Invention: METHODS AND APPARATUS FOR OBTAINING SENSOR MOTION AND POSITION DATA FROM UNDERWATER ACOUSTIC SIGNALS Abstract: Technologies are provided to recover motion, position, or navigation data of underwater sensors using bathymetry data. A method includes iteratively fitting data obtained by an underwater sensor from interactions between acoustic signals and an underwater floor, and deriving at least one of motion, position, or navigation data of the underwater sensor from the fitting. A standalone sonar can use the methods, systems, apparatuses, and computer programs to realize the derivation of motion, position, or navigation data without a position or motion sensor. Detailed Description: STATEMENT OF GOVERNMENT INTEREST The present invention was made, at least in part, with support from the United States Office of Naval Research, contract number N00014-06-C-0161. The Government may have certain rights in this invention. BACKGROUND Underwater sonars use acoustic signals to detect underwater objects, image seafloors or lakebeds. A sonar can be tethered/towed from a platform, such as a ship, anchored to the hull of the ship, or part of an unmanned underwater vehicle (UUV) or autonomous underwater vehicle (AUV). SUMMARY Both universality and low cost are desirable attributes of techniques for underwater sensing. Accordingly, systems and methods to extract the motion signature from the uncorrected bathymetry data are described herein. In accordance with some embodiments, the bathymetry sensor may not only produce a motion-corrected bathymetry solution, but may also generate a motion parameter estimation. In towed and AUV systems, there can be a tight coupling between pitch and heave, and heading roll and sway. In accordance with some embodiments, by establishing correlations among these motions, the number of uncertainties in the motion estimation can be reduced. Further, with a dynamic model of the towed systems or AUVs in combination with a state of the sea, the errors in the motion estimation can also be limited. By combining these bounding functions with the motion-induced artifacts in the bathymetry data, motion parameters of the sensors and navigational data can be derived from these bathymetry data, particularly from the traditionally undesired artifacts. In illustrative embodiments, motion signatures can be extracted from the uncorrected bathymetry data, and the relationships between sensor motions and the bathymetry data are derived. Procedures for extraction of motion from the bathymetry data may be provided and applied to multiple sets of bathymetry data collected under various seafloor terrain conditions. Sensitivity of motion estimation computation can be correlated with data noise, sensor resolution, and terrain geometry variations. In one example, a roll motion can be recovered from bathymetry data, up to a constant calibration offset, under most terrain conditions. Heave motion can also be recovered up to a multiplicative factor. In one aspect, a method is provided including iteratively fitting data obtained by an underwater sensor from interactions between acoustic signals and an underwater floor; and deriving at least one of motion, position, or navigation data of the underwater sensor from said fitting. In one embodiment, the method further includes, prior to the iteratively fitting, selecting the data by removing data points near nadir, data points near a data range limit, and data points with weak amplitudes. The fitting can include removing data having a deviation higher than a first threshold from a first polynomial; fitting remaining data to a second polynomial; reducing the first threshold to a second threshold; and removing data having a deviation higher than the second threshold from the second polynomial. The first and second polynomials can be obtained from least-square fitting. In an embodiment, the method further includes repeating said fitting remaining data to a second polynomial until deviations of data, survived from said removing data having a deviation higher than the second threshold from the second polynomial, are within a current threshold. In an embodiment, the iteratively fitting data includes iteratively fitting the data obtained from a single discrete transmission of the acoustic signals. In an embodiment, the data are obtained from multiple discrete transmissions of the acoustic signals, the method further comprising determining whether the data are sufficient for statistics over the multiple discrete transmissions. The method can further include applying a Bayesian statistics to the data obtained from the multiple discrete transmissions. The application of Bayesian statistics can include applying a recursive filter. In one embodiment, the recursive filter includes a Kalman filter. The application of the Kalman filter can include initializing the filter; generating a prior density; generating a posterior; incrementing a time index; and returning to said generating a prior density. In some embodiments, the Kalman filter includes an Unscented Kalman Filter. The application of the Unscented Kalman Filter can include: deterministically calculating a set of weighted sigma points using a mean and square-root decomposition of a covariance matrix constructed from the data; propagating the set of weighted sigma points a true nonlinear function using a functional evaluation to generate a posterior sigma point set; and approximating posterior statistics using tractable functions of the posteriori signal point set. In some embodiments, the method further includes providing at least one of a dynamic model of the motion of the sensor or a dynamic model of the underwater floor variation. In some embodiments, the derived motion, position, or navigation data include a first component from the motion of the sensor; and a second component from the underwater floor variations. The method can further include separating the first and second components from the data. The method can further include the motion data of the sensor from the first component. In one embodiment, the motion comprises a heave motion, and wherein the second component comprises a multiplicative component introduced by a slope of the underwater floor to the first component, the method further comprising removing the multiplicative component. In another embodiment, the motion includes a roll motion, and the second component includes an additive component introduced by a slope of the underwater floor to the first component, the method further including removing the additive component. The deriving can be performed without a motion or position sensor. The motion data can include at least one of a roll motion or a heave motion. In some embodiments, the method further includes applying spectrum filtering to the derived motion, position, or navigation data to correct for underwater floor variations. The application of spectrum filtering can include applying a low-pass filter. In some embodiments, the method further includes performing a joint state-parameter estimation over the data to separate a bias in the data introduced by the underwater floor variation. The method can further include dividing a track in the underwater floor into a plurality of segments each having a substantially linear slope; and estimating the plurality of slopes as a plurality of model parameters in a nonlinear Kalman filter applied to the data. In another aspect, an apparatus is provided including a processor to process bathymetric data, wherein the processor is configured to: iteratively fitting data obtained by an underwater sensor from interactions between acoustic signals and an underwater floor; and deriving at least one of motion, position, or navigation data of the underwater sensor from said fitting. In one embodiment, the processor is configured to derive at least one of motion, position, or navigation data without input from any motion or position sensor. In another aspect, a system is provided including a transducer array to transmit acoustic signals underwater to interact with an underwater floor; and a processor to process data obtained from interactions between the acoustic signals and the underwater floor, wherein the processor is configured to: iteratively fitting data obtained by an underwater sensor from interactions between acoustic signals and an underwater floor; and deriving at least one of motion, position, or navigation data of the underwater sensor from said fitting. The system can be a standalone system without a motion or position sensor. In another aspect, a non-transitory computer readable medium is provided having instructions stored thereon, wherein the instructions include: iteratively fitting data obtained by an underwater sensor from interactions between acoustic signals and an underwater floor; and deriving at least one of motion, position, or navigation data of the underwater sensor from said fitting. In some embodiments, the fitting includes removing data having a deviation higher than a first threshold from a first polynomial; fitting remaining data to a second polynomial; reducing the first threshold to a second threshold; and removing data having a deviation higher than the second threshold from the second polynomial. The first and second polynomials can be obtained from least-square fitting. The iteratively fitting data can include iteratively fitting the data obtained from a single discrete transmission of the acoustic signals. The data can be obtained from multiple discrete transmissions of the acoustic signals, and the instructions can further include determining whether the data are sufficient for statistics over the multiple discrete transmissions. In some embodiments, the instructions further include applying a Bayesian statistics to the data obtained from multiple discrete transmissions. The application of Bayesian statistics can include applying a recursive filter. The recursive filter can include a Kalman filter. The application of the Kalman filter can include: initializing the filter; generating a prior density; generating a posterior; incrementing a time index; and returning to said generating a prior density. In an embodiment, the Kalman filter includes an Unscented Kalman Filter. The application of the Unscented Kalman Filter can include deterministically calculating a set of weighted sigma points using a mean and square-root decomposition of a covariance matrix constructed from the data; propagating the set of weighted sigma points through a true nonlinear function using a functional evaluation to generate a posterior sigma point set; and approximating posterior statistics using tractable functions of the posteriori signal point set. In some embodiments, the instructions can further include providing at least one of a dynamic model of the motion of the sensor or a dynamic model of the underwater floor variation. The derived motion, position, or navigation data can include: a first component from the motion of the sensor; and a second component from the underwater floor variations. In an embodiment, the instructions further include separating the first and second components from the data. In some embodiments, the instructions further include obtaining the motion data of the sensor from the first component. The motion can include a heave motion, and wherein the second component comprises a multiplicative component introduced by a slope of the underwater floor to the first component, the method further comprising removing the multiplicative component. The motion can include a roll motion, and wherein the second component comprises an additive component introduced by a slope of the underwater floor to the first component, the method further comprising removing the additive component. In some embodiments, the deriving is performed without a motion or position sensor. The motion data can include at least one of a roll motion or a heave motion. In some embodiments, the instructions further include applying spectrum filtering to the derived motion, position, or navigation data for underwater floor variations. The application of spectrum filtering can include applying a low-pass filter. In some embodiments, the instructions further include performing a joint state-parameter estimation over the data to separate a bias in the data introduced by the underwater floor variation. The instructions can further include dividing a track in the underwater floor into a plurality of segments each having a substantially linear slope; and estimating the plurality of slopes as a plurality of model parameters in a nonlinear Kalman filter applied to the data. It should be appreciated that all combinations of the foregoing concepts and additional concepts discussed in greater detail below (provided such concepts are not mutually inconsistent) are contemplated as being part of the inventive subject matter disclosed herein. In particular, all combinations of claimed subject matter appearing at the end of this disclosure are contemplated as being part of the inventive subject matter disclosed herein. It should also be appreciated that terminology explicitly employed herein that also may appear in any disclosure incorporated by reference should be accorded a meaning most consistent with the particular concepts disclosed herein. The foregoing and other aspects, embodiments, and features of the present teachings can be more fully understood from the following description in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS The skilled artisan will understand that the figures, described herein, are for illustration purposes only. It is to be understood that in some instances various aspects of the invention may be shown exaggerated or enlarged to facilitate an understanding of the invention. In the drawings, like reference characters generally refer to like features, functionally similar and/or structurally similar elements throughout the various figures. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the teachings. The drawings are not intended to limit the scope of the present teachings in any way. FIG. 1 illustrates an underwater vehicle having a sonar therein for sending acoustic signals toward a seafloor. FIG. 2 illustrates an interferometer configuration of a sonar where the elevation angle of a reflecting source on the seafloor can be obtained from the phase difference between signals received by multiple transducer elements of the transducer array. FIG. 3 illustrates a sensor configuration used for deriving a roll motion of the sensor. FIG. 4 is a plot of example bathymetry data from which the sensor roll motion can be derived. FIG. 5 illustrates the derivation of the roll motion when the seafloor is sloped. FIG. 6 illustrates the derivation of the roll motion when the seafloor is arbitrarily curved. FIG. 7 illustrates the derivation of the geometry of sensor pitch using altitude measurements. FIG. 8 illustrates that both pitch and heave alter sensor depth calculation from ping to ping. FIG. 9 illustrates that across-track slope of seafloor terrain results in a scale bias to sensor depth calculation, and the scale bias introduces a multiplicative stochastic spectrum shift in heave computation. FIG. 10 is a flowchart illustrating a method of obtaining motion data from bathymetry measurements. FIG. 11 is a block diagram of an example computer program. FIG. 12 illustrates an example iterative polynomial data fitting process. FIG. 13 illustrates an example estimation of heave from altitude data. FIG. 14 illustrates a dynamic system with hidden state variables X that are observable via output measurements Z. FIG. 15 illustrates selection of sigma points for the Unscented Kalman Filter algorithm using a 2D random variable example. The five sigma points are represented by the distribution mean and four points of the square root decomposition of the covariance matrix (two on each axis, one sigma away from the mean). FIG. 16 illustrates estimated roll angles from one example data set. FIG. 17 illustrates estimated depths from the data set. FIG. 18 illustrates one embodiment where the cross track is split into regions sufficiently narrow to be approximately flat, and the apparent depth of every region is estimated. FIG. 19(a) illustrates the estimated and measured (ground truth) roll trajectory curves for an example data file. FIG. 19(b) is a blow-up view of a segment of the curves in FIG. 19(a). FIG. 20(a) illustrates sonar image of the data file pipe3turns25m.k8e, showing a pipe (the sensor moves in a zigzag fashion along the pipe). FIG. 20(b) illustrates motion-corrected bathymetry data obtained from the same data file at ping 2000, showing strong nonlinear surface depth across track. FIG. 21(a) illustrates roll estimate results after bandpass filtering, where the low frequency is filtered out, while the ground truth data contains low-frequency components. FIG. 21(b) illustrates that adding the missing low-frequency signal to the estimation motion improves the estimation accuracy. FIG. 22(a) illustrates that low-frequency motion components still exist in bandpass-filtered heave estimation. FIG. 22(b) illustrates that adding the low frequency component back reduces error from 30.2% to 10.4%. FIG. 23(a) illustrates the estimated (after a correction for a constant offset) and measured (using Octans) heave trajectory curves from the data file line1.k8e. FIG. 23(b) is a blow-up view of a segment of the curves in FIG. 23(a). FIG. 24 illustrates the bounds of the point-wise range error on sampling frequency. FIG. 25 illustrates a flowchart of the simulation process for motion estimation performance. FIG. 26 illustrates a comparison of predicted and actual roll estimation errors. FIG. 27 illustrates a comparison of predicted and actual heave estimation errors. FIG. 28(a) illustrates an amplitude intensity image, showing significant variations from ping to ping in data file line1.k8e from Dataset Nov16. FIG. 28(b) illustrates the median amplitude per ping. FIG. 29(a) is an (x, z) plot of all data points at ping 200 from the line1.k8e data file, illustrating the removal of outliers in bathymetry data. FIG. 29(b) is an (x, z) plot with data points of amplitudes>1000. FIG. 30(a) illustrates that the roll estimation error decreases as the amplitude threshold increases (dashed line), where the mean values of absolute differences are plotted from the data file line3.k8e. FIG. 30(b) is a plot of standard deviations of the absolute differences. FIG. 31(a) illustrates estimated roll angles from the data file rocks125m.k8e, which contain low-frequency components resulting from the cross-track slope variation. FIG. 31(b) illustrates the low-pass filtered estimated roll angles, where the artifacts caused by the slope variation are removed and the accuracy is substantially improved. FIG. 32(a) illustrates a plot of motioned-corrected (x, z) data, where a slope is present at one side and the other side of the surface is flat at the other. FIG. 32(b) illustrates data from another side showing a bowl-shaped seafloor surface. FIG. 33 illustrates a plot of surface roughness along track for the data file line1.k8e (top panel), a plot of absolute roll estimation error (middle panel), and a plot of absolute heave estimation error (bottom panel). FIG. 34 illustrates a plot of surface roughness along track for the data file rocks125m.k8e (top panel), a plot of absolute roll estimation error (middle panel), and a plot of absolute heave estimation error (bottom panel). DETAILED DESCRIPTION Following below are more detailed descriptions of various concepts related to, and embodiments of, inventive methods and apparatus for deriving motion, position, or navigation data from bathymetry data. It should be appreciated that various concepts introduced above and discussed in greater detail below may be implemented in any of numerous ways, as the disclosed concepts are not limited to any particular manner of implementation. Examples of specific implementations and applications are provided primarily for illustrative purposes. As illustrated in FIG. 1, underwater vehicle 10 can use its onboard sonar to take images of floor 12 target area. The sonar can operate as an imaging interferometer. The sonar uses, for example, 3 MHz ultrasonic acoustic signals, and operates either monostatically (in a pulse-echo mode) or bi-statically (with a separate transmitter), to produce data related to the floor 12. If the data is about the underwater depth of the lake or ocean floors, the data are referred to as bathymetry data. The bathymetry data can be further divided into depth countours or isobaths, or selected depths referred to as soundings. Modern sonars can also take three-dimensional volumetric images of the floor 12. The images can be taken at a frame rate of, for example, 15 frames/second. The ultrasonic acoustic signals are transmitted from the sonar as discrete pulses (i.e., pings) 14 toward the floor 12. Multiple beams can be used, and are arranged in a fan-like swath having an angular span of, for example, 90°-170°. A controller can be included onboard the underwater vehicle 10. The controller can be implemented, for example, with a processor for analyzing images, memory for storing images and related information, an input/output interface for transmitting analysis results or imaging data to a surface-based computer. A communication link (e.g., cable) can be provided for transmitting image and other data to a surface-based operation center, as well as sending communications from the operation center to the underwater vehicle 10. Location parameters associated with the image data may be included with the image data (e.g., based on predefined coordinates). Alternatively, such location parameters can be associated with the image data at the operation center. The underwater vehicle is subject to six degrees of freedom motions: heave (up and down), sway (left and right), surge (forward and backward), pitch (tilting forward and backward), yaw (turning left and right), and roll (tilting side to side). Depending on whether the underwater vehicle 10 is autonomous, towed by a cable from a boat, or affixed to the hull of the boat or affixed to a rigid rod, the motions of the underwater vehicle 10 may be coupled to the motions of the boat. Heave motion introduces an actual change of depth from the sensor to the seafloor surface, and often affects the bathymetry data more than the other motions. Traditionally, the data collected with bathymetry sensors contain artifacts resulting from the sensor's motion during data collection. These artifacts due to sensor motion are generally considered undesirable. Thus, a conventional sonar system also collects motion data to apply a correction to the bathymetry data to correct for the motion artifact. The motion data are collected, for example, using a dedicated motion sensor that is based on an inertial navigation system (INS), a global positioning system (GPS), or a combination thereof. Thus, the sonar system can include the dedicated motion sensor integrated with the acoustic sensor. A dedicated high-resolution motion sensor is used to correct for artifacts resulting from the motions of the underwater vehicle. The dedicated motion sensor contributes to a significant percentage of the overall cost for a conventional bathymetry sensing system. A patch test is conducted with the integrated system to eliminate any angular offsets between the acoustic sensor and the motion sensor. This is used because the wide data swath makes data acquisition very sensitive to roll errors because the width of the swath is effectively a lever arm that magnifies roll errors in the final data set. As one example of an underwater vehicle or platform of a sonar system disclosed herein, the Benthos C3D is an off-the-shelf acoustic technology available for hydrographic survey applications. C3D uses a single acoustic source and an array of N=6 receiver elements stacked vertically to generate both bathymetry and sonar imagery. Although C3D data does have a nadir gap, it provides co-located bathymetry and imagery data in a single towed sensor at sidescan swath widths, that is, C3D provides bathymetry and imagery data swaths at 10× the sensor height above bottom per side. C3D utilizes a technique called Computed Angle of Arrival Transient Imaging (CAATI). The array can resolve N−1=5 simultaneous angles of arrival, providing results that have advantages over both interferometric sidescan sonar and multibeam echosounders. C3D data is logged in Teledyne Benthos .k8e format independent of 3rd party data acquisition software. As illustrated in FIG. 2, the sonar 20 can be considered an extension of a traditional two-element interferometer. The elevation angle of a reflecting source on the seafloor 22 can be recovered from the phase difference between signals received by multiple transducer elements of the transducer array. In one example, the sonar 20 uses a six-receiver configuration. Nevertheless, the bathymetry principle is similar to a two-receiver configuration. The interferometry principle can be explained using a two-receiver interferometer configuration. The interferometer axis has a tilt angle φ=φ0+φr with respect to the horizontal axis as shown in FIG. 2, where φ0 is the operating declination angle of the transducer array and φr is the array tilt resulting from a sensor roll motion. In one embodiment, the receiver array is substantially vertical, i.e., φ0˜0°. The acoustic echo from a point Mon the seafloor 22 reaches both receivers R1 and R2. Let θ be the elevation angle of M with respect to the sensor, the phase difference between the signals received by the two receivers can be expressed as: Δ   φ R 1 , R 2 = 2   π   Δ   R λ = 2   π λ  B   sin  ( γ ) = 2   π λ  B   sin  ( ψ - θ ) where λ = c f c , c is the speed of sound, fc is the operating frequency of the transmitted pulse, ΔR== MR2− MR1 is the path length difference between the two receivers to M, and B is the spacing between the two receivers. γ=φ−θ is the angle of point M with respect to the interferometer axis. This angle, referred to as the apparent elevation angle, is the combined result of the true elevation angle of M and the tilt angle of the interferometer 20. By measuring the phase difference between the two transducer elements ΔφR1,R2, the interferometer 20 can measure γ as: γ ≡ θ a = sin - 1  ( c   Δ   φ R 1 , R 2 2   π   f c  B ) ( 1 ) Roll Motion Estimation In accordance with embodiments disclosed herein, motion estimation can be obtained (recovered) based on the relationship of sensor motion and the observed bathymetry data triplets: θa, r, a), where θa is the apparent elevation angle, r is the echo range, and a is the echo amplitude. In some situations sensor motion within each ping can be assumed to be negligible. For roll motion estimation the sensor array declination angle φ0 is assumed to be known. Recovery of roll angle is calculated by first obtaining the overall tilt angle φ of the interferometer axis, and then subtracting the declination angle φ0. FIG. 3 illustrates a six-receiver interferometer configuration used for deriving a roll motion of the sensor. As discussed above, the motion of the interferometer alters the interferometer's reference axis with respect to the ocean surface coordinates. For example, if six-receiver array is initially set to be substantially vertical to the ocean surface, a roll motion caused by the ocean wave would tilt the array, causing a misalignment with the ocean coordinate system. This misalignment introduces changes to the bathymetry calculation. This is normally undesirable to bathymetry measurements, but can be exploited to derive the causing motion without a dedicated motion or position detector. If the seafloor is level across each swath, and H0 is the depth from the sensor to the seafloor at a given ping, let {(θa,jri)|i=1, 2, . . . , M} be the measured apparent elevation angles and ranges from M data sources across track, it can be obtained that {circumflex over (z)}i=ri sin θa,i=ri(φ−θi)=ri sin φ cos θi=ri sin θi cos φ=xi sin φ−H0 cos φ {circumflex over (x)}i=ri cos θa,i=ri cos(φ−θi)=ri cos θi cos φ+ri sin θi sin φ=H0 sin φ (2) where xi is the cross-track position of echo source Mi. From Eq. (2), it can be obtained that: d{circumflex over (z)}i/d{circumflex over (x)}i=tan(φ). In other words, data points ({circumflex over (x)}i, {circumflex over (z)}i) form a linear relationship. Consequently, the tilt angle of the interferometer axis may be estimated from the slope of {({circumflex over (x)}i, {circumflex over (z)}i)|i=1, 2, . . . , M} using a linear least-squares minimization scheme: ( m * , b * ) = arg   min m , b  ( z ^ l - m  x ^ l - b ) 2   ψ ^ = tan - 1  ( m * )   ψ ^ r = ψ ^ - ψ 0 ( 3 ) FIG. 4 is a plot of example bathymetry data from which the sensor roll motion can be derived. Furthermore, it can be shown that the estimated constant term b* is related to the water-column depth from the sensor as: H0=b* cos φ (4) If the seafloor has a linear slope across track, with slope s=tan(Θ), where Θ is the slope angle, then the depth from the sensor to the seafloor is a linear function of the lateral distance across track: H(x)=H0−tan(Θ)x Consequently, Eq. (2) becomes: {circumflex over (z)}i=xi sin φ−H(xi)cos φ=xi sin φ−(H0−xi tan(Θ))cos φ {circumflex over (x)}i=xi cos φ+H(xi)sin φ=xi cos φ+(H0−xi tan(Θ))sin φ The slope of the observed depth measurements cross track is therefore the sum of the roll angle and the angle of the surface slope: d{circumflex over (z)}i/d{circumflex over (x)}i=tan(φ+Θ) H0=b*cos(φ+/Θ)/cos Θ (5) From Eq. (5) it can be seen that an unknown linearly sloped seafloor surface across-track at a ping introduces an additive bias in the roll angle computation in the least-squares linear fitting in Eq. (3) and a multiplicative bias to water-column depth, which in turn induces a multiplicative bias to the heave computation. This bias may vary from ping to ping if the slope changes along track. FIG. 5 illustrates the derivation of the roll motion when the seafloor is sloped. The slope angle component may be eliminated from motion estimation based on the assumption that at a sufficient sensor altitude, the seafloor terrain varies slower than the roll motion. Thus, the spectral difference between the seafloor slope and the roll motion can be used to remove the slope angle component. The seafloor in general will not be completely linear or level across track. FIG. 6 illustrates the derivation of the roll motion when the seafloor is arbitrarily curved. If the seafloor surface has a higher-order curvature across the track, the seafloor surface depth can be approximated as a random polynomial of k-th order: H(x)=pk(x)+nh pk(x)=h0+h1x+ . . . +hkxk nh˜random roughness fluctuation (6) The relationship between {circumflex over (x)}i and {circumflex over (z)}i obtained from such a non-linear surface depth is complex and nonlinear. To deal with such non-linearity of data points ({circumflex over (x)}i, {circumflex over (z)}i) in roll computation, a least-square fitting of {({circumflex over (x)}i, {circumflex over (z)}i)|i=1, 2, . . . , M} is applied with a polynomial of nth-order. The coefficient of the first-order term in the polynomial is used to estimate the roll motion: (q0*,q1*, . . . ,qn*)=arg min({circumflex over (z)}i−qn({circumflex over (x)}i))2 {circumflex over (φ)}=tan −1(q1*)qo,q1, . . . qn {circumflex over (φ)}r={circumflex over (φ)}−φ0 The coefficient of the first-order term in the polynomial fitting corresponds to the derivative of the first order. From Eq. (6) it can be shown that the first derivative is:  z ^  x ^  | x ^ = x ^ i = sin   ψ - p k ′  ( x ^ i )  cos   ψ cos   ψ + p k ′  ( x ^ i )  sin   ψ For a small roll motion, sin φ≈0, and it can be seen that the derivative of first order of data points {({circumflex over (x)}i, {circumflex over (z)}i)|i=1, 2, . . . M} approximately is the sum of a constant sum of the true roll angle and the linear slope and a high order polynomial term: d{circumflex over (z)}i/d{circumflex over (x)}i≈ tan(φ+Θ)+Qk−1(x) From the above equation, it can be seen that for a curved seafloor, the least-squares polynomial fitting method for roll estimate will be contaminated by a term that is proportional to the rate of non-linear variation of the seafloor surface. That is, if the roll motion is small, the slope of echo depths contains an additive high-order term related to the non-linear seafloor surface variation. Eliminating this high-order contamination from the roll computation may be difficult for arbitrary surfaces. If the seafloor surface is slow-varying along-track, this bias can be reduced via a spectrum filtering post-processing over the estimated roll trajectory along track. Pitch and Heave Motion Estimation In the following, the recovery of pitch motion data according to one embodiment is described. As illustrated in FIG. 7, pitch causes a deviation to the depth measurement in the bathymetry data. As further illustrated in FIG. 8, both pitch and heave alter sensor depth calculation from ping to ping. If pitch is known, heave can be recovered by nulling-out the frequencies around zero in derived sensor depth along pings. Assuming that roll motion has been corrected, the relationship between the true depth z of a point on a flat seafloor with respect to the sensor and the apparent depth {hacek over (z)} computed from the measured elevation angle θ from an interferometer with a pitch angle ζ is: zi={hacek over (z)}i cos ζ Consequently, if the true depth to a point on the seafloor is known, the pitch angle of the sensor at a given ping may be estimated as the ratio between the true depth and the apparent depth computed from the observed bathymetry data. When the seafloor is flat across track and its depth z=H0 is known, the depth estimate from Eq. (4) can be used to estimate pitch: {hacek over (z)}i=b*cos(φ) ζ=cos −1(H0/ {hacek over (z)}) r a non-flat seafloor, as illustrated in FIG. 9, the depth from the sensor to a data point for a given ping varies along track: zi=H(xi). Thus, pitch should be estimated from individual bathymetry data: {hacek over (z)}i=b*cos(φ) ζ=cos−1(H0/ {hacek over (z)}) the roll motion correction is based on estimated roll angle, the bias in the roll angle estimation due to the linear slope angle Θ of the seafloor as well as higher order seafloor surface variations will result in inaccuracy in the computation of {hacek over (z)}i. The seafloor surface may be assumed flat across track with respect to a reference level z0 (e.g., the sensor position of the first ping). The depth from the sensor to seafloor surface at ping position j can be written as zj=zh,j+zz,j+z0, where zh,j is the heave resulting from sensor vertical movement at ping position j and zs,j is the depth change of the seafloor at ping position j, both with respect to z0. The pitch angle at ping position j can be denoted as ζj. The relationship between the apparent depth {hacek over (z)} and that computed from the measured bathymetry (zj)is: zj={hacek over (z)}j cos ζj=zh,j+zs,j+z0 (7) Equation (7) shows that the apparent depth from bathymetry data contains the combined effect of heave and seafloor depth variation. Given sufficient depth from the sensor to the seafloor it may be assumed that the seafloor surface varies much more slowly relative to the variation of the ocean waves. Consequently, the spectrum of seafloor surface depth variation has a lower frequency signature than that of the heave motion. In one embodiment, a band-pass filter can be used to recover the heave motion. To extract the heave components zh,j assumptions on the spectrum characteristics of the two components may need to be made. Heave motion and seafloor terrain surface variation result from two unrelated physical processes. Heave is the result of the motion of the air/sea interface and, as a result, its frequency characteristics are constrained by the physics of the waves. It can be assumed that the seafloor surface varies much more slowly compared with the variation of the ocean waves. Consequently, the spectrum of seafloor surface depth variation has a lower-frequency signature compared with that of the heave motion. In one example, a band-pass filter can be used to recover zh,j via a proper choice of cut-off frequencies that differentiates the spectrum of the heave motion from the spectrum of the time-varying change in the seafloor altitude. Pitch and heave motions introduce variation to the derived depth from the bathymetry data. The values of the two motions are related to the observed bathymetry data as: {hacek over (z)}j=(zh,j+zs,j+z0)/cos ζj (8) There are 3 unknowns, zh,j, zs,j, ζj and one observation {hacek over (z)}j in Eq. (8). Consequently, pitch, heave, and seafloor depth cannot be simultaneously obtained from the observed bathymetry data. Even if the slow-varying seafloor depth variation can be removed via spectrum filtering, the remaining pitch and heave motions are still tightly coupled. It may be difficult to separate the remaining pitch and heave motions as both motions are related to the same physical process and thus can be closely correlated. However, the change in the measured depth as a result of variations in pitch is very small, and in most survey conditions this term may be negligible, or beyond the resolution of the sensor to actually measure. When the sensor altitude to the seafloor is relatively high, an approximately flat seafloor can be assumed. For such conditions, no perceptible change in the bathymetry data exists as a result of yaw, surge and sway. Some information regarding yaw and sway may exist, but only under contrived conditions such as when collecting data along a straight pipe. FIG. 10 is a flowchart summarizing an example method 30 of obtaining motion data from bathymetry measurements. In operation 31, data points for one or more pings are selected. In operation 32, it is determined whether there are sufficient data for inter-ping statistics. Initially during measurements, often the data are not sufficient for inter-ping statistics. Consequently, in operation 33 an intra-ping motion estimation is performed using iterative polynomial least-squares (LSQ) fitting. Bathymetric data are often very noisy and contain a significant amount of outliers. The iterative polynomial fitting scheme can reduce influence of outliers in intra-ping motion estimation. In operation 34, it is further determined whether there are sufficient data from the ping for a statistical spectrum analysis. If yes, in operation 35, spectrum filtering is performed to remove features in the data caused by the seafloor terrain variation. In operation 36, if it is determined that more pings are obtained, the system returns to operation 31. If in operation 32 it is determined that there are sufficient data from multiple pings for inter-ping statistics, a predictive inter-ping motion estimation can be performed in operation 37, using Bayesian statistics. Such a predictive estimation can be realized by modeling an underlying dynamic model of the sensor motion and/or the underwater floor variation. In some embodiments, a recursive filter is applied to the data from multiple pings. Such a recursive filter can be, for example, a nonlinear Kalman filter. Other recursive filters that may be used may include Bene{hacek over (s)} filters, Daum filters, particle filters, and their extensions. The nonlinear Kalman filter technique incorporates constraints of the motion dynamics across pings, and thus improves robustness in the estimation. In operation 38, it is determined whether the inter-ping motion estimation has a good quality. If yes, then the system turns to operation 34. If not, the system reverses back to the intra-ping motion estimation in operation 33. FIG. 11 is a block diagram illustrating an example computer program product 40 for use with the apparatus 20 and implementing the methods described above. The computer program product 40 can include a signal bearing medium 42, which can include a non-transitory computer readable medium 46, such as, but not limited to, a hard disk drive, a Compact Disc (CD), a Digital Video Disk (DVD), a digital tape, memory, etc. The computer program product 400 may also include a recordable medium 48, such as, but not limited to, memory, read/write (R/W) CDs, R/W DVDs, etc. In some implementations, the signal bearing medium 42 may encompass a communications medium 41, such as, but not limited to, a digital and/or an analog communication medium (e.g., a fiber optic cable, a waveguide, a wired communications link, a wireless communication link, etc.). Instructions 44 are stored in the signal bearing medium 42 to perform the data analysis methods as described above. Working Examples The example analyses described below are based on four data sets collected in the ocean. Each data set includes bathymetry data of multiple runs of the Benthos C3D swath bathymetry sonar. Each data set includes a variety of seafloor topographies that allow variations in the seafloor to be considered in evaluating the extraction process. For data collection processes, the C3D sonar was pole-mounted to a 43′ vessel configured for survey operations. The motion it experienced was directly correlated with the movement of the vessel, and thus with the influence of the surface waves on the vessel. In operation, the transducer arrays on both side of the sensor have a declination angle with respect to the sea level (30° for the first data collection and 40° for the remaining collections). The bathymetry software of the sensor automatically corrects for this declination angle when producing the angle/range solutions. The sea state was minimal when the data sets were collected. Consequently, the motion experience by the sensor was relatively small, providing the best possible approximation of UUV motion. Motion data were directly collected with the Ixsea Octans Model 1000 motion reference unit to compare with those recovered from the bathymetry data. The Octans is a fiber-optic gyrometer and a gyrocompass and provides precision heading, roll, pitch, yaw, heave, surge, and sway measurements. For the test data collected for this study, only roll, pitch and heave were used for comparison. The table below shows the Octans motion sensor accuracy based on the manufacturer's specifications. Heave, Surge & Sway: Accuracy 5 cm or 5% (whichever is highest) Resolution 1 cm Heave motion periods 0.003 to 100 s (tunable) Roll, Pitch & Yaw: Accuracy 0.01° Range No limitation Follow-up speed Up to 500°/s In using the Octans motion sensor measurements as reference, a few factors are accounted for to effectively utilize the Octans for ground truth. Because the Octans sensor was mounted at a location at a distance away from the sonar, offsets resulting from the distance were accounted for in comparing the heave measured by the Octans sensor with the heave experienced by the sonar. These offsets were carefully measured to within 1 cm to minimize the impact of lever arms. Conventional patch test techniques are employed to determine and account for the motion sensor offsets. Time offset is another potential source of difference. The motion data from Octans sensor is time-stamped at the moment the data is logged by the data acquisition software. There is therefore a delay between the actual time of the motion and the time at which the motion is recorded. This delay causes a fixed offset in time between the sonar ping data motion estimation and the ground truth. A third source of misalignment is the temporal sampling rate. The Octans motion sensor operates at a higher sampling frequency than the sonar sensor. The *.k8e data output files store the smoothed and sub-sampled versions from Octans sensor's original data. The algorithm that inserts the motion into the *.k8e file performs a linear interpolation of the motion data from the two nearest samples in time to the actual ping time. Error analysis suggests that bathymetry measurements recorded at nadir and at the range limit are more susceptible to noises. To mitigate the impact of outliers in measured bathymetry data, data points near nadir and near the range limit, and those with weak amplitudes, are excluded from the motion estimation computation. The data selection procedure extracts data points at each ping as follows. Let xi=ri cos θi be the computed cross-track position of data point pi=(ri, θi, ai) the data point selection procedure chooses data points for motion estimation that satisfy: {pi|xi⊂[x0,x1],ai>a0} The optimal choices of (x0, x1, a) are dependent on the property of the seafloor, the operating depth and declination angle of the sonar sensor. The typical choices used in the tests are: [x0,x1]=[2.5, 10.0]; a0=1500 for 25 m range data and [x0, x1]=[2.5, 20.0]; a0=1500 for 50 m and 75 m range data. The high data density of the C3D sonar allows this down-sampling of data without causing data scarcity. To estimate the platform roll from ping echo data, an iterative polynomial data fitting method is employed, as illustrated in FIG. 12. The coefficients of a first polynomial p0(x) of degree n that fits the data p0(x(i)) to z(i) with a least square are first obtained. Once the coefficients are found, the accuracy of the estimated curve against the apparent z values is estimated. Data points located at a distance greater than a predetermined first threshold T are considered outliers, and are removed from subsequent processing. Next, the data fitting process is repeated using only the (x, z) points that passed the threshold stage to obtain the coefficients for a second polynomial p1(x). The first threshold can then be tightened using T(n+1)=T(n)×ρ, 0<ρ<1(μ=0.98 in one example) to obtain a second threshold. The polynomial fitting and the outlier removing processes are repeated, until deviations of all surviving data points from the polynomial are within the current threshold. The iterative process handles outliers in the bathymetry data well. Once the iteration converges, the coefficient of the first-order term of the polynomial pk(x) at the end of the iteration is used to define the roll angle of the sonar sensor according to Eq. (3). A post-processing band-pass filter is applied to the estimated roll curve along-track to reduce the impact of environment changes on roll estimation. The choice of the cut-off frequencies of fcL and fcH, used in the filter will be dependent on the properties of the physical environment in which the sensor operates (e.g., periods of the ocean waves, variation of the seafloor surface). These parameters may be determined empirically in the experiments for each dataset. The heave estimation algorithm employed according to one embodiment comprises applying two filters over the estimated sensor altitude in Eq. (4): hj=FL(FH({circumflex over (z)}j)) (9) where FL is a low-pass filter with a cut-off frequency f that nulls out the frequency around zero in the altitude estimate; FH is a high-pass filter with a cut-off frequency fcH whose purpose is to remove the high-frequency variation due to surface roughness and noise in the computation. In one embodiment, 3rd order butterworth filters are used for both low and high pass filters. FIG. 13 illustrates an example estimation of heave from altitude data. The choice of fcL and fcH may depend on the properties of the physical environment in which the sensor operates, and can be set empirically. Estimating the sensor altitude using Eq. (9) may require knowledge of sensor pitch angle at each ping. In the example results described below, the pitch readings from the Octans motion sensor are used as the surrogate for estimation of pitch angles. Thus, the accuracy of the heave estimate can be an upper bound of what is actually achievable. The pitch motion in the four datasets is very small. Consequently, the impact of pitch on heave estimation may be negligible. The least-square fitting-based motion estimation scheme derives motion estimation from data within each ping. Such a single-ping based scheme ignores the correlations of motion between adjacent pings. Furthermore, such a scheme can incorporate neither priori knowledge of the dynamics of ocean waves, nor the dynamics of the seafloor terrain changes into the motion estimation process. In one embodiment, a Kalman-filter-based motion estimation approach is employed, which allows the incorporation of constrains of the motion dynamics and surface variation dynamics into the motion prediction and estimation model. Such a scheme can potentially provide more accurate motion estimation and be more robust against environmental changes. The Kalman filter can be used as a recursive solution to the discrete-data linear filtering problem. It provides an optimal recursive algorithm for sequential probabilistic inference under a linear-Gaussian system assumption. Probabilistic inference is the problem of estimating the hidden variables (states or parameters) of a system in an optimal and consistent fashion (using probability theory), given noisy or incomplete observations. In the case of a time-evolving (dynamic) system, the sequential probabilistic inference problem is to estimate the system state vector xk given only measurements zk and information of how the system evolves over time and how we observe it. Given linear dynamic system equations: xk=Ak−1·xk−1+Bk−1·uk−1+vk−1 zk=Hk·xk+nk where vk˜N(0,Q) is a zero-mean Gaussian white process noise, and nk˜N(0, R) is a zero-mean Gaussian white observation noise, a Kalman filter generates maximum a posteriori state estimate: x ^ = arg   max x  ( ρ x | z ) The algorithm can be summarized as: 1. At k=0: Initialize filter. State prior: x0˜ρx0=N({circumflex over (x)}0, P0) Process noise: v0˜μv0=N(0,Q) Measurement noise: n0˜μn0=N(0,Q) 2. Time Update (generate prior density) ρxk|z1:k−1=N({circumflex over (x)}k−,Pk−){circumflex over (x)}x−=Ak−1+Bk−1uk−1Pk−=Ak−1Pk−1Ak−1T+Ck−1Qk−1Ck−1T 3. Measurement Update (generate posterior) ρxk|z1:k1=N({circumflex over (x)}k,Pk)Kk=Pk−HkT(HkPk−HkT+DkRkDkT)−1{circumflex over (x)}k−+Kk(zk−Hk{circumflex over (x)}k−)Pk=(I−KkHk)Pk− 4. Increment discrete time index k . . . Jump to step 2. It is noted that the Kalman filter may be optimal for linear Gaussian systems. If the Gaussian assumption is relaxed, the Kalman filter can still be an optimal (with minimum error variance) filter out of the class of linear unbiased filters. Time update increases uncertainty, while measurement update decreases uncertainty: Pk+1−>Pk, Pk+1<Pk+1−. Thus, in other words, the Kalman filter works in a predictor/corrector fashion for the unobserved (predicted) system x being corrected with observation z: {circumflex over (x)}x=(predication of xk)+(Gaink)×[(observation of zk)−(prediction of zk)] FIG. 14 illustrates a dynamic system with hidden state variables X that are observable via output measurements Z. The Kalman filter easily allows incorporating colored (time-correlated) noise by expanding the system dynamics to include noise-shaping filters. In one embodiment, to apply the Kalman filter to the motion estimation problem (roll and heave/depth), a motion dynamic model and a sensor observation model are used. The sensor motion dynamics may be directly correlated with the motion dynamics of the vessel. A state vector can be defined as x=(φ, {hacek over (z)})T, based
{'application_number': '<application-reference appl-type="utility">\n<document-id>\n<country>US</country>\n<doc-number>13184374</doc-number>\n<date>20110715</date>\n</document-id>\n</application-reference>', 'publication_number': '<publication-reference>\n<document-id>\n<country>US</country>\n<doc-number>20130016584</doc-number>\n<kind>A1</kind>\n<date>20130117</date>\n</document-id>\n</publication-reference>', 'source_file': './application/2013/ipa130117.xml', 'source_data': 'USPTO-Application'}