The present invention relates to a Digital Encoder and method of encoding, and more particularly to an encoder for multicarrier waveform based encoding schemes such as Universal filtered Orthogonal frequency division multiplexing (UF-OFDM) encoding as defined hereafter.
With the proliferation of internet applications, it is expected that the mobile traffic volume supported by future communication networks will be almost 500 times larger than today's by 2020. To respond favourably to such constraints while keeping a high level of user quality of experience, system capacity and user fairness should be largely improved for the future 5th generation (5G) mobile communication systems.
Universal Filtered Orthogonal Frequency Division Multiplexing (UF-OFDM, also sometimes referred to as Universal Filtered Multi Carrier) is one of the major 5G candidate waveform originally proposed by V. Vakilian, T. Wild, F. Schaich, S. ten Brink and J. F. Frigon, in “Universal-filtered multi-carrier technique for wireless systems beyond LTE,” 2013 IEEE Globecom Workshops (GC Wkshps), Atlanta, Ga., 2013, pp. 223-228. The standard implementation of this waveform consists of dividing the sub-carriers into sub-bands which are independently filtered in time domain. UF-OFDM shows advantages for low-latency communications and enables the use of relaxed synchronization to save bandwidth and energy as described by F. Schaich and T. Wild, in “Relaxed synchronization support of universal filtered multi-carrier including autonomous timing advance,” 2014 11th International Symposium on Wireless Communications Systems (ISWCS), Barcelona, 2014, pp. 203-208.
The majority of the techniques employed in OFDM can be reused without significant modification, for instance the Multi-Input Multi-Output (MIMO) Alamouti scheme.
However, the major issue of the UF-OFDM modulation is the computational complexity of the transmitter.
UF-OFDM, or UFMC, is a multi-carrier modulation. The principle of the multi-carrier modulation is to transmit data over multiple channels in the frequency domain, called sub-carriers. If N is the total number of sub-carriers and fsamp is the sampling frequency, then the frequency spacing between each channel (sub-carrier) is equal to fsamp/N.
The principle of UF-OFDM modulation is to group the input symbols into several sub-bands composed of Q sub-carriers. A maximum of K=N/Q sub-bands, each carrying Q sub-carriers, can be used. The secondary side-lobes, representing residual power outside a sub-band, of each sub-band are attenuated by filtering each sub-band independently by a corresponding filter of length L samples. Then, the filtered sub-bands are summed together. This forms the baseband samples, composed of N+L−1 samples and sampled at fsamp.
Thus, for each sub-band k, the output symbols of the sub-band mapper have N symbols defining the N sub-carriers. Only Q sub-carriers, defining the sub-band index k, carry the data to transmit. The remaining sub-carriers are not used (zero padded). Thus, each sub-band is isolated from the others, and will be processed independently.
To summarise, the sub-band mapper is implemented using the following operations:
Segmentation,
Zero padding,
Circular shift.
The output of the sub-band mapper is received by each of K Inverse Fast Fourier Transform (IFFT) blocks 131, 132, 133, where K is the number of sub-bands, each IFFT being of size N. The IFFT blocks each provide the transformed symbols to respective filter 141, 142, 143, each composed of L samples and implementing a linear convolution. The outputs of the filters 141, 142, 143 are then summed by a summer 150 to obtain the final UF-OFDM signal.
Accordingly, the operation of the UF-OFDM encoder can be described as follows,
K is the number of sub-bands.
N is the total number of sub-carriers across all the sub-bands, so N=K sub-bands×Q sub-carriers per sub-band.
Q is the sub-band width (number of sub-carriers per sub-band).
L is the filter length.
RN is the rectangular function of length N: RN(n)=1,n∈0,N−1, else 0.
sk(q) denotes the input symbols to be transmitted in the qth sub-carrier of the kth sub-band.
s
k(q)=c(q+kQ)
Where c(i) is a stream of N=K×Q input symbols from a QAM mapper. If the number of QAM symbols to transmit is inferior to N, then the remaining input symbols must be filled with zero valued coefficients.
The function fQ(l) is the impulse response of the sub-band prototype, referred to hereafter as the UF-OFDM filter f(l)frequency shifted by half the sub-band size as follows:
Where
is a linear phase rotation term.
The choice of the UF-OFDM filter f(l) is a design parameter. It is known for example to use the coefficients from the Chebyshev window, obtained as described by H. D. Helms in “Digital filters with equiripple or minimax responses,” IEEE Transactions on Audio and Electroacoustics, vol. 19, pp. 87-94, March 1971, however many other filter designs are compatible with the UF-OFDM encoding, and the design and selection of such filters is outside the scope of the present disclosure.
On this basis, the computational complexity of the encoder corresponding to the required number of multiplications to compute one UF-OFDM symbol can be evaluated as follows.
The number of real multipliers (RM) per UF-OFDM symbol, where a complex multiplier corresponds to four real multipliers, is given by:
C
RM(UF_OFDM)=B(CRM(FFTN)+4L(L+N))
With CRM(FFTN)=4N log2(N)−6N+8 (Split radix FFT Complexity), where B is the number of allocated sub-bands, corresponding to the number of sub-bands composed of non-zero valued input symbols.
If by way of example N is set to 2048 and L is set to 144, this gives the complexity values set out in table 1 below. For the results presented in the table below, the number of allocated sub-bands is equal to K=N/Q, the worst case. Other values will be obtainable for other numbers of allocated sub-bands. These may be compared with the values for standard OFDM implementations to provide the overhead values set out in table 1 indicating the increase in complexity implied by the OFDM solution.
A known proposal to reduce complexity in comparison to this approach is described by T. Wild and F. Schaich, in “A Reduced Complexity Transmitter for UF-OFDM,” 2015 IEEE 81st Vehicular Technology Conference (VTC Spring), Glasgow, 2015, pp. 1-6, however this solution increases the out-of-band leakage and decreases the signal-to-interference ratio while remaining highly complex.
In this proposal, the filtering stage and the summation of all the sub-bands are computed in the frequency domain (before the IFFT) instead of the time domain. To efficiently generate the transient states of the UF-OFDM data stream, the IFFT size is increased to 2N (instead of N), and only N+L−1 samples, corresponding to the UF-OFDM symbol, are kept. Additionally, the computation of the filtering stage in the frequency domain requires an IFFT of size N0 and an FFT of size 2N0 for each sub-band, where N≧Q is a design parameter. The higher the value of N0, the higher the complexity, but the impact on the out-of-band leakage and the signal-to-interference ratio is reduced with respect to the standard solution presented above. Thus, the choice of the parameter N0 imposes a compromise between complexity and performance.
The input symbols to transmit c(i) output by a QAM mapper (not shown) are segmented into K sub-bands of Q sub-carriers providing sk(q) samples by sub-band mapper 220.
For each sub-band k, sk(q) is zero padded with (No−Q)/2 zeros at its extremities by elements 231, 241, 251. The zero padded samples may be expressed as follows:
Then, for each sub-band k, and IFFT 232, 242, 252 is applied:
Next, Ak(p) samples are zero padded with No zeros for each sub-band by elements 233, 243, 253. <
Then, for each sub-band k an FFT 234, 244, 254 of size 2N0 is computed:
At the output of the FFTs 234, 244, 254, the samples a′k(q) are multiplied by the approximate of the frequency response of UF-OFDM filter Fcut at respective multipliers 235, 245, 255:
b
k(q)=a′k(q)Fcut(q)
This step corresponds to the per-sub-band filtering operation in the frequency domain. The computation of the Fcut coefficients is explained by T. Wild and F. Schaich, in “A Reduced Complexity Transmitter for UF-OFDM,” 2015 IEEE 81st Vehicular Technology Conference (VTC Spring), Glasgow, 2015, pp. 1-6.
An overlapping summation of the sub-bands is next performed, expressed as follows:
Where b′k are the zero padded bk samples by 2(n−N0) samples. The modxoperator corresponds to the modulus x operation. This overlapping summation can be computed by using a zero padding operation and by applying a circular shift of kQ of these zero-padded samples b′k corresponding to the sub-band k, as implemented by elements 261, 262, 263, and then by summing the shifted and zero-padded samples for each sub-band at element 264.
Finally, the baseband samples y(n) are generated using an IFFT 270 of size 2N and by discarding all but the first N+L−1 samples at element 280:
With N (number of sub-carriers)=2048, all sub-bands used (B=K) and a filter length L of 144, the following calculation complexity values may be determined for this implementation as a basis of comparison:
As discussed above, the standard implementation is estimated to be up to 100 times more complex than OFDM, and accordingly remains almost impossible to implement in practice. The best prior art solution as presented above still represents a dissuasive overhead in comparison to OFDM, whilst sacrificing some of the advantages of UF-OFDM with respect to OFDM.
It is desirable to efficiently generate the UF-OFDM transmitter baseband signal at a low computational complexity cost, whilst retaining the inherent advantages of UF-OFDM with respect to OFDM, and minimizing impact on the out-of-band leakage and the resulting signal-to-interference ratio with respect to the standard solution.
The out-of-band leakage is particularly important for UF-OFDM, since it improves the performance of the receiver in case of imperfect synchronization, and enables the coexistence of different types of encoder and sets of parameters in the same bandwidth. It also improves the robustness of the receiver against Doppler shift and Doppler spread. The signal-to-interference ratio is especially significant since it directly concerns the “quality” of the transmission and has an influence on the bit error rate.
In accordance with the present invention in a first aspect there is provided an encoder for performing multicarrier waveform based encoding on a series of input symbols, the encoder comprising:
In accordance with a development of the first aspect the segmentor is adapted to output the input symbols in a sequence of respective segments, each segment comprising a first plurality of symbols corresponding in number to the number of input symbols being assigned to each sub-band for a given sub-carrier index, and in a case where the input symbols are insufficient to fully populate all the segments, adding zeros to fully define segments.
In accordance with a further development of the first aspect the sub-band processor is adapted to perform an Inverse Fast Fourier Transform on each segment output by the segmentor to provide the first plurality of samples.
In accordance with a further development of the first aspect the encoded data stream is a UF-OFDM data stream, and the sub-carrier processor is characterized by being adapted to perform processing for the two extremity parts of the base band signal corresponding to the transient state of the UF-OFDM data stream and for a core part of the base band signal corresponding to the non-transient state of the UF-OFDM data stream separately, and
further comprising a concatenator being adapted to concatenate the two processed extremity parts of the base band signal corresponding to the transient state of the UF-OFDM data stream and the processed core part of the base band signal corresponding to the non-transient state of the UF-OFDM data stream to obtain the UF-OFDM data stream.
In accordance with a further development of the first aspect the encoder comprises a sub-carrier core processor configured to process samples corresponding to the core part of the base band signal and a transient state processor configured to process a first extremity part of the baseband signal, and wherein the encoder further comprises a arithmetic unit configured to:
the concatenator is adapted to concatenate the outputs of the transient state processor, the sub-carrier core processor, and the subtractor or the adder to obtain the UF-OFDM data stream.
In accordance with a further development of the first aspect the sub-carrier core processor comprises a first filter adapted to multiply each sample by a respective filter coefficient from a first set of filter coefficients, the first set of filter coefficients being defined by an FFT of a size corresponding in number to the total number of sub-carriers across the sub-bands performed on the impulse response of the UF-OFDM filter and subjected to a linear phase rotation, and further comprising an Inverse Fast Fourier Transform block performing an Inverse Fast Fourier transform on the output of the first filter,
the sub-carrier core processor being further adapted to sort the output of the Fast Fourier transform block to output the values determined by the Inverse Fast Fourier Transform block in a predetermined sequence, and
wherein the transient state processor comprises a second filter implementing a second function adapted to multiply each sample by a respective filter coefficient from a second set of filter coefficients, and an summation unit adapted to sum each value output by the second filter for a respective processed segment.
In accordance with a further development of the first aspect the first set of filter coefficients corresponds to a first plurality of coefficients extracted from the first output of an FFT performed on the frequency shifted UF-OFDM filter, the first plurality of coefficients being equal in number to the number of input symbols being assigned to each sub-carrier for a given sub-band index, and the FFT being of a size corresponding in number to the total number of sub-carriers across the sub-bands, the extracted coefficients being repeated a number of times equal to the number of input symbols being assigned to each sub-band for a given sub-carrier index, to obtain a second plurality of coefficients equal to in number to the total number of sub-carriers across the sub-bands, the second plurality of coefficients being further subjected to a linear phase rotation term having an angle proportional to an index value of the respective sub-carrier.
In accordance with a further development of the first aspect the first extremity part is a prefix part of the baseband signal;
In accordance with a further development of the first aspect the first extremity part is a suffix part of the baseband signal;
In accordance with a further development of the first aspect the summation unit comprises a storage device configured to accumulate the output of the summation unit, and wherein the summation unit is configured to add the value of each successive output of the second filter to the value stored in the storage device and store the result in the storage device until the value in the storage device incorporates the sum of each value output by the second filter for a respective processed segment.
In accordance with a further development of the first aspect the first set of coefficients and the second set of coefficients further reflect a linear phase rotation so as to introduce a frequency shift to the UF-OFDM data stream, and wherein a circular shift unit is provided before the IFFT unit of the sub-carrier core processor.
In accordance with the present invention in a second aspect there is provided a method comprising the steps of:
In accordance with a development of the second aspect the step of processing each second plurality of samples to obtain a UF-OFDM data stream comprises:
In accordance with a development of the second aspect the step of:
In accordance with the present invention in a third aspect there is provided a method of defining a set of filter coefficients for use as the first set of filter coefficients of the first or second aspects, the method comprising the steps of:
In accordance with the present invention in a fourth aspect there is provided a method of defining a set of filter coefficients for use as the second set of filter coefficients of the first of second aspects, the method comprising the steps of:
In accordance with the present invention in a fifth aspect there is provided a computer program adapted to perform the steps of the second, third or fourth aspects.
The above and other advantages of the present invention will now be described with reference to the accompanying drawings, in which:
In the context of the present invention, the term UF-OFDM is intended to include all encoding schemes in which:
More specifically, the frequency response of each separate filter may be centered at the center frequency of the corresponding sub-band so that the power of the secondary sidelobes of each subband may be attenuated.
For such a scheme, assuming N is divisible by Q, K=N/Q, where K is a positive integer, and Equation (1) becomes
Where xq(n) corresponds to an Inverse Fast Fourier Transform of size K of the sub-carrier number q of each of the K sub-bands.
On the basis of this observation, it follows that the fact that the IFFT of size K is a periodic function of K samples may be exploited by decomposing the N first samples of the baseband signal (y(n)) into Q segments of K samples (N=Q×K).
An encoder architecture may be proposed on the basis of this insight.
As shown in
The encoder of
The encoder further comprises a sub-band processor 320 adapted to process each first plurality of symbols to obtain a first plurality of samples. On the basis of equation 5 the operation performed by the sub-band processor may comprise an IFFT of size K to be performed on each set of K symbols assigned to each sub-band for a given sub-carrier, that is to say, the sub-band processor is adapted to perform an Inverse Fast Fourier Transform on each segment output by the segmentor to provide a first plurality of samples.
The sub-band processor is further adapted to output the first plurality of samples in a predetermined sequence of respective processed segments, where each processed segment comprises a second plurality of samples corresponding in number to the number of input symbols being assigned to each sub-carrier for a given sub-band, as defined above.
The encoder further comprises a sub-carrier processor 330 adapted to process each processed segment, as output by the sub-band processor 320, to obtain a UF-OFDM data stream.
It will be appreciated that this structure is dependent on the proper mapping of samples from sub-band to sub-carrier, on the basis of the sub-band processor's adaptation to output the samples in the proper predetermined sequence.
As shown, a set of K×Q samples 401 arrives and is split into segments e.g. by the segmentor 310 discussed above, each segment corresponding to a respective one of the Q defined sub-bands 410, 411, 412, 413, 414. The processing of one segment corresponding to each sub-band for a given sub-carrier index produces K outputs, so that the total output from processing all the sub-bands is once again K×Q.
In a case where the QAM symbols to transmit are insufficient to define the Q×K input symbols of the UF-OFDM encoder, the sequence of QAM symbols must be appended with zero valued symbols until there are sufficient input symbols.
In accordance with certain embodiments, the sub-band processor may be required to output the samples in a predetermined sequence. This sequence may correspond to the sequence required to inject each output of the sub-band processor 320 into the sub-carrier processing performed for example by sub-carrier processor 330 in the proper sequence so as to be processed in the sequence of samples assigned to that same sub-carrier. As shown in
It may be noted that while
This may be achieved by buffering the K×Q outputs of the sub-band processing stage and then reading out the values in the desired order reflecting this interleaving, or alternatively by providing for parallel sub-carrier processing so that each output value from the sub-band processing stage can be fed directly into the proper sub-carrier processing calculation, or by synchronizing processing across the units as described further hereafter.
This embodiment thus separates the UF-OFDM function into a sub-band processing part and a sub-carrier processing part. An advantage of processing first the samples related to the sub-band indexes in the sub-band processor 320, then processing the samples related to the sub-carrier indexes in the sub-carrier processor is that this makes it possible to drastically reduce the number of redundant operations to compute. In fact, the sub-band processor computes separately Q segments of only K samples and the sub-carrier processor computes separately K segments of only Q samples. Thus, the number of samples to process in a segment is reduced, which in turn reduced the overall complexity of the UF-OFDM transmitter.
In accordance with the foregoing discussion, the number of samples, N is divisible by the first and third pluralities K: input symbols being assigned to each sub-band for a given sub-carrier index and Q, number of inputs assigned to each sub-carrier for a given sub-band index.
With regard to the operation of the Sub-carrier processor 330, defining the fragmented signal yp(n)=y(n′+pK), n′∉0,K−1, p∈0,Q−1, we have
The filter coefficients fq(n) of equation (6) can be simplified when n∈L,N−1. Indeed, equation (2) becomes
Furthermore, when (n′ +pK)∈L,N−1:
On this basis, it becomes possible to perform processing for a core part of the baseband signal corresponding to the non-transient state of the UF-OFDM data stream on one hand, and for the two extremity parts of the baseband signal corresponding to the transient state of the UF-OFDM data stream on the other, separately.
The coefficients of the core filter Fq(n′) are obtained by first applying an FFT of size N on the frequency shifted UF-OFDM filter fQ(l), where zero padding is applied. Then, from the result of this FFT, only the first Q coefficients are kept (since q∈[0,Q−1]), and these extracted samples are repeated K times to obtain N coefficients. Finally, a linear phase rotation is applied to these repeated coefficients, as indicated by the term ej2πq/N(n′). The angle of the linear phase rotation term depends on the sub-carrier number. In total, Q×K=N coefficients are generated.
For (n′+pK)∈[L,N−1], equation (6) becomes
Where zq(n′)=Fq(n′)×q(n′)
The zq(n′) samples are obtained after multiplication of the xq(n′) samples and the core filter coefficients Fq(n′) as expressed in equation (10).
The sample number n of each of the Q fragments is calculated using the IFFT of size Q of the filtered signals zq(n′) across the Q sub-carriers.
Equation (11) processes the part of the signal where the linear convolution of the filter is equivalent to a circular convolution such that the transient states of the signal are removed. The core part of the baseband signal, defined for n∈[L,N−1] is expressed as follows:
After computation of the core part (n∈[L,N−1]), the prefix (nq=n∈[0,L−1])) and suffix (ns=n∈[N,N+L−1]) parts of the baseband signal must be calculated.
When nq∈[0,L−1] (prefix part) equation (2) of the filter coefficients becomes
The Pq(nq) samples correspond to the prefix filter tail coefficients. An efficient way to calculate these coefficients is to note that:
Thus the prefix filter tail coefficients number n+1 of the sub-carrier number q can be computed by multiplying the previously computed prefix filter tail coefficient by a linear phase rotation and by adding the result of this multiplication by the sample number np+1 of frequency shifted UF-OFDM filter.
When ns∈[N,N+L−2] (suffix part), equation 2 of the filter coefficients becomes:
This equation can be decomposed as follows:
Thus Sq(ns)=Fq(ns)−Pq(ns−N)
So the suffix filter tail coefficients can be deduced by subtracting the coefficients of the core filter from the prefix filter tail coefficients.
Similarly, the prefix filter tail coefficients can be deduced by adding the coefficients of the core filter to the suffix filter tail coefficients.
From the equations of the prefix and the suffix filter tail coefficients, the prefix and suffix part of the baseband signal can be deduced from equation (2):
For nq∈[0,L−1]
The samples corresponding to the prefix part of the baseband signal are obtained by multiplying the xq(nq) samples to the prefix filter tail coefficients Pq(nq), then by summing (over q) all the Q filtered samples (Pq(nq)xq(nq)) for each sample n.
An equivalent operation may be determined using the suffix tail coefficients to determine the suffix part.
Finally, for 0≦n≦N+L−2, the baseband signal is obtained after concatenation of the prefix, core and suffix part of the baseband samples.
With
As shown in
Implementing equation 12 above, the sub-carrier core processor 532 multiplies of the xq(n) samples in multiplier 5321 by core filter coefficients Fq(n′) stored in memory 5322 as expressed in equation (10). The sample number n of each of the Q segments is then calculated using the IFFT 5323 of size Q of the filtered signals zq(n′) across the Q sub-carriers.
As such, the sub-carrier core processor 532, may comprise a first filter adapted to multiply each sample by a respective filter coefficient from a first set of filter coefficients, the first set of filter coefficients being defined by a number of coefficients corresponding to the extracted and repeated first output of an FFT (of size equal to the total number of sub-carriers across all the sub-bands, N) performed on the frequency shifted UF-OFDM filter, and subjected to a linear phase rotation.
The sub-carrier core processor 532 may further comprise an Inverse Fast Fourier Transform block performing an Inverse Fast Fourier transform on the output of the first filter.
On the basis of the foregoing discussion, the first transient state processor 531 processes the samples corresponding to the prefix part of the baseband signal by multiplying the xq(n′) samples in multiplier 5311 by the prefix filter tail coefficients Pq(nq) stored in memory 5312, then by summing (over q) all the Q filtered samples (Pq(nq)xq(nq)) for each sample n in summation unit 5313, thereby implementing equation 18 above.
Similarly, second transient state processor 533 processes the samples corresponding to the suffix part of the baseband signal by multiplying the xq(nq) samples in multiplier 5331 to the suffix filter tail coefficients Sq(ns) stored in memory 5332, then by summing (over q) all the Q filtered samples (Sq(ns)xq(ns)) for each sample n in summation unit 5333.
As such, a transient state processor may comprise a second filter implementing a second function corresponding to multiplying each sample by a respective filter coefficient from a second set of filter coefficients, the second set of filter coefficients being defined by recursively calculating, for each sub-carrier index, each coefficient by multiplying the previously computed filter tail coefficient number by a linear phase rotation term and by adding these multiplied coefficients by the successive sample number of the frequency shifted UF-OFDM filter.
The concatenator 535 then concatenates the prefix values, then core, then suffix value outputs of the units 531, 532, 533 to obtain the final UF-OFDM signal. 101361 The proper concatenation of the values generated by units 531, 532, 533 may imply the buffering of values at the outputs.
Furthermore, separating the transient-state of the baseband sample reduces the number of redundant operations in the sub-carrier processor, by separating the computation of the transient-state of the baseband samples (high computational complexity but on a few number of samples) and the core part of the baseband samples (low computational complexity on a large number of samples).
While for the sake of simplicity the operation of the sub-band processor and sub-carrier processor has been described in a substantially sequential, batch-wise process, with a complete set of sub-band calculations being performed before sub-carrier values are fed sub-carrier by sub-carrier into the sub-carrier processor, it will be appreciated that as mentioned above the same operations may be performed in a continuous mode with careful synchronization between the different functional units.
Meanwhile, it may be noted that for ns∈[N,N+L−2]:
Due to the periodicity of xq(ns) and Fq(ns), the above equation is equivalent to:
Thus the suffix part of the signal can be defined for n∈[0,L−2] as follows:
The definition of ycore(n) is extended to n∈[0,N−1] instead of n∈[L,N−1] as defined with reference to equation 12. The samples in the interval [0, L−1] are only generated to compute the suffix part of the baseband signal. The samples in the interval ([L,N−1]) correspond to the core part of the baseband sample.
Accordingly, for 0≦n≦N+L−2, the baseband signal may be obtained after concatenation of the prefix, core and suffix part of the baseband samples.
With
As shown in
Similarly to the embodiment of
Implementing equation 12 above, the sub-carrier core processor 632 multiplies the xq(n) samples in multiplier 6321 by core filter coefficients Fq(n) stored in memory 6322 as expressed in equation (10). The sample number n of each of the Q segments is then calculated using the IFFT 6323 of size Q of the filtered signals zq(n) across the Q sub-carriers.
As such, the sub-carrier core processor 632, may comprise a first filter adapted to multiply each sample by a respective filter coefficient from a first set of filter coefficients, the first set of filter coefficients being defined by coefficients corresponding to the extracted and repeated first output of an FFT of size equal to the total number of sub-carriers across all the sub-bands, N) performed on the frequency shifted UF-OFDM filter, and subjected to a linear phase rotation.
The sub-carrier core processor 632, may further comprise an Inverse Fast Fourier Transform block 6323 performing an Inverse Fast Fourier transform on the output of the first filter.
In accordance with the embodiment of
Specifically, where the arithmetic unit 634 is configured calculate the suffix values from the prefix values on the basis of equation 22 above, it is arranged to subtract samples corresponding to the first extremity part of the baseband signal from samples corresponding to the core part of the base band signal.
Alternatively, where the arithmetic unit 634 is configured calculate the suffix values from the prefix values on the basis of equation 22 above, it is arranged to add samples corresponding to the core part of the base band signal from samples corresponding to the first extremity part of the baseband signal.
On the basis of the foregoing discussion, the first transient state processor 631 processes the samples corresponding to the prefix part of the baseband signal by multiplying the xq(nq) samples in multiplier 6311 to the prefix filter tail coefficients sq(n) stored in memory 6312, then by summing (over q) all the Q filtered samples (Pq(nq)xq(nq)) for each sample n in summation unit 6313, thereby implementing equation 18 above.
As such, a transient state processor may comprise a second filter implementing a second function corresponding to multiplying each sample by a respective filter coefficient from a second set of filter coefficients, the second set of filter coefficients being defined by recursively calculating, for each sub-carrier index, each coefficient by multiplying the previously computed filter tail coefficient number by a linear phase rotation term and by adding these multiplied coefficients by the successive sample number of the frequency shifted UF-OFDM filter.
The concatenator 635 is then adapted to concatenate the outputs of the transient state processor, the sub-carrier core processor and the subtractor or the adder to obtain the UF-OFDM data stream.
As such, this embodiment makes it possible to achieve the same results as those of the embodiment of
Implementation of equation 18, for example in the transient state processor units of the embodiments of
As shown in
Any summation unit such as 5313, 5333, 6313 may thus comprise a storage device configured to accumulate the output of the summation unit, and wherein the summation unit is configured to add the value of each successive output of a respective second filter (5311, 5331, 6311) to the value stored in that storage device and store the result in the storage device until the value in the storage device incorporates the sum of each of the third values output by the respective second filter for a respective processed segment.
Other possible implementations include a fully parallel implementation with multiple adders and no delay.
Frequency Shift
In some cases, for example where it is required to centre the bandwidth at a specified central frequency, it may be desirable to impose a frequency shift at sub-carrier level. A straightforward way to achieve this with embodiments of the present invention is to apply a linear phase rotation on the baseband samples y(n):
Where c0 is the number of frequency shifted sub-carriers (c0∈[−Q+1, Q−1]). However, this linear phase rotation may increase the complexity of the transmitter by adding 4(N+L−1) real multipliers. It is however possible to compute this term more efficiently.
For the prefix part of the baseband samples (yprefix(nq)), the linear phase rotation term can be included in the Pq(n) coefficients:
For the core part of the baseband samples (ycore(n)), the fragmented samples (yq(n)) can be expressed as follows:
The term
can be included in the core filter coefficients Fq(n), and
is equivalent to a circular shift of c0 samples applied on the inputs of the IFFT of size Q (on the zq(nq) samples.
with z′q(nq)=Fq′(nq)xq(nq) and
Since the linear shift rotation term is periodic (period of N samples), the demonstration concerning the derivation of the suffix values from the pre-calculated prefix and core values is unchanged, so the computation of the suffix part of the baseband samples is not modified.
Accordingly, the linear shift rotation may be implemented simply by changing the values of the coefficients stored in storage means 5312, 5322 and 5332, or 6322 and 6332, for example in accordance with the foregoing calculations.
Embodiments may additionally take the form of methods comprising one or more steps.
It will be appreciated that the described structure incorporates the functionality of an IFFT of a size corresponding to the total number of sub-carriers across the sub-bands of the UF-OFDM signal it is designed to process. This IFFT may be used to support other functionalities.
In particular, the IFFT functionality may for example be used to implement OFDM encoding.
Compatibility with OFDM Signals
It will be appreciated that by separating the sub-band and sub-carrier processing in the manner described herein, it also becomes possible to switch the encoder to produce a UF-OFDM signal to producing an OFDM signal, by adjusting the processing performed by the sub-carrier part alone. In particular, in embodiments such as those of
Specifically, the OFDM baseband samples can be computed as follows:
where L is the length of the cyclic prefix. This can be decomposed into sub-bands as in UF-OFDM:
For n+pK∈[0,N−1], the baseband samples can be segmented as follows
Thus, the OFDM baseband signal (without the cyclic prefix) can be generated by using the equation of the UF-OFDM core part and by changing the core filter coefficients by
Meanwhile, the prefix cyclic part for OFDM can be generated either by copying the L last samples of the core part to the beginning of the baseband signal, or by using a similar approach to that defined for the prefix part for UF-OFDM processing.
The UF-OFDM prefix filter tail coefficients must be replaced by
Furthermore, the xq(nq) samples must be processed in an inverse order:
In the case of UF-OFDM, the summation of the Q sub-carriers is computed for each sample xq(nq) from sample xq(0) to sample xq(L−1)
In the case of OFDM, the summation of the Q sub-carriers is computed for each sample xq(nq−L) from sample xq(−L)=xq(K−L) (periodicity) to sample xq(−1)=xq(K−1) (periodicity).
Therefore, to adapt the proposed UF-OFDM approach to OFDM, the suffix part is no longer calculated from the prefix part, alternative filter coefficients for the core and Prefix parts are applied as specified above, and the concatenator concatenates the outputs of the prefix and core parts only.
Alternatively, the proposed UF-OFDM approach can be adapted to OFDM by applying alternative filter coefficients for the core part, and by adapting the transient-state processor (prefix part) to copy the last L samples of the core part. The suffix part need no longer calculated from the prefix part, and the concatenator concatenates the outputs of the prefix and core parts only.
As such, the structure defined with respect to
Similar modifications can extend compatibility to further multicarrier waveform based encoding such as Generalized Frequency Division Multiplexing (GFDM), Filter Bank Multi-Carrier (FBMC) and the like.
While the preceding embodiments have been described in terms of encoder device components, other embodiments take the form of method steps.
As shown in
The method next proceeds to step 820, at which the first plurality of symbols is processed to obtain a corresponding number of processed samples.
At step 825 it is determined whether all of the segments required to process the corresponding set of sub-carriers have been processed. If segments remain to be processed the method loops back to step 820 for the next segment, or otherwise proceeds to step 830, of sorting the samples in a predetermined sequence, where the number of samples is equal in number to the number of input symbols being assigned to each sub-carrier.
This sorting step may comprise the interlacing described above. The method then proceeds to step 840 of processing the samples to obtain a UF-OFDM data stream before terminating at step 850.
Specifically, the step 810 of segmenting may comprise:
1. Segmenting the input symbols c(i) into K sub-bands of Q sub-carriers. This step segments the input symbols, composed of N symbols, into K sub-bands of Q sub-carriers as follows:
s
k(q)=c(q+kQ)
sk(q) represents the input symbol affected to the sub-carrier number q of the sub-band number k. It may be noted that the input symbols c(i) do not only carry QAM symbols to transmit. In practice, only a subset B of the K sub-bands will be allocated (B≦K). In this case, the c(i) symbols must appended with zeros valued samples, so that a total of N input symbols are defined (composed of both QAM symbols and zeros valued symbols). These zeros are thus grouped together in particular sub-bands (those which are not affected by the input symbols carrying the QAM symbols to transmit).
A proposed segmentation rule can be described as follows:
( . . . )
Repeats until the last sub-band is reached (k=K−1).
The step 820 of processing each first plurality of symbols may comprise:
2. Computing the IFFT of size K of Sk(q) for each sub-carrier:
This process may be performed iteratively as, with the results of each iteration being retained until the complete set of K*Q=N samples are computed:
Alternatively, a wholly or partially parallel implementation may be envisaged which would do away with the need for storage of the computed values and accelerate processing and the cost of increased system complexity and size.
The step 841 of processing the core part corresponding to the non-transient state of the UF-OFDM data stream may comprise:
3. Multiplying xq(n′) by the core filter coefficients
These coefficients correspond to applying an FFT of size N of the frequency shifted UF-OFDM filter fQ(l). From the result of this FFT, only the first Q coefficients are useful (since q∈[0, Q−1]). Then, a linear phase rotation is applied (the term
4. Computing the IFFT of size Q of yq(n) for each sample n′∈0,K−1 and storing results
This step calculates the core part of the baseband samples. The result of this step gives Q segments of K samples. yq(n′) is the sample number n of the segment number p.
5. Combine the resulting segmented samples yq(n′) to form the core part of the baseband samples and store the results.
The relation between the core part of the baseband samples (composed of N samples) and the segmented samples is expressed as follows:
This step constitutes sorting the segmented samples output by the IFFT at step 4 so as to output the values to the next step in a predetermined sequence. In certain embodiments, this sequence may correspond to outputting the values corresponding to each sub-band in turn, with the values corresponding to that sub-band being output sequentially before proceeding to output the values for the next sub-band.
The step 842 of processing the parts of the baseband signal corresponding to the transient state of the UF-OFDM data stream may comprise:
6. Calculate the prefix samples with the prefix filter tail coefficients and storing results
The number of the prefix tail coefficients is fixed by the UF-OFDM filter length and the number of sub-carriers in a sub-band Q. The length of the filter is a design parameter. The total number of prefix tail coefficients Pq(nq) is equal to L×Q.
The accumulator is the summation operation (from 0 to Q−1) in the second equation. The delay is fixed to one sample.
Accordingly, the step 8421 of obtaining the second extremity part may comprise:
7. Calculating the suffix samples of the baseband signal
where [x] corresponds to the floor operator (largest integer less than or equal to x)
At this stage, there are L samples to choose from, since this equation corresponds to the suffix part of the baseband signal (transient state of the signal).
It may be noted that it is equally possible to calculate the prefix part of the signal from the suffix part. The only difference is that different filter tail coefficients will be required for the initial calculation of the suffix part, instead of the prefix part, in the preceding step.
8. Concatenating the suffix, core and prefix samples to deduce the full baseband signal
As described above, the first set of filter coefficients is the set of values used in the first filter e.g. 6311/6312, provided in the sub-carrier core processor, and used for processing the sub-band core value not corresponding to a transient state e.g. at step 421 of the method of
As shown in
The method next proceeds to step 1120 at which the core filter coefficients are zero padded to obtain a set of padded core filter coefficients, where this set of padded core filter coefficients comprises a number of coefficients equal to a K: the number of input symbols being assigned to each sub-band for a given sub-carrier index multiplied by Q, the number of input symbols being assigned to each sub-carrier for a given sub-band index, that is, N.
The method next proceeds to a step 1130 of performing a FFT of size equal to the total number of sub-carriers across all the sub-bands on the set of padded core filter coefficients, to obtain a number of samples equal to K: input symbols being assigned to each sub-band for a given sub-carrier index multiplied by Q, the number of input symbols being assigned to each sub-carrier for a given sub-band index.
The method next proceeds to a step 1140 of extracting the Q first samples of the FFT obtained at step 1130, and then determines at step 1150 whether the necessary number of samples equal to N, is obtained. If the necessary number of samples has not yet been obtained the method loops back to step 1160 at which the extracted values are repeated once more, or otherwise proceeds to step 1170.
Accordingly the extracted samples are extracted, and repeated/duplicated as many times as necessary to obtain total number of sub-carriers across all the sub-bands N core filter coefficients are obtained.
Finally the set of samples is subjected a linear phase rotation at step 1170 before the method terminates at step 1180.
As described above, the second set of filter coefficients is the set of values used in the second filter e.g. 6311/6312, provided in the sub-carrier transient state processor 631, and used for processing the sub-band extremity values corresponding to a transient state e.g. at step 422 of the method of
As shown in
From step 1240 the method proceeds to step 1250 at which the coefficient generated at step 1240 is added to the previous filter tail coefficient value to obtain a new filter tail coefficient, before proceeding to step 1260. At the end of each iteration, the calculated value corresponds to a filter tail coefficient, which must be set aside as a coefficient.
At step 1260, it is determined whether all values required to compile the required set of values have been computed, and if the process is complete the method proceeds to step 1270 or otherwise loops back to step 1240 for the next iteration.
At step 1270, it is determined whether all values have been computed, and if the process is complete, the method terminates at step 1280, or otherwise loops back to step 1210 for next iteration.
An implementation based on the embodiment of
The resulting computational complexity is less than 1.5 times that of OFDM.
According to certain embodiments there is provided an encoder architecture for UF-OFDM, in which samples are first processed sub-band wise, and then re-sorted for sub-carrier-wise processing. The sub-carrier processing may comprise separate processing for the two extremity parts of the base band signal corresponding to the transient state of the UF-OFDM data stream and for a core part of the base band signal corresponding to the non-transient state of the UF-OFDM data stream, and then concatenation to obtain a UF-OFDM data stream. In certain embodiments a first extremity part of the base band signal corresponding to the transient state of the UF-OFDM data steam is calculated directly, and the other extremity part inferred from the core part and the first extremity part. The core and extremity part processors may be implemented with filters adapted to multiply each sample by a respective filter coefficient. Modifying these coefficients can introduce a frequency shift or convert the encoder for OFDM encoding.
The disclosed methods can take form of an entirely hardware embodiment (e.g. FPGAs, ASICs), an entirely software embodiment (for example to control a system according to the invention) or an embodiment containing both hardware and software elements. Software embodiments include but are not limited to firmware, resident software, microcode, etc. The invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or an instruction execution system. A computer-usable or computer-readable can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, acoustic, electroacoustic, or semiconductor system (or apparatus or device) or a propagation medium.
These methods and processes may be implemented by means of computer-application programs or services, an application-programming interface (API), a library, and/or other computer-program product, or any combination of such entities.
As shown in
Logic device 1301 includes one or more physical devices configured to execute instructions. For example, the logic device 1301 may be configured to execute instructions that are part of one or more applications, services, programs, routines, libraries, objects, components, data structures, or other logical constructs. Such instructions may be implemented to perform a task, implement a data type, transform the state of one or more components, achieve a technical effect, or otherwise arrive at a desired result.
The logic device 1301 may include one or more processors configured to execute software instructions. Additionally or alternatively, the logic device may include one or more hardware or firmware logic devices configured to execute hardware or firmware instructions. Processors of the logic device may be single-core or multi-core, and the instructions executed thereon may be configured for sequential, parallel, and/or distributed processing. Individual components of the logic device 1301 optionally may be distributed among two or more separate devices, which may be remotely located and/or configured for coordinated processing. Aspects of the logic device 1301 may be virtualized and executed by remotely accessible, networked computing devices configured in a cloud-computing configuration.
Storage device 1302 includes one or more physical devices configured to hold instructions executable by the logic device to implement the methods and processes described herein. When such methods and processes are implemented, the state of storage 1302 device may be transformed—e.g., to hold different data.
Storage device 1302 may include removable and/or built-in devices. Storage device 1302 may comprise one or more types of storage device including optical memory (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory (e.g., FLASH, RAM, EPROM, EEPROM, etc.), and/or magnetic memory (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), among others. Storage device may include volatile, non-volatile, dynamic, static, read/write, read-only, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices.
In certain arrangements, the system may comprise an I/O interface 1303 adapted to support communications between the Logic device 1301 and further system components. For example, additional system components may comprise removable and/or built-in extended storage devices. Extended storage devices may comprise one or more types of storage device including optical memory 1332 (e.g., CD, DVD, HD-DVD, Blu-Ray Disc, etc.), semiconductor memory 1333 (e.g., FLASH RAM, EPROM, EEPROM, FLASH etc.), and/or magnetic memory 1331 (e.g., hard-disk drive, floppy-disk drive, tape drive, MRAM, etc.), among others. Such extended storage device may include volatile, non-volatile, dynamic, static, read/write, read-only, random-access, sequential-access, location-addressable, file-addressable, and/or content-addressable devices.
It will be appreciated that storage device includes one or more physical devices, and excludes propagating signals per se. However, aspects of the instructions described herein alternatively may be propagated by a communication medium (e.g., an electromagnetic signal, an optical signal, etc.), as opposed to being stored on a storage device.
Aspects of logic device 1301 and storage device 1302 may be integrated together into one or more hardware-logic components. Such hardware-logic components may include field-programmable gate arrays (FPGAs), program- and application-specific integrated circuits (PASIC/ASICs), program- and application-specific standard products (PSSP/ASSPs), system-on-a-chip (SOC), and complex programmable logic devices (CPLDs), for example.
The term “program” may be used to describe an aspect of computing system implemented to perform a particular function. In some cases, a program may be instantiated via logic device executing machine-readable instructions held by storage device. It will be understood that different modules may be instantiated from the same application, service, code block, object, library, routine, API, function, etc. Likewise, the same program may be instantiated by different applications, services, code blocks, objects, routines, APIs, functions, etc. The term “program” may encompass individual or groups of executable files, data files, libraries, drivers, scripts, database records, etc.
In particular, the system of
For example a program implementing the steps described with respect to
Accordingly the invention may be embodied in the form of a computer program.
It will be appreciated that a “service”, as used herein, is an application program executable across multiple user sessions. A service may be available to one or more system components, programs, and/or other services. In some implementations, a service may run on one or more server-computing devices.
When included, display subsystem 1311 may be used to present a visual representation of the samples at different points in the system, or may otherwise present statistical information concerning the processes undertaken. As the herein described methods and processes change the data held by the storage device 1302, and thus transform the state of the storage device 1302, the state of display subsystem 1311 may likewise be transformed to visually represent changes in the underlying data. Display subsystem 1311 may include one or more display devices utilizing virtually any type of technology. Such display devices may be combined with logic device and/or storage device in a shared enclosure, or such display devices may be peripheral display devices.
When included, input subsystem may comprise or interface with one or more user-input devices such as a keyboard 1312, mouse 1313, touch screen 1311, printer 1317, camera 1316 or game controller (not shown). In some embodiments, the input subsystem may comprise or interface with selected natural user input (NUI) componentry. Such componentry may be integrated or peripheral, and the transduction and/or processing of input actions may be handled on- or off-board. Example NUI componentry may include a microphone for speech and/or voice recognition; an infrared, colour, stereoscopic, and/or depth camera for machine vision and/or gesture recognition; a head tracker, eye tracker, accelerometer, and/or gyroscope for motion detection and/or intent recognition; as well as electric-field sensing componentry for assessing brain activity.
When included, communication subsystem 1320 may be configured to communicatively couple computing system with one or more other computing devices. For example, communication module of may communicatively couple computing device to remote service hosted for example on a remote server 1376 via a network of any size including for example a personal area network, local area network, wide area network, or the internet. Communication subsystem may include wired and/or wireless communication devices compatible with one or more different communication protocols. As non-limiting examples, the communication subsystem may be configured for communication via a wireless telephone network 1374, or a wired or wireless local- or wide-area network. In some embodiments, the communication subsystem may allow computing system to send and/or receive messages to and/or from other devices via a network such as the Internet 1375. The communications subsystem may additionally support short range inductive communications 1321 with passive devices (NFC, RFID etc).
It will be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated and/or described may be performed in the sequence illustrated and/or described, in other sequences, in parallel, or omitted. Likewise, the order of the above-described processes may be changed.
The subject matter of the present disclosure includes all novel and non-obvious combinations and sub-combinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.
Number | Date | Country | Kind |
---|---|---|---|
16306056.9 | Aug 2016 | EP | regional |