1. A system for noise cancellation comprising:
at least one microphone for detecting sound;
a processor in electrical communication with the microphone, wherein the processor is configured to modify a waveform received by the at least one microphone in a manner to form a canceling waveform with respect to the received waveform; and
a speaker array having two or more speakers which are configured to transmit the canceling waveform generated by the processor in the direction of a user’s head.
2. The system of claim 1 wherein the microphone is placed in proximity to the user’s head.
3. The system of claim 1 further comprising a plurality of microphones.
4. The system of claim 3 wherein at least one microphone detects a first desired and undesired sound and at least one microphone detects a second version of the first desired and undesired sound.
5. The system of claim 1 wherein the processor comprises an adaptive acoustic echo cancellation subsystem.
6. The system of claim 5 wherein the adaptive acoustic echo cancellation subsystem is configured to filter undesired sound from desired sound.
7. The system of claim 6 wherein a sample of the desired sound is stored in the processor.
8. The system of claim 7 wherein the desired sound is selected from the group consisting of alarms, sirens, and cries.
9. The system of claim 6 wherein the processor generates a canceling waveform for the undesired sound.
10. The system of claim 6 wherein the desired sound is amplified by the processor.
11. The system of claim 1 further comprising of an image tracking device configured to track a location of the user’s head.
12. The system of claim 11 wherein the image tracking device is a camera.
13. The system of claim 11 wherein the processor further comprises:
an image tracking subsystem to receive data from the image tracking device; and
a directionality control wherein the control rotates the speakers in the direction of the user’s head based on the location data received by the image tracking subsystem.
14. The system of claim 13 wherein the speakers are mounted on a rotatable device.
15. The system of claim 14 wherein the rotatable device is a gimbal.
16. A method for noise cancellation comprising:
detecting sounds via at least one microphone;
generating a canceling waveform with respect to the detected sounds;
tracking a position of a user’s head via an image tracking device; and
transmitting the out-of-phase waveform in a direction of the user’s head via an adjustable speaker array.
17. The method of claim 16 further comprising filtering desired sound from undesired sound prior to transmitting the canceling waveform.
18. The method of claim 17 wherein filtering comprises filtering sound using adaptive acoustic echo cancellation.
19. The method of claim 17 further comprising amplifying the desired sound.
20. The method of claim 17 further comprising suppressing the undesired sound.
21. The method of claim 16 wherein tracking comprising actively tracking the user’s head via a camera.
22. The method of claim 16 wherein transmitting comprises moving the effective field of the speaker array according to the position detected by the image tracking device of a location of the user’s head.
23. The method of claim 16 wherein transmitting comprises transmitting the cancelling waveform via two or more adjustable speakers.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. An application specific integrated circuit, comprising:
a programmable logic core having an array of dynamically configurable arithmetic logic units;
a network interface subsystem, including a media access controller, configured to employ a first portion of the programmable logic core that interfaces with the media access controller and that is configurable to process control data; and
a data transmission subsystem associated with a memory device and configured to employ a second portion of the programmable logic core that stores received data from the network interface subsystem to the memory device and sends transmission data from the memory device to the network interface subsystem in response to an instruction from a host system.
2. The application specific integrated circuit as recited in claim 1 wherein the first portion and the second portion are embodied within a plurality of programmable logic cores.
3. The application specific integrated circuit as recited in claim 1 wherein the programmable logic core is configurable to dynamically implement functions based on information received from the host system.
4. The application specific integrated circuit as recited in claim 3 wherein the programmable logic core is configurable to program new functions while executing previously implemented functions.
5. The application specific integrated circuit as recited in claim 1 wherein the programmable logic core is coupled to the host system by a slave bus, the programmable logic core further configured to be a slave device.
6. The application specific integrated circuit as recited in claim 5 further including an adapter subsystem, and a data bus interface subsystem that couples the adapter subsystem and the programmable logic core to the slave bus.
7. The application specific integrated circuit as recited in claim 6 wherein the adapter subsystem includes a programmable logic core test circuit, a parallel interface subsystem that couples the adapter subsystem to the data bus interface subsystem, and a serial programming interface subsystem.
8. The application specific integrated circuit as recited in claim 6 further including a controltest interface bus that couples the adapter subsystem to the programmable logic core.
9. The application specific integrated circuit as recited in claim 1 wherein the programmable logic core is further coupled to the host system by a master bus, the programmable logic core further configured to be a master device to independently control the master bus.
10. The application specific integrated circuit as recited in claim 1 wherein the first portion is configured to process control data and the second portion is configured as a direct memory access controller.
11. The application specific integrated circuit as recited in claim 1 wherein the first portion is couplable to the host system by a control bus and the second portion is couplable to the host system by a data bus.
12. The application specific integrated circuit as recited in claim 1 wherein the first portion is configured to include a control register, a statistics counter and a media independent interface manager.
13. The application specific integrated circuit as recited in claim 1 further including first-in-first-out buffers coupled to the network interface subsystem and the data transmission subsystem, one of the first-in-first-out buffers configured to buffer data received from the network interface subsystem and another of the first-in-first-out buffers configured to buffer data received from the data transmission subsystem.
14. The application specific integrated circuit as recited in claim 1 wherein the network interface subsystem is configured as an ethernet controller.
15. A method of operating an application specific integrated circuit, comprising:
dynamically configuring arithmetic logic units in a programmable logic core;
employing a first portion of the programmable logic core to process control data and interface with a media access controller of a network interface subsystem; and
employing a second portion of the programmable logic core to store received data from the network interface subsystem to a memory device and to send transmission data from the memory device to the network interface subsystem in response to an instruction from a host system.
16. The method as recited in claim 15 wherein employing the first portion and the second portion includes employing first and second portions embodied within a plurality of programmable logic cores.
17. The method as recited in claim 15 wherein dynamically configuring the programmable logic core includes dynamically configuring the programmable logic core to dynamically implement functions based on information received from the host system.
18. The method as recited in claim 17 wherein dynamically configuring includes programing the programmable logic core with new functions while the programmable logic core executes previously implemented functions.
19. The method as recited in claim 15 further including providing a connection between the programmable logic core and the host system by a slave bus and configuring the programmable logic core to be a slave device.
20. The method as recited in claim 19 further including an adapter subsystem, and a data bus interface subsystem that couples the adapter subsystem and the programmable logic core to the slave bus.
21. The method as recited in claim 20 wherein the adapter subsystem includes a programmable logic core test circuit, a parallel interface subsystem that couples a support logic core to the data bus interface subsystem, and a serial programming interface subsystem.
22. The method as recited in claim 20 further including a controltest interface bus that couples the adapter subsystem to the programmable logic core.
23. The method as recited in claim 15 further including providing a connection between the programmable logic core and the host system by a master bus, and configuring the programmable logic core to be a master device to independently control the master bus.
24. The method as recited in claim 15 wherein dynamically configuring includes configuring the first portion to process control data and configuring the second portion as a direct memory access controller.
25. The method as recited in claim 15 further including providing a connection between the first portion and the host system by a control bus and providing a connection between the second portion and the host system by a data bus.
26. The method as recited in claim 15 wherein dynamically configuring includes configuring the first portion to include a control register, a statistics counter and a media independent interface manager.
27. The method as recited in claim 15 further includes buffering data received from the network interface subsystem in a first-in-first-out buffer and buffering data received from the data transmission subsystem in a second first-in-first-out buffer.
28. The method as recited in claim 15 wherein dynamically configuring includes configuring the first portion as an ethernet controller.
29. A network interface system, comprising:
a host system; and
an application specific integrated circuit, including:
a programmable logic core having an array of dynamically configurable arithmetic logic units;
a network interface subsystem, including a media access controller, configured to employ a first portion of the programmable logic core that interfaces with the media access controller and that is configurable to process control data; and
a data transmission subsystem associated with a memory device and configured to employ a second portion of the programmable logic core that stores received data from the network interface subsystem to the memory device and sends transmission data from the memory device to the network interface subsystem in response to an instruction from the host system.
30. The network interface system as recited in claim 29 wherein the first portion and the second portion are embodied within a plurality of programmable logic cores.
31. The network interface system as recited in claim 29 wherein the programmable logic core is configurable to dynamically implement functions based on information received from the host system.
32. The network interface system as recited in claim 31 wherein the programmable logic core is configurable to program new functions while executing previously implemented functions.
33. The network interface system as recited in claim 29 wherein the programmable logic core is coupled to the host system by a slave bus, the programmable logic core further configured to be a slave device.
34. The network interface system as recited in claim 33 further including an adapter subsystem, and a data bus interface subsystem that couples the adapter subsystem and the programmable logic core to the slave bus.
35. The network interface system as recited in claim 34 wherein the adapter subsystem includes a programmable logic core test circuit, a parallel interface subsystem that couples a support logic core to the data bus interface subsystem, and a serial programming interface subsystem.
36. The network interface system as recited in claim 34 further including a controltest interface bus that couples the adapter subsystem to the programmable logic core.
37. The network interface system as recited in claim 29 wherein the programmable logic core is further coupled to the host system by a master bus, the programmable logic core further configured to be a master device to independently control the master bus.
38. The network interface system as recited in claim 29 wherein the first portion is configured to process control data and the second portion is as a direct memory access controller.
39. The network interface system as recited in claim 29 wherein the first portion is couplable to the host system by a control bus and the second portion is couplable to the host system by a data bus.
40. The network interface system as recited in claim 29 wherein the first portion is configured to include a control register, a statistics counter and a media independent interface manager.
41. The network interface system as recited in claim 29 further including first-in-first-out buffers coupled to the network interface subsystem and the data transmission subsystem, one of the first-in-first-out buffers configured to buffer data received from the network interface subsystem and another of the first-in-first-out buffers configured to buffer data received from the data transmission subsystem.
42. The network interface system as recited in claim 29 wherein the network interface subsystem is configured as an ethernet controller.