The present invention relates to signal processing that determines a phase of a pair of signal sequences.
Signal processing such as remote sensing or magnetic resonance imaging (MRI) needs phase information, and it is important to accurately obtain phase information. In such signal processing, it is necessary to obtain a phase (interference signal and the like) between two signals as a continuous value, and this problem is referred to as “phase unwrapping problem”.
Patent Literature 1 describes a phase compensating circuit that compensates change in a phase of a reflected wave due to movement of a mobile target in order to transmit a radio wave to the target and receive the reflected wave from the target to obtain an image of the target, the phase compensating circuit including: a range bin determining unit for extracting a data sequence of a specific range bin from a received signal sequence of the reflected wave; a phase unwrapping unit for calculating time change in a phase from the extracted data sequence, and removing turnback of the phase included in the calculated time change in the phase; a phase compensation amount calculating unit for performing fitting using a least square method on data representing the time change in the phase from which the turnback of the phase has been removed, detecting a second or higher change component of the time change in the phase, and calculating, from the detected result, a phase compensation amount that reduces the second or higher change component; and a phase compensating unit for compensating the received signal sequence of the reflected wave in accordance with the obtained phase compensation amount.
Patent Literature 2 describes a three-dimensional temperature measuring method using an MRI device, in which a three-dimensional MR photographing sequence including three-dimensional temperature distribution information is performed, a three-dimensional phase distribution is calculated from the obtained three-dimensional complex MR image, a three-dimensional phase unwrapping process is then performed, from the three-dimensional phase distribution after the unwrapping process, a three dimensional temperature distribution is calculated, and a volume rendering process is performed on this calculated result to create and display a three-dimensional temperature image.
Patent Literature 3 describes a method for cancelling a narrow band interference signal in a receiver, the method including the steps of: subtracting a reference signal from a received input signal; calculating a phase of the subtracted result on the basis of an arctangent function; removing modulo 2π limitation produced by the arctangent function, thereby performing an unwrapping function on an output signal from the arctangent function, and thereby generating absolute value phase representation; comparing phase representing values shifted by predetermined time, and thereby determining a frequency offset; and canceling a narrow band interference object on the basis of the result of the determined frequency offset.
Non-patent Literatures 1 to 3 describe an algebraic solution in which regarding two real polynomial functions B(0)(r), B(1)(r), a phase θ(r)=tan−1(B(1)(r)/B(0)(r)) that is a continuous function is obtained by a calculating method that is extended Euclidean algorithm.
Patent Literature 1: Japanese Patent No. 3395606
Patent Literature 2: Japanese Unexamined Patent Publication No. 2000-300536
Patent Literature 3: Japanese Unexamined Patent Publication No. 2007-521729
In actual signal processing, signals are not necessarily expressed by real polynomial functions, and thus, even if the signals are approximated by polynomials, the more the order of polynomials increases, the more instable numerical calculation becomes. For this reason, it is difficult to apply the algebraic solution of Non-patent Literatures 1 to 3 to actual signal processing to obtain a continuous phase. An object of the present invention is to improve the stability of numerical calculation for finding a continuous phase of a pair of signal sequences.
In order to attain the above object, the present invention provides a signal processing device including: a signal acquisition unit that acquires a pair of signal sequences; a first calculating unit that calculates a first function and a second function that are piecewise polynomials respectively approximating, by polynomials for each of a plurality of subintervals, the pair of signal sequences acquired by the signal acquisition unit; a second calculating unit that calculates a numerical sequence of values obtained by substituting one point in each of the plurality of subintervals into a polynomial remainder sequence obtained by applying a Euclidean algorithm to the first function and the second function calculated by the first calculating unit; a phase determining unit that determines a phase of the pair of signal sequences at the one point, on the basis of a sign of each term of the numerical sequence calculated by the second calculating unit; and a signal outputting unit that outputs a signal sequence of phases determined by the phase determining unit for each of the plurality of subintervals.
The phase determining unit may determine, on the basis of the number of changes in signs of values of the numerical sequence between neighboring two terms in the numerical sequence, a value of an indefinite portion of an integral multiple of it that is involved in the phase of the pair of signal sequences at the one point.
The first calculating unit may calculate, for each of the pair of signal sequences, a piecewise polynomial such that the piecewise polynomial passes through each sample point of the signal sequence concerned, and that polynomials thereof in subintervals neighboring each other are smoothly continued.
The second calculating unit may calculate, instead of the numerical sequence obtained from the polynomial remainder sequence, a numerical sequence obtained by multiplying, by a positive constant value, respective terms of the numerical sequence concerned, in each of the plurality of subintervals, on the basis of determinants of a plurality of subresultant matrices that are minor matrices of a resultant matrix concerning the first function and the second function.
The signal outputting unit may output the signal sequence of phases at points for which the phase determining unit has determined the phases, and the points include neighboring two points at which phase difference is larger than π.
Additionally, the present invention provides a signal processing method including the steps of: acquiring a pair of signal sequences; calculating a first function and a second function that are piecewise polynomials respectively approximating, by polynomials for each of a plurality of subintervals, the acquired pair of signal sequences; calculating a numerical sequence of values obtained by substituting one point in each of the plurality of subintervals into a polynomial remainder sequence obtained by applying a Euclidean algorithm to the calculated first and second functions; determining a phase of the pair of signal sequences at the one point, on the basis of a sign of each term of the calculated numerical sequence; and outputting a signal sequence of phases determined for each of the plurality of subintervals.
Additionally, the present invention provides a program causing a computer to execute a process, the process including: acquiring a pair of signal sequences; calculating a first function and a second function that are piecewise polynomials respectively approximating, by polynomials for each of a plurality of subintervals, the acquired pair of signal sequences; calculating a numerical sequence of values obtained by substituting one point in each of the plurality of subintervals into a polynomial remainder sequence obtained by applying a Euclidean algorithm to the calculated first and second functions; determining a phase of the pair of signal sequences at the one point, on the basis of a sign of each term of the calculated numerical sequence; and outputting a signal sequence of phases determined for each of the plurality of subintervals.
According to the present invention, it is possible to improve the stability of numerical calculation for finding a continuous phase of a pair of signal sequences, as compared with the case of not employing the present invention.
In the following, an embodiment of the present invention is described with reference to the accompanying drawings.
A signal processing device according to the present embodiment calculates a phase Θ=tan−1(G/F) from a pair of acquired signal sequences F and G, and outputs the phase Θ. This phase Θ has indefiniteness of mπ (m is an integer) and is not uniquely obtained. Determining appropriate integer values m that make Θ continuous is referred to as “phase unwrapping”. The signal processing device according to the present embodiment performs this phase unwrapping.
First, an example of a system to which the signal processing device according to the present embodiment is applied will be described.
There is a system that measures information on the earth's surface by using a synthetic aperture radar (SAR). The SAR is a radar in which a radio wave is emitted toward the ground from the radar mounted on an airplane or a satellite, the radio wave reflected by the target object is received by its own antenna, and the antenna itself is moved by the airplane or the satellite to accomplish a virtually large aperture face. An interferometric synthetic aperture radar (interferometric SAR) that is one of synthetic aperture radars measures an altitude of the earth's surface or change in an altitude of the earth's surface caused by crustal movement, from interference fringes generated by making two sets of complex images obtained for the same area interfere with each other.
Assume that the two sets of complex images are A1=A0exp(iφ1) and A2=A0exp(iφ2), then the interference fringes are A1A2*=|A0|2exp(iΔφ). In this case, Δφ=φ1−φ2 is a phase difference, and is expressed by the following formula. The description of “real” means a real part, “imag” means an imaginary part, and “*” means a complex conjugate.
Although Δφ needs to be obtained for obtaining an altitude of the earth's surface, the value of Δφ is not uniquely determined since a tangent function (tan) has periodicity of a period π. For this reason, the signal processing device according to the present embodiment performs phase unwrapping to determine an appropriate integer m that makes a phase Δφ continuous.
When a continuous phase Δφ is obtained by phase unwrapping, an altitude of the earth's surface is obtained as follows, for example.
λ is a wavelength of the radio wave. Since h is h=H−R1 cos θ, θ is obtained from Δφ, and further, h is obtained so that the altitude h of the earth's surface is measured.
As another example of a system to which the signal processing device according to the present embodiment is applied, there is a nuclear magnetic resonance image system using MRI. MRI is a technique of generating an image of a density and a state of protons (nucleuses of hydrogen atoms) in a body. Since approximately 90% of a human body is structured by water and a fat, and each of them includes many hydrogen atoms, a rough structure of the body can be found from a density and a state of protons. A gradient field echo (GRE) method is one MRI imaging method, and uses a technique referred to a Dixon method in which from a mixture of a signal of water and a signal of a fat, components of both of the water and the fat are separated and images are formed.
The Dixon method uses a phenomenon (chemical shift phenomenon) in which shift is generated in a nuclear magnetic resonance spectrum by a difference in a molecular structure between water and a fat. Appropriately applying a pulse from an outside obtains a signal in which signals of water and a fat have the same phase, and a signal in which signals of water and a fat have the opposite phases, as in the following formulae.
Same Phase (in-Phase) s0=(W+F)exp(iθ0)
Opposite phases (out-phase) s1=(W−F)exp(i(θ0+φ)
In these formulae, W, F, and θ0 are constants. Then, since s0*s1/s0s1*=exp(i2φ), a phase difference φ is obtained as follows.
The signal processing device according to the present embodiment is used in order to determine an appropriate integer m in this case to obtain a continuous phase 2φ. When the continuous phase 2φ is obtained, a water image and a fat image are obtained by the following formulae.
Thus, in signal processing and image processing, a pair of real-valued continuous functions f(x) and g(x) is given, and it is required to determine a continuous function Θ(x) that satisfies tan Θ(x)=g(x)/f(x). Generally, the number of independent variables is not necessarily one, and application in a case of two variables is particularly important. However, phase unwrapping of two variables can be accomplished by calculating phase unwrapping of one variable for each variable, as well. For this reason, in the present embodiment, for simplification, functions of one real variable x are considered.
Generally, when a pair of real values (x, y) (x is not 0) is given, a real value θ that satisfies tan θ=y/x is called a phase made by (x, y). However, as described above, a tangent function tan is a periodic function of a period π, so that this θ is not uniquely determined. In other words, a phase made by (x, y) may be any one of θ=θ0+mπ (m is an arbitrary integer) using the unique θ0ε(−π/2,π/2) (referred to as principal value) that satisfies tan θ0=y/x.
The phase unwrapping problem for determining the above-mentioned continuous function Θ(x) is a problem for creating a continuous function Θ by performing correction of adding an appropriate integral multiple of π to the principal value at x where f(x) is not 0, and allocating an appropriate real value to Θ(x) at x where f(x) is 0. Methods of conventional phase unwrapping are trial-and-error manner, and a method of accomplishing systematic and stable phase unwrapping has not been established. Since performance of many state-of-the-art measuring systems largely depends on whether phase unwrapping succeeds or not, a large spreading effect can be expected when a technique of accomplishing stable phase unwrapping is established.
Meanwhile,
The signal processing device according to the present embodiment obtains, by a systematic method, a continuous unwrapped phase for a pair of signal sequences that are not necessarily expressed by a real polynomial function. For this purpose, the signal processing device according to the present embodiment approximates the acquired pair of signal sequences by spline functions, respectively, and performs phase unwrapping by using polynomials of respective subintervals of the obtained spline functions. The phase unwrapping is performed by a procedure of applying a Euclidean algorithm to the polynomials of the spline functions to calculate a polynomial sequence, finding the number of changes in signs of a numerical sequence made by arranging values of the polynomial sequence at a point in each subinterval at which a phase is obtained, and determining an indefinite portion of an integral multiple of it on the basis of the number of changes.
In the present embodiment, the term “continuous” is used as mathematical meaning for functions, and is used as meaning that there is no unnatural “jump” of change in a value as seen in
The signal acquisition unit 11 acquires a pair of processing-target signal sequences. For example, in a case of the above-described interferometric SAR, a real part and an imaginary part of A1A2* are acquired as a pair of signal sequences, respectively, and in a case of MRI, a real part and an imaginary part of s0*s1/s0s1* are acquired as a pair of signal sequences, respectively. In the following, a pair of signal sequences acquired by the signal acquisition unit 11 are respectively represented by F(x) and G(x). For example, when these signal sequences are time series signals, x represents time.
The interval determining unit 12 determines subintervals that are used when the spline calculation unit 13 obtains spline functions from signal sequences acquired by the signal acquisition unit 11. When the signal acquisition unit 11 acquires signals F(x) and G(x) at sample points x0, x1, . . . , xN, the interval determining unit 12 determines, as [x0, x1], . . . , [xN−1, xN] for example, subintervals that are used when the spline calculation unit 13 obtains spline functions. The expression of interval [a, b] means an interval including end points a and b.
The spline calculation unit 13 calculates spline functions SF(x) and SG(x) as one example of piecewise polynomials that approximate the signal sequences F(x) and G(x), respectively that are acquired by the signal acquisition unit 11. Details of a process in which the spline calculation unit 13 obtains the spline functions SF(x) and SG(x) are described later by using
The function storing unit 14 stores the spline functions SF(x) and SG(x) calculated by the spline calculation unit 13, and a polynomial sequence calculated by the polynomial-sequence calculating unit 15.
For each of the subintervals [x0, x1], . . . , [xN−1, xN] in which the respective spline functions SF(x) and SG(x) calculated by the spline calculation unit 13 are expressed by polynomials, the polynomial-sequence calculating unit 15 applies a Euclidean algorithm to SF(x) and SG(x) in the subinterval concerned to calculate a polynomial sequence. A process in which the polynomial-sequence calculating unit 15 obtains the polynomial sequence is performed in accordance with the procedure specified in Non-patent Literature 3. The details are described later by using
The numerical-sequence generating unit 16 generates a numerical sequence obtained by arranging values of the polynomial sequence at a point x in each subinterval for which the polynomial-sequence calculating unit 15 has calculated the polynomial sequence. For example, for the subinterval [x0, x1], a value of each polynomial at x0 in the subinterval (i.e., a value when x0 is substituted) is calculated, and the calculated results are arranged in turn to make a numerical sequence. In the present embodiment, the polynomial-sequence calculating unit 15 and the numerical-sequence generating unit 16 are provided as one example of a second calculating unit.
The sign counting unit 17 counts the number of changes in signs of values of the numerical sequence between neighboring two terms in the numerical sequence generated by the numerical-sequence generating unit 16.
The unwrapping processing unit 18 determines, on the basis of the number of changes in signs obtained by the sign counting unit 17 a value of an indefinite portion of an integral multiple of π that is involved in a phase of the signal sequences F(t) and G(t) at a point x=t for which the numerical-sequence generating unit 16 has generated the numerical sequence. Details of a process in which the unwrapping processing unit 18 determines a value of an integral multiple of π will also be described later. In the present embodiment, the sign counting unit 17 and the unwrapping processing unit 18 are provided as one example of a phase determining unit.
The signal outputting unit 19 outputs, as a signal sequence, values of phases at respective points obtained by the unwrapping processing unit 18. Since phases determined by the unwrapping processing unit 18 of the present embodiment continuously changes at the respective points, the signal sequence of phases output by the signal outputting unit 19 becomes continuous, as well.
In the following, operation of the signal processing device 10 of the present embodiment is described.
First, the signal acquisition unit 11 acquires a pair of signal sequences F(x) and G(x) at sample points x0, x1, . . . , xN (step 10). Then, the interval determining unit 12 determines subintervals [x0, x1], . . . , [xN−1, xN] of x, and on that basis, the spline calculation unit 13 calculates spline functions SF(x) and SG(x) that approximate the respective signal sequences (step 20). The function storing unit 14 stores the calculated spline functions SF(x) and SG(x).
Then, for the first subinterval [x0, x1] of x, the polynomial-sequence calculating unit 15 calculates a polynomial sequence from the spline functions SF(x) and SG(x) stored in the function storing unit 14 (step 30). When SF(x) and SG(x) are respectively expressed by polynomials f0(x) and g0(x) in the subinterval [x0, x1], the polynomial-sequence calculating unit 15 applies a Euclidean algorithm to the f0(x) and g0(x) to calculate a polynomial sequence {ψ0(x), . . . , ψq(x)}. In this case, q is the number at which ψq(x) becomes the zeroth order (a constant). For example, when ψ0(x) and ψ1(x) are the third order, this polynomial sequence is a finite numerical sequence of which order is reduced step by step such that ψ2(x) is the second order, ψ3(x) is the first order, and ψ4(x) is the zeroth order (a constant) (in this example, q is 4). In the present embodiment, this polynomial sequence is also referred to as “polynomial remainder sequence”. The function storing unit 14 stores the calculated polynomial sequence {ψ0(x), . . . , ψq(x)}.
Next, for the point x=t in the subinterval [x0, x1], the numerical-sequence generating unit 16 calculates values of the polynomial sequence {ψ0(x), . . . , ψq(x)}, and arranges the values to create a numerical sequence {ψ0(t), . . . , ψq(t)} (step 40). Then, for the numerical sequence {ψ0(t), . . . , ψq(t)}, the sign counting unit 17 counts the number of changes in signs between neighboring two terms (step 50). The number of sign changes is written as V{ψ(t)}.
A method for obtaining the number V{ψ(t)} of sign changes is concretely described. For example, it is assumed that the number of terms of the numerical sequence is six, and signs of the respective terms are {+, +, −, 0, 0, +}. Although the sign does not change and maintains a positive from the first term to the second term, the sign changes from a positive to a negative from the second term to the third term, so that this is counted as a one time. The fourth term and the fifth term are zero, such zero terms are skipped, and next, the sixth term which is not zero is checked. From the third term to the sixth term, the sign changes from a negative to a positive, so that this is counted as a one time. Accordingly, for this numerical sequence, V{ψ(t)} is V{ψ(t)}=2.
According to Non-patent Literatures 1 to 3, it has been proved that an unwrapped phase θ(t) of the polynomials f(x) and g(x) at x=t is given by the following formula.
In this formula, t0 is a reference point for obtaining the unwrapped phase θ(t). The second term and the third term in the right side are values (principal values) in a range (−π/2, π/2), and V{ψ(t)} is the number of sign changes at x=t obtained at the step 50. V{ψ(t0)} is the number of sign changes of a numerical sequence in which values of the polynomial sequence {ψ0(x), . . . , ψq(x)} at the reference point x=t0 are arranged. In other words, what multiple of π is added to the principal values to obtain an unwrapped phase can be strictly determined, by the above formula, from the number V{ψ(t)} of sign changes obtained at the step 50.
Since the spline functions SF(x) and SG(x) are expressed by polynomials different for the respective subintervals, in the present embodiment, the above-described reference point t0 is also determined for each of the subintervals. For example, like “x0 for the subinterval [x0, x1], . . . , xN−1 for the subinterval [xN−1, xN]”, the start point (left end point) of each subinterval may be set as the reference point t0.
Accordingly, the unwrapping processing unit 18 sets, for the subinterval [x0, x1], the reference point as t0=x0, and calculates the formula 5 by using the polynomials f0(x) and g0(x) in the subinterval [x0, x1] stored in the function storing unit 14 and V{ψ(t)} obtained at the step 50. In other words, the unwrapping processing unit 18 obtains the unwrapped phase θ(t) at x=t in the subinterval [x0, x1] by calculating the following formula (step 60).
Then, when an unwrapped phase is obtained also for a different point in the subinterval [x0, x1], the process returns to the step 40, and when the process is shifted to a next subinterval [x1, x2], the process advances to step 80 (step 70). Although an unwrapped phase may be calculated at any point in each subinterval, in the present embodiment, an unwrapped phase is calculated for at least end points x0, x1, . . . , xN in the respective subintervals.
When a next subinterval exists, the process returns to the step 30 (yes at step 80). In obtaining an unwrapped phase in the subinterval [x1, x2], the unwrapping processing unit 18 sets the reference point as t0=x1, and performs calculation in the same manner as in the formula 6 by using the polynomials f1(x) and g1(x) in the subinterval [x1, x2] and V{ψ(t)} obtained at the step 50. The same applies to the subinterval [x2, x3] and the subsequent subintervals.
When a next subinterval does not exist, i.e., when unwrapped phases are obtained up to the subinterval [xN−1, xN], the process advances to step 90 (no at step 80). Then, the signal outputting unit 19 outputs, as a signal sequence, the values of the respective unwrapped phases obtained up until now (step 90). With that, the operation of the signal processing device 10 is finished.
Next, the process in which the spline calculation unit 13 calculates the spline functions SF(x) and SG(x) at the step 20 in
In the present embodiment, by using sample values of the signal sequences F(x) and G(x), the spline calculation unit 13 approximates each of F(x) and G(x) by spline functions to obtain two piecewise polynomials that pass through the respective sample points. A spline function S(x) of the n-th order is defined as “S(x) is a polynomial of the n-th or less order in each subinterval, and S(x) and its derivative of the (n−1)th or less order are continuous functions in an entire domain”. In other words, a spline function is a piecewise polynomial in which a plurality of polynomials are connected to each other, and is a function that is smooth in mathematical meaning even at each connection point (joint) between the polynomials.
Generally, when a finite number of sample points (xk, f(xk)) (k=1, 2, 3, . . . , p) of a function f(x) are given, to obtain some function h(x) passing through these sample points, h(x) may be set as a polynomial of the (p−1)th order, and simultaneous equations concerning coefficients of the polynomial may be solved. However, when the number p of the sample points becomes large, the polynomial h(x) largely vibrates at x other than the sample points, and for this reason, interpolation by one polynomial may not be appropriate. Meanwhile, using a spline function can make the order lower than the case of interpolation by one polynomial, resulting in a function of which vibration is small. In view thereof, in the present embodiment, an interpolation algorithm of a spline function is used to each of the signal sequences F(x) and G(x).
Next, a calculating method when sample points are interpolated by a spline function of the third order will be described. In this example, sample points are made to be identical to the connection points of the spline function. Namely, when samples (xk, yk) (k=0, 1, . . . , N, and x0<x1< . . . <xN) are given, different cubic functions each make connection between the sample points such that a cubic function is set in the subinterval [x0, x1], and a different cubic function is set in the subinterval [x1, x2], for example. When the spline function to be obtained is S(x), S(x) passes through all of the sample points (xk, yk) (k=0, 1, . . . , N), and the second-or-less-order derivatives of S(x) become continuous in (x0, xN).
When a value of the second-order derivative at the sample point xk is represented by Mk (k=0, 1, . . . , N), the second-order derivative S″(x) of S(x) in the subinterval [xk−1, xk] (k=1, 2, . . . , N) is expressed by the following formula.
In this regard, hk is hk=xk−xk−1. When this is integrated twice, and S(xk−1)=yk−1 and S(xk)=yk are used, S(x) in the subinterval [xk−1, xk] is expressed as in the following formulae.
Therefore, when Mk (k=0, 1, . . . , N) is known, S(x) can be obtained. In order to obtain this Mk, the first-order derivative is considered. Then, from the above result, S′(x) in the subinterval [xk−1, xk] is expressed by the following formula.
Accordingly, a left-side differential coefficient and a right-side differential coefficient of S′(x) at xk (k=1, 2, . . . , N−1) are expressed as in the following formulae.
By continuity of the first-order derivative, S′(xk−)=S′(xk+) is established so that the following formula is introduced.
While the number of unknowns is (N+1) of Mk (k=0, 1, . . . , N), the number of equations of the formula 11 is only (N−1). For this reason, M0=MN=0 is set to uniquely determine the unknowns. Then, the unknowns Mk (k=1, 2, . . . , N−1) are obtained from the equations of the formula 11 so that S(x) is obtained from the formula 8. Thus, each of the signal sequences F(x) and G(x) is interpolated by a spline function.
Although the third-order spline functions are used as one example in the present embodiment, the order may be any order. However, SF(x) and SG(x) preferably have the same order. Further, the sample points and the connection points of the spline functions do not need to correspond to each other one to one as described above. For example, the subinterval [x0, x3] from x0 to x3 may be represented by one cubic function. Furthermore, points other than the sample points may be set as the connection points. In this case, a manner of setting the connection points is preferably the same between SF(x) and SG(x).
First, on the basis of the sample points x0, x1, . . . , xN, the interval determining unit 12 determines the connection points of the spline functions (step 21). Although the connection points do not need to be identical to the sample points as described above, in this example, for simplicity, the respective sample points are set as the connection points, and the subintervals are determined as [x0, x1], . . . , [xN−1, xN]. This interval division is common to F(x) and G(x).
Next, the spline calculation unit 13 solves the formula 11 to obtain M0, . . . , Mn (step 22). At this time, in the formula 11, hk=xk−xk−1 is set. In the case of F(x), yk=F(xk) is set, and in the case of G(x), yk=G(xk) is set. Then, the spline calculation unit 13 obtains, by the formula 8, a cubic function for one subinterval [xk−1, xk] (step 23). When the next subinterval exists, the process returns to the step 23, and when cubic functions for all of the subintervals [x0, x1], . . . , [xN−1, xN] have been obtained, the process advances to step 25 (step 24). To this point, SF(x) is expressed as “the cubic function f0 in [x0, x1], . . . , and the cubic function fN−1 in [xN−1, xN]”. SG(x) is also expressed as “the cubic function g0 in [x0, x1], . . . , and the cubic function gN−1 in [xN−1, xN]”. Accordingly, the spline calculation unit 13 makes the subintervals and the polynomials related to each other, and stores SF(x) and SG(x) in the function storing unit 14 (step 25). With that, the operation of the spline calculation unit 13 is finished.
Various calculating methods for spline interpolation have been proposed in the past. The spline calculation unit 13 may use a different known calculating method without limitation to the method in
Next, the process in which the polynomial-sequence calculating unit 15 calculates a polynomial sequence at the step 30 in
First, for a current processing-target subinterval [xk−1, xk], the polynomial-sequence calculating unit 15 acquires, from the function storing unit 14, the cubic functions fk and gk of the spline functions SF and SG, and sets the respective obtained functions as ψ0 and ψ1 (step 31). Then, a variable j is set as j=1 (step 32). The polynomial-sequence calculating unit 15 determines whether or not the order of ψj is zero. The process advances to step 34 when the order is not zero, whereas the process advances to step 37 described below when the order is zero (step 33).
When the order of ψj is not zero, the polynomial-sequence calculating unit 15 divides ψj−1 by ψj (step 34), and the remainder is set as −ψj+1 (step 35). Then, one is added to j (step 36), and the process returns to the step 33. When the order of ψj is zero, the polynomial-sequence calculating unit 15 stores the polynomial sequence {ψ0, . . . , ψj} in the function storing unit 14 (step 37). With that, the operation of the polynomial-sequence calculating unit 15 is finished.
In the process of
Generally, it is known that when a pair of polynomials (f(x), g(x)) taking real values are given, a polynomial remainder sequence obtained by applying a Euclidean algorithm to them meets a condition called a Sturm sequence. In order to obtain a continuous unwrapped phase from (f(x), g(x)), an appropriate integral multiple of π is added as a correction term to a principal value. Non-patent Literatures 1 and 2 indicate that this correction term can be determined from signs (+, −) of (f(x), g(x)) before and after x where f(x) becomes zero. The method in
Thus, the signal processing device 10 of the present embodiment uses the mathematically strict method in a part of determining an unwrapped phase from polynomials. For this reason, when input signal sequences can be well approximated by piecewise polynomials, phase unwrapping can be accurately performed. The input signal sequences are approximated by spline functions so that polynomials each making connection between the sample points can be accurately obtained, leading to improvement in accuracy of phase unwrapping.
The signal processing device 10 of the first embodiment performs the Euclidean algorithm illustrated in
In view of above, according to the signal processing device 10 of the second embodiment, after the spline calculation unit 13 calculates spline functions, the polynomial-sequence calculating unit 15 calculates a polynomial sequence that is an positive constant multiple of a polynomial remainder sequence obtained by the process in
The signal processing device 10 of the second embodiment is the same as the signal processing device 10 of the first embodiment except for process contents performed by the polynomial-sequence calculating unit 15. For this reason, description about a part other than the process contents of the polynomial-sequence calculating unit 15 is omitted.
Prior to the subresultant, first, a resultant is described. A resultant is a determinant of a matrix for determining whether or not an m-th order polynomial f(x)=amxm+am−1xm−1+ . . . a0 and an n-th order polynomial g(x)=bnxn+bn−1xn−1+ . . . b0 have a common root, and is a determinant of a (m+n)-th order square matrix such as the formula 12. All of elements that are blank parts in the matrix are zero. In the present embodiment, the matrix of the formula 12 is referred to as “resultant matrix”.
From the resultant matrix of the formula 12, 2j columns on the right side, j rows on the lower side for coefficients a0, . . . , am, and j rows on the lower side for coefficients b0, . . . , bn are excluded to make a minor matrix Mj(f, g) such as the formula 13. In this case, p is set as p=min{m, n}, and j is j=0, 1, . . . , p−1.
Further, for the matrix Mj(f, g) of the formula 13, elements in the column at the right end are replaced, one by one from the upper side, with f(x)xn−j−1, f(x)xn−j−2, . . . , f(x), g(x)m−j−1, g(x)xm−j−2, . . . , and g(x) to make a matrix Rj(f, g) such as the formula 14. The determinant of this matrix is a j-th order subresultant of f(x) and g(x). Since Rj(f, g) includes polynomials as elements of the matrix, the subresultant that is the determinant thereof becomes a polynomial, as well. In the present embodiment, the matrix of the formula 14 is referred to as “subresultant matrix”.
It is assumed that both of polynomials f(x) and g(x) in a processing-target subinterval of the spline functions SF(x) and SG(x) calculated by the spline calculation unit 13 are m-th order. For the polynomials f(x) and g(x), Ψ0(x)=f(x) and Ψ1(x)=g(x) are set. Then, for j=2, . . . , q, a polynomial sequence {Ψ0(x), Ψ1(x), . . . , Ψg(x)} is made by the formula 15. In this regard, q is the number at which Ψq becomes zeroth order (a constant).
In this formula, bm is a coefficient of the m-th order term in g(x). For example, when Ψ0(x) and Ψ1(x) are the third order, this polynomial sequence becomes a sequence having a finite number of terms in which the order is decreased one by one such that Ψ2(x) is the second order, Ψ3(x) is the first order, and Ψ4(x) is the zeroth order (a constant), for example (in this example, q is q=4, and the relation q=m+1 exists).
Then, the thus-obtained polynomials Ψ0(x), Ψ1(x), . . . , and Ψq(x) become positive constant multiples of the corresponding polynomials ψ0(x), . . . , and ψq(x) obtained by the process of
The signal processing device 10 of the present embodiment obtains an unwrapped phase on the basis of the number of sign changes in a numerical sequence created from a polynomial sequence, and the difference regarding positive constant multiples does not exert an influence at the time of counting the number of sign changes. Accordingly, in the second embodiment, by calculating this polynomial sequence {Ψ0(x), Ψ1(x), . . . , Ψq(x)}, a problem of instability in numerical calculation is avoided, and a continuous unwrapped phase is determined.
In the first embodiment, after a polynomial sequence is calculated, a value is substituted for a variable x to generate a numerical sequence. Meanwhile, in the second embodiment, when a value is substituted for a variable x before calculating a subresultant, det(Rj(f, g)) becomes a determinant of numerical values, and thus the numerical sequence can be directly obtained. Since a determinant of numerical values can be easily calculated, also in terms of a calculation amount, the process of the second embodiment is more simplified than the process of the first embodiment.
The process in which the polynomial-sequence calculating unit 15 of the second embodiment calculates a polynomial sequence at the step 30 in
First, for a current processing-target subinterval [xk−1, xk], the polynomial-sequence calculating unit 15 acquires, from the function storing unit 14, the cubic functions fk and gk of the spline functions SF and SG, and sets the respective obtained functions as Ψ0 and Ψ1 (step 41). Then, a variable j is set as j=1 (step 42). The polynomial-sequence calculating unit 15 determines whether or not the order of Ψj is zero. The process advances to step 44 when the order is not zero, whereas the process advances to step 47 described below when the order is zero (step 43).
When the order of Ψj is not zero, the polynomial-sequence calculating unit 15 creates a subresultant matrix Rj+1(Ψ0, Ψ1) by the formula 14 (step 44). Then, a value of x=t at which an unwrapped phase is determined is substituted into Ψj+1(x) of the formula 15, and thereafter, a determinant Ψj+1(t) of numerical values is calculated (step 45). When obtaining an unwrapped phase for another point in the subinterval [xk−1, xk], calculation of a determinant at the step 45 may be repeated. After that, one is added to j (step 46), and the process returns to the step 43. When the order of Ψj is zero, the polynomial-sequence calculating unit 15 outputs the numerical sequence {Ψ0(t), . . . , Ψj(t))} to be received by the sign counting unit 17 (step 47). With that, the operation of the polynomial-sequence calculating unit 15 is finished.
In the same manner as the first embodiment, when each polynomial Ψj(x) has the power of x as a factor (i.e., the term of the zeroth order is zero), the polynomial-sequence calculating unit 15 may newly define the part made by deleting the power of x as Ψj(x) to calculate a polynomial sequence {Ψ0(x), Ψ1(x), . . . , Ψq(x)}.
Thus, the signal processing device 10 of the present embodiment uses the method of a subresultant at the time of calculating a polynomial sequence for determining an unwrapped phase. In this method, a Euclidean algorithm is not directly performed, so that a polynomial sequence can be calculated in a numerically stable manner. Further, the method of the present embodiment can be stably implemented even when floating-point arithmetic is applied or when multiple-precision integer arithmetic is applied.
<Numerical Simulation>
In the following, numerical simulation of phase unwrapping that uses the signal processing device 10 of the first embodiment will be described. In this numerical simulation, f(x) is f(x)=cos(Θ(x)), g(x) is g(x)=sin(Θ(x)), signals in which Θ(x) is expressed by the following formula 16 are monitored at fixed time intervals, and from the monitored signals, a continuous phase Θ(x) of the original signals f(x) and g(x) is estimated. In this numerical simulation, it is examined whether or not a phase of the formula 16 can be accurately obtained from the monitored signals by the phase unwrapping method of the signal processing device 10 and a different phase unwrapping method.
In the different method, it is assumed that fluctuation in an unwrapped phase generated at the neighboring sample points stays within ±π, and on the basis of this assumption, a wrapped phase of a sample point is changed by an integral multiple of 2π at a time to obtain a value that is not separated by ±π or more from a value of an unwrapped phase at the directly-preceding sample point, and the obtained value is set as the unwrapped phase of the sample point. In the following, this method is referred to a “comparison method”.
In the comparison method, it is assumed that fluctuation in an unwrapped phase generated at the neighboring sample points stays within ±π, and for this reason, when actual unwrapped phases between the neighboring sample points separate by ±π or higher, phase unwrapping may not be performed accurately. This is actually confirmed by
In the signal processing device 10 of the present embodiment, it is confirmed that even in the case of
From the result of the above-described numerical simulation, it is understood that in the signal processing device 10 of the present embodiment, when intervals between samples of input signal sequences are set as a sufficiently small value, the input signal sequences can be approximated by spline functions with sufficient accuracy, and phase unwrapping succeeds.
Incidentally, the signal processing device 10 of the present embodiment is preferably implemented in a general-purpose computer such as a personal computer (PC). Lastly, a hardware configuration of such a general-purpose computer is described.
The processor 91 illustrated in
The programs implementing the present embodiments may be provided through a communication unit, or may be provided as programs being stored in a recording medium such as a CD-ROM.
Number | Date | Country | Kind |
---|---|---|---|
2012-095589 | Apr 2012 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2013/054596 | 2/22/2013 | WO | 00 |