Signal processing device, signal processing method, and program
Patent Information
- Application Number
- PCT/JP2023/032492
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-09-06
- Publication Date
- 2025-03-13
Smart Images

Figure JP2023032492_13032025_PF_FP_ABST
Abstract
Description
Signal processing device, signal processing method, and program
[0001] The present disclosure relates to techniques for predicting noise signals.
[0002] In time series analysis for predicting general time series signals, there is a state space model that performs linear prediction for stationary signals using a Kalman filter (see, for example, Non-Patent Document 1).
[0003] Kalman, RE, 1960, "A new approach to linear filtering and prediction problems," Trans. ASME-J, Basic Eng.(ser.D), 82, pp.35-45.
[0004] When predicting future noise signals from a target microphone based on past noise signals, noise is non-stationary and the noise sources are diverse and change location. Even if signal prediction is attempted using the state space model described above, there is a limit to the number of samples that can be predicted by simply applying a stationary, linear model in the time domain.
[0005] Therefore, the present disclosure has been made to solve the above-mentioned problems, and aims to provide a signal processing device that can predict future signals even for signals that include non-stationary noise.
[0006] In order to solve the above problem, a signal processing device according to one aspect of the present disclosure includes a pre-processing unit that generates a frequency-domain signal from each of a plurality of time-series signals having a predetermined time length and calculates an amplitude and a phase for each frequency bin of each of the frequency-domain signals, and a signal estimating unit that generates a future time-series signal from the amplitude and phase using a Kalman filter.
[0007] According to the signal processing device of the present disclosure, time series prediction is performed for each amplitude and each phase using a Kalman filter, so that future signals can be predicted even for signals that include non-stationary noise.
[0008] Fig. 1 is a diagram illustrating an example of the functional configuration of a signal processing device according to an embodiment of the present disclosure. Fig. 2 is a diagram illustrating an example of a processing flow of a signal processing method according to an embodiment of the present disclosure. Fig. 3 is a diagram illustrating an example of the functional configuration of a computer.
[0009] <Character notation> The symbol "^" (superscript hat) used in the text should normally be written directly above the character immediately following it, but due to limitations in text notation, it is written immediately before the character in question. In mathematical formulas, these symbols are written in their proper position, i.e., directly above the character. For example, "^α" is expressed in a mathematical formula as follows: Characters used in sentences with subscripts, e.g. " T " (superscript T) should be written directly above the subscript that follows it, but due to limitations in text notation, it is written immediately after the subscript. In mathematical formulas, these characters are written in their proper position, i.e., directly above the subscript. For example, "F n T " is expressed in the following formula:
[0010] <Embodiments of the Present Disclosure> [Signal Processing Device] A signal processing device 1 of the present disclosure is, for example, a device that generates (estimates) a noise signal that will be observed in the future by a target microphone from a previously observed noise signal obtained by the target microphone.
[0011] 1, the signal processing device 1 includes, for example, a pre-processing unit 10 and a signal estimating unit 20. The pre-processing unit 10 generates a frequency-domain signal from each of a plurality of time-series signals having a predetermined time length, and calculates the amplitude and phase for each frequency bin of each frequency-domain signal. The signal estimating unit 20 generates (estimates) a time-series signal for future prediction using a Kalman filter from the amplitude and phase calculated by the pre-processing unit 10.
[0012] The pre-processing unit 10 includes, for example, a signal dividing unit 11, a Fourier transform unit 12, and an amplitude / phase calculation unit 13. The signal estimation unit 20 includes, for example, an estimation unit 21, a frequency signal calculation unit 22, and an inverse Fourier transform unit 23.
[0013] (Signal division unit 11) The signal division unit 11 divides a plurality of time intervals T m (m=1, 2, ..., M) for the time interval T m By multiplying each signal by a predetermined window function, a single discrete-time signal (time-series signal α) is converted into a plurality of time-series signals α having a predetermined time length. m That is, the time series signal α m is the adjacent time series signal (time series signal α m-1 and time series signal α m+1 ) and the time intervals partially overlap. For example, if the time series signal α is 0 ~t 11 is a time series signal with a length of 0 ~t 10 is divided into 10 sections. In this case, for example, the time series signal α 1 is 0 ~t 2 the time series signal α2 is in the interval from t1 to t3, the time series signal α3 is in the interval from t2 to t4, and so on. 10 is t9~t 11 For example, the time series signal α m is generated by multiplying the time-series signal α by a predetermined window function such as a Hamming window, and then performing frame shifting. Therefore, the overall processing of the signal dividing unit 11 corresponds to a so-called short-time Fourier transform (STFT). The generated time-series signal α m is output to the Fourier transform unit 12. When the time-series signal α is input as an analog signal, the signal dividing unit 11 or an AD converter (not shown) is configured to have a function of AD converting the time-series signal α, which is an analog signal, into a discrete-time signal.
[0014] (Fourier transform unit 12) The Fourier transform unit 12 converts each time series signal α m is Fourier transformed and decomposed into frequency components. m Here, the Fourier transform is a transform performed by, for example, a fast Fourier transform process. The generated frequency domain signal β mis output to the amplitude / phase calculation unit 13.
[0015] (Amplitude and Phase Calculation Unit 13) The amplitude and phase calculation unit 13 calculates each frequency domain signal β m In frequency bin B i For each (i = 1, 2, ..., I), the amplitude A i and phase P i For each frequency bin B i The frequency domain signal of a is expressed in the form of a complex number. i +jb i (j is the imaginary unit), then the amplitude A i and phase P i The calculation is performed using the following formula, for example. The above-mentioned Fourier transform unit 12 converts each time series signal α m is Fourier transformed to obtain the frequency domain signal β m By this transformation, the real part a i and the imaginary part b i Therefore, for each frequency bin B i In this case, two variables (a i , b i In this embodiment, two variables (a i , b i ) with amplitude A i and phase P i is converted into a real number, and the amplitude A i and phase P i Using the next sample, the time series signal α m+1 The amplitude ^A is an estimated value of the amplitude and phase of i and phase ^P i The frequency domain signal β m is the amplitude A i and phase P i By converting it into i The range of the predicted value (estimated value) of is narrowed down to between -π and +π. i +jb i The width (range) of the value to be predicted is narrower than when prediction is made directly using the calculated amplitude A, i.e., prediction is made using the real part and the imaginary part, making prediction easier.i and phase P i is output to the estimation unit 21.
[0016] (Estimation unit 21) The estimation unit 21 estimates the amplitude A calculated by the amplitude / phase calculation unit 13. i and phase P i Then, using a Kalman filter, the time series signal α m For each time, the next time series signal (time series signal α m+1 ) amplitude (amplitude ^A i ) and phase (phase ^P i ) and this estimation is performed for the frequency bin B i That is, the estimation unit 21 estimates the frequency bin B i For each filter, a filter for a different amplitude A (amplitude A i a filter for a different phase P (phase P i Using a filter for amplitude ^A i and phase ^P i The estimated amplitude ^A i and phase ^P i is output to the frequency signal calculation unit 22.
[0017] (Frequency Signal Calculation Unit 22) The frequency signal calculation unit 22 calculates the estimated amplitude ^A i and phase ^P i Using the time series signal α m For each time, the frequency domain signal ^β corresponding to the future time series signal m (^β m =^a i +j^b i ) is calculated. This calculation is performed for frequency bin B i This is done every time. Real part ^a i and the imaginary part ^b i The calculation is performed using the following formula, for example. Each time series signal α m The generated frequency bin B i The future frequency domain signal ^β for each m is output to the inverse Fourier transform unit 23.
[0018] (Inverse Fourier Transform Unit 23) The inverse Fourier transform unit 23 transforms the frequency domain signal ^β corresponding to the calculated future time series signal.m The inverse Fourier transform unit 23 generates (estimates) the future time series signal ^α based on the frequency domain signal ^β. m are arranged by time based on the time series signal α and subjected to inverse Fourier transform to obtain the time series signal ^α m Next, the inverse Fourier transform unit 23 generates the time interval T m These are then added together while taking into consideration the time overlapping portions of the signals, to generate a single time-series signal ^α. The generated time-series signal ^α serves as an estimate of the future time-series signal predicted by the signal processing device 1, and becomes the output result of the signal processing device 1.
[0019] [Signal Processing Method] The signal processing method of this embodiment is performed by the above-described signal processing device 1, by executing the processing flow shown in Fig. 2. Note that in the following explanation, it is assumed that a target microphone has already been determined and that the observed noise signal (time-series signal α) of that microphone is sequentially input.
[0020] In the following explanation, the time series signal α m The number (index) of frequency bin B i In order to distinguish between the two numbers, the necessary parts will be explained using the subscript m. m is the time series signal α m is the number of m indicated by the frequency bin Bi. For example, 1i is the first time series signal (time series signal α 1 ) in the i-th frequency bin (frequency bin B i ) has an amplitude A.
[0021] First, the signal dividing unit 11 of the signal processing device 1 divides the time-series signal α m (Step S10) That is, the signal dividing unit 11 generates a time interval T m Using the time interval T m By multiplying each signal by a predetermined window function, a single discrete-time signal (time-series signal α) is converted into a plurality of time-series signals α having a predetermined time length. m Generate.
[0022] Next, the signal processing device 1 sets m=1 and calculates the time-series signal α mis initialized (step S20).
[0023] Next, the signal processing device 1 calculates the time-series signal α m (Step S30). In Step S20, m=1 is set, and here, the time series signal α divided into predetermined time lengths is read. 1 is loaded.
[0024] Next, the signal processing device 1 calculates the frequency of each frequency bin B i Regarding the amplitude A mi , phase P mi Here, since m=1, the initial value of each frequency bin B i Regarding the amplitude A 1i Phase P 1i The initial values of are set. These initial values may be any values. An example is, but is not limited to, setting the mean to 0 and the variance to 1. Step S 40 corresponds to the "initial distribution" of the Kalman filter method.
[0025] Next, the Fourier transform unit 12 of the signal processing device 1 converts the read time series signal α m (Here, the time series signal α 1 ) is Fourier transformed and the frequency domain signal β m (Here, the frequency domain signal β 1 ) is generated (step S50). The generated frequency domain signal β m is output to the amplitude / phase calculation unit 13.
[0026] Next, the estimation unit 21 of the signal processing device 1 calculates the set initial value (here, A 1i , P 1i ) to the frequency bin B i Every time, the next sample (time series signal α m+1 ) where the amplitude and phase estimates, m+1i (Here, the amplitude ^A 2i ) and the phase ^P m+1i (Here, the phase ^P 2i ) is estimated (S step 60).
[0027] The estimation in step S60 uses the Kalman filter technique to calculate the conditional mean x as follows:n|j (x transitioning from state j to state n) and the conditional variance V n|j This is done by calculating (V for transitioning from state j to state n). Here, x n|n-1 is the amplitude ^A to be calculated m+1i Or the phase ^P m+1i V is the amplitude ^A mi+1 Or the phase ^P mi+1 The variance of F n and G n is the state coefficient, and Q n is the noise coefficient. (・) T indicates the transposed matrix of (·). Step S 60 corresponds to the "prediction" of the Kalman filter method. Generally, in dynamical systems to which the Kalman filter is mainly applied, the state coefficients are determined from equations that comply with the laws of physics. In the present disclosure, since there are no laws of physics, for example, the value F that is generally used as a trend model is used. n = [[2,-1], [0,1]] can be used. n Since is not specifically determined as a trend model, any value can be used. n = 1, but is not limited to this.
[0028] Next, the signal processing device 1 calculates the time-series signal α m+1 (Step S70). Here, the time series signal α 2 is loaded.
[0029] Next, the Fourier transform unit 12 of the signal processing device 1 converts the read time series signal α m+1 (Here, the time series signal α 2 ) is Fourier transformed and the frequency domain signal β m+1 (Here, the frequency domain signal β 2 ) is generated (step S80). The generated frequency domain signal β m+1 is output to the amplitude / phase calculation unit 13.
[0030] Next, the amplitude / phase calculation unit 13 of the signal processing device 1 calculates each frequency domain signal β using equations (1) and (2).m+1 In frequency bin B i Actual amplitude A m+1i , phase P m+1i (Step S90). The calculated value is used as y n Step S 90 corresponds to the "observation" step in the Kalman filter method.
[0031] Next, the estimation unit 21 of the signal processing device 1 calculates the frequency bin B i The estimated value estimated in step S60 is corrected (step S100). The correction in step S100 is carried out by using the following equation (7) to calculate the Kalman gain K n Then, the corrected conditional mean x is calculated using equation (8). n|n Calculate the corrected conditional variance V using equation (9). n|n Calculate. Here, H n is the observed coefficient, and R n is the observation noise coefficient. Step S 100 corresponds to the "filter" in the Kalman filter method. The corrected amplitude (^ amplitude A mi ), and the corrected phase (phase ^P mi ) is output to the frequency signal calculation unit 22.
[0032] Next, the frequency signal calculation unit 22 of the signal processing device 1 calculates each time series signal α m In this case, the amplitude ^A mi and phase ^P mi Using frequency bin B i For each future frequency domain signal ^β m (^β m =^a mi +j^b mi ) (Step S110). The frequency signal calculation unit 22 calculates each time series signal α m Calculated frequency bin B i Frequency domain signal ^β for each m is output to the inverse Fourier transform unit 23.
[0033] Next, the frequency signal calculation unit 22 of the signal processing device 1 calculates all the time-series signals α mFor the frequency domain signal ^β m It is determined whether or not m is calculated (whether m≧M is satisfied) (step S120). As a result, the frequency signal calculation unit 22 calculates all of the time-series signals α m The frequency domain signal ^β m If it is determined that the calculation of m is not complete (m≧M is not true) (No in step S120), m is incremented (m=m+1) and the processing from step S30 onwards is carried out (step S130).
[0034] On the other hand, the frequency signal calculation unit 22 of the signal processing device 1 calculates all the time-series signals α m The frequency domain signal ^β m When it is determined that the calculation of each time series signal α has been completed (m≧M is satisfied) (Yes in step S120), the frequency signal calculation unit 22 m All amplitudes and phases (amplitude ^A mi , and the phase ^P mi ) is output to the inverse Fourier transform unit 23.
[0035] Next, the inverse Fourier transform unit 23 of the signal processing device 1 converts each frequency domain signal ^β m The inverse Fourier transform unit 23 performs an inverse Fourier transform on each frequency domain signal β to generate a time series signal α (step S140). m are arranged by time based on the time series signal α, and are subjected to an inverse Fourier transform using a synthesis window function to estimate the time series signal ^α m Next, the inverse Fourier transform unit 23 performs overlap processing, i.e., adds these signals together while taking into account the time overlapping portions, to generate one time-series signal ^α. The generated time-series signal ^α serves as an estimate of the future time-series signal predicted by the signal processing device 1, and becomes the output result of the signal processing device 1.
[0036] According to the signal processing device 1 described above, time series prediction using a Kalman filter is performed for each amplitude and phase, making it possible to predict future noise signals with non-stationary mean, variance, and covariance using a single microphone. Conventionally, when long-term prediction is performed in the time domain, since there are no new observations, predictions are continued based on the last observation as a new observation, limiting predictions to a few periods ahead. In contrast, the signal processing device 1 of the present disclosure performs prediction via the frequency domain, thereby reducing prediction errors by one sample ahead instead of multiple samples ahead in the time domain. Therefore, the signal processing device 1 of the present disclosure can predict signals tens or hundreds of periods ahead by using a Kalman filter in the frequency domain. Therefore, a signal processing device capable of predicting future signals, even for signals containing non-stationary noise, can be provided.
[0037] Although the embodiments of this disclosure have been described above, the specific configuration is not limited to this embodiment or its modifications, and it goes without saying that appropriate design changes and the like are included in this disclosure as long as they do not deviate from the spirit of this disclosure. The various processes described in this embodiment may not only be executed in chronological order according to the order described, but may also be executed in parallel or individually depending on the processing capacity of the device executing the processes or as needed. For example, in the above-mentioned step S10, the time-series signal α m are generated together, but the time series signal α m As a specific example, in step S30, one time-series signal α m In step S70, the next time series signal α m+1 may be configured to generate
[0038] [Program, Recording Medium] The various processes described above can be implemented by loading a program that executes each step of the above method into the recording unit 2020 of the computer 2000 shown in Figure 3, and operating the control unit 2010, input unit 2030, output unit 2040, display unit 2050, etc.
[0039] The program describing the processing contents can be recorded on a computer-readable recording medium, which may be, for example, a magnetic recording device, an optical disk, a magneto-optical recording medium, a semiconductor memory, or any other suitable recording medium.
[0040] The program may be distributed by, for example, selling, transferring, lending, etc. portable recording media such as DVDs and CD-ROMs on which the program is recorded. Furthermore, the program may be stored in a storage device of a server computer, and then transferred from the server computer to other computers via a network, thereby distributing the program.
[0041] A computer that executes such a program may first temporarily store the program recorded on a portable recording medium or transferred from a server computer in its own storage device. Then, when executing a process, the computer reads the program stored on its own recording medium and executes the process in accordance with the read program. Alternatively, the computer may read the program directly from a portable recording medium and execute the process in accordance with the program. Furthermore, the computer may execute the process in accordance with each program transferred from the server computer. Alternatively, the server computer may not transfer the program to the computer, but may instead execute the process through a so-called ASP (Application Service Provider) service, which realizes the processing function by issuing an execution instruction and obtaining the results. In this embodiment, the program includes information used for processing by a computer that is equivalent to a program (e.g., data that is not a direct instruction to the computer but has properties that define computer processing).
[0042] Furthermore, in this embodiment, the device is configured by executing a predetermined program on a computer, but at least a part of the processing contents may be realized by hardware.
[0043] REFERENCE SIGNS LIST 1 signal processing device 10 pre-processing unit 11 signal division unit 12 Fourier transform unit 13 amplitude phase calculation unit 20 signal estimation unit 21 estimation unit 22 frequency signal calculation unit 23 inverse Fourier transform unit A, ^A amplitude B, ^B frequency bin F n , G n State coefficient H n Observation coefficient K n Kalman gain P Phase Q n Noise coefficient R n Observation noise coefficient V n|j Conditional variance x n|j Conditional mean y n Observation values α, ^α are time series signals β, ^β are frequency domain signals
Claims
1. A signal processing device having: a pre-processing unit that generates a frequency domain signal from each of a plurality of time series signals having a predetermined time length, and calculates an amplitude and a phase for each frequency bin in each of the frequency domain signals; and a signal estimation unit that generates a future time series signal from the amplitude and the phase using a Kalman filter.
2. The signal processing device according to claim 1, wherein the signal estimation unit comprises: an estimation unit that estimates the amplitude and phase of a next time-series signal for each of the time-series signals from the amplitude and the phase using the Kalman filter; a frequency signal calculation unit that calculates a frequency domain signal corresponding to the future time-series signal for each of the time-series signals using the estimated amplitude and phase; and an inverse Fourier transform unit that generates the future time-series signal based on the calculated frequency domain signal corresponding to the future time-series signal.
3. The signal processing device according to claim 2, wherein the pre-processing unit has a signal division unit that uses a plurality of time intervals that partially overlap with adjacent intervals and multiplies each of the time intervals by a predetermined window function to generate a plurality of time series signals having the predetermined time length from one discrete-time signal.
4. A signal processing method, comprising: a pre-processing unit generating a frequency domain signal from each of a plurality of time-series signals having a predetermined time length, and calculating an amplitude and a phase for each frequency bin in each of the frequency-domain signals; and a signal estimation unit generating a future time-series signal from the amplitude and phase using a Kalman filter.
5. A program for causing a computer to function as the signal processing device according to any one of claims 1 to 3.
Citation Information
Patent Citations
Methods and apparatus in wireless communication systems
JP2011524142A
Device and program for estimation of biosignals
JP2013085702A