1. Background Field
Embodiments of the subject matter described herein are related generally to estimating a direction of arrival of a signal, and more specifically to estimating a direction of arrival of a signal with a linear array.
2. Relevant Background
The direction of arrival (DOA) of a signal can be estimated based on the time of arrival at a plurality of sensors. By way of example, a directional microphone that includes multiple omni-directional sensors may be used to determine the DOA of acoustic signals from a source based on the difference in the time of arrival of the signal at the multiple omni-directional sensors. With a conventional single linear array of omni-directional sensors, however, the DOA is estimated with two possible solutions in a two-dimensional DOA case and, thus, provides an ambiguous result. In a three-dimensional DOA case, the resulting DOA estimate has more than two solutions.
A conventional approach to eliminate the ambiguity in the DOA estimation uses two non-parallel linear arrays. For example,
Analogously, in a three dimensional DOA case, three non-parallel linear arrays are required to determine the DOA in three dimensions without ambiguity, as using only two non-parallel linear arrays will produce two symmetric solutions
A major drawback of the use of two non-parallel linear arrays in the two dimensional DOA case, however, is that the dimension of the device is greatly increased with respect to a single linear array. For example, in a single headset, illustrated in
A linear array of sensors includes at least two omni-directional sensors and at least one directional sensor, with the direction of sensitivity of the directional sensor arranged perpendicular to the axis of the linear array. The omni-directional sensors and directional sensor receive a signal and in response produce output signals. The direction of arrival of the received signal is estimated with a 360° range using the output signals of the omni-directional sensors and directional sensor. For example, two symmetric solutions for the direction of arrival of the received signal may be determined using the output signals of the omni-directional sensors, and the output signal from the directional sensor is used to determine the correct solution.
In one implementation, a method includes receiving a signal with at least two omni-directional sensors and at least one directional sensor arranged in a linear array; generating output signals from the at least two omni-directional sensors and an output signal from the at least one directional sensor in response to the received signal; and using the output signals from the at least two omni-directional sensors and the output signal from the at least one directional sensor to determine a direction of arrival of the received signal with respect to the linear array.
In one implementation, an apparatus includes a linear array of sensors comprising at least two omni-directional sensors and at least one directional sensor, wherein the at least two omni-directional sensors produce output signals and the at least one directional sensor produces an output signal in response to a received signal; and a processor coupled to receive the output signals from the at least two omni-directional sensors and the output signal from the at least one directional sensor, the processor configured to use the output signals from the at least two omni-directional sensors and the output signal from the at least one directional sensor to determine a direction of arrival of the received signal with respect to the linear array of sensors.
In one implementation, an apparatus includes means for receiving a signal at a first location with omni-directional sensitivity and generating a first output signal in response; means for receiving the signal at a second location with omni-directional sensitivity and generating a second output signal in response; means for receiving the signal at a third location with directional sensitivity and generating a third output signal in response, wherein the first location, the second location, and the third location are arranged in a linear array; and means for using the first output signal, the second output signal and the third output signal to determine a direction of arrival of the received signal with respect to the linear array.
In one implementation, a non-transitory computer-readable medium including program code stored thereon, includes program code to receive output signals from at least two omni-directional sensors and an output signal from at least one directional sensor in response to a received signal, wherein the at least two omni-directional sensors and at least one directional sensor are arranged in a linear array; and program code to use the output signals from the at least two omni-directional sensors and the output signal from the at least one directional sensor to determine a direction of arrival of the received signal with respect to the linear array.
If desired, the linear array 100 of sensors 100 may be used, along with a second non-parallel linear array of sensors to estimate the DOA of a received signal in three dimensions. By way of example,
As illustrated in
Using the configuration of omni-directional sensors 102, 104 and directional sensor 106 in the linear array 100 illustrated in
By way of example, if the response from directional sensor 106 is approximately the same as the response from one of omnidirectional sensors 102 and 104, e.g., within a threshold, then the signal was received approximately along the axis of sensitivity 108 of the directional sensor 106, e.g., between ±90° from the 0° direction (i.e., the axis of sensitivity 108) shown in
The comparison of the output signal from the directional sensor 106 and the omni-directional sensor 102 may be a power-ratio of the output signals, which may then compared to an appropriate threshold to determine which of the two possible solutions is correct. The directional sensor 106 may be calibrated with respect to at least one of the omni-directional sensors 102 and 104 in order to normalize the output signal from the directional sensor 106. One or more threshold values may be determined using the normalized output signals. For example, a single threshold value, such as 0.80 may be used for comparing the ratio of the response of the directional sensor 106 to the response of the omni-directional sensor. The threshold value may be determined based on a comparison of the specification values for the sensors, e.g., as shown in
If desired, more than one threshold may be used, e.g., multiple thresholds that are a function of angle may be used. For example, the threshold value Thr(θ) may be determined for each angle θ with respect to the axis of sensitivity 108 as follows:
Where Dx(θ) is the response of the directional sensor 106 at the angle θ as provided by the specification values, e.g., as shown in
Thus, the two omni-directional sensors 102 and 104 may be used to produce two symmetric solutions, with respect to the linear axis 101, for the DOA, illustrated as α and 180°-α in
Thus, with one or more directional sensors added to a single linear array of omni-sensors, the coverage range of the estimated DOA is extended from 180° to 360°. With the use of a single linear array of sensors, the physical dimension of the resulting device is relatively small, enabling attractive products, such as headsets. Moreover, the computational load of determining the DOA is reduced compared to the conventional method of using two non-parallel linear arrays.
Additionally, if desired, the DOA may be determined in three-dimensions using two non-parallel linear arrays 100 and 150, as illustrated in
A second linear array may be used to determine the direction of arrival in three dimensions.
The external interface 301, by way of example, may be any various wired or wireless communication networks such as a wireless wide area network (WWAN), a wireless local area network (WLAN), a wireless personal area network (WPAN), and so on. The term “network” and “system” are often used interchangeably. A WWAN may be a Code Division Multiple Access (CDMA) network, a Time Division Multiple Access (TDMA) network, a Frequency Division Multiple Access (FDMA) network, an Orthogonal Frequency Division Multiple Access (OFDMA) network, a Single-Carrier Frequency Division Multiple Access (SC-FDMA) network, Long Term Evolution (LTE), and so on. A CDMA network may implement one or more radio access technologies (RATs) such as cdma2000, Wideband-CDMA (W-CDMA), and so on. Cdma2000 includes IS-95, IS-2000, and IS-856 standards. A TDMA network may implement Global System for Mobile Communications (GSM), Digital Advanced Mobile Phone System (D-AMPS), or some other RAT. GSM and W-CDMA are described in documents from a consortium named “3rd Generation Partnership Project” (3GPP). Cdma2000 is described in documents from a consortium named “3rd Generation Partnership Project 2” (3GPP2). 3GPP and 3GPP2 documents are publicly available. A WLAN may be an IEEE 802.11x network, and a WPAN may be a Bluetooth® network, an IEEE 802.15x, or some other type of network. Moreover, any combination of WWAN, WLAN and/or WPAN may be used.
The device 300 also includes a control unit 305 that is connected to and communicates with the linear array 100, linear array 150 (if included) as well as the user interface 308 and an external interface 301 (if included). The control unit 305 may be provided by a bus 305b, processor 305p and associated memory 305m, hardware 305h, firmware 305f, and software 305s, and a clock 305c. The control unit 305 receives and processes data obtained from the omni-directional sensors 102, 104, and directional sensor 106 in the linear array 100 to estimate the direction of arrival of a signal, as discussed above. The control unit 305 may also receive and process data obtained from the omni-directional sensors 102 and 152 in the second linear array 150 if used, to estimate the direction of arrival of the signal in three-dimensions, as discussed above. The control unit 305 is illustrated as including a DOA module 308 that may be used to determine the direction of arrival of a signal in the arrival of the signal to the linear array 100, which may produce two ambiguous solutions. The control unit 305 is further illustrated as including a comparison module 306 that compares the output signal from the directional sensor 106 to one or more of the omni-directional sensors 102 and 104, which is compared to a threshold and used by the DOA module 308 to resolve the ambiguity of the solutions. If the second linear array 150 is used, the DOA module 308 and comparison module 306 may be used to determine an unambiguous solution in three-dimensions, e.g., by combining the ambiguous solutions derived from the first linear array 100 and the ambiguous solutions derived from the second linear array 150 to produce two ambiguous solutions, wherein the comparison module 306 may compare the output signal from the directional sensor 106 to one or more of the omni-directional sensors 102 and 104, which is compared to a threshold and used by the DOA module 308 to resolve the ambiguity of the solutions. A calibration module 310 may be used to calibrate the directional sensor 106 with respect to one or more of the omni-directional sensors 102, 104, including normalizing a directivity pattern of the directional sensor 106 with respect to one or more of the omni-directional sensors 102, 104 and for determining a threshold value or directivity depended threshold values used by comparison module 306. The threshold value or values may be stored, e.g., in memory 305m or other appropriate storage element in device 300.
The comparison module 306, the DOA module 308, and calibration module 310 are illustrated separately from processor 305p for clarity, but may be part of the processor 305p or implemented in the processor based on instructions in the software 305s which is run in the processor 305p. It will be understood as used herein that the processor 305p can, but need not necessarily include, one or more microprocessors, embedded processors, controllers, application specific integrated circuits (ASICs), digital signal processors (DSPs), and the like. The term processor is intended to describe the functions implemented by the system rather than specific hardware. Moreover, as used herein the term “memory” refers to any type of computer storage medium, including long term, short term, or other memory associated with the mobile device, and is not to be limited to any particular type of memory or number of memories, or type of media upon which memory is stored.
The methodologies described herein may be implemented by various means depending upon the application. For example, these methodologies may be implemented in hardware 305h, firmware 305f, software 305s, or any combination thereof. For a hardware implementation, the processing units may be implemented within one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, electronic devices, other electronic units designed to perform the functions described herein, or a combination thereof.
For a firmware and/or software implementation, the methodologies may be implemented with modules (e.g., procedures, functions, and so on) that perform the functions described herein. Any machine-readable medium tangibly embodying instructions may be used in implementing the methodologies described herein. For example, software codes may be stored in memory 305m and executed by the processor 305p. Memory 305m may be implemented within or external to the processor 305p. If implemented in firmware and/or software, the functions may be stored as one or more instructions or code on a computer-readable medium. Examples include non-transitory computer-readable media encoded with a data structure and computer-readable media encoded with a computer program. Computer-readable media includes physical computer storage media. A storage medium may be any available medium that can be accessed by a computer. By way of example, and not limitation, such computer-readable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer; disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers. Combinations of the above should also be included within the scope of computer-readable media.
Thus, the device 300 includes a means for means for receiving a signal at a first location with omni-directional sensitivity and generating a first output signal in response and a means for receiving the signal at a second location with omni-directional sensitivity and generating a second output signal in response, which may be, e.g., omni-directional sensors 102 and 104. A means for receiving the signal at a third location with directional sensitivity and generating a third output signal in response may be the directional sensor 106. The first location, the second location, and the third location are arranged in a linear array 100. A means for using the first output signal, the second output signal and the third output signal to determine a direction of arrival of the received signal with respect to the linear array may be, e.g., the control unit 305, which may include hardware 305h, firmware 305f and/or processor 305p using program code stored in memory 305m and specifically may use the comparison module 306, and DOA module 308. A means for determining two symmetric solutions for the direction of arrival of the signal using the first output signal and the second output signal may be the DOA module 308. A means for determining a correct solution from the two symmetric solutions for the direction of arrival of the signal using the third output signal may be, e.g., the DOA module 308 using the output of the comparison module 306. A means for comparing the third output signal to at least one of the first output signal and the second output signal to determine a comparison value and to compare the comparison value to a threshold to determine the correct solution may be, e.g., the comparison module 306. A means for calibrating the means for receiving the signal at the third location with directional sensitivity with respect to the means for receiving the signal at the second location with omni-directional sensitivity may be, e.g., the calibration module 310 and/or processor 305p using program code stored in memory 305m. A means for determining a direction of arrival of the received signal in three-dimensions may be, e.g., the second linear array 150, as well as the DOA module 308 using the output of the comparison module 306.
Although the present invention is illustrated in connection with specific embodiments for instructional purposes, the present invention is not limited thereto. Various adaptations and modifications may be made without departing from the scope of the invention. Therefore, the spirit and scope of the appended claims should not be limited to the foregoing description.