Claims
- 1. Apparatus for data communications, comprising:
at least one modem front end, adapted to receive an incoming communication signal conveying incoming information over a communication medium, and comprising:
front-end circuitry, which is coupled to receive the signal from the communication medium and to process the signal so as to generate a stream of incoming digitized samples; and a first local area network (LAN) interface unit, which is coupled to receive the incoming digitized samples and to frame the samples in data frames for transmission over a LAN; and at least one modem host, comprising: a second LAN interface unit, which is adapted to receive the data frames from the LAN and to extract the incoming digitized samples therefrom; and a sample processor, which is coupled to receive the incoming digitized samples from the second LAN interface unit, and to process the samples so as to extract the information from the signal.
- 2. Apparatus according to claim 1, wherein the at least one modem front end comprises a plurality of modem front ends, which are coupled to receive signals from respective communication media, and which are coupled to communicate with the at least one modem host over the LAN.
- 3. Apparatus according to claim 2, wherein the at least one modem host comprises a plurality of modem hosts.
- 4. Apparatus according to claim 1, wherein the at least one modem host comprises a plurality of modem hosts, which are coupled to communicate with the at least one modem front end over the LAN.
- 5. Apparatus according to claim 1, wherein the first and second LAN interface units comprise Ethernet interface units.
- 6. Apparatus according to claim 5, wherein the data frames in which the first LAN interface frames the samples are frames of fixed size, and wherein the first LAN interface is adapted to insert a header in each of the frames.
- 7. Apparatus according to claim 6, wherein the header comprises a running frame index and a parameter specifying a type of the frame, selected from a group of types consisting of samples, commands and notifications.
- 8. Apparatus according to claim 7, wherein when the type of the frame is the notification type, the first LAN interface is further adapted to insert at least one parameter in the header, from a group of parameters consisting of a sample counter index, a status response to a command, and an exception notification.
- 9. Apparatus according to claim 6, wherein the second LAN interface is adapted to send command frames to the first LAN interface unit, each of the command frames comprising a command header including at least one parameter from a group of parameters consisting of a command type, a sample counter index, and a command code.
- 10. Apparatus according to claim 1, wherein the communication medium comprises a telephone subscriber line.
- 11. Apparatus according to claim 10, wherein the front-end circuitry is adapted to receive the signal in accordance with an Asymmetric Digital Subscriber Line (ADSL) communication protocol, substantially as defined by standard G992.1 of the International Telecommunications Union.
- 12. Apparatus according to claim 11, wherein the modem host comprises a computer, and wherein the sample processor comprises a programmable processing unit of the computer, which is programmed in software to process the samples.
- 13. Apparatus according to claim 1, wherein the modem host comprises a computer, and wherein the sample processor comprises a programmable processing unit of the computer, which is programmed in software to process the samples.
- 14. Apparatus according to claim 13, wherein the programmable processing unit is further programmed to process the information extracted from the signal using a communication application program.
- 15. Apparatus according to claim 1, wherein the sample processor is further adapted to operate as a sample generator, which receives outgoing information to be conveyed over the communication medium and processes the outgoing information so as to generate outgoing digital samples, and
wherein the second LAN interface unit is adapted to frame and transmit the outgoing digital samples over the LAN to the first LAN interface unit, and wherein the front-end circuitry is coupled to receive and process the outgoing digital samples from the first LAN interface unit so as to generate an outgoing communication signal for transmission over the communication medium.
- 16. Apparatus according to claim 15, wherein the front-end circuitry is adapted to generate the outgoing communication signal substantially continuously, notwithstanding a transient disturbance in receiving the outgoing digital samples from the sample processor.
- 17. Apparatus according to claim 16, wherein the second LAN interface unit is adapted to add an index to the outgoing digital samples transmitted over the LAN indicative of a running count of the samples, and wherein the at least one modem front end is adapted to detect the transient disturbance responsive to the index, and to generate substitute samples for processing so as to compensate for the loss.
- 18. Apparatus according to claim 17, wherein the disturbance in the transmission comprises a loss of one or more of the data frames.
- 19. Apparatus according to claim 17, wherein the disturbance in the transmission comprises a delay in arrival of one or more of the data frames at the modem front end.
- 20. Apparatus according to claim 17, wherein the sample processor is adapted to generate a command to alter an operating parameter of the front-end circuitry at a point in time corresponding to a predetermined value of the running count of the samples, and
wherein the second LAN interface unit is adapted to send a command frame to the first LAN interface unit containing the command, which causes the front-end circuitry to alter the operating parameter when the running count reaches the predetermined value.
- 21. Apparatus according to claim 1, wherein the front-end circuitry comprises:
an analog front end, which is coupled to receive the signal in analog form, and to digitize the signal so as to generate raw digital samples; and digital preprocessing circuitry, which is adapted to performing one or more initial processing steps required to extract the information from the signal, whereby the stream of digitized samples conveyed to the sample processor comprises preprocessed samples, and wherein the sample processor is adapted to perform one or more subsequent processing steps on the preprocessed samples.
- 22. Apparatus according to claim 21, wherein the one or more initial processing steps comprise a time-to-frequency transformation step, so that the preprocessed samples comprise frequency-domain samples.
- 23. Apparatus according to claim 21, wherein the one or more initial processing steps comprise an equalization step.
- 24. Apparatus according to claim 21, wherein the one or more initial processing steps comprise an echo cancellation step.
- 25. Apparatus according to claim 21, wherein the digital preprocessing circuitry is configurable, under control of the sample processor, to bypass at least one of the initial processing steps, whereupon the sample processor itself performs the at least one of the initial steps that is bypassed.
- 26. Apparatus according to claim 25, wherein the incoming communication signal is received via a connection over the communication medium with a remote modem,
wherein during an initial phase of the connection, the digital preprocessing circuitry is configured so that the at least one of the initial processing steps is bypassed and performed by the sample processor, and wherein during a subsequent phase of the connection, following the initial phase, the digital preprocessing circuitry is reconfigured so that the at least one of the initial processing steps is no longer bypassed, whereby the digital preprocessing circuitry performs the at least one of the initial processing steps.
- 27. Apparatus according to claim 26, wherein the initial phase comprises a training phase, during which parameters of the connection are determined by negotiation between the sample processor and the remote modem, and wherein the parameters are set in the digital preprocessing circuitry during the subsequent phase.
- 28. Apparatus according to claim 25, wherein the digital preprocessing circuitry is configurable so that each of the initial processing steps can be activated or deactivated under control of the sample processor.
- 29. Apparatus according to claim 25, wherein the sample processor is adapted to control the digital preprocessing circuitry so as to activate the initial processing steps in sequence.
- 30. Apparatus according to claim 1, wherein the front-end circuitry comprises a local oscillator, which is adapted to generate a sampling clock for use in sampling the signal so as to generate the digitized samples, and
wherein the sample processor is adapted, responsive to the incoming digitized samples, to determine a desired frequency of the sampling clock, and wherein the second LAN interface unit is adapted to send a command frame to the first LAN interface unit indicating the desired frequency determined by the sample processor, causing the front-end circuitry to adjust the local oscillator responsive to the desired frequency.
- 31. Apparatus according to claim 30, wherein the local oscillator is configured to generate the sampling clock at a set of discrete operating frequencies, and
wherein the front-end circuitry comprises an oscillator controller, which is adapted to control the local oscillator so as to select the operating frequencies, and wherein when the desired frequency is between two of the discrete operating frequencies, the oscillator controller controls the local oscillator so that it generates the sampling clock at the two of the discrete operating frequencies in respective, alternating time intervals.
- 32. Apparatus according to claim 31, wherein the alternating time intervals have durations selected so that an average operating frequency of the sampling clock over the intervals is approximately equal to the desired frequency.
- 33. Apparatus according to claim 1, wherein the first LAN interface unit is adapted to add an index to each of the data frames indicative of a running count of the samples transmitted over the LAN, and wherein the sample processor is adapted to synchronize its operation with that of the modem front end responsive to the index.
- 34. Apparatus according to claim 33, wherein the sample processor is adapted to detect a disturbance in transmission of the data frames responsive to the index, and to generate substitute samples for processing so as to compensate for the disturbance.
- 35. Apparatus according to claim 34, wherein the disturbance in the transmission comprises a loss of one or more of the data frames.
- 36. Apparatus according to claim 34, wherein the disturbance in the transmission comprises a delay in arrival of one or more of the data frames at the sample processor.
- 37. Apparatus according to claim 33, wherein the sample processor is adapted to generate a command to alter an operating parameter of the front-end circuitry at a point in time corresponding to a predetermined value of the running count of the samples, and
wherein the second LAN interface unit is adapted to send a command frame to the first LAN interface unit containing the command, which causes the front-end circuitry to alter the operating parameter when the running count reaches the predetermined value.
- 38. Apparatus for data communications, comprising:
a modem host, comprising:
a sample generator, which is adapted to receive information for transmission over a communication medium and to generate, responsive to the information, a stream of outgoing digital sample values; a first local area network (LAN) interface unit, which is coupled to receive the outgoing digital sample values and to frame the values in data frames for transmission over a LAN; and a modem front end, comprising: a second LAN interface unit, which is adapted to receive the data frames from the LAN and to extract the outgoing digital sample values therefrom; and front-end circuitry, which is coupled to receive the outgoing digital sample values and to process the values so as to generate an outgoing signal for transmission over the public communication network.
- 39. A method for data communications, comprising:
receiving an incoming communication signal conveying incoming information over a communication medium; sampling and processing the incoming signal so as to generate a stream of incoming digitized samples; framing the incoming digitized samples in data frames for transmission over a local area network (LAN); transmitting the data frames over the LAN to a processing unit; extracting the samples from the frames at the processing unit; processing the samples, using the processing unit, so as to extract the information from the signal.
- 40. A method according to claim 39, wherein transmitting the data frames comprises selecting one of a plurality of processing units to process the samples, and transmitting the frames to the selected one of the processing units.
- 41. A method according to claim 39, wherein receiving the incoming communication signal comprises receiving the signal at one of a plurality of front-end units that are connected to communicate over the LAN.
- 42. A method according to claim 39, wherein transmitting the data frames comprises transmitting the frames over an Ethernet LAN.
- 43. A method according to claim 42, wherein transmitting the frames comprises framing the samples so that the frames are of substantially fixed size, and inserting a header in each of the frames.
- 44. A method according to claim 43, wherein the header comprises a running frame index and a parameter specifying a type of the frame, selected from a group of types consisting of samples, commands and notifications.
- 45. A method according to claim 44, wherein when the type of the frame is the notification type, inserting the header comprises inserting at least one parameter in the header, from a group of parameters consisting of a sample counter index, a status response to a command, and an exception notification.
- 46. A method according to claim 43, and comprising sending command frames from the processing unit over the LAN to a modem front end that receives and samples the signal, each of the command frames comprising a command header including at least one parameter from a group of parameters consisting of a command type, a sample counter index, and a command code.
- 47. A method according to claim 39, wherein receiving the incoming communication signal comprises receiving the signal over a telephone subscriber line.
- 48. A method according to claim 47, wherein receiving the signal comprises receiving the signal in accordance with an Asymmetric Digital Subscriber Line (ADSL) communication protocol, substantially as defined by standard G992.1 of the International Telecommunications Union.
- 49. A method according to claim 39, wherein processing the samples comprises processing the samples using a programmable processing unit of a computer, which is programmed in software to process the samples.
- 50. A method according to claim 49, and comprising processing the information extracted from the signal using a communication application program running on the computer.
- 51. A method according to claim 39, wherein the incoming signal is received, sampled and processed by a modem front end, and wherein the method comprises:
receiving outgoing information to be conveyed over the communication medium; processing the outgoing information so as to generate outgoing digital samples; framing and transmitting the outgoing digital samples over the LAN to the modem front end; and receiving and processing the outgoing digital samples received at the modem front end from the LAN so as to generate an outgoing communication signal for transmission over the communication medium.
- 52. A method according to claim 51, wherein processing the outgoing digital samples at the modem front end comprises generating the outgoing communication signal substantially continuously, notwithstanding a transient disturbance in receiving the outgoing digital samples from the sample processor.
- 53. A method according to claim 52, wherein framing and transmitting the outgoing digital samples comprises adding an index to the outgoing digital samples transmitted over the LAN indicative of a running count of the samples, and wherein generating the outgoing communication signal comprises detecting the transient disturbance at the modem front end responsive to the index, and generating substitute samples for processing so as to compensate for the loss.
- 54. A method according to claim 53, wherein detecting the transient disturbance comprises detecting a loss of one or more of the data frames.
- 55. A method according to claim 53, wherein detecting the disturbance in the transmission comprises detecting a delay in arrival of one or more of the data frames at the modem front end.
- 56. A method according to claim 39, wherein sampling and processing the incoming signal comprises:
digitizing the signal so as to generate raw digital samples; and performing on the raw digital samples at a modem front end one or more initial digital processing steps required to extract the information from the signal, whereby the incoming digitized samples comprise preprocessed samples, wherein processing the samples comprises performing one or more subsequent processing steps on the preprocessed samples.
- 57. A method according to claim 56, wherein performing the one or more initial processing steps comprises performing a time-to-frequency transformation step, so that the preprocessed samples comprise frequency-domain samples.
- 58. A method according to claim 56, wherein performing the one or more initial processing steps comprises performing an equalization step.
- 59. A method according to claim 56, wherein performing the one or more initial processing steps comprises performing an echo cancellation step.
- 60. A method according to claim 56, wherein sampling and processing the incoming signal comprises bypassing at least one of the initial digital processing steps in the modem front end, under control of the sample processor, whereupon processing the samples comprises performing, using the processing unit, the at least one of the initial steps that is bypassed.
- 61. A method according to claim 60, wherein receiving the incoming communication signal comprises receiving the signal via a connection over the communication medium with a remote modem, and
wherein bypassing the at least one of the initial digital processing steps comprises configuring the modem front end to bypass the at least one of the steps during an initial phase of the connection, so that the at least one of the initial processing steps is performed by the processing unit, and comprising, during a subsequent phase of the connection, following the initial phase, reconfiguring the modem front end so that the at least one of the initial processing steps is no longer bypassed, whereby the modem front end performs the at least one of the initial processing steps.
- 62. A method according to claim 61, wherein the initial phase comprises a training phase, during which parameters of the connection are determined by negotiation between the sample processor and the remote modem, and wherein the parameters are implemented in the modem front end during the subsequent phase.
- 63. A method according to claim 61, wherein reconfiguring the modem front end comprises activating the initial processing steps in the modem front end in sequence.
- 64. A method according to claim 60, wherein the modem front end is configured so that each of the initial processing steps can be activated or deactivated under control of the sample processor, and wherein bypassing the at least one of the initial digital processing steps comprises selecting one or more of the steps to bypass using the sample processor.
- 65. A method according to claim 39, wherein sampling the incoming signal comprises generating a sampling clock in a modem front end, and sampling the signal in the modem front end responsive to the clock so as to generate the digitized samples, and wherein the method further comprises:
determining at the processing unit, responsive to the incoming digitized samples, a desired frequency of the sampling clock; sending a command frame from the processing unit over the LAN to the modem front end indicating the desired frequency; and adjusting the sampling clock at the modem front end responsive to the desired frequency indicated by the command frame.
- 66. A method according to claim 65, wherein generating the sampling clock comprises generating the clock at a set of discrete operating frequencies, and when the desired frequency is between two of the discrete operating frequencies, switching the sampling clock between the two of the discrete operating frequencies in respective, alternating time intervals.
- 67. A method according to claim 66, wherein switching the sampling clock comprises setting durations of the alternating time intervals so that an average operating frequency of the sampling clock over the intervals is approximately equal to the desired frequency.
- 68. A method according to claim 39, wherein framing the incoming digitized samples comprises adding an index to each of the data frames indicative of a running count of the samples transmitted over the LAN, and wherein processing the samples comprises synchronizing the processing of the samples responsive to the index.
- 69. A method according to claim 68, and comprising detecting an event associated with the incoming communication signal, and reporting the event to the processing unit along with the index to identify a time at which the event occurred.
- 70. A method according to claim 68, wherein synchronizing the processing of the samples comprises:
detecting a disturbance in transmission of the data frames responsive to the index; and generating substitute samples for processing so as to compensate for the disturbance.
- 71. A method according to claim 70, wherein detecting the disturbance in the transmission comprises detecting a loss of one or more of the data frames.
- 72. A method according to claim 70, wherein detecting the disturbance in the transmission comprises detecting a delay in arrival of one or more of the data frames at the sample processor.
- 73. A method according to claim 68, wherein sampling and processing the incoming signal comprises sampling and processing the signal in a modem front end, and comprising:
generating a command to alter an operating parameter of the front end at a point in time corresponding to a predetermined value of the running count of the samples; and sending a command frame containing the command over the LAN from the processing unit to the front end, which causes the front end to alter the operating parameter when the running count reaches the predetermined value.
- 74. A method for data communications, comprising:
receiving outgoing information for transmission over a communication medium; generating, responsive to the information, a stream of outgoing digital sample values; framing the outgoing digital sample values in data frames for transmission over a local area network (LAN); transmitting the data frames over the LAN to a modem front end; extracting the sample values from the frames at the modem front end; processing the sample values at the modem front end so as to generate an outgoing signal for transmission over the public communication network.
- 75. A front end unit for a modem, comprising:
front-end circuitry, which is adapted to receive an incoming communication signal conveying incoming information over a communication medium, and to process the signal so as to generate a stream of incoming digitized samples; and a local area network (LAN) interface unit, which is coupled to receive the incoming digitized samples and to frame the samples in incoming data frames for transmission over a LAN to a modem host for processing of the samples so as to extract the information from the signal.
- 76. A front end unit according to claim 75, wherein the LAN interface unit is further adapted to receive outgoing data frames transmitted over the LAN by the modem host, the outgoing data frames containing outgoing digital samples, and
wherein the front-end circuitry is adapted to receive and process the outgoing digital samples from the LAN interface unit so as to generate an outgoing communication signal for transmission over the communication medium.
- 77. A computer software product, comprising a computer-readable medium in which program instructions are stored, which instructions, when executed by a computer, cause the computer to receive data frames from a LAN, the data frames containing incoming digitized samples generated by a modem front end responsive to an incoming communication signal conveying incoming information received by the modem front end over a communication channel, and further cause the computer to extract the incoming digitized samples from the data frames, and to process the samples so as to extract the information from the signal.
- 78. A product according to claim 77, wherein the instructions further cause the computer to generate outgoing digital sample values responsive to outgoing information to be conveyed by the computer over the communication channel, and to frame and transmit the outgoing digital sample values over the LAN to the modem front end, causing the modem front end to generate, responsive to the outgoing digital sample values an outgoing communication signal for transmission over the communication channel.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a continuation-in-part of U.S. Patent Application 08/929,882, filed Sep. 15, 1997, which is assigned to the assignee of the present patent application and whose disclosure is incorporated herein by reference.
Continuation in Parts (2)
|
Number |
Date |
Country |
| Parent |
08929882 |
Sep 1997 |
US |
| Child |
10093094 |
Mar 2002 |
US |
| Parent |
08775385 |
Dec 1996 |
US |
| Child |
08929882 |
Sep 1997 |
US |