CN114078482A - Signal processing device, delay estimation method and echo cancellation method - Google Patents

Signal processing device, delay estimation method and echo cancellation method Download PDF

Info

Publication number
CN114078482A
CN114078482A CN202010848620.6A CN202010848620A CN114078482A CN 114078482 A CN114078482 A CN 114078482A CN 202010848620 A CN202010848620 A CN 202010848620A CN 114078482 A CN114078482 A CN 114078482A
Authority
CN
China
Prior art keywords
delay
signal
compensated
echo
estimation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010848620.6A
Other languages
Chinese (zh)
Inventor
吴牧谌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Realtek Semiconductor Corp
Original Assignee
Realtek Semiconductor Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Realtek Semiconductor Corp filed Critical Realtek Semiconductor Corp
Priority to CN202010848620.6A priority Critical patent/CN114078482A/en
Publication of CN114078482A publication Critical patent/CN114078482A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0264Noise filtering characterised by the type of parameter measurement, e.g. correlation techniques, zero crossing techniques or predictive techniques
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L2021/02082Noise filtering the noise being echo, reverberation of the speech

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

A signal processing device comprises an echo estimation device, a captured signal temporary storage device and a delay estimation device. The echo estimation device generates an echo estimation signal according to the reference signal and a set of reflection path analog coefficients, and compensates the echo estimation signal according to the first delay to generate a compensated echo estimation signal. The captured signal temporary storage device is used for temporarily storing the captured signal captured by the microphone device and outputting the captured signal according to the second delay so as to generate a compensated captured signal. The delay estimation device is coupled with the echo estimation device and the captured signal temporary storage device and used for estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal and updating the first delay or the second delay according to the delay adjustment amount. The difference value between the upper limit value and the lower limit value of the first delay is less than or equal to 1.

Description

Signal processing device, delay estimation method and echo cancellation method
Technical Field
The present invention relates to a delay estimation method and a corresponding signal processing apparatus, and more particularly, to a delay estimation method for eliminating echo.
Background
When a near-end user uses a microphone, a loudspeaker and other devices to communicate with a remote user through a network, the microphone receives the sound played by the loudspeaker when receiving the sound of the near-end user, so that echo (echo) interference is generated, wherein the echo refers to the sound played by the loudspeaker and received by the microphone through environmental reflection. For applications such as Voice Over IP (VOIP) or Voice Recognition (VR), Echo and environmental noise are considered as interference factors, which may reduce the quality of the call or the Recognition rate, and Echo cancellation (AEC) is a technique for solving the Echo interference.
The echo cancellation technique is to input the sound signal (reference signal) to be played by the loudspeaker into the filter simulating the reflection environment to obtain the echo estimation value, and then subtract the echo estimation value from the sound (capture signal) received by the microphone to achieve the result of echo cancellation.
However, since the microphone for receiving sound (capture) and the speaker for broadcasting (render) are different hardware devices in the system, there is usually a problem of frequency asynchronization between them. When the sampling frequencies used by the microphone and the loudspeaker are different, the echo cancellation effect is directly influenced. In addition, the sampling frequency difference between the microphone and the speaker is usually a time-varying factor, so that AEC is difficult to respond to the frequency variation in real time, and thus the echo cannot be completely eliminated.
Accordingly, there is a need for a delay estimation method for adaptively estimating the time delay between a reference signal and a captured signal, the resulting delay being used to compensate an echo signal and the captured signal, so that the AEC can effectively cancel the echo.
Disclosure of Invention
An object of the present invention is to solve the problem of time delay between the reference signal and the captured signal that varies with time due to different sampling frequencies.
According to an embodiment of the present invention, a signal processing apparatus includes an echo estimation device, a captured signal temporary storage device, and a delay estimation device. The echo estimation device generates an echo estimation signal according to the reference signal and a set of reflection path analog coefficients, and compensates the echo estimation signal according to the first delay to generate a compensated echo estimation signal. The captured signal temporary storage device is used for temporarily storing the captured signal captured by the microphone device and outputting the captured signal according to the second delay so as to generate a compensated captured signal. The delay estimation device is coupled with the echo estimation device and the captured signal temporary storage device and used for estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal and updating the first delay or the second delay according to the delay adjustment amount. The difference value between the upper limit value and the lower limit value of the first delay is less than or equal to 1.
According to another embodiment of the present invention, a delay estimation method includes: compensating the echo estimation signal according to the first delay to generate a compensated echo estimation signal; outputting the captured signal captured by the microphone apparatus according to the second delay to produce a compensated captured signal; estimating delay adjustment quantity according to the compensated echo estimation signal and the compensated capture signal; and updating the first delay or the second delay according to the delay adjustment amount. The first delay is less than an upper limit value and greater than a lower limit value, and a difference between the upper limit value and the lower limit value is less than or equal to 1.
According to another embodiment of the present invention, an echo cancellation method includes: generating an echo estimation signal according to the reference signal and a group of reflection path simulation coefficients; compensating the echo estimation signal according to the first delay to generate a compensated echo estimation signal; outputting the captured signal captured by the microphone apparatus according to the second delay to produce a compensated captured signal; subtracting the compensated echo estimation signal from the compensated captured signal to produce an output signal; estimating delay adjustment quantity according to the compensated echo estimation signal and the compensated capture signal; and updating the first delay or the second delay according to the delay adjustment amount. The first delay is a value less than 1 and the second delay is an integer value.
Drawings
Fig. 1 is a block diagram of a signal processing apparatus according to an embodiment of the invention.
Fig. 2 is a block diagram illustrating delay estimation according to an embodiment of the present invention.
Fig. 3 is a graph illustrating an exemplary energy versus delay curve according to an embodiment of the invention.
Fig. 4 is a flowchart illustrating a delay estimation method according to an embodiment of the invention.
Fig. 5 is a flowchart illustrating an echo cancellation method according to an embodiment of the present invention.
Detailed Description
Fig. 1 is a block diagram of a signal processing apparatus according to an embodiment of the invention. The signal processing apparatus 100 may perform delay estimation, delay compensation, and echo cancellation to estimate a time delay between the reference signal and the captured signal, and compensate the echo signal and the captured signal according to the estimated time delay, respectively, to perform echo cancellation using the compensated signals, thereby effectively canceling the echo.
The signal processing apparatus 100 may at least include an echo estimation apparatus 110, a captured signal buffer 120, and a delay estimation apparatus 130. The echo estimation device 110 is coupled to a signal providing path, which is further coupled to a speaker device 200 for providing the sound signal to be played through the speaker to the speaker device 200. The echo estimating apparatus 110 receives the sound signal from the signal supply path as a reference signalx(m) wherein the reference signalx(m) is a time domain sampled signal. In embodiments of the invention, echo cancellation is performed on a signal block-wise processing (block-wise processing), so that the reference signalx(m) it may be a vector including a plurality of sampling points, and may be expressed as the following formula (1):
x(m)=[x(mN+N-L),....,x(mN),x(mN+1),...,x(mN+N-1)]Tformula (1)
Where N represents a hop (hop) length (number of sampling points) per processing performed by the signal processing apparatus 100, L represents a length of Fast Fourier Transform (FFT), and m represents an mth processing frame.
The echo estimation device 110 is based on the reference signalx(m) generating an echo estimation signal with a set of reflection path simulation coefficients, and compensating the echo estimation signal according to the first delay to generate a compensated echo estimation signal.
The echo estimation device 110 may include a fast fourier transform device 111, a reflection path simulation device 112, a delay compensation device 113, and an Inverse Fast Fourier Transform (iFFT) device 114.
The fast Fourier transform device 111 is used to transform the reference signalx(m) from a time domain signal to a frequency domain signal. The fast fourier transform means 111 may perform FFT by performing the calculation of the following equation (2):
X(m)=F×x(m) formula (2)
Where F represents the discrete fourier transform matrix,Xand (m) is a frequency domain reference signal.
The reflection path simulation device 112 is used for simulating a reflection path according to the frequency domain reference signalX(m) generating an echo estimate signal with a set of reflection path modeling coefficients. The reflection path simulator 112 may generate the echo estimation signal by performing the calculation of the following equation (3):
Y(m)=X(m)·H(m) formula (3)
Wherein ". cndot." represents a dot product operation (or element-wise multiplication),H(m) frequency domain filter coefficients of a filter simulating the channel response of the reflected path of the sound signal reflected from the loudspeaker back to the microphone apparatus,Y(m) represents the resulting echo estimate signal, which is a frequency domain signal.
In an embodiment of the invention, the reference signalx(m) captured signal captured by microphone apparatus 300dThe delay between (m) due to the sampling frequency difference can be split into two parts, including a fractional delay (hereinafter referred to as a first delay) and an integer delay (hereinafter referred to as a second delay), for compensating the echo estimation signal and the captured signal, respectively.
The delay compensation device 113 is used for compensating the echo estimation signal according to the first delayY(m) to generate a compensated echo estimation signalY ξ(m) of the reaction mixture. The delay compensation device 113 may generate the compensated echo estimation signal by performing the calculation of the following equation (4):
Y ξ(m)=Y(m)·Ψm) Formula (4)
WhereinThe delay compensation means 113 compensates the delay ξ by a phase shift operation on the frequency domain signalmA value, ξ, representing the first delay currently achievedmAt each iteration may be the value of the first delay updated from the previous iteration and at the first iteration may be set to a default or initial value, for example, but not limited to, 0.Ψm) Which is a phase shift vector, can be expressed as the following equation (5),
Figure BDA0002643962650000041
compensated echo estimation signalY ξ(m) may be provided to the delay estimation device 130 repeatedly in each iteration of updating/estimating the delay.
The inverse fast fourier transform device 114 is used to estimate the compensated echo signalY ξ(m) converting the frequency domain signal to a time domain signal to provide a subsequent echo cancellation operation. The inverse fast fourier transform device 114 may perform iFFT by performing the calculation of equation (6) below:
y ξ(m)=[0 I]×F-1×Y ξ(m) formula (6)
Wherein [ 0I]In order to eliminate distortion caused by Circular convolution (0 is a full 0 matrix, I is an Identity matrix, F)-1Representing an inverse discrete fourier transform matrix.
The captured signal register 120 may include a register 121 and a signal selection device 122. The register 121 is used to temporarily store the captured signal of a predetermined number of sampling points (corresponding to a predetermined length, e.g., 10ms)d(m) signal selecting means 122 for outputting the captured signal according to the second delayd(m), for example, the signal selecting device 122 may determine the desired captured signal to output according to the second delayd(m) starting and ending sampling points, and outputting the sampling signal in the interval as the compensated capture signald Δ(m) of the reaction mixture. Compensated acquisition signald Δ(m) may be expressed as the following formula (7):
d Δ(m)=[d(mN+Δm),d(mN+1+Δm),...,d(mN+N-1+Δm)]Tformula (7)
Wherein ΔmA value, Δ, representing the currently achieved second delaymThe value of the second delay updated at each iteration may be the previous iteration and may be set to a default or initial value, such as, but not limited to, 0, at the first iteration.
According to an embodiment of the present invention, the delay estimation device 130 utilizes the compensated echo estimation signal in each iterationY ξ(m) and compensated acquisition signald Δ(m) to re-estimate the first delay ξ provided for the next iterationm+1And a second delay deltam+1Wherein the index m represents the mth frame.
The delay estimation device 130 estimates the signal according to the compensated echoY ξ(m) and compensated acquisition signald Δ(m) estimating a delay adjustment amount, and determining whether to update the first delay ξ according to the delay adjustment amountmAnd a second delay deltamOne or more of (a).
Fig. 2 is a block diagram illustrating delay estimation according to an embodiment of the present invention. The delay estimation operation performed by the delay estimation device 130 may include the steps of:
step S202: obtaining compensated echo estimation signalsY ξ(m) and compensated acquisition signald Δ(m)。
Step S204: the compensated capture signald Δ(m) conversion from time domain signal to frequency domain signalD Δ(m) of the reaction mixture. The delay estimation means 130 may perform FFT by performing the calculation of the following equation (8):
D Δ(m)=F×dΔ(m) formula (8)
Wherein
Figure BDA0002643962650000051
Which is a full 0 vector pair signald Δ(m) results after zero-padded (zero-padded).
Step S206: based on a plurality of delay candidates
Figure BDA0002643962650000052
Generating a plurality of phase shift vectors
Figure BDA0002643962650000053
Using phase shift vectors
Figure BDA0002643962650000054
Calculating a plurality of phase shifted signalsY η(m) and calculating a plurality of error signals respectivelyE η(m)。
In the embodiment of the present invention, the delay estimation device 130 may first set a plurality of delay candidates
Figure BDA0002643962650000055
Delay candidates
Figure BDA0002643962650000056
Satisfies the following formula (9):
Figure BDA0002643962650000057
where-K ≦ η ≦ K, η is used to fine-tune the first delay ξmIs delayed candidate
Figure BDA0002643962650000058
Index value of (v), trim value lower limit vLBetween-1 and 0, and an upper limit v of the trimming valueuBetween 0 and 1. Substituting each delay candidate into equation (5) can obtain the corresponding phase shift vector
Figure BDA0002643962650000059
The delay estimation device 130 calculates the (2K +1) phase shift vector
Figure BDA00026439626500000510
Then, the phase shift vector is used
Figure BDA00026439626500000511
(2K +1) phase shift signals are calculated by the following formula (10)Y η(m) and compensated acquisition signals according to the frequency domain, respectivelyD Δ(m) and phase shifted signalY η(m) calculating (2K +1) error signals by the following equation (11)E η(m):
Figure BDA00026439626500000512
E η(m)=D Δ(m)-Y η(m) formula (11)
E η(m) represents the fine tuning of the compensated echo estimate signal with different fine tuning valuesY ξ(m) the difference between the result and the compensated captured signal. In the embodiment of the present invention, the delay estimation device 130 attempts to determine the current first delay ξmThe neighborhood looks for whether there is a better delay. When the fall is smaller, it means that the true delay between the echo estimation signal and the captured signal is more likely to be found.
Step S208: the energy of the error signal in a predetermined frequency band is calculated to generate a plurality of energy signals, and a minimum value of the energy signals is found. The delay estimation device 130 may calculate the energy of the error signal according to the following equation (12):
PE(m,η)=∑k|Eη(m,k)|2formula (12)
Where k represents the frequency within a given frequency band, and the invention is not limited to a given frequency band range, so the operation of energy summation iskEither for the entire frequency domain or for a certain frequency band.
It should be noted that the above-mentioned materials,E η(m) is the error signal of the mth processing frame, which is a frequency domain signal and a vector. As with the other frequency domain signals previously described,E η(m) may comprise L elements, L representingThe length of the FFT. Thus, in the formula (11)E η(m) is E in the formula (12)ηA simplified representation of (m, k), i.e.,E η(m) may be expressed asE η(m,k)=[Eη(m,0),Eη(m,1),...,Eη(m,L-1)]TWherein 0, 1, L-1 represents the index value k of the frequency, and the actual value corresponding to each index value can be expressed as
Figure BDA0002643962650000061
In addition, in some embodiments of the present invention, the delay estimation device 130 may further perform recursive smoothing on the obtained energy, such as first-order recursive smoothing (first-order recursive smoothing) shown in the following equation (13):
Figure BDA0002643962650000062
according to an embodiment of the present invention, the delay estimation device 130 may directly extract the minimum value from the plurality of energy signals calculated in step S208. For example, the minimum value of the energy signal and the index value of the delay candidate corresponding to the minimum value are found according to the following formula (14)
Figure BDA0002643962650000063
Figure BDA0002643962650000064
According to another embodiment of the present invention, if the candidate is delayed
Figure BDA0002643962650000065
The value of (A) is X-axis, energy is Y-axis, and energy signal P is marked in two-dimensional planeE(m, η) or
Figure BDA0002643962650000066
The falling points of (2), then the falling points may constituteA curve, such as the energy curve corresponding to different delays shown in fig. 3, wherein the circle represents the falling point of the energy signal calculated in step S208.
In order to estimate the delay adjustment more accurately, the delay estimation device 130 may perform curve fitting (curve fitting) on the energy falling points to try to find a curve (e.g., the curve shown in fig. 3) including the energy falling points and a corresponding formula thereof, and find a minimum energy and a delay candidate corresponding to the minimum energy according to the curve formula, wherein the minimum energy may not be equal to the energy signal value calculated in step S208, and the delay candidate corresponding to the minimum energy may not be equal to the delay candidate set by the delay estimation device 130
Figure BDA0002643962650000067
Nor will it necessarily fall on vL~vuWithin the range. In other words, in step S210, the delay estimation device 130 may also find the delay amount that can minimize the energy of the error signal through curve fitting and trying, and the delay amount is not necessarily selected from the delay candidates set by the delay estimation device 130
Figure BDA0002643962650000071
May be associated with the delay candidate
Figure BDA0002643962650000072
Different values.
If the curve is a parabola with an opening facing downward, it indicates that the minimum energy does not exist.
If the curve is not the curve with the minimum energy, the delay estimation device 130 can find the delay candidate corresponding to the minimum energy in the curve as the fine tuning value of the first delay through the curve formula. However, if the minimum energy corresponds to the delay candidate and the trim value upper limit vuAnd a fine tuning value lower limit vLIf the difference is greater than a predetermined value, the delay estimation device 130 may also determine that the minimum energy is not present because the fine tuning value is not reasonable.
Step S210: determining minimum energy (e.g., minimum value of energy signal)Whether or not it is present. If not, the delay estimation result of this time is abandoned (i.e. the current estimation is not updated, so as to lead xi to bem+1=ξm,Δm+1=Δm). If so, the first delay ξ is updated in step S212mAnd a second delay deltamAt least one of (a).
Step S212: estimating a delay adjustment amount according to the minimum energy, and updating the first delay ξ according to this delay adjustment amountm+1And a second delay deltam+1At least one of (a).
Assume that the delay estimation device 130 sets the delay adjustment amount to the delay candidate corresponding to the minimum energy found by the aforementioned method
Figure BDA0002643962650000073
(in some embodiments it may be a value selected from among delay candidates
Figure BDA0002643962650000074
) The delay estimation device 130 can adjust the first delay according to the delay adjustment amount to generate a first value ξ 'according to the following formula (15)'m+1
Figure BDA0002643962650000075
Where μ is the adjustment step size, and μmay be set to be less than or equal to 1 by the delay estimation device 130 to avoid the oscillation caused by the estimation error or the environmental noise. Then, the delay estimation device 130 can determine whether the first delay ξ needs to be modified according to the magnitude of the first value, such as the following formula (16)m+1And a second delay deltam+1
Figure BDA0002643962650000076
Wherein omegaUIs a preset upper limit value, omegaLIs a preset lower limit value. In an embodiment of the present invention, Ω can be setU=0.5,ΩL0.5, whereby-0.5 < xi < >0.5。
More specifically, the delay estimation device 130 can determine the first value ξ'm+1Whether or not it is less than the upper limit value omegaUAnd is greater than the lower limit value omegaLIf yes, directly according to the first value xi'm+1Updating the first delay ξm+1(i.e., setting ξ)m+1=ξ′m+1) And the currently estimated second delay is not updated at this time (i.e., Δ is set)m+1=Δm)。
If the first value is xi'm+1Not less than the upper limit value omegaUThen by decreasing the first value ξ 'as equation (16)'m+1Obtaining an updated first delay ξm+1And by increasing the current second delay deltamObtaining an updated second delay deltam+1. If the first value is xi'm+1Not greater than a lower limit value omegaLThen by increasing the first value ξ 'as equation (16)'m+1Obtaining an updated first delay ξm+1And by reducing the current second delay deltamObtaining an updated second delay deltam+1
It is noted that, in the embodiment of the present invention, the upper limit value Ω of the first delay ξ isUAnd a lower limit value omegaLA difference of 1 or less. In other words, in embodiments of the invention, the first delay ξ, whether or not updated, is limited to the limit Ω during each iterationUAnd a lower limit value omegaLWithin the numerical ranges defined.
Further, in embodiments of the present invention, the first delay ξ is a number less than 1, e.g., a fraction less than 1, and the second delay Δ is an integer value. By limiting the range of the first delay ξ, the error caused by the phase shift operation can be effectively controlled, so that the delay adjustment can be accurately and efficiently estimated.
Furthermore, in the embodiment of the present invention, after updating the first delay or the first delay and the second delay, the delay estimation device 130 updates the first delay ξm+1Provided to the echo estimation device 110, and the updated second delay deltam+1Is provided to the capture signal temporary storage device 120. The echo estimation device 110 and the captured signal buffer 120 may repeatedly compensate the signal delay according to the first delay and the second delay obtained last. The delay estimation device 130 may repeatedly receive the compensated echo estimation signal and the compensated capture signal from the echo estimation device 110 and the capture signal buffer 120, estimate a delay adjustment amount according to the compensated echo estimation signal and the compensated capture signal, and update the first delay or the second delay according to the delay adjustment amount. Through the recursive operation, the signal processing apparatus 100 can estimate the delay according to the latest information in real time and perform delay compensation on the captured signal and the echo estimation signal to solve the frequency asynchronization problem.
It is noted that in embodiments of the present invention, the first but second delay Δm+1Is modified to be different from deltamIn the next iteration (or recursion), the signal is captureddThe position of the start sampling point and the position of the end sampling point of (m +1) are changed, and the value of the second delay Δ may be a positive integer or a negative integer. If the value of the second delay Δ is a positive integer, it indicates that the future captured signal needs to be acquired, therefore, in the embodiment of the present invention, the signal processing apparatus 100 may delay the captured signal in advance and store it in the captured signal buffer 120, thereby operating to make the latest acquired captured signal become the future captured signal.
Fig. 4 is a flowchart illustrating a delay estimation method according to an embodiment of the invention. The delay estimation method may include the steps of:
step S402: the echo estimation signal is compensated according to the first delay to generate a compensated echo estimation signal.
Step S404: the captured signal captured by the microphone apparatus is output according to the second delay to produce a compensated captured signal.
As described above, in the embodiment of the present invention, the reference signalx(m) and the captured signaldThe delay between (m) due to the difference in sampling frequency can be divided into fractional delay and integer delay. Therefore, the first delay is a fraction and is limited to an upper limit value ΩUWith the lower partLimit value omegaLAnd the second delay is an integer.
Step S406: a delay adjustment is estimated based on the compensated echo estimation signal and the compensated acquisition signal.
Step S408: and updating the first delay or the second delay according to the delay adjustment amount.
In the embodiment of the present invention, the foregoing steps are iteratively performed by corresponding components of the signal processing apparatus 100. In addition, in the embodiment of the present invention, if it is determined that the minimum energy does not exist or the trimming value is not reasonable, the operation of estimating the delay adjustment amount in step S406 may be skipped, or the delay adjustment amount may be set to 0, and step S408 returns to step S402 after directly taking the current first delay and the current second delay as updated values.
Referring back to fig. 1, the signal processing apparatus 100 may further include an echo cancellation device, such as the adder (which may also be a subtractor) shown in the figure, or in some embodiments of the present invention, the echo estimation device 110 and the adder may be integrated into an echo cancellation device. Echo cancellation apparatus for use in removing echo from compensated captured signald Δ(m) subtracting the compensated echo estimate signaly ξ(m) to generate an output signal, which is an echo cancellation signal.
Fig. 5 is a flowchart illustrating an echo cancellation method according to an embodiment of the present invention. The echo cancellation method may comprise the steps of:
step S502: and generating an echo estimation signal according to the reference signal and the reflection path analog coefficient.
Step S504: the echo estimation signal is compensated according to the first delay to generate a compensated echo estimation signal.
Step S506: a capture signal captured by a microphone device is output according to the second delay to generate a compensated capture signal.
Step S508: the compensated echo estimation signal is subtracted from the compensated captured signal to produce an output signal.
Step S510: and estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated capture signal.
Step S512: and updating the first delay or the second delay according to the delay adjustment amount.
In the embodiment of the present invention, the foregoing steps are iteratively performed by corresponding components of the signal processing apparatus 100. Further, as described above, the delay adjustment amount may be set to 0 in some cases.
Furthermore, the present invention is not limited to performing echo cancellation before performing delay estimation. For example, in other embodiments of the present invention, steps S504 to S508 may also be executed after steps S510 to S512 are completed. That is, the signal processing device may perform delay estimation and delay updating according to the currently obtained echo estimation signal and the captured signal, and then compensate the echo estimation signal and the captured signal using the updated first delay and second delay and perform echo cancellation.
As described above, through the aforementioned operations, the signal processing apparatus 100 can estimate the delay according to the latest information in real time and perform delay compensation and echo cancellation on the captured signal and the echo estimation signal to solve the frequency asynchronization problem.
The above description is only a preferred embodiment of the present invention, and any equivalent changes and modifications made according to the embodiments of the present invention should fall within the scope of the present invention.
Description of the reference numerals
100: signal processing device
110: echo estimation device
111: fast Fourier transform device
112: reflection path simulation device
113: delay compensation device
114: fast Fourier inverse conversion device
120: temporary capture signal storage device
121: temporary storage device
122: signal selecting device
130: delay estimation device
200: horn device
300: microphone device

Claims (10)

1. A signal processing apparatus comprising:
an echo estimation device for generating an echo estimation signal according to a reference signal and a set of reflection path analog coefficients, and compensating the echo estimation signal according to a first delay to generate a compensated echo estimation signal;
a captured signal temporary storage device for temporarily storing a captured signal captured by a microphone device and outputting the captured signal according to a second delay to generate a compensated captured signal; and
a delay estimation device coupled to the echo estimation device and the captured signal buffer device for estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated captured signal, and updating the first delay or the second delay according to the delay adjustment amount,
wherein a difference between an upper limit and a lower limit of the first delay is less than or equal to 1.
2. The apparatus of claim 1, wherein the delay estimator further adjusts the first delay according to the delay adjustment to generate a first value, and determines whether the first value is smaller than the upper limit and larger than the lower limit, and when the first value is not smaller than the upper limit, the delay estimator decreases the first value to update the first delay and increases the second delay to update the second delay; and when the first value is not greater than the lower limit value, the delay estimation means increases the first value to update the first delay and decreases the second delay to update the second delay.
3. The signal processing apparatus of claim 1, wherein the compensated echo estimation signal is a frequency domain signal, the delay estimation apparatus generates a plurality of phase shift vectors according to a plurality of delay candidates, and generates a plurality of phase shift signals according to the compensated echo estimation signal and the plurality of phase shift vectors; the delay estimation device also calculates a difference between the phase-shifted signals and the compensated capture signal to generate error signals, calculates energy of the error signals in a predetermined frequency band to generate energy signals, and estimates the delay adjustment amount according to the energy signals.
4. The signal processing apparatus of claim 1 wherein the delay estimation apparatus repeatedly receives the compensated echo estimation signal and the compensated capture signal from the echo estimation apparatus and the capture signal buffering apparatus, estimates the delay adjustment amount according to the compensated echo estimation signal and the compensated capture signal, updates the first delay or the second delay according to the delay adjustment amount, and provides the first delay to the echo estimation apparatus and the second delay to the capture signal buffering apparatus after updating the first delay or the second delay.
5. The signal processing apparatus of claim 1, further comprising: an echo cancellation device for subtracting the compensated echo estimation signal from the compensated capture signal to generate an output signal.
6. A method of delay estimation, comprising:
compensating an echo estimation signal according to a first delay to generate a compensated echo estimation signal;
outputting a capture signal captured by a microphone device according to a second delay to generate a compensated capture signal;
estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated capture signal; and
updating the first delay or the second delay according to the delay adjustment amount,
wherein the first delay is less than an upper limit and greater than a lower limit, and a difference between the upper limit and the lower limit is less than or equal to 1.
7. The delay estimation method of claim 6, wherein the compensated echo estimation signal is a frequency domain signal, and wherein estimating the delay adjustment based on the compensated echo estimation signal and the compensated acquisition signal further comprises:
generating a plurality of phase shift vectors based on the plurality of delay candidates;
generating a plurality of phase-shifted signals according to the compensated echo estimation signal and the plurality of phase-shifted vectors;
calculating a difference between the phase-shifted signals and the compensated capture signal to generate error signals;
calculating the energy of the error signals in a given frequency band to generate a plurality of energy signals; and
estimating the delay adjustment amount from the plurality of energy signals.
8. The delay estimation method of claim 6, wherein the steps comprised by the delay estimation method are performed iteratively.
9. An echo cancellation method, comprising:
generating an echo estimation signal according to a reference signal and a set of reflection path simulation coefficients;
compensating the echo estimation signal according to a first delay to generate a compensated echo estimation signal;
outputting a capture signal captured by a microphone device according to a second delay to generate a compensated capture signal;
subtracting the compensated echo estimation signal from the compensated capture signal to produce an output signal;
estimating a delay adjustment amount according to the compensated echo estimation signal and the compensated capture signal; and
updating the first delay or the second delay according to the delay adjustment amount,
wherein the first delay is a value less than 1 and the second delay is an integer value.
10. The echo cancellation method according to claim 9, characterized in that the steps comprised in the echo cancellation method are performed iteratively.
CN202010848620.6A 2020-08-21 2020-08-21 Signal processing device, delay estimation method and echo cancellation method Pending CN114078482A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010848620.6A CN114078482A (en) 2020-08-21 2020-08-21 Signal processing device, delay estimation method and echo cancellation method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010848620.6A CN114078482A (en) 2020-08-21 2020-08-21 Signal processing device, delay estimation method and echo cancellation method

Publications (1)

Publication Number Publication Date
CN114078482A true CN114078482A (en) 2022-02-22

Family

ID=80282408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010848620.6A Pending CN114078482A (en) 2020-08-21 2020-08-21 Signal processing device, delay estimation method and echo cancellation method

Country Status (1)

Country Link
CN (1) CN114078482A (en)

Similar Documents

Publication Publication Date Title
AU695785B2 (en) Apparatus and method for adaptively precompensating for loudspeaker distortions
JP4632047B2 (en) Signal processing method and apparatus
AU751333B2 (en) Method and device for blind equalizing of transmission channel effects on a digital speech signal
JP4377952B1 (en) Adaptive filter and echo canceller having the same
KR102076760B1 (en) Method for cancellating nonlinear acoustic echo based on kalman filtering using microphone array
JPH07176991A (en) Adaptive filter device and its control method
JP5662232B2 (en) Echo canceling apparatus, method and program
JP6221257B2 (en) Signal processing apparatus, method and program
JP2005318518A (en) Double-talk state judging method, echo cancel method, double-talk state judging apparatus, echo cancel apparatus, and program
CN109379501B (en) Filtering method, device, equipment and medium for echo cancellation
CN114078482A (en) Signal processing device, delay estimation method and echo cancellation method
US20050008143A1 (en) Echo canceller having spectral echo tail estimator
TWI743950B (en) Method for delay estimation, method for echo cancellation and signal processing device utilizing the same
KR101418023B1 (en) Apparatus and method for automatic gain control using phase information
JP6143702B2 (en) Echo canceling apparatus, method and program
US9659575B2 (en) Signal processor and method therefor
CN109493878B (en) Filtering method, device, equipment and medium for echo cancellation
JP2004349796A (en) Sound echo canceling method, apparatus thereof, program and recording medium thereof
JPH09261135A (en) Acoustic echo erasion device
CN112863532A (en) Echo suppressing device, echo suppressing method, and storage medium
JP4903843B2 (en) Adaptive filter and echo canceller having the same
JP4964267B2 (en) Adaptive filter and echo canceller having the same
KR20190013251A (en) Real-time speech derverberation method and apparatus using multi-channel linear prediction with estimation of early speech psd for distant speech recognition
JP2011188357A (en) Digital filter and filter coefficient updating method
JP2002533970A (en) Stable adaptive filter and method thereof

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination