The present invention relates generally to communication systems and, in particular, to sidelobe suppression or out-of-band emission reduction in multicarrier communication systems.
Multicarrier systems, such as orthogonal frequency-division multiplexing (OFDM), are widely employed in broadband communication due to their high spectrum efficiency and simple frequency domain equalisation in dense multipath channels. Spectrum shaping, in particular sidelobe suppression, is an important design consideration in such systems. The waveform of each OFDM subcarrier is inherently a sine function, and the power of sine sidelobes decays slowly as f2, where f is the frequency distance to the main lobe. The problem of sidelobe suppression becomes more significant when multicarrier modulation is applied in cognitive radio, where instantaneously spare frequency bands in primary systems are proposed to be used by intelligent secondary systems. Such secondary systems need to ensure that their transmitted signal has very sharp spectrum roll-off to maximise their usable bandwidth and minimise interference to primary systems.
Conventionally, time-domain windowing, such as raised cosine windowing, is applied for sidelobe suppression (out-of-band emission reduction).
The length of the guarding interval of the second guarding prefix added at the module 130 depends on the spectrum sharpness to be achieved. The sharper the roll-off of the spectrum needs to be, the longer the guarding interval required. Furthermore, some guarding subcarriers in the two edges of the band are also needed in order to complement the windowing effect. As a result, the spectrum efficiency can be significantly reduced by the windowing module 140. In addition, it is difficult for the time-domain windowing module 140 to achieve large enough out-of-band emission reduction in cognitive radios where multicarrier modulation over non-contiguous subbands is frequently employed. In these applications, a straightforward technique is to apply notch filters to the unallocated subbands. However, a digital implementation of a notch filter would increase the processing complexity considerably, and an analog implementation would be costly and difficult to adapt to dynamic band allocation.
Recently, some signal pre-distortion (precoding) techniques have been proposed for sidelobe suppression. These techniques can be classified into two classes: 1) cancelling out-of-band emission from data subcarriers by optimising the signals at reserved subcarriers; and 2) pre-distorting data symbols to minimise their combined out-of-band emission. Class 1 techniques can achieve good sidelobe suppression, but lead to signal-to-noise power ratio (SNR) degradation in the receiver as power is wasted at the reserved subcarriers. Furthermore, their complexity, which is proportional to the number of points to be cancelled in the sidelobe, could be quite high for large suppression. Class 2 techniques optimise a precoding matrix via some cost function of the out-of-band emission. These techniques have the advantage of maintaining the receiver SNR by using an orthogonal precoding matrix. However, their computational complexity is proportional to the square of the number of subcarriers in the band of interest and is therefore impractical for most applications.
It is an object of the present invention to substantially overcome, or at least ameliorate, one or more disadvantages of existing arrangements.
Disclosed are systems and methods for out-of-band emission reduction in multicarrier systems. The disclosed methods use signal precoding by a precoding matrix configured to minimise emissions at certain out-of-band frequencies, thereby generally lowering out-of-band emissions. At least one subcarrier is reserved for recovering the transmitted symbols at the receiver in the presence of the inter-symbol interference (ISI) introduced by the precoding matrix.
The disclosed methods do not use any guard band or any dedicated time-domain cancellation symbol, so the spectral efficiency and power efficiency are improved over the conventional windowing approach. In addition, the disclosed methods generally achieve a better balance between sidelobe suppression performance and complexity than conventional methods. They also have a clear physical interpretation, thus enabling flexible and straightforward parameter configuration.
According to a first aspect of the present invention, there is provided a transmitter for a communication system, the transmitter comprising: a sidelobe suppression module configured to apply a suppression matrix to an input vector comprising symbols to be transmitted by the transmitter; a modulation module configured to modulate the precoded vector to a time-domain symbol using a plurality of subcarriers, each symbol in the precoded vector having a corresponding subcarrier; and a digital-to-analog conversion module configured to convert the time-domain symbol to an analog waveform for transmission, wherein the suppression matrix is constructed such that emissions at one or more predetermined suppression distances lying outside a frequency band defined by the subcarriers are set to zero according to a predetermined emission model.
According to a second aspect of the present invention, there is provided a receiver for a communication system over a channel, the receiver comprising: a demodulation module configured to convert a time-domain received symbol to a vector of received symbols, each received symbol corresponding to a subcarrier, each subcarrier being a data subcarrier or a reserved subcarrier on which a zero symbol was transmitted; and an equalisation module configured to: equalise the received symbol vector based on the characteristics of the channel, and estimate an input symbol vector from the equalised symbol vector.
According to a third aspect of the present invention, there is provided a method of transmitting a symbol sequence over a communication channel, the method comprising: applying a suppression matrix to an input vector comprising symbols from the symbol sequence; modulating the precoded vector to a time-domain symbol using a plurality of subcarriers, each symbol in the precoded vector having a corresponding subcarrier; and converting the time-domain symbol to an analog waveform for transmission, wherein the suppression matrix is constructed such that emissions at one or more predetermined suppression distances lying outside a frequency band defined by the subcarriers are set to zero according to a predetermined emission model.
According to a fourth aspect of the present invention, there is provided a method of receiving a symbol sequence over a communication channel, the method comprising: converting a time-domain received symbol to a vector of received symbols, each received symbol corresponding to a subcarrier, each subcarrier being a data subcarrier or a reserved subcarrier on which a zero symbol was transmitted; equalising the received symbol vector based on the characteristics of the channel; and estimating the symbol sequence from the equalised symbol vector.
At least one embodiment of the present invention will now be described with reference to the drawings, in which:
Where reference is made in any one or more of the accompanying drawings to steps and/or features, which have the same reference numerals, those steps and/or features have for the purposes of this description the same function(s) or operation(s), unless the contrary intention appears.
The number of subbands may be one, in which case all N subcarriers are allocated to that subband.
Each sequence of input symbols to the transmitter 200 is passed through a precoding module, e.g. 250, which applies a precoding matrix to the input symbols. For DFT-OFDM or SC-FDMA, this precoding matrix is an FFT matrix, and for a conventional OFDM system, it is an identity matrix. The output of the precoding module 250 is weighted by a diagonal phase shifting matrix in a weighting module, e.g. 260. For DFT-OFDM, the diagonal elements of this phase shifting matrix are a pseudo random sequence, and this matrix is known to the receiver. For a conventional OFDM system, the phase shifting matrix is an identity matrix. The output of the weighting module 260 is then passed through a sidelobe suppression module, e.g. 210. The sidelobe-suppressed symbol sequences from all the occupied subbands are passed to a modulation module 220 for conversion to a time-domain symbol. In the OFDM case, the modulation module 220 is an N-point Inverse Fast Fourier Transform (IFFT) module. A guarding prefix module 230 adds a guarding prefix to the time-domain symbol, and a digital-to-analog conversion module 240 converts the time-domain symbol to an analog waveform for transmission.
Each sidelobe suppression module, e.g. 210, operates independently of and executes the same method as the other sidelobe suppression modules. The following therefore describes only the sidelobe suppression module 210.
The sidelobe suppression module 210 operates in subband 1 comprising M sub carriers, where M≦N, indexed by m=0, . . . , M−1. The subcarrier frequency interval is denoted as δf. The M-vector of signal samples at the M subcarriers is denoted as {tilde over (x)}=[{tilde over (x)}0, {tilde over (x)}1, . . . , {tilde over (x)}M-1]. The power emitted by the M subcarriers in the frequency range f<0 and f>(M−1) δf is referred to as out-of-band emission or sidelobe power.
The goal of the sidelobe suppression module 210 is to reduce the amount of out-of-band emission. The following description is formulated on the basis of an analog emission model with a sine kernel function, though other formulations based on other emission models such as the DFT model based on a periodic sinc kernel may be contemplated.
Under the sinc-kernel analog model, the emitter power b at a frequency to, which is normalized to the frequency interval δf, from M subcarriers is given by
The sidelobe suppression module 210 reduces sidelobe power by setting the emission b(ω) according to the emission model to zero at p distinct (normalised) frequencies denoted as ω0, ω2, . . . , ωp-1 and referred to herein as suppression distances, where p is greater than or equal to one. Each of the p suppression distances ωi (i=0, . . . , p−1) lies outside the subband frequency range [0, M−1].
Using equations (1) to (3), the p-vector b of emissions at the suppression distances according to the sine-kernel analog model can be represented as
where C is a M by p matrix defined as
and Φ is a p by p diagonal matrix with the i-th diagonal element being equal to sgn(ωi)(e−2πjω
The sidelobe suppression module 210 reduces sidelobe power by multiplying an M-vector z of symbols, being the input to the sidelobe suppression module 210, by an M by M suppression matrix P to obtain the signal vector {circumflex over (x)}, where P is constructed so that b=0. In practice, the actual emissions at the suppression distances cannot be exactly zero, but under this construction of the suppression matrix P, approach zero as the sampling rate approaches infinity.
In one implementation, P is constructed as follows:
P=I
M
−C(CTC)−1CT (6)
where IM is the identity matrix of size M by M. When C is a matrix of full column rank, i.e. rank(C)=p, which is usually the case provided the suppression distances ω0, ω2, . . . , ωp-1 are widely spaced, multiplication of input vector z by the suppression matrix P constructed according to equation (6) performs the orthogonal projection of z onto the null space of CT. Since the rank of CT is p, the rank of P is less than or equal to M−p. Other implementations contemplate different constructions of the suppression matrix P, with the goal of achieving b=0 and thereby reducing the out-of-band emission.
To suppress sidelobes equally on two sides of a subband, p is chosen as an even number, and the suppression distances are chosen in symmetric pairs on either side of the subband. The symmetric “pair” suppression distance of a (normalised) suppression distance ωi is given by ωp-1-i=M−1−ωi.
The multiplication of z by P effectively introduces inter-symbol interference (ISI) to the input vector z. For sidelobe suppression purposes, the design of the suppression matrix P is independent of the input vector z and there is no restriction on the values of z. However, since the rank of P is less than or equal to M−p, P is not invertible as long as p>0. The un-precoded symbol vector z therefore cannot in general be recovered from Pz. The ISI becomes the performance-limiting factor when noise power is low.
To enable ISI-free symbol recovery, some of the M subcarriers in the subband are reserved to transmit a zero symbol. The number q of reserved subcarriers is greater than or equal to p. The q reserved subcarriers should be spaced as widely as possible within the subband in order to minimise noise enhancement at the receiver. To minimise out-of-band emissions, at least one reserved subcarrier should be allocated to each edge of the subband. Thus in one implementation, the set S of indices of reserved subcarriers is defined with even spacing within the subband as follows:
S={0,v−1,2v−1, . . . ,(q−2)v−1,M−1} (7)
where
Let an (M−q)-vector {tilde over (s)} denote the M−q symbols assigned to the M−q unreserved subcarriers before the sidelobe suppression module 210. The vector {tilde over (s)} represents the non-zero elements in z. The vector {tilde over (s)} represents the input symbols to be transmitted in one subband of the transmitter 200 for conventional OFDM systems, or the output of the weighting module 260 in a precoding OFDM system such as DFT-OFDM. Using equation (6), the vector {tilde over (x)} of precoded symbols that is passed to the IFFT module 220 to modulate the M subcarriers allocated to the subband is given by
{tilde over (x)}=√{square root over (λ)}(IM−C(CTC)−1CT)z (9)
where the scaling factor λ is introduced so that the mean power E{∥{tilde over (x)}∥2} of {tilde over (x)} is 1, and the elements zk (k=0, . . . , M−1) of the input vector z are defined as
where g(k) is a function that maps the indices k of the unreserved subcarriers to the indices 0, . . . , M−q−1 of {tilde over (s)}.
Three implementations of sidelobe suppression according to equations (9) and (10) are now described.
Implementation A:
Single-sided sidelobe suppression with p=q=1.
where {tilde over (s)} is an (M−1)-vector of data symbols, and
for suppressing sidelobes with (normalised) suppression distance ω0<0, or
for suppressing sidelobes with (normalised) suppression distance ω0>M−1.
Implementation B:
Double-sided sidelobe suppression with p=q=2.
The “pair” suppression distance of ω0<0 is M−1-ω0. Thus the matrix C becomes
and {tilde over (z)}=[0,{tilde over (s)}T,0]T, where {tilde over (s)} is an (M−2)-vector of data symbols.
Implementation C:
Double-sided sidelobe suppression with p=q=4.
The four suppression distances ωp are ω0−M/2, ω0, M−1−ω0, and 3M/2−1−ω0, for ω0<0. The indices S of the q reserved subcarriers are 0, floor(M/3)−1, 2*floor(M/3)−1, and M−1.
Three implementations of the equalisation module 430 are described below: ISI-free zero-forcing, minimum mean-squared error (MMSE), and Principal Subspace Approximation (PSA).
ISI-Free Zero-Forcing:
Consider a multipath channel with frequency domain coefficients hi (i=0, . . . , M−1) corresponding to the M subcarriers in a subband. The received symbol vector {tilde over (y)} in that subband after the demodulation module 420 can be expressed as
{tilde over (y)}=D{tilde over (x)}+ñ (15)
where D is an M-by-M diagonal matrix with diagonal elements equal to hi, and ñ is an additive white Gaussian noise M-vector with zero mean and variance σn2.
The equalisation module 430 implements zero-forcing equalisation defined as a channel inversion:
Using equations (9) and (15), the equalised symbol vector {tilde over (r)} may be written as
As mentioned above, the input vector z cannot be recovered by pre-multiplying the equalised symbol vector {tilde over (r)} by an inverse P−1 of P, since P in general has no inverse.
Instead, define {tilde over (r)}r and {tilde over (r)}d as q- and (M−q)-sub-vectors extracted from the equalised symbol vector {tilde over (r)} with indices corresponding to the reserved subcarriers in the set S and the data subcarriers, respectively. D, C, and ñ may likewise be partitioned into respective “reserved” and “data” partitions Dr (q by q) and Dd ((M−q) by (M−q)), Cr (q by p) and Cd ((M−q) by p), ñ, and ñd. Equation (17) then separates into
for the M−q data subcarriers and
for the q reserved subcarriers. The second term in equation (18) represents ISI that may be cancelled using equation (19).
Since Cr generally has full column rank, i.e. rank (Cr))=p, there exists a pseudo-inverse Cr−1 of Cr such that Cr−1Cr=Ip. Pre-multiplying equation (19) by CdCr−1, then subtracting from equation (18), gives
The equalisation module 430 therefore forms an estimate <{tilde over (s)}> of the data symbols {tilde over (s)} by forming a de-interference matrix W as CdCr−1, multiplying W by the vector {tilde over (r)}r of equalised symbols corresponding to the reserved subcarriers, and subtracting the product from the vector {tilde over (r)}d of equalised symbols corresponding to the data subcarriers:
<{tilde over (s)}>={tilde over (r)}−CdCr−1{tilde over (r)}r (21)
The effect of forming the de-interference matrix W as CdCr−1 is to cancel the ISI from the equalised data symbol vector {tilde over (r)}d.
Minimum Mean-Squared Error (MMSE):
An MMSE implementation of the equalisation module 430 is based on the principle of maximising the block SINR. The block SINR is defined as the mean signal to interference and noise power ratio of the signal, averaged over each block (one OFDM symbol in an OFDM system). The equalisation module 430 first performs zero-forcing equalisation according to equation (16), as in the ISI-free zero-forcing implementation.
A global MMSE solution would compute an (M−q)-by-M matrix Wg satisfying
and would form the estimate <{tilde over (s)}> as Wg {tilde over (r)}. However, this is too complex to compute efficiently. Instead, the MMSE implementation of the equalisation module 430 computes an (M−q)-by-q de-interference matrix W0 which minimises the expected difference between the input symbol vector and the estimated symbol vector:
Defining matrices A and G as
A=C
d(CTC)−1CdT (24)
and
G=C
r(CTC)−1CdT (25)
allows the equalisation module 430 to compute the de-interference matrix W0 as
where σs2 is the mean power of the data symbols in {tilde over (s)}.
The equalisation module 430 then forms an estimate <{tilde over (s)}> of the data symbol {tilde over (s)} from the equalised symbols {tilde over (r)} by multiplying the de-interference matrix W0 by the reserved symbol partition {tilde over (r)}r and subtracting from the data symbol partition {tilde over (r)}d as follows:
<{tilde over (s)}>={tilde over (r)}d−W0rr (27)
In equation (26), AGT and GGT are fixed (M−q)-by-q and q-by-q matrices, respectively, both of which can be pre-computed and stored. The term σs2|Dr|−2 needs to be updated when the channel characteristics vary, and once that term changes, the equalisation module 430 needs to re-compute the matrix inversion in equation (26). The complexity of this matrix inversion is low when q is small.
Principal Subspace Approximation (PSA):
Forming the pseudo-inverse Cr−1 of Cr in the ISI-free zero-forcing implementation is adversely affected by the near-zero singular values of Cr. The PSA implementation of the equalisation module 430 instead constructs a de-interference matrix W from only the p0 significant (non-near-zero) singular values of Cr, where p0≦p. Denoting the singular value decomposition of Cr as UrΣrVr, and the p0 significant singular values of Cr as {σr,0, σr,1, . . . , σr,p
C
r
i
=V
r
−1diag(σr,0−1,σr,1−1, . . . ,σr,p
then forms a de-interference matrix W as CdCri, and finally forms an estimate <{tilde over (s)}> of the data symbols {tilde over (s)} from the zero-forcing-equalised symbols {tilde over (r)} as follows:
<{tilde over (s)}>={tilde over (r)}d−W{tilde over (r)}r, (29)
The optimal choice of the number p0 of significant singular values of Cr to balance noise enhancement (caused by large p0) and ISI (caused by small p0) is dependent on the scenario in which the PSA implementation is used.
The module 510 in the implementation 500 multiplies the pre-computed matrix U and the (M−q)-vector {tilde over (s)} of data symbols to obtain U{tilde over (s)}, requiring p(M−q) multiplications. The module 520 then multiplies the pre-computed matrix C by the output of the module 510 to obtain an M-vector u, using pM multiplications. Finally, the module 530 forms the vector {tilde over (x)} of precoded symbols in accordance with equation (9), by subtracting the output u of the module 520 from the data symbol M-vector z formed by inserting q zeros into the vector {tilde over (s)} of data symbols.
Noise enhancement has different impact on conventional OFDM and precoding OFDM systems. Further treatment of the noise enhancement apart from the two equalisers presented above varies from system to system.
For precoded OFDM systems, such as DFT-OFDM systems, the enhanced noise due to the ISI-free receiver is not equally distributed over different information symbols. Instead, the symbols on the two edges of the precoding/FFT input suffer from most noise. To reduce noise enhancement in a DFT-OFDM transmitter due to the precoding carried out in the sidelobe suppression modules, e.g. 210, several points at the two edges of the FFT module inputs can be set to zero symbols.
Another approach to reduce noise enhancement in a DFT-OFDM transmitter with sidelobe suppression is for the weighting module 260 to introduce a phase shift to the precoded input symbols before sidelobe suppression. This weighting module 260 can distribute the noise to different symbols.
For conventional OFDM systems, reducing noise enhancement is implemented within the receiver. The approach is to apply a DFT to the symbol estimate vector <{tilde over (s)}> to convert to time domain. Samples which see larger noise power in the DFT output are set to zeros, and an IDFT is then applied to convert the modified time-domain symbol back to frequency domain for symbol de-mapping. Note that this approach is effective only when the average block SNR is so small that the signal energy is not larger than the noise energy at the point where the noise is to be nulled out. In actual implementation, the above steps can be simplified as described below.
The significant noise terms occur at symbols (or subcarriers) with index set μ. Denote the index set of the remaining symbols as v. The IDFT matrix F* is divided into two parts Fμ* and Fv* according to the index sets μ and v:
The noise enhancement reduction process described above can be represented by
<{tilde over (s)}>out=FvFv*<{tilde over (s)}>=<{tilde over (s)}>−FμFμ*<{tilde over (s)}> (31)
Thus only 2μ(M−q) multiplications are required in this implementation where μ is the size of the index set μ. In the case where only the first symbol, which is always the largest noise term, is to be removed, Fμ* is an all-one row vector, so equation (31) becomes
<{tilde over (s)}>out=<{tilde over (s)}>−mean(<{tilde over (s)}>)) (32)
As seen in
As seen in
The electronic device 601 also has a communications interface 608 to permit coupling of the electronic device 601 to a computer or communications network 620 via a connection 621. The connection 621 may be wired or wireless. For example, the connection 621 may be radio frequency or optical. An example of a wired connection includes Ethernet. Further, an example of wireless connection includes Bluetooth™ type local interconnection, Wi-Fi (including protocols based on the standards of the IEEE 802.11 family), Infrared Data Association (IrDa) and the like.
The methods carried out by the sidelobe suppression module 210 and the equalisation module 430 may be implemented as one or more software application programs 633 executable within the embedded controller 602. In particular, with reference to
The software 633 of the embedded controller 602 is typically stored in the non-volatile ROM 660 of the internal storage module 609. The software 633 stored in the ROM 660 can be updated when required from a computer readable medium. The software 633 can be loaded into and executed by the processor 605. In some instances, the processor 605 may execute software instructions that are located in RAM 670. Software instructions may be loaded into the RAM 670 by the processor 605 initiating a copy of one or more code modules from ROM 660 into RAM 670. Alternatively, the software instructions of one or more code modules may be pre-installed in a non-volatile region of RAM 670 by a manufacturer. After one or more code modules have been located in RAM 670, the processor 605 may execute software instructions of the one or more code modules.
The application program 633 is typically pre-installed and stored in the ROM 660 by a manufacturer, prior to distribution of the electronic device 601. However, in some instances, the application programs 633 may be supplied to the user encoded on the computer readable storage medium 625 and read via the portable memory interface 606 of
In another alternative, the software application program 633 may be read by the processor 605 from the network 620, or loaded into the embedded controller 602 from other computer readable media. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and/or data to the electronic device 601 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.
The second part of the application programs 633 and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon the display 614 of
The processor 605 typically includes a number of functional modules including a control unit (CU) 651, an arithmetic logic unit (ALU) 652 and a local or internal memory comprising a set of registers 654 which typically contain atomic data elements 656, 657, along with internal buffer or cache memory 655. One or more internal buses 659 interconnect these functional modules. The processor 605 typically also has one or more interfaces 658 for communicating with external devices via system bus 681, using a connection 661.
The application program 633 includes a sequence of instructions 662 though 663 that may include conditional branch and loop instructions. The program 633 may also include data, which is used in execution of the program 633. This data may be stored as part of the instruction or in a separate location 664 within the ROM 660 or RAM 670.
In general, the processor 605 is given a set of instructions, which are executed therein. This set of instructions may be organised into blocks, which perform specific tasks or handle specific events that occur in the electronic device 601. Typically, the application program 633 waits for events and subsequently executes the block of code associated with that event. Events may be triggered in response to input from a user, via the user input devices 613 of
The execution of a set of the instructions may require numeric variables to be read and modified. Such numeric variables are stored in the RAM 670. The disclosed method uses input variables 671 that are stored in known locations 672, 673 in the memory 670. The input variables 671 are processed to produce output variables 677 that are stored in known locations 678, 679 in the memory 670. Intermediate variables 674 may be stored in additional memory locations in locations 675, 676 of the memory 670. Alternatively, some intermediate variables may only exist in the registers 654 of the processor 605.
The execution of a sequence of instructions is achieved in the processor 605 by repeated application of a fetch-execute cycle. The control unit 651 of the processor 605 maintains a register called the program counter, which contains the address in ROM 660 or RAM 670 of the next instruction to be executed. At the start of the fetch execute cycle, the contents of the memory address indexed by the program counter is loaded into the control unit 651. The instruction thus loaded controls the subsequent operation of the processor 605, causing for example, data to be loaded from ROM memory 660 into processor registers 654, the contents of a register to be arithmetically combined with the contents of another register, the contents of a register to be written to the location stored in another register and so on. At the end of the fetch execute cycle the program counter is updated to point to the next instruction in the system program code. Depending on the instruction just executed this may involve incrementing the address contained in the program counter or loading the program counter with a new address in order to achieve a branch operation.
Each step or sub-process in the processes of the methods described below is associated with one or more segments of the application program 633, and is performed by repeated execution of a fetch-execute cycle in the processor 605 or similar programmatic operation of other independent processor blocks in the electronic device 601.
The precoding module 250, the weighting module 260, the sidelobe suppression module 210, the equalisation module 430, the de-weighting module 440, and the de-precoding module 450 may alternatively be implemented in dedicated hardware such as one or more integrated circuits performing the functions or sub functions of the modules respectively. Such dedicated hardware may include graphic processors, digital signal processors, or one or more microprocessors and associated memories.
The arrangements described are applicable to the broadband communication industries.
The foregoing describes only some embodiments of the present invention, and modifications and/or changes can be made thereto without departing from the scope and spirit of the invention, the embodiments being illustrative and not restrictive.
Number | Date | Country | |
---|---|---|---|
Parent | 13516288 | Sep 2012 | US |
Child | 14324829 | US |