close

Вход

Забыли?

вход по аккаунту

?

DESCRIPTION JP2016500236

код для вставкиСкачать
Patent Translate
Powered by EPO and Google
Notice
This translation is machine-generated. It cannot be guaranteed that it is intelligible, accurate,
complete, reliable or fit for specific purposes. Critical decisions, such as commercially relevant or
financial decisions, should not be based on machine-translation output.
DESCRIPTION JP2016500236
The method includes accessing signal data describing a transmit sequence and predetermined
values associated with the transmit sequence. Signal data and predetermined values may be
stored in memory. The method includes transmitting a signal from a speaker of the electronic
device according to the transmission sequence. The method includes generating a frame based
on one or more signals received at a microphone of the electronic device. The one or more
signals include an echo signal associated with the transmitted signal. The method includes
processing the frame using the predetermined value to generate an output frame in which the
contribution associated with the echo signal is reduced.
Echo cancellation using ultrasound claiming priority
[0001]
[0001] This application claims priority from US Provisional Patent Application No. 61 / 727,011,
filed Nov. 15, 2012, and also US Non-Provisional Application Patent No. 13, filed March 15,
2013. No. 841,359, the entire contents of which are expressly incorporated herein by reference.
[0002]
[0002] The present disclosure relates generally to echo cancellation in electronic devices.
[0003]
[0003]
16-04-2019
1
The electronic device is configured to transmit the signal (eg, audio and / or ultrasound signals)
and one or more microphones for receiving the signals (eg, audio and / or ultrasound signals)
And a speaker.
The first electronic device transmits a signal using the speaker, and the transmitted signal may
be received at one or more microphones of the other electronic device.
When the speaker of the first electronic device and the microphone of the first electronic device
are in close proximity, the echo signal may interfere with signals from other electronic devices
received at the first electronic device. An echo signal may occur at one or more of the
microphones when the first electronic device receives the signal transmitted by itself.
[0004]
[0004]
For example, the first electronic device may be a wireless communication device (eg, a cellular
communication device). When the operator of the first electronic device makes a call, a signal
representative of the speech is detected by the microphone of the first electronic device, and via
the communication network (e.g. via a cellular network) the second electronic device (e.g. via a
cellular network) , Second cellular communication device). The second electronic device may
receive and process signals (eg, far-end signals) from the first electronic device. Processing the
signal (eg, an utterance of an operator of the first electronic device) may include outputting a farend signal at a speaker of the second electronic device. The far-end signal output by the speaker
of the second device may be detected at the microphone of the second electronic device. In
addition to detecting the far-end signal, the microphone of the second electronic device may
detect the near-end signal (eg, the speech of the operator of the second electronic device).
[0005]
[0005]
An echo signal may occur when the second electronic device transmits a far end signal (or a
signal that correlates to the far end signal) to the first electronic device. Describing another
method, when the second electronic device transmits a signal indicating that the speech of the
operator of the first electronic device is returned to the first electronic device, the operator of the
first device itself Will hear the speaker (ie, the operator will hear the echo). The second electronic
16-04-2019
2
device may include an adaptive filter, such as an adaptive feedback filter, to reduce the
interference caused by the echo signal. The adaptive filter is arranged to mitigate echo by
filtering the far-end signal from the received signal detected at the microphone of the second
electronic device before transmitting the near-end signal to the first electronic device Configured
[0006]
[0006]
The electronic device includes a filter, one or more microphones, and a transmitter configured to
transmit a signal (eg, an ultrasound signal) according to a predetermined transmission sequence.
The predetermined transmission sequence is different from an indeterminate far-end signal, such
as voice from a remote party for teleconference. The electronic device includes a memory that
stores predetermined values associated with a predetermined transmission sequence. The
predetermined value characterizes the signal to be transmitted according to a predetermined
sequence. One or more microphones of the electronic device may receive other signals (e.g.,
other ultrasound signals) transmitted by the other electronic device. In addition, the signal
transmitted by the electronic device's transmitter may be received as an echo signal at one or
more microphones of the electronic device. A frame may be generated to include samples of
signals received at one or more microphones of the electronic device (e.g., other signals from
other electronic devices and echo signals), and the frames may be provided to the filter . The
filter may be configured to perform an echo cancellation operation on each of the samples
included in the frame based on predetermined values associated with the predetermined
transmission sequence to generate a new frame. In the new frame, the contribution of the echo
signal to the received signal may be mitigated.
[0007]
[0007]
In particular embodiments, the method includes accessing signal data describing a transmit
sequence and predetermined values associated with the transmit sequence. The method includes
transmitting a signal from a speaker of the electronic device according to the transmission
sequence. The method includes generating a frame based on one or more signals received at a
microphone of the electronic device. The one or more signals may include an echo signal
associated with the transmitted signal. The method includes processing the frame using the
predetermined value to generate an output frame (as compared to the frame) in which the
contribution associated with the echo signal is reduced.
16-04-2019
3
[0008]
[0008]
In another embodiment, an apparatus includes a transmitter configured to transmit signals
according to a transmit sequence, a receiver configured to receive one or more signals, a
predetermined value associated with the transmit sequence A memory to store, a first processing
path, and a first logic. The first processing path receives an input generated based on the one or
more received signals, retrieves a predetermined value from memory, and generates an output
indicative of an echo in the received signals, It may be configured to process the input based on
the predetermined value.
[0009]
The second processing path receives an output from the input and the first processing path, and
the second output (e.g., echo canceled or echo reduced) based on the difference between the
input and the output Can be configured to generate an output).
[0010]
[0009]
In another embodiment, a computer readable storage medium includes processor executable
instructions that cause a processor to access signal data describing a transmit sequence and
predetermined values associated with the transmit sequence.
The instructions, when executable by the processor, cause the processor to direct the speaker of
the electronic device to transmit signals in accordance with the transmit sequence. The
instructions, when executable by the processor, cause the processor to generate a frame based
on the one or more signals received at the microphone of the electronic device. The one or more
signals include an echo signal associated with the transmitted signal. The instructions include,
when executable by the processor, generating a frame using the predetermined value to produce
an output frame in which the contribution associated with the echo signal is reduced.
[0011]
[0010]
16-04-2019
4
In another embodiment, an apparatus includes means for transmitting signals according to a
transmit sequence and means for receiving one or more signals. The apparatus includes means
for storing a predetermined value associated with the transmit sequence. The apparatus also
includes means for generating an input based on the one or more received signals, and means for
processing the input based on a predetermined value to generate a first output. The first output
indicates the contribution of the transmitted signal to the input. The apparatus includes means
for generating a second output based on the difference between the input and the first output.
[0012]
[0011]
Particular advantages provided by at least one of the disclosed embodiments are echoes having
reduced computational complexity and improved performance when compared to other echo
cancellation filters such as adaptive feedback filters. It is a filter configured to perform
cancellation. For example, the filters of the embodiments described herein do not include
feedback loops as found in adaptive filters, so improved performance may be realized. Another
advantage provided by at least one of the disclosed embodiments is reduced power consumption
due to the reduced computational complexity associated with the filter. Other aspects,
advantages, and features of the present disclosure will become apparent after review of the
entire application.
[0013]
[0012]
FIG. 1 is a first exemplary embodiment of a system including a device including a filter
configured to perform echo cancellation using predetermined values associated with a
predetermined transmission sequence of the device. [0013] FIG. 2 is a second exemplary
embodiment of a system including a device including a filter configured to perform echo
cancellation using predetermined values associated with a predetermined transmission sequence
of the device.
[0014]
FIG. 3 illustrates a multi-user peer-to-peer positioning system (multi-user) including a device
including a filter configured to perform echo cancellation using predetermined values associated
with predetermined transmission sequences of the devices. -user peer-to-peer positioning
16-04-2019
5
system).
[0015]
FIG. 4 is another exemplary embodiment of a device including a filter configured to perform echo
cancellation using a predetermined value associated with a predetermined transmission sequence
of the device.
[0016]
FIG. 5 is another exemplary embodiment of a device including a filter configured to perform echo
cancellation based on a predetermined transmission sequence of the device.
[0017]
FIG. 6 is an exemplary embodiment of a method of performing echo cancellation using
predetermined values associated with a transmit sequence.
[0018]
FIG. 7 is another exemplary embodiment of a method for performing echo cancellation using
predetermined values associated with a transmit sequence.
[0019]
FIG. 8 is a block diagram of a particular illustrative embodiment of an electronic device operable
to support the various methods, systems and computer readable media disclosed with respect to
FIGS. 1-6.
[0014] [0020] Specific embodiments of the present disclosure will be further described with
reference to the drawings (the relative position with respect to certain features illustrated in the
drawings may be indicated, but not for scale). In the description, common features are assigned
common reference numerals throughout the drawings. The embodiments described herein may
describe a device that includes a filter configured to perform echo cancellation based on a
predetermined value. The predetermined value may be associated with a predetermined
transmission sequence used by the device to transmit the signal. In the filters of the various
embodiments disclosed herein, in contrast to adaptive feedback filters that reduce the echo
associated with the indeterminate signal (e.g., the far-end signal), the filter is associated with the
predetermined signal. Can be described as non-adaptive filters in that they eliminate or reduce
echo.
16-04-2019
6
[0015] [0021] Referring to FIG. 1, an exemplary embodiment of a system including a device 100
including a filter configured to perform echo cancellation using a predetermined value associated
with a predetermined transmission sequence is illustrated. There is. In embodiments, device 100
may be a mobile communication device (eg, a mobile phone), a smartphone, a tablet computing
device, a laptop computing device, a personal digital assistant (PDA) device, or other electronic
device. Device 100 includes a transmitter 110 (eg, a speaker or transducer), one or more
receivers 120 (eg, one or more microphones), a memory 130, and a filter 140.
[0016] [0022] Transmitter 110 may be configured to transmit signal 112 according to a
predetermined transmission sequence. In an embodiment, transmitter 110 may be an ultrasound
transmitter configured to transmit ultrasound signals according to a predetermined transmission
sequence. As shown in FIG. 1, memory 130 may store signal data 134. Signal data 134 may
include information describing a predetermined signal sequence. The predetermined
transmission sequence may be pseudorandom noise (PN), which may be locally unique to the
device 100. In an embodiment, signal data 134 may include information describing a plurality of
transmit sequences (eg, multiple gold codes, multiple kasami codes, multiple barker codes, etc.),
and device 100 may be transmitted from transmitter 110 The predetermined transmission
sequence may be selected from the plurality of transmission sequences such that the signal 112
is locally unique to the device 100. In addition to signal data 134, memory 130 may store a
predetermined value 132 associated with a predetermined transmission sequence. Filter 140
may be configured to perform an echo cancellation operation on the input signal received at
receiver 120 using predetermined value 132. The predetermined value 132 may include the
value of the signal data 134 after certain mathematical operations have been performed on them.
For example, since the signal data 134 is predetermined, the calculations required of the
computer associated with the signal data 134 may be performed in advance (e.g., a
predetermined signal may be transmitted to reduce the computational load during operation of
the device 100). And is stored as a predetermined value 132.
[0017] [0023] In operation, one or more signals (eg, one or more ultrasound signals) may be
received at receiver 120 as input signals. The one or more signals may include the signal 182
and the echo signal 112 received from the source 180 (eg, a transmitter of another device not
shown in FIG. 1). As described in connection with FIG. 3, device 100 may be configured to
determine the position of source 180 (or another operation) based on signal 182. The input
signal may be filtered to remove the echo signal 112 to facilitate error-free determination as to
the position of the source 180. To reduce the noise caused by the echo signal 112, the device
100 processes the input signal with the filter 140 based on the predetermined value 132 to
reduce or eliminate the signal 112 from the input signal.
16-04-2019
7
[0018] [0024] As shown in FIG. 1, the filter 140 may include a first processing path 142 and a
second processing path 144. The first processing path 142 includes a plurality of processing
blocks, such as a first processing block 150, a second processing block 154, and a third
processing block 158. The second processing path 144 includes a fourth processing block 162.
The terms processing path and processing block may be used to describe each of the elements
142, 144 and 150, 154, 158, 162 for ease of explanation. The terms processing path and
processing block are not intended to require a particular physical circuit, but rather, the
processing path and processing block are each intended for processing path 142, 144 and
processing block 150, 154, 158, 162, respectively. Are used to describe particular portions of
filter 140 that are operable to implement particular features, such as the features described in
connection with FIG. Thus, the terms processing path and processing block may refer, in
particular embodiments, to a portion or one or more circuits of a circuit that perform a particular
function associated with filter 140. In another embodiment, the terms processing path and
processing block are stored in a computer readable storage medium that, when executed by a
processor, causes the processor to start executing a particular function associated with filter 140.
Can point to an instruction that
[0019] [0025] The input signal may be sampled by one or more receivers 120. Samples of the
input signal may be provided to filter 140 as frame 170 (e.g., a digitized representation of echo
signal 112 and signal 182 combined). Filter 140 may perform echo cancellation on frame 170 to
reduce or eliminate echo signal 112 using predetermined value 132. フレーム170、
[0020]
(Ie, the samples of the input signal received at receiver 120) are:
[0021]
Expressed mathematically as where
[0022]
Corresponds to the impulse response 114 affecting the signal 112,
[0023]
Corresponds to the predetermined transmission sequence of signal 112,
16-04-2019
8
[0024]
Corresponds to the impulse response 184 affecting the signal 182,
[0025]
Corresponds to the predetermined transmission sequence of signal 182, where
[0026]
は、
[0027]
Unlike the sign
[0028]
Indicates a convolution.
[0029]
[0026] フレーム
[0030]
Corresponds to the signal 112 (eg, the echo signal to be canceled by the filter 140), and
[0031]
Corresponds to the signal 182 received from the source 180.
The impulse response 114 shows how acoustics of the area surrounding the device 100 (eg, the
room in which the device 100 is located) affects the signal 112, and the impulse response 184 is:
The acoustic effects of the area surrounding source 180 (e.g., the room in which source 180 is
located) may indicate how signal 182 may be affected.
16-04-2019
9
Impulse response 114 may be different from impulse response 184 even though device 100 and
source 180 are located in the same area.
[0032]
[0027]
The filter 140 may receive the frame 170 from the receiver 120 and provide the frame 170 to
the first processing path 142 and the second processing path 144.
The first processing path 142 may provide the frame 170 to the first processing block 150.
The first processing block 150 may be configured to perform a convolution of the frame 170
with a predetermined value 132 to generate a second frame 152.
Second frame 152,
[0033]
It can be expressed mathematically as
フレーム
[0034]
Is a predetermined value 132 (for example, an approximation of a predetermined transmission
sequence of the signal 112) and the input signal
[0035]
And the correlation between
16-04-2019
10
Transmission sequence of device 100
[0036]
And the transmission sequence of the source 180
[0037]
And are selected to be substantially orthogonal.
Therefore, the second frame 152
[0038]
, The first frame 170,
[0039]
Based on the correlation between the value and the predetermined value 132
[0040]
Estimate
[0041]
[0028] Second frame 152
[0042]
Are provided from the first processing block 150 to the second processing block 154, where
[0043]
To generate a third frame 156
16-04-2019
11
[0044]
De-convoluted by
The second processing block 154 uses the set of values 146
[0045]
Frame to eliminate
[0046]
Can be deconvoluted.
The set of values 146 comprises a concatenated matrix W, where
[0047]
(Ie, a subset of transmit sequences stored as signal data 180), where I is the diagonal identity
matrix multiplied by the noise for the signal ratio.
そのため、フレーム
[0048]
Corresponds to the estimate of the impulse response 114, ie
[0049]
Is an estimated value of
[0050]
16-04-2019
12
[0029] Third frame 156
[0051]
May be provided to a third processing block 158.
The third processing block 158 is a fourth frame 160,
[0052]
Predetermined value 132 to generate
[0053]
In the third frame 156
[0054]
Convolution, it is
[0055]
It can be expressed mathematically as
フレーム
[0056]
Is the frame corresponding to the echo signal 112) to be removed by the filter 140
[0057]
Can represent an approximation of the position of
16-04-2019
13
[0058]
[0030] The fourth processing block 162 receives the frame 170 as input.
[0059]
And the fourth frame 160 from the third processing block 158 may be received and an output
frame 164 may be generated.
The fourth processing block 162 is a frame
[0060]
からフレーム
[0061]
An output frame 164 may be generated by subtracting (e.g., an estimate of echo signal 112).
Therefore, the output frame 164 is
[0062]
(Ie, the signal 182 convoluted by the impulse response 184).
[0063]
[0031] Transmission Sequence Uniquely Locally to Device 100
[0064]
By storing the predetermined value 132 associated with the next, and then using the
predetermined value 132 to perform echo cancellation, the device 100 compares the echo
cancellation filter 140 as compared to other echo cancellation filters, such as an adaptive
16-04-2019
14
feedback filter. The reduced computational complexity of can result in lower power consumption.
For example, to perform an echo cancellation operation, the adaptive feedback filter corresponds
to an unknown echo signal.
[0065]
In order to determine both, the transmitted and received signals may be adapted dynamically.
In contrast, filter 140 is configured to store predetermined value 132 stored in memory 130.
[0066]
Signal received using
[0067]
Do echo cancellation.
Because the transmission sequence of device 100 is predetermined and stored in memory 130 as
predetermined value 132, the computational complexity of filter 140 may be reduced.
As such, to perform echo cancellation, filter 140 may use impulse response 114 using
convolution as described in connection with processing blocks 150, 154, 158.
[0068]
You only need to estimate
16-04-2019
15
In addition, the implementation cost may use filter 140 (i.e., the received signal using
predetermined value 132) as compared to other filters such as an adaptive feedback filter if both
the transmit sequence and the impulse response are not known. Can be mitigated due to the
reduced computational resources used to perform echo cancellation) by performing a
convolution operation.
[0069]
[0032]
Referring to FIG. 2, a second exemplary embodiment of a system including a device 200
including a filter configured to perform echo cancellation using predetermined values is shown.
In particular embodiments, device 200 may be a mobile communication device (eg, a mobile
phone), a smartphone, a tablet computing device, a laptop computing device, a personal digital
assistant (PDA) device, or other electronic device.
Device 200 includes a transmitter 202, one or more receivers 204, a memory 206, and a filter
208.
[0070]
[0033]
Transmitter 202 may be configured to transmit signal 272 in accordance with a predetermined
transmission sequence.
In an embodiment, transmitter 202 may be an ultrasound transmitter configured to transmit
ultrasound signals according to a predetermined transmission sequence.
As shown in FIG. 2, memory 206 may store signal data 242.
Signal data 242 may include information that describes a predetermined signal sequence.
16-04-2019
16
The predetermined transmission sequence may be a pseudo random noise (PN) sequence that
may be unique locally to the device 200.
In an embodiment, signal data 242 may include information describing a plurality of transmit
sequences (eg, multiple gold codes, multiple kasami codes, multiple barker codes, etc.), and
device 200 may be transmitted from transmitter 202 A predetermined transmission sequence
may be selected among the plurality of transmission sequences such that the signal 272 is locally
unique to the device 200.
In addition to signal data 242, memory 206 may store a predetermined value 240 associated
with a predetermined transmission sequence.
In an embodiment, the predetermined value 240 may include a pre-calculated value based on
signal data, such as a Fast Fourier Transform (FFT) of a predetermined transmission sequence
that is locally unique to the device 200.
Those skilled in the art will readily appreciate that any other commonly known time-frequency
domain transformation techniques such as discrete cosine transform, discrete Fourier transform,
or wavelet transform may be used instead of FFT without limitation. You will understand.
Filter 208 may be configured to perform an echo cancellation operation on the input signal
received at receiver 204 using predetermined value 240.
In contrast to the echo cancellation operation performed by the filter 140 of FIG. 1, the echo
cancellation operation performed by the filter 208 has frequency domain (eg, using FFT
operation) and time domain (eg, inverse fast Fourier transform (eg Operation (both using IFFT
operation).
[0071]
[0034]
In operation, one or more signals (eg, one or more ultrasound signals) may be received at
16-04-2019
17
receiver 204 as input signals.
The one or more signals may include the signal 282 and the echo signal 272 received from the
source 280 (eg, a transmitter of another device not shown in FIG. 2). Echo signal 272 may
introduce noise into signal 282. As described in connection with FIG. 3, device 200 may be
configured to determine the position of source 280 (or another operation) based on signal 282.
The input signal received at one or more receivers 204 may be filtered to remove echo signal
272 to improve the accuracy of the determination regarding the location of source 280.
[0072]
[0035]
As shown in FIG. 2, the filter 208 may include a first processing block 250, a first processing
path 210, and a second processing path 212. The first processing path 210 includes a plurality
of processing blocks, such as a second processing block 252, a third processing block 254, a
fourth processing block 256, a fifth processing block 258, and a sixth processing block 260.
including. The second processing path 212 includes a seventh processing block 262. The terms
processing path and processing block may be used to describe each of the elements 210, 212
and 250, 252, 254, 256, 258, 260, 262 for simplicity of the description. The terms processing
path and processing block are not intended to require a particular physical circuit; rather,
processing path and processing block can be implemented by processing path 210, 212 and
processing block 250, 252, 254, 256, 258. , 260, 262 are used to describe particular portions of
the filter 208 that are operable to implement particular functions, such as the functions
described in connection with each of the. Thus, the terms processing path and processing block
may refer, in particular embodiments, to a portion or one or more circuits of a circuit that
perform a particular function associated with filter 208. In another embodiment, the terms
processing path and processing block are stored in a computer readable storage medium that,
when executed by a processor, causes the processor to start executing a particular function
associated with the filter 208. Can point to an instruction that
[0073]
[0036]
Input signals received at one or more receivers 204 may be sampled by one or more receivers
204. Samples of the input signal may be provided to filter 208 as frame 218. Filter 208 may
perform echo cancellation on frame 218 to mitigate or eliminate echo signal 272 using
16-04-2019
18
predetermined value 240. フレーム218は、フレーム
[0074]
As received by the filter 208 as
[0075]
Expressed mathematically as where
[0076]
Corresponds to the impulse response 274 affecting the signal 272,
[0077]
Corresponds to the predetermined transmission sequence of signal 112,
[0078]
Corresponds to the impulse response 284 affecting the signal 282,
[0079]
Corresponds to the predetermined transmission sequence of signal 282, where
[0080]
は、
[0081]
Unlike the sign
[0082]
Indicates a convolution.
[0083]
The first processing block 250 generates a frame 220 to generate the frame 220.
16-04-2019
19
[0084]
Can perform an FFT operation.
Frame 220 has a frequency range
[0085]
においてフレーム
[0086]
Represents
The FFT processing herein is for illustrative purposes only, and any other commonly known timefrequency domain transform techniques such as discrete cosine transform, discrete Fourier
transform, or wavelet transform are limited. Instead, it may be performed in the first processing
block 250 instead of the FFT.
[0087]
[0037] フレーム
[0088]
Corresponds to the echo signal 272 received at one or more receivers 204 to be canceled or
mitigated by the filter 208.
さらに、
16-04-2019
20
[0089]
Corresponds to the signal 282 received from the source 280.
Impulse response 274 indicates how acoustic effects in the area surrounding device 200 (eg, the
room in which device 200 is located) affect signal 272, and impulse response 284 includes an
area For example, the acoustics of the room in which source 280 is located may indicate how to
affect signal 282.
Impulse response 274 may be different from impulse response 284 even if device 200 and
source 280 are located in the same area (eg, the same room).
[0090]
[0038]
The first processing block 250 may provide the frame 220 for the first processing path 210 and
the second processing path 212.
The first processing path 210 may provide the frame 220 to a second processing block 252.
The second processing block 252 is determined from the predetermined value 240 to generate a
second processing frame 222
[0091]
May be configured to multiply frame 220.
Therefore, the second processing block 252
[0092]
16-04-2019
21
Is multiplied in the time domain (eg, as described with respect to the first processing block 150
of FIG. 1).
[0093]
And mathematically equivalent.
The second frame 222 is
[0094]
であり、ここで、フレーム
[0095]
Is a frame in the time domain
[0096]
Represents
The second frame 222 may be provided to a third processing block 254.
[0097]
[0039]
The third processing block 254 may perform an IFFT operation on the second frame 222 to
create a third frame 224.
The IFFT operation herein is for illustrative purposes only, and any other commonly known timefrequency domain transformation techniques, such as inverse discrete cosine transform, inverse
discrete Fourier transform, or inverse wavelet transform, Without limitation, it may be performed
16-04-2019
22
in the third processing block 254 instead of IFFT.
Third frame 224, frame
[0098]
Can indicate the correlation of
For example, assuming that signal 112 of FIG. 1 and signal 272 of FIG. 2 are transmitted
according to the same predetermined transmission sequence (ie, predetermined value 240 = FFT
(predetermined value 132)), the frame of FIG.
[0099]
Is the frame of FIG. 1 when the signals 182 and 282 are the same or nearly the same.
[0100]
And may be the same.
[0101]
[0040] Third frame 224
[0102]
Are provided from the third processing block 254 to the fourth processing block 256, where
[0103]
To generate a fourth frame 226
[0104]
からデコンボリュートされる。
16-04-2019
23
The fourth processing block 256 uses the set of values 270
[0105]
Can be deconvoluted.
The set of values 270 may correspond to the set of values 146 described in connection with FIG.
The fourth frame 226 is a frame
[0106]
Is the estimated value of the impulse response 274
[0107]
Corresponds to
[0108]
[0041] Fourth frame 226
[0109]
May be provided to a fifth processing block 258.
The fifth processing block 258 is a fifth frame 228,
[0110]
Fourth frame 226 to generate
16-04-2019
24
[0111]
To perform an FFT operation, which corresponds to an estimate of the impulse response 274 in
the frequency domain.
The FFT operations herein are for illustrative purposes only, and any other commonly known
time-frequency domain transform techniques such as discrete cosine transform, discrete Fourier
transform, or wavelet transform are limited. Instead, it may be performed at the fifth processing
block 258 instead of the FFT.
[0112]
[0042] Fifth frame 228
[0113]
May be provided to a sixth processing block 260.
The sixth processing block 260 is a sixth frame 230,
[0114]
Predetermined value 240 in the fifth frame 228 to generate
[0115]
Can be configured to multiply.
フレーム
[0116]
16-04-2019
25
Predetermined value 240 in the frequency domain
[0117]
Multiplying the frame by a predetermined value 240 in the time domain, as described in
connection with the first processing block 158 of FIG.
[0118]
Is mathematically equivalent to the convolution of
Sixth frame 230
[0119]
Is the frame corresponding to the echo signal 272 to be canceled by the filter 208
[0120]
A portion of can be represented in the frequency domain.
[0121]
[0043] Seventh processing block 262 receives frame 220 as input.
[0122]
And the sixth frame 230 from the sixth processing block 260
[0123]
And an output frame 232 may be generated.
Seventh processing block 262 is a frame
16-04-2019
26
[0124]
からフレーム
[0125]
An output frame 232 may be generated by subtracting (e.g., signal 272).
As such, output frame 232 may represent an estimate of signal 282 in the frequency domain.
[0126]
[0044] An associated predetermined value 240 that is locally unique to the transmit sequence of
the device 200 (ie, the PN sequence)
[0127]
By storing a predetermined value 240 to perform an echo cancellation, the device 200 can
reduce the computational complexity of the echo cancellation filter 208 as compared to other
echo cancellation filters such as an adaptive feedback filter. The complexity can result in lower
power consumption.
For example, to perform an echo cancellation operation, the adaptive feedback filter corresponds
to an unknown echo signal.
[0128]
The transmitted and received signals may be adapted dynamically to determine both.
In contrast, filter 140 has a predetermined value 240 stored in memory 206.
16-04-2019
27
[0129]
Signal received using
[0130]
Do echo cancellation.
The computational complexity of the filter 208 may be reduced because calculations based on
the transmit sequence of the device 200 may be made using the results previously stored in the
memory 206 as the predetermined value 240.
Thus, in order to perform echo cancellation, the filter 208 provides an impulse response as
described in connection with processing block 256.
[0131]
Estimate only.
Impulse response as evidenced in Figure 2
[0132]
May be estimated using a combination of time domain processing (eg, deconvolute) and
frequency domain processing.
Additionally, the implementation cost may be reduced due to the computational resources used
to perform echo cancellation using filter 208 as compared to other filters such as adaptive
feedback filters.
[0133]
16-04-2019
28
[0045]
Referring to FIG. 3, an exemplary embodiment of a multi-user peer to peer positioning system
300 is shown.
As shown in FIG. 3, multi-user peer-to-peer positioning system 300 includes a first electronic
device 302 and a second electronic device 340.
The first electronic device 302 includes a microphone 304, 306, 308 and a transmitter 310.
In particular embodiments, the microphones 304, 306, 308 correspond to the receiver 120
described in connection with FIG. 1 or the receiver 204 described in connection with FIG. 2 and
the transmitter 310 in FIG. The transmitter 110 may correspond to the transmitter 110
described in the context of or the transmitter 202 described in the context of FIG.
As shown in FIG. 3, the first electronic device 302 transmits a first signal 320 (eg, a first
ultrasound signal) from the transmitter 310 according to a first transmission sequence, and the
second electronic device 340 may transmit a second signal 350 (eg, a second ultrasound signal)
from transmitter 342 in accordance with a second transmission sequence.
As shown in FIG. 3, the first signal 320 is represented by a first pattern 322 and the second
signal 350 is represented by a second pattern 352.
[0134]
[0046]
The first electronic device 302 receives the second signal 350 at one or more of the microphones
304, 306, 308 and uses a triangulation to generate a second signal 350 based on the second
signal 350. The location of the two electronic devices 340 may be determined.
For example, in FIG. 3, the first electronic device 302 receives the signal 350 a at the microphone
304, the signal 350 b at the microphone 308, and the second signal 350 as the signal 350 c at
16-04-2019
29
the microphone 306. The first electronic device 302 may use the time delay associated with each
of the signals 350a, 350b, 350c to triangulate or estimate the position of the second electronic
device 340. In an embodiment, estimating the position of the second electronic device 340 may
include determining an angle α that indicates the direction of the location of the second
electronic device 340 and the distance 380. In particular embodiments, the distance 380
corresponds to the distance between the first electronic device 302 and the second electronic
device 340. It should be noted that although only three microphones are shown in FIG. 3, the
first electronic device 302 may include more than two microphones.
[0135]
[0047]
As shown in FIG. 3, the first signal 320 may be received as an echo signal (eg, signals 320a,
320b, 320c) at one or more of the microphones 304, 306, 308. The echo signal may interfere
with the calculation accuracy of the position of the second electronic device 340 or otherwise
deteriorate the calculation accuracy. As shown in FIG. 3, the first electronic device 302 includes a
memory 330 and a filter 332. Memory 330 may store a predetermined value 334 associated
with the first transmission sequence used by transmitter 310 to transmit the first signal. In
particular embodiments, memory 330 may correspond to memory 130 of FIG. 1 or memory 206
of FIG. The filter 332 receives a frame including samples of the signal received at each of the
microphones 304, 306, 308 (eg, the first signal 302 and the second signal 350) and also at the
position of the second electronic device 340. Echo cancellation may be performed prior to
calculating the estimate. In particular embodiments, filter 332 may correspond to filter 140
described in connection with FIG. 1 or filter 208 described in connection with FIG.
[0136]
[0048]
In an embodiment, device 302 may interact with device 340 and other devices (not shown) to
form a peer-to-peer positioning system. Device 302 may be configured to determine the location
of other devices operating in the peer to peer positioning system based on the output of filter
332. Each of the devices operating within the peer-to-peer positioning system transmits signals
received at device 302 (eg, at microphones 304, 306, 308), and each signal received at device
302 is transmitted It may be used by device 302 to determine the estimated location of the
device.
16-04-2019
30
[0137]
[0049]
In order to distinguish the signals transmitted from each of the devices, device 302 negotiates
with each of the other devices to select a particular transmission sequence from a predetermined
set of transmission sequences (eg, a gold code) You can negotiate). In particular embodiments,
the set of transmit sequences comprises a family of transmit sequences where each of the
transmit sequences has low cross-correlation with other transmit sequences in the family. After
selecting a particular transmission sequence, device 302 periodically transmits a signal (e.g.,
signal 302) in accordance with the selected particular transmission sequence. In particular
embodiments, each of the transmission sequences may comprise a periodic sequence. Device 302
may periodically transmit signal 320 based on the time interval. In an embodiment, the time
interval may be determined based on the length of the particular transmission sequence selected.
[0138]
[0050]
For storing information (eg, predetermined value 334) associated with the locally unique
transmission sequence (eg, PN) of the first electronic device 302, and then performing echo
cancellation using filter 332 By using stored information, the first electronic device 302
consumes more power due to the reduced computational complexity of the filter 332 as
compared to other echo cancellation filters such as adaptive feedback filters. Can be low. The
reduced computational complexity of filter 332 may also allow first electronic device 302 to
make faster location determinations.
[0139]
[0051]
Referring to FIG. 4, another exemplary embodiment of a device 400 configured to perform echo
cancellation is shown. As shown in FIG. 4, device 400 includes processor 402, receiver 404,
transmitter 406, and memory 408. In particular embodiments, device 400 may correspond to
device 100 of FIG. 1, device 200 of FIG. 2, or device 302 of FIG. Memory 408 may store
instructions 420. The instructions 420 may be executable by the processor 402 to perform one
or more of the functions described in connection with the filter 140 of FIG. 1 or the filter 208 of
FIG.
16-04-2019
31
[0140]
[0052]
In an embodiment, instructions 420 may include executable instructions to make a location
determination based on a signal received at receiver 404, such as location instructions 426.
Location instructions 426 are executed by processor 402 to determine or triangulate the position
of the other device based on signals received from the other device at receiver 404, as described
in connection with FIG. It may be possible. Location instruction 426 determines an angle (eg,
angle α described in connection with FIG. 3) indicating the orientation of the location of the
other device and the distance (eg, distance 380 described in connection with FIG. 3) To be
executable by the processor 402.
[0141]
[0053]
In an embodiment, instructions 420 may include executable instructions to dynamically select a
particular transmission sequence from set of transmission sequences 440 and store
predetermined value 430 in memory 408. For example, instruction 420 may include sequence
selection instruction 424. Sequence selection instructions 424 may be executable by processor
402 to select a particular transmission sequence from transmission sequence set 440. In an
embodiment, the set of transmit sequences 440 comprises gold code sequences. Each transmit
sequence in transmit sequence set 440 may have low correlation with respect to other transmit
sequences in transmit sequence set 440. A sequence selection instruction 424 may be coupled to
the wireless communication link (eg, Bluetooth or the like) to the processor 402 to determine a
locally unique transmission sequence to be used by the transmitter 406 within the
communication range of the device 400. It may include instructions to communicate with other
devices via a Wi-Fi communication link). The transmission sequence is local in that each device
within the communication range of the device 400 may use a different transmission sequence, if
a device outside the communication range of the device 400 can use the same transmission
sequence as the device 400 simultaneously. Can be considered to be unique.
[0142]
[0054]
16-04-2019
32
After selecting a transmission sequence, sequence selection instructions 424 may cause
processor 402 to calculate predetermined value 430 or to access predetermined value 430. In an
embodiment, the predetermined value 430 is stored in the memory 408 before the transmitter
406 starts transmitting signals according to the transmission sequence. For example, after
selecting a transmission sequence, sequence selection instructions 424 may cause processor 402
to calculate a predetermined value 430 for the selected transmission sequence and may also
cause memory 408 to store predetermined value 430. In this particular embodiment, the
sequence selection instructions 424 are executable by the processor 402 to indicate a particular
selected transmission sequence during operation and to indicate a corresponding predetermined
set of values 430 to use for echo cancellation. Can contain various instructions. For purposes of
illustration, the set of transmit sequences may include 10 different transmit sequences, and the
predetermined value 430 may include a value calculated based on each transmit sequence. A
particular transmission sequence may be selected for use in transmission via transmitter 406.
During operation of echo cancellation, processor 402 may use a predetermined value 430
corresponding to the particular transmission sequence used by transmitter 406. In another
embodiment, only a single predetermined value set 430 may be generated and stored in memory
408 using sequence selection instructions 424.
[0143]
[0055]
Referring to FIG. 5, another exemplary embodiment of a device 500 configured to perform echo
cancellation is shown. As shown in FIG. 5, device 500 includes a processor 502, a receiver 504, a
transmitter 506, and a memory 508. In particular embodiments, device 500 may correspond to
device 100 of FIG. 1 or device 200 of FIG. Memory 508 may store set 522 of transmission
sequences and predetermined value 520. As shown in FIG. 5, processor 502 includes a filter 510,
a sequence selector 512, and a location determination unit 514. In particular embodiments, filter
510 may correspond to filter 140 of FIG. 1 or filter 208 of FIG. For example, filter 510 may
include circuitry or other logic configured to perform one or more of the operations described in
connection with filter 140 of FIG. 1 or filter 208 of FIG. Filter 510 may access memory 508 to
retrieve a predetermined value 520 for use in the echo cancellation process.
[0144]
[0056]
In an embodiment, sequence selector 512 may include circuitry or other logic configured to
perform one or more of the functions described in connection with sequence transmission
16-04-2019
33
instructions 424 of FIG. In an embodiment, location determination unit 514 may include circuitry
or other logic configured to perform one or more of the functions described in connection with
location instruction 426 of FIG. As shown in FIG. 5, filter 510, sequence selector 512, and
location determination unit 514 may be part of processor 502. In another embodiment, one or
more of filter 510, sequence selector 512, and location determination unit 514 may be external
to processor 502. For example, one or more of filter 510, sequence selector 512, and location
determination unit 514 may be field programmable gate array (FPGA) devices, application
specific integrated circuits (ASICs), dedicated processing units, digital signal processors (DSPs) , A
controller, another hardware device, a firmware device, or any combination thereof.
[0145]
[0057]
Referring to FIG. 6, a first exemplary embodiment of a method 600 for performing echo
cancellation is shown. At 602, method 600 comprises accessing signal data describing a transmit
sequence and predetermined values associated with the transmit sequence. For example, signal
data and predetermined values may be stored in a memory such as memory 130 of FIG. 1 or
memory 206 of FIG. 2 before a signal corresponding to a particular transmission sequence is
transmitted.
[0146]
[0058]
Method 600 includes, at 604, transmitting a signal from a transmitter of the electronic device in
accordance with the transmit sequence. At 606, method 600 includes generating a frame based
on one or more signals received at a microphone of the electronic device. The one or more
signals may include an echo signal associated with the transmitted signal. At 608, method 600
includes processing the frame using the predetermined value to produce an output frame in
which the contribution associated with the echo signal is mitigated. In particular embodiments,
processing of a frame using predetermined values may be performed by the filter 140 of FIG. In
another particular embodiment, processing of a frame using predetermined values may be
performed by the filter 208 of FIG. In another particular embodiment, processing of frames using
predetermined values may be performed by the filter 332 of FIG. In another particular
embodiment, processing of a frame using the predetermined value may be performed by
processor 402 using echo cancellation instruction 422 of FIG. In another particular embodiment,
processing of frames using predetermined values may be performed by the filter 510 of FIG.
16-04-2019
34
[0147]
[0059]
Referring to FIG. 7, a second exemplary embodiment of a method 700 for performing echo
cancellation is shown. At 702, method 700 includes receiving a first processing frame. In an
embodiment, the first processed frame may include, be contained within, or correspond to frame
220 of FIG. 2 that may be received at filter 208 of FIG. At 704, method 700 includes multiplying
the first processed frame by a predetermined value to generate a second processed frame (eg,
frame 222 of FIG. 2). In certain embodiments, the predetermined value may be the
predetermined value 240 of FIG.
[0148]
[0060]
At 706, method 700 includes performing an Inverse Fast Fourier Transform (IFFT) on the second
processed frame to generate a third processed frame (eg, frame 224 of FIG. 2). At 708, method
700 includes multiplying the third processed frame by a predetermined set of values to generate
a fourth processed frame (eg, frame 226 of FIG. 2). In particular embodiments, the set of
predetermined values may comprise, be included in, or correspond to the set of predetermined
values 270. At 710, method 700 includes performing an FFT on the fourth processed frame to
generate a fifth processed frame (eg, frame 228 of FIG. 2). At 712, the method 700 multiplies the
fifth processing frame by a predetermined value to generate a sixth processing frame (eg, frame
230 of FIG. 2), and at 714, the first processing frame and the sixth processing method.
Determining the difference between the processing frame of In particular embodiments, the
difference between the first processed frame and the sixth processed frame is an output frame
(e.g., where the contribution associated with the echo signal is reduced with respect to the input
frame (e.g., input frame 218). The frame 232) of FIG. 2 is generated.
[0149]
[0061]
Referring to FIG. 8, a block diagram of a particular illustrative embodiment of an electronic
device 800 operable to support the various methods, systems, and computer readable media
described with respect to FIGS. 1-7 is shown. It is done. Electronic device 800 includes a
processor 810, such as a digital signal processor (DSP), coupled to memory 832. In particular
16-04-2019
35
embodiments, the electronic device 800 may correspond to the device 100 of FIG. 1 or the first
electronic device 200 of FIG. 2, the device 302 of FIG. 3, the device 400 of FIG. 4, or the device
500 of FIG.
[0150]
[0062]
As shown in FIG. 8, the electronic device 800 includes a display controller coupled to the
processor 810 and the display 828. An encoder / decoder (codec) 834 may also be coupled to
the processor 810. Speaker 836 and microphone 838 may be coupled to codec 834. In particular
embodiments, microphone 838 may be internal to electronic device 800. In embodiments, the
microphone 838 may correspond to the receiver 120 of FIG. 1, the receiver 204 of FIG. 2, the
microphones 304, 306, 308 of FIG. 3, the receiver 404 of FIG. 4, or the receiver 504 of FIG. . In
an embodiment, the speaker 836 may correspond to the transmitter 110 of FIG. 1, the
transmitter 202 of FIG. 2, the transmitter 310 of FIG. 3, the transmitter 406 of FIG. 4, or the
transmitter 506 of FIG.
[0151]
[0063]
As shown in FIG. 8, electronic device 800 includes a wireless controller 840 that may be coupled
to a transceiver 850 coupled to an antenna 842. In particular embodiments, processor 810,
display controller 826, memory 832, codec 834, transceiver 850, and wireless controller 840
may be system-in-package or system-on-chip. Included in device 822. In a particular
embodiment, input device 830 and power supply 844 are coupled to device 822 on a system on
chip. In particular embodiments, display 828, input device 830, speaker 836, microphone 838,
wireless antenna 842 and power supply 844 may be external to system-on-chip device 822.
However, each of display 828, input device 830, speaker 836, microphone 838, wireless antenna
842 and power supply 844 may be coupled to components of system-on-chip device 822 such as
an interface or controller.
[0152]
[0064]
Electronic device 800 may store a predetermined value, such as predetermined value 882, in
16-04-2019
36
memory 832. In an embodiment, the predetermined value may be stored in memory (ie, cache
memory) of processor 810 as predetermined value 872. The processor 810 may include
sequence selection logic (e.g., the sequence selector 512 of FIG. 5) configured to access the
predetermined value 882 or the predetermined value in the memory 832. Electronic device 800
may include a signal (eg, an ultrasound signal) at microphone 838. The received signal may
include an echo signal generated by the speaker 836. In particular embodiments, codec 834
generates an input frame (eg, input frame 170 of FIG. 1 or input frame 218 of FIG. 2) and
processes the received signal to provide processor 810 with the input frame. It can. In another
embodiment, the input frame may be generated by processor 810.
[0153]
[0065]
In particular embodiments, processor 810 may be configured to process echo cancellation logic
880 configured to process an input frame to generate an output frame (eg, output frame 164 of
FIG. 1 or output frame 232 of FIG. 2). May be included. The contribution of echo cancellation to
the output frame may be less than the contribution of the echo signal to the input frame. In an
embodiment, the echo cancellation logic 880 corresponds to the filter 140 of FIG. 1 and
performs one or more of the operations described in connection with the processing blocks 150,
154, 158, 162 of FIG. Can be configured. In another embodiment, echo cancellation logic 880 is
configured to correspond to filter 208 of FIG. 2 and to perform one or more of the operations
described in connection with processing blocks 250-262 of FIG. It can be done. In another
embodiment, echo cancellation logic 880 may correspond to filter 332 in FIG. In yet another
embodiment, the echo cancellation logic 880 may correspond to the filter 510 described in
connection with FIG.
[0154]
[0066]
In another particular embodiment, memory 832 causes echo cancellation instruction 870 to
cause processor 810 to perform an echo cancellation operation on the input frame to generate
an output frame as described in connection with FIGS. 1-7. It can be stored. The contribution of
the echo signal to the output signal may be smaller than the contribution of the echo signal to
the input frame. For example, the echo cancellation instruction 870 may correspond to the echo
cancellation instruction 422 of FIG. In another embodiment, the echo cancellation instruction
870 is an operation described in connection with processing blocks 150, 154, 158, 162 in FIG. 1
or an operation described in connection with processing blocks 250-262 in FIG. May be
16-04-2019
37
executable by the processor to perform one or more of the following.
[0155]
[0067]
The processor 810 determines a predetermined value (for example, a value determined before a
transmission sequence related to the predetermined value is sent, such as the predetermined
value 882 or the predetermined value 872) based on signal data describing the predetermined
transmission sequence. Can be configured to generate In particular embodiments, processor 810
is configured to generate a predetermined value, configured to store a predetermined value in a
memory (eg, memory 832 or cache memory of processor 810), or in memory 832 May be
configured to access the sequence selector (eg, sequence selector 512 of FIG. 5). In another
embodiment, memory 832 causes a sequence selection instruction (eg, the sequence selection of
FIG. 4) to cause processor 810 to generate a predetermined value and store the predetermined
value in memory (eg, cache memory or memory 832 of processor 810). Instructions 424) may be
stored.
[0156]
[0068]
Processor 810 may be configured to determine the location of another electronic device (not
shown) based on the output frame as described in connection with FIG. For example, certain
portions of the received signal may correspond to signals generated by other electronic devices.
Processor 810 may use triangulation to determine the locations (ie, directions and distances) of
other electronic devices relative to electronic device 800 based on the output frame. In particular
embodiments, processor 810 may include location logic (eg, location determination unit 514 of
FIG. 5) for use in determining the locations of other electronic devices. In another embodiment,
memory 832 may store location instructions (eg, location instructions 426 of FIG. 4) that cause
processor 810 to determine the locations of other electronic devices.
[0157]
[0069]
It is disclosed that, in conjunction with the described embodiments, the system can include
means for transmitting signals in accordance with a transmit sequence. In particular
16-04-2019
38
embodiments, the means for transmitting the signal may include the speaker 836, the transmitter
110 of FIG. 1, the transmitter 202 of FIG. 2, the transmitter 310 of FIG. 3, the transmitter 406 of
FIG. A transmitter 506 may be included. The system may include means for receiving one or
more signals. In particular embodiments, means for receiving one or more signals may include
microphone 838, receiver 120 of FIG. 1, receiver 204 of FIG. 2, microphones 304-308 of FIG. 3,
receiver of FIG. 404 or the receiver 504 of FIG. 5 may be included. The system may include
means for storing predetermined values associated with the transmission sequence. In an
embodiment, the means for storing the predetermined value associated with the transmission
sequence may be the memory 832, the memory 130 of FIG. 1, the memory 206 of FIG. 2, the
memory 330 of FIG. 3, the memory 408 of FIG. Memory 508 may be included. In another
embodiment, the means for storing the predetermined value associated with the transmit
sequence may include the processor 810 register or memory (eg, cache memory).
[0158]
[0070]
The system may include means for generating an input (eg, input frame 170 of FIG. 1 or input
frame 218 of FIG. 2) based on one or more received signals. In an embodiment, means for
generating an input based on one or more received signals may include the processor 810. In
another embodiment, the means for generating an input based on one or more received signals
may include the receiver 120 of FIG. 1 or the receiver 204 of FIG. In another embodiment, the
means for generating an input based on one or more received signals may include the filter 510
of FIG. In an embodiment, the means for generating an input based on one or more received
signals comprises: a field programmable gate array (FPGA) device, an application specific
integrated circuit (ASIC), a central processing unit (CPU) Processing unit, digital signal processor
(DSP), controller, another hardware device, firmware device, or any of these configured to
generate an input signal based on one or more received signals. It can be implemented by
combination.
[0159]
[0071]
The system may include means for processing the input based on the predetermined value to
generate a first output (eg, frame 160 of FIG. 1 or frame 230 of FIG. 2). The first output may
indicate the contribution of the transmitted signal to the input. In an embodiment, the means for
processing the input based on the predetermined value includes echo cancellation logic 880,
which may be incorporated into the processor 810. In another embodiment, echo cancellation
16-04-2019
39
logic 880 is external to processor 810 and may be an FPGA device, a processing unit such as an
ASIC, a CPU, a DSP, a controller, another hardware device, a firmware device, or any combination
thereof. May be implemented by In an embodiment, the means for processing the input based on
the predetermined value may be the first processing path 142 of FIG. 1 of the filter 140 of FIG. 1
(eg, processing blocks 150, 154, 158, 162 of FIG. 1). May be included. In another embodiment,
the means for processing the input based on the predetermined value includes the first
processing path 210 of FIG. 2 (eg, processing block 250-262 of FIG. 2) of the filter 208 of FIG.
obtain. In another embodiment, the means for processing the input based on the predetermined
value may include the filter 332 of FIG. In an embodiment, the first processing path 142, the first
processing path 210 may be an FPGA device, an ASIC, a processing unit such as a CPU, a DSP, a
controller, another hardware device, a firmware device, or the processing block of FIG. 150, 154,
158 or a combination thereof configured to perform the functions described in connection with
processing blocks 252-260 of FIG.
[0160]
[0072]
The system may include means for generating a second output (eg, output frame 164 of FIG. 1 or
output frame 232 of FIG. 2) based on the difference between the input and the first output. In an
embodiment, the means for generating the second output may include echo cancellation logic
880. In particular embodiments, echo cancellation logic 880 may be incorporated into processor
810. In another embodiment, echo cancellation logic 880 may be external to processor 810 (eg,
an application specific circuit). In an embodiment, the means for generating the second output
may be the second processing path 144 of the filter 140 of FIG. 1 (eg, processing block 162 of
FIG. 1), the second processing path of the filter 208 of FIG. 2 (eg, process block 262 of FIG. 2) or
may include the filter 332 of FIG. In an embodiment, the second processing path 144 of the filter
140 of FIG. 1 or the second processing path 212 of the filter 208 of FIG. 2 may be an FPGA
device, an ASIC, a processing unit such as a CPU, a DSP, a controller, another hardware. A device,
a firmware device, or a combination thereof configured to perform the functions described in
connection with processing block 162 of FIG. 1 or processing block 262 of FIG.
[0161]
[0073]
In an embodiment, the means for generating the input (eg, frame 220 of FIG. 2) receives the
generated frame (eg, frame 218 of FIG. 2) based on the one or more received signals. And means
for performing a fast Fourier transform (FFT) on the frame. The input may include the result of
16-04-2019
40
the FFT. In an embodiment, the means for performing an FFT on a frame may include the first
processing block 250 of FIG. In an embodiment, the first processing block 250 performs an FFT
on a frame to receive an FPGA device, an ASIC, a processing unit such as a CPU, a DSP, a
controller, another hardware device, a firmware device, or a frame. It may be implemented by
those combinations configured as:
[0162]
[0074] In a particular embodiment, the means for processing the input (eg, frame 220 of FIG. 2)
is for determining a first product (eg, frame 222 of FIG. 2) by multiplying the input by a
predetermined value. Means, means for performing an Inverse Fast Fourier Transform (IFFT) on
the first product, and a set of predetermined values (eg, the set of predetermined values in FIG. 2)
as a result of the IFFT (eg, frame 224 in FIG. 2) Means for determining a second product (eg,
frame 226) by multiplying 270), means for performing a second FFT on the second product, and
a first output (eg, frame 230). Means for multiplying the result of the second FFT (eg, frame 228
of FIG. 2) by a predetermined value to generate.
[0163]
[0075]
In an embodiment, means for determining a first product, means for performing an IFFT on the
first product, means for determining a second product, for performing a second FFT on the
second product And means for multiplying the result of the second FFT may be an FPGA device, a
processing unit such as an ASIC, a CPU, a DSP, a controller, another hardware device, a firmware
device, or the second of FIG. Each may be implemented by any combination thereof configured to
perform the functions described in connection with processing block 154.
In an embodiment, means for performing an IFFT on the first product correspond to the third
processing block 254. In an embodiment, the set of predetermined values may correspond to the
set of predetermined values 132 described in connection with FIG.
[0164]
[0076]
Those skilled in the art will further appreciate that the various illustrative logic blocks,
configurations, modules, circuits, algorithm steps described in connection with the embodiments
16-04-2019
41
disclosed herein are implemented as electronic hardware, computer software, or a combination
of both. You will understand what is done. Various illustrative components, blocks,
configurations, modules, circuits, and steps have been described above generally in terms of their
functionality. Whether such functionality is implemented as hardware or software depends upon
the particular application and design constraints imposed on the overall system. Skilled artisans
may implement the described functionality in varying ways for each particular application, but
such implementation decisions should not be interpreted as causing a departure from the scope
of the present disclosure. .
[0165]
[0077]
The steps of a method or algorithm described in connection with the aspects disclosed herein
may be embodied directly in hardware, in a software module executed by a processor, or in a
combination of the two. The software module includes random access memory (RAM), flash
memory, read only memory (ROM), programmable read only memory (PROM), erasable PROM
(EPROM), electrically erasable PROM (EEPROM (registered trademark)), register , A nontransitory storage medium such as a hard disk, a removable disk, a compact disk read only
memory (CD-ROM), or any other shape known in the art. An exemplary storage medium may be
coupled to the processor such that the processor can read information from, and write
information to, the storage medium. In the alternative, the storage medium may be integral to the
processor. The processor and the storage medium may reside in an application specific
integrated circuit (ASIC). The ASIC may reside in a computing device or user terminal (eg, a
mobile phone or PDA). In the alternative, the processor and the storage medium may reside as
discrete components in a computing device or user terminal.
[0166]
[0078]
The previous description of the disclosed embodiments is provided to enable any person skilled
in the art to make or use the disclosed embodiments. Various modifications to these
embodiments will be readily apparent to those skilled in the art, and the principles defined herein
may be applied to other embodiments without departing from the scope of the present
disclosure. Thus, the present disclosure is not intended to be limited to the embodiments
disclosed herein, but is to be accorded the widest scope consistent with the principles and novel
features as defined by the following claims. It will be given.
16-04-2019
42
16-04-2019
43
Документ
Категория
Без категории
Просмотров
0
Размер файла
56 Кб
Теги
description, jp2016500236
1/--страниц
Пожаловаться на содержимое документа