Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
DEVICE AND METHOD FOR A PASSIVE OPTICAL NETWORK
Document Type and Number:
WIPO Patent Application WO/2024/037717
Kind Code:
A1
Abstract:
The present disclosure relates to an optical line terminal (OLT) and a method for a passive optical network (PON). The PON comprises at least one narrowband terminal and at least one fullband terminal. The OLT obtains at least one initial codeword from a codebook. The OLT performs a Kronecker multiplication of the initial codeword and a vector of [1, 1] to obtain a first primary spreading code. The OLT uses the first primary spreading code to encode user data of the at least one NB terminal. The OLT further performs a Kronecker multiplication of the initial codeword and a vector of [1, -1] to obtain a second primary spreading code. The OLT uses the second primary spreading code to encode user data of the at least one FB terminal. In this way, terminals with different bandwidth capabilities can be served in the PON.

Inventors:
SCHULTE PATRICK (DE)
SCHABER DAVID PAUL (DE)
CALABRO STEFANO (DE)
CANO VALADEZ IVAN NICOLAS (DE)
Application Number:
PCT/EP2022/072966
Publication Date:
February 22, 2024
Filing Date:
August 17, 2022
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
HUAWEI TECH CO LTD (CN)
SCHULTE PATRICK (DE)
International Classes:
H04B10/516; H04B10/272
Other References:
FARGHAL AHMED E A ET AL: "Reducing inter-core crosstalk impact via code-interleaving and bipolar 2-PpM for core-multiplexed SAC OCDMA PON", JOURNAL OF OPTICAL COMMUNICATIONS AND NETWORKING, IEEE, USA, vol. 10, no. 1, 1 January 2018 (2018-01-01), pages 35 - 45, XP011676415, ISSN: 1943-0620, [retrieved on 20180129], DOI: 10.1364/JOCN.10.000035
GUO X ET AL: "16-user OFDM-CDMA optical access network", 2016 CONFERENCE ON LASERS AND ELECTRO-OPTICS (CLEO), OSA, 5 June 2016 (2016-06-05), pages 1 - 2, XP033025058
YANG ET AL: "High speed and secure optical CDMA-based passive optical networks", COMPUTER NETWORKS, ELSEVIER, AMSTERDAM, NL, vol. 53, no. 12, 13 August 2009 (2009-08-13), pages 2182 - 2191, XP026223005, ISSN: 1389-1286, [retrieved on 20090417], DOI: 10.1016/J.COMNET.2009.04.004
Attorney, Agent or Firm:
KREUZ, Georg M. (DE)
Download PDF:
Claims:
CLAIMS

1. An optical line terminal, OLT, (100) for a passive optical network, wherein the passive optical network comprises at least one narrowband user terminal and at least one fullband user terminal, and the OLT (100) is configured to: obtain a codebook, wherein the codebook comprises one or more codewords (101); calculate a Kronecker product of each of the one or more codewords (101) and a vector of [1, 1], to obtain one or more first primary spreading codes (102) as a result; calculate a Kronecker product of each of the one or more codewords (101) and a vector of [1, -1], to obtain one or more second primary spreading codes (104) as a result; encode data (103) of the at least one narrowband user terminal using the one or more first primary spreading codes (102); and encode data (105) of the at least one fullband user terminal using the one or more second primary spreading codes (104).

2. The OLT (100) according to claim 1, wherein the OLT (100) is configured to: iteratively calculate the Kronecker product based on the vector of [1, 1] and [1, -1] and the one or more codewords (101), to obtain the one or more first primary spreading codes (102) with a pre-configured codeword length and the one or more second primary spreading codes (104) with the same pre-configured codeword length.

3. The OLT (100) according to claim 1 or 2, wherein the OLT (100) is configured to: iteratively calculate the Kronecker product based on the vector of [1, 1] and [1, -1] and the one or more codewords (101), to obtain a set of Walsh Hadamard codes; determine one or more sign changes in each Walsh Hadamard code of the set; use one or more first Walsh Hadamard codes with fewer sign changes for encoding the data of the at least one narrowband user terminal; and use one or more second Walsh Hadamard codes with more sign changes for encoding the data of the at least one fullband user terminal, wherein each of the one or more first Walsh Hadamard codes has fewer sign changes than each of the one or more second Walsh Hadamard codes.

4. The OLT (100) according to 3, wherein the OLT (100) is configured to generate the set of Walsh Hadamard codes based on a tree having M levels, wherein each m-th level of the tree has 2m-1 Walsh Hadamard codes having a length of 2m-1, wherein M is an integer larger than 1, m is a positive integer less than or equal to M, and wherein the OLT (100) is configured to: select at least one Walsh Hadamard code Cm n as the at least one first Walsh Hadamard code, wherein Cm n denotes an //-th Walsh Hadamard code on the // -th level of the tree, n is a positive integer, m is larger than 1, and n < 2m-2, and select at least one Walsh Hadamard code Cm n as the at least one second Walsh Hadamard code, wherein n > 2m~2.

5. The OLT (100) according to any one of claims 1 to 4, wherein the OLT (100) is further configured to: determine at least one secondary spreading code with a pre-configured length for the at least one narrowband user terminal; and encode the data of the at least one narrowband user terminal further using the at least one secondary spreading code, wherein if an initial symbol and a final symbol of the at least one first primary spreading code are of a same sign, the secondary spreading code is a vector of ones, if the initial symbol and the final symbol of the at least one first primary spreading code are of different signs, the secondary spreading code is a vector of alternating ones and minus ones.

6. The OLT (100) according to any one of claims 1 to 5, wherein the OLT (100) is further configured to: optimize a power allocation among the at least one narrowband user terminal and the at least one fullband user terminal based on error vector magnitudes.

7. The OLT (100) according to any one of claims 1 to 5, wherein the OLT (100) is further configured to: optimize a power allocation among the at least one narrowband user terminal and the at least one fullband user terminal based on bit error rates.

8. A method (400) for a passive optical network, wherein the passive optical network comprises at least one narrowband user terminal and at least one fullband user terminal, and the method (400) comprises the following steps: obtaining (401), by an optical line terminal, OLT, a codebook, wherein the codebook comprises one or more codewords; calculating (402), by the OLT, a Kronecker product of each of the one or more codewords and a vector of [1, 1], to obtain one or more first primary spreading codes as a result; calculating (403), by the OLT, a Kronecker product of each of the one or more codewords and a vector of [1, -1], to obtain one or more second primary spreading codes as a result; encoding (404), by the OLT, data of the at least one narrowband user terminal using the one or more first primary spreading codes; and encoding (405), by the OLT, data of the at least one fullband user terminal using the one or more second primary spreading codes.

9. The method (400) according to claim 8, wherein the method (400) comprises: iteratively calculating, by the OLT, the Kronecker product based on the vector of [1, 1] and [1, -1] and the one or more codewords, to obtain the one or more first primary spreading codes with a pre-configured codeword length and the one or more second primary spreading codes with the same pre-configured codeword length.

10. The method (400) according to claim 8 or 9, wherein the method (400) comprises: iteratively calculating, by the OLT, the Kronecker product based on the vector of [1, 1] and [1, -1] and the one or more codewords, to obtain a set of Walsh Hadamard codes; determining, by the OLT, one or more sign changes in each Walsh Hadamard code of the set; using, by the OLT, one or more first Walsh Hadamard codes with fewer sign changes for encoding the data of the at least one narrowband user terminal; and using, by the OLT, one or more second Walsh Hadamard codes with more sign changes for encoding the data of the at least one fullband user terminal, wherein each of the one or more first Walsh Hadamard codes has fewer sign changes than each of the one or more second Walsh Hadamard codes.

11. The method (400) according to 10, wherein the set of Walsh Hadamard codes is generated based on a tree having M levels, wherein each ///-th level of the tree has 2m-1 Walsh Hadamard codes having a length of 2m-1, wherein M is an integer larger than 1, m is a positive integer larger less than or equal to M, and wherein the method (400) comprises: selecting, by the OLT, at least one Walsh Hadamard code Cm n as the at least one first Walsh Hadamard code, wherein Cm n denotes an //-th Walsh Hadamard code on the ///-th level of the tree, n is a positive integer, m is larger than 1, and n < 2m-2, and selecting, by the OLT, at least one Walsh Hadamard code Cm n as the at least one second Walsh Hadamard code, wherein n > 2m~2.

12. The method (400) according to any one of claims 8 to 11, wherein the method (400) further comprises: determining, by the OLT, at least one secondary spreading code with a pre-configured length for the at least one narrowband user terminal; and encoding, by the OLT, the data of the at least one narrowband user terminal further using the at least one secondary spreading code, wherein if an initial symbol and a final symbol of the at least one first primary spreading code are of a same sign, the secondary spreading code is a vector of ones, if the initial symbol and the final symbol of the at least one first primary spreading code are of different signs, the secondary spreading code is a vector of alternating ones and minus ones.

13. The method (400) according to any one of claims 8 to 12, wherein the method (400) further comprises: optimizing, by the OLT, a power allocation among the at least one narrowband user terminal and the at least one fullband user terminal based on error vector magnitudes of the user terminals.

14. The method (400) according to any one of claims 8 to 12, wherein the method (400) further comprises: optimizing, by the OLT, a power allocation among the at least one narrowband user terminal and the at least one fullband user terminal based on bit error rates.

15. A system (300) comprising at least one OLT according to any one of claims 1 to 7, at least one narrowband user terminal, and at least one fullband user terminal. 16. A computer program product comprising instructions which, when the program is executed by a computer, cause the computer to perform the method according to any one of claims 8 to 14.

Description:
DEVICE AND METHOD FOR A PASSIVE OPTICAL NETWORK

TECHNICAL FIELD

The present disclosure generally relates to the field of optical communications technology. For example, the present disclosure relates to a device and a method for a passive optical network.

BACKGROUND

A passive optical network (PON) is a fiber-optic network utilizing a point-to-multipoint topology in which optical splitters are used to deliver data from a single transmission point to multiple user endpoints.

In PONs, a downstream signal is a broadcast signal delivered from a central point (e.g., optical line terminal (OLT) via an optical splitter) to all users (e.g., optical network units (ONUs) or optical network terminals (ONTs)).

SUMMARY

Since the downstream signal is broadcast to all users, it is difficult to achieve coexistence of users with different bandwidths. All users connecting to a same OLT conventionally receive a same broadcast signal, process the whole broadcast signal, and determine whether there is any information meant for them.

A conventional solution is to employ time-division multiple access (TDMA) in the downstream. However, in the TDMA scheme, the users still need to process the whole broadcast signal and extract relevant information in relevant time slots. Another conventional solution is to employ frequency division multiple access (FDMA). In the FDMA scheme, each user extracts only a specific frequency band of interest. However, this requires either a local oscillator (LO) with a precise wavelength control and coherent detector, or a tunable optical filter when direct detection is used. Therefore, hardware implementations are needed on the user side, and an optical frequency-selective PON receiver can be relatively expensive.

In view of the above, this disclosure aims to achieve a multi-rate signalling scheme in the downstream for PONs that allow to serve users having heterogeneous component bandwidths. A further objective is to reduce hardware modifications in users in order to support the multirate signalling scheme.

These and other objectives are achieved by the solution of this disclosure as described in the independent claims. Advantageous implementations are further defined in the dependent claims.

A first aspect of this disclosure provides an OLT for a PON. The PON comprises at least one narrowband (NB) user terminal and at least one fullband (FB) user terminal. The OLT is configured to: obtain a codebook, in which the codebook comprises one or more codewords; calculate a Kronecker product of each of the one or more codewords and a vector of [1, 1], to obtain one or more first primary spreading codes as a result; calculate a Kronecker product of each of the one or more codewords and a vector of [1, -1], to obtain one or more second primary spreading codes as a result; encode data of the at least one narrowband user terminal using the one or more first primary spreading codes; and encode data of the at least one fullband user terminal using the one or more second primary spreading codes.

It is noted that the NB user terminal may be understood as a user terminal that is capable of receiving a downstream signal that has less bandwidth than the system bandwidth of the PON (e.g., partial system bandwidth) and is not capable of receiving a downstream signal of a full bandwidth that is equal to the system bandwidth of the PON. The FB user terminal may be understood as a user terminal that is capable of receiving a downstream signal of a full bandwidth that is substantially equal to the system bandwidth of the PON. Notably, the system bandwidth of the PON is equal to the (maximum) bandwidth of the downstream signal that can be transmitted by the OLT (e.g., to all connecting ONUs).

Optionally, the term “codeword” may be also referred to as “code”. That is, data for each user terminal is encoded (e.g., modulated) with a different code (or codeword).

By calculating the Kronecker product of each codeword and a vector of [1, 1], the corresponding first primary spreading code (or codeword) has a narrow spectral band occupation. By calculating the Kronecker product of each codeword and a vector of [1,-1], the corresponding second primary spreading code (or codeword) has a broad spectral band occupation. The orthogonality between the first and the second primary spreading codes can be preserved because of using [1,1] and [1, -1] for performing the Kronecker product, respectively.

In this way, different users with different bandwidth capabilities can be served accordingly. Furthermore, for the at least one NB user terminal, the performance degradation due to a limited bandwidth of receiver equipment can be mitigated because the corresponding first primary spreading code has a pattern of consecutive repeating symbols. Furthermore, interferences between the at least one NB user terminal and the at least one FB user terminal can be reduced.

In an implementation form of the first aspect, the OLT may be configured to iteratively calculate the Kronecker product based on the vector of [1, 1] and [1, -1] and the one or more codewords, to obtain the one or more first primary spreading codes with a pre-configured codeword length and the one or more second primary spreading codes with the same pre-configured codeword length.

It is noted that the iterative calculation of the Kronecker product may be understood as follows. The OLT of the first aspect may be further configured to calculate the Kronecker product of each first primary spreading code and the vector of [1, 1] and [1, -1] respectively, to obtain two or more further first primary spreading codes corresponding to each first primary spreading code as a result. The OLT may be further configured to use the two or more further first primary spreading codes to encode data of two or more narrowband user terminals. The two or more further first primary spreading codes may be further used by the OLT to calculate the Kronecker product with the vector of [1, 1] and [1, -1], This operation may be iterative.

Similar to the first primary spread code, the OLT of the first aspect may be further configured to calculate the Kronecker product of each second primary spreading code and the vector of [1, 1] and [1, -1] respectively, to obtain two or more further second primary spreading codes corresponding to each second primary spreading code as a result. The OLT may be further configured to use the two or more further second primary spreading codes to encode data of two or more fullband user terminals. In this way, the OLT may extend the first primary spread code and the second primary spread code to a specific codeword length, to obtain a larger codebook with longer codes. Thus, various numbers of NB user terminals and FB user terminals can be supported.

In an implementation form of the first aspect, the OLT may be configured to iteratively calculate the Kronecker product based on the vector of [1, 1] and [1, -1] and the one or more codewords, to obtain a set of Walsh Hadamard codes. For example, when the codebook comprises only one original codeword of length 1, then the set of Walsh Hadamard codes can be obtained.

The Walsh Hadamard codes may be referred to as Hadamard codes or Walsh codes. Alternatively, a Hadamard matrix may be obtained by the OLT. Each row in the Hadmard matrix may be referred to as one Hadamard code that can be used as a codeword for encoding user data.

In this disclosure, the Hadamard matrix may also be referred to as a Walsh matrix, or a Walsh- Hadamard matrix.

The OLT may be configured to determine one or more sign changes in each Walsh Hadamard code of the set. Optionally, the sign change may be referred to as a zero crossing.

The OLT may be configured to use one or more first Walsh Hadamard codes with fewer sign changes for encoding the data of the at least one narrowband user terminal; and use one or more second Walsh Hadamard codes with more sign changes for encoding the data of the at least one fullband user terminal. Each of the one or more first Walsh Hadamard codes has fewer sign changes than each of the one or more second Walsh Hadamard codes.

In this way, the performance degradation due to limited bandwidth for the at least one NB user terminal can be mitigated.

In an implementation form of the first aspect, the OLT may be configured to generate the set of Walsh Hadamard codes based on a tree having M levels. M is an integer larger than 1. Each m- th level (m = 2, ..., M of the tree has 2 m-1 Walsh Hadamard codes with a length of 2 m-1 . The OLT is further configured to: select at least one Walsh Hadamard code C m n as the at least one first Walsh Hadamard code, wherein C m n denotes an n-th Walsh Hadamard code on the m-th level of the tree, n and m are positive integers, and n < 2 m ~ 2 , and select at least one Walsh Hadamard code C m n as the at least one second Walsh Hadamard code, wherein n > 2 m ~ 2 .

Alternatively, the OLT may be configured to obtain the set of Walsh Hadamard codes in a predetermined manner or in a pre-loaded manner. That is, in alternative to iteratively calculating the Kronecker product based on the vector of [1, 1] and [1, -1], the OLT may be configured to obtain the set of Walsh Hadamard codes based on a Walsh matrix. Rows of the Walsh matrix may be sorted by sign changes from smallest to largest to obtain a sequency-ordered Walsh matrix. The OLT may be configured to use one or more rows of the sequency-ordered Walsh matrix with fewer sign changes as the one or more first primary spreading codes for encoding the data of the at least one narrowband user terminal; and use rows of the sequency-ordered Walsh matrix with more sign changes as the one or more second primary spreading codes for encoding the data of the at least one fullband user terminal. For example, if the sequency- ordered Walsh matrix has X rows, then rows 1 to X/2 may be used as the one or more first primary spreading codes, and rows X/2+1 to X may be used as the one or more second primary spreading codes. Notably, for a Walsh matrix, X=2 k , and k is a positive integer.

In an implementation form of the first aspect, the OLT may be further configured to: determine at least one secondary spreading code with a pre-configured length for the at least one narrowband user terminal; and encode the data of the at least one narrowband user terminal further using the at least one secondary spreading code, wherein if an initial symbol and a final symbol of the at least one first primary spreading code are of a same sign, the secondary spreading code is a vector of ones, if the initial symbol and the final symbol of the at least one first primary spreading code are of different signs, the secondary spreading code is a vector of alternating ones and minus ones. This may result in an even narrower band occupation. The data rate (or simply, the rate) of the at least one NB user terminal may be further reduced according to the principle of variable spreading gain in code-division multiple access (CDMA).

In an implementation form of the first aspect, the OLT may be further configured to optimize a power allocation among the at least one narrowband user terminal and the at least one fullband user terminal based on error vector magnitudes (EVMs).

In an implementation form of the first aspect, the OLT may be further configured to optimize a power allocation among the at least one narrowband user terminal and the at least one fullband user terminal based on bit error rates (BERs).

In this way, the at least one narrowband user terminal may experience less interference introduced by the signal of the at least one fullband user terminal. This might be beneficial, because during the transmission, the at least one narrowband user terminal may receive a signal with a reduced bandwidth, which may not be strictly orthogonal with the signal of the at least one fullband user terminal. By optimizing the power allocation among the user terminals, the whole performance of all the user terminals in the PON may be driven to a desired EVM and/or BER region, so as to reduce the interference between the user terminals.

A second aspect of this disclosure provides a method for a PON. The PON comprises at least one NB user terminal and at least one FB user terminal. The method comprises the following steps: obtaining, by an OLT, a codebook, wherein the codebook comprises one or more codewords; calculating, by the OLT, a Kronecker product of each of the one or more codewords and a vector of [1, 1], to obtain one or more first primary spreading codes as a result; calculating, by the OLT, a Kronecker product of each of the one or more codewords and a vector of [1, -1], to obtain one or more second primary spreading codes as a result; encoding, by the OLT, data of the at least one narrowband user terminal using the one or more first primary spreading codes; and encoding, by the OLT, data of the at least one fullband user terminal using the one or more second primary spreading codes. In an implementation form of the second aspect, the method may further comprise iteratively calculating, by the OLT, the Kronecker product based on the vector of [1, 1] and [1, -1] and the one or more codewords, to obtain the one or more first primary spreading codes with a preconfigured codeword length and the one or more second primary spreading codes with the same pre-configured codeword length.

In an implementation form of the second aspect, the method may further comprise: iteratively calculating, by the OLT, the Kronecker product based on the vector of [1, 1] and [1, -1] and the one or more codewords, to obtain a set of Walsh Hadamard codes; determining, by the OLT, one or more sign changes in each Walsh Hadamard code of the set;

- using, by the OLT, one or more first Walsh Hadamard codes with fewer sign changes for encoding the data of the at least one narrowband user terminal; and

- using, by the OLT, one or more second Walsh Hadamard codes with more sign changes for encoding the data of the at least one fullband user terminal, wherein each of the one or more first Walsh Hadamard codes has fewer sign changes than each of the one or more second Walsh Hadamard codes.

In an implementation form of the second aspect, the set of Walsh Hadamard codes may be generated based on a tree having M levels. Each m-th level of the tree has 2 m-1 Walsh Hadamard codes with a length of 2 m-1 , m=2, ..., M, and M is an integer larger than 1. The method may further comprise: selecting, by the OLT, at least one Walsh Hadamard code C m n as the at least one first Walsh Hadamard code, wherein C m n denotes an n-th Walsh Hadamard code on the m- th level of the tree, n and m are positive integers, and n < 2 m ~ 2 , selecting, by the OLT, at least one Walsh Hadamard code C m n as the at least one second Walsh Hadamard code, wherein n > 2 m ~ 2 .

In an implementation form of the second aspect, the method may further comprise: determining, by the OLT, at least one secondary spreading code with a pre-configured length for the at least one narrowband user terminal; and encoding, by the OLT, the data of the at least one narrowband user terminal further using the at least one secondary spreading code, wherein if an initial symbol and a final symbol of the at least one first primary spreading code are of a same sign, the secondary spreading code is a vector of ones, if the initial symbol and the final symbol of the at least one first primary spreading code are of different signs, the secondary spreading code is a vector of alternating ones and minus ones.

In an implementation form of the second aspect, the method may further comprise optimizing, by the OLT, a power allocation among the at least one narrowband user terminal and the at least one fullband user terminal based on error vector magnitudes of the user terminals.

In an implementation form of the second aspect, the method may further comprise optimizing, by the OLT, a power allocation among the at least one narrowband user terminal and the at least one fullband user terminal based on bit error rates.

The method of the second aspect and its implementation forms may achieve the same advantages and effects as described above for the OLT of the first aspect and its implementation forms.

A third aspect of this disclosure provides a system. The system comprises at least one OLT according to the first aspect or any implementation form thereof, at least one NB user terminal, and at least one FB user terminal.

A fourth aspect of this disclosure provides a computer program comprising instructions which, when the program is executed by a computer, cause the computer to perform the method according to the second aspect or any of its implementation forms.

A fifth aspect of this disclosure provides a non-transitory storage medium storing executable program code which, when executed by a processor, causes the method according to the second aspect or any of its implementation forms to be performed.

It has to be noted that all devices, terminals, elements, units, and means described in the present application could be implemented in the software or hardware elements or any kind of combination thereof. All steps which are performed by the various entities described in the present application as well as the functionalities described to be performed by the various entities are intended to mean that the respective entity is adapted to or configured to perform the respective steps and functionalities. Even if, in the following description of specific embodiments, a specific functionality or step to be performed by external entities is not reflected in the description of a specific detailed element of that entity which performs that specific step or functionality, it should be clear for a skilled person that these methods and functionalities can be implemented in respective software or hardware elements, or any kind of combination thereof.

BRIEF DESCRIPTION OF DRAWINGS

The above-described aspects and implementation forms will be explained in the following description of specific embodiments in relation to the enclosed drawings, in which

FIG. 1 shows an example of an OLT for a PON according to the present disclosure;

FIG. 2 illustrates an example of a construction of Walsh Hadamard codes according to this disclosure;

FIG. 3 shows an example of a system according to this disclosure;

FIG. 4 shows a diagram of a method according to this disclosure;

FIG. 5 shows an example of a PON.

DETAILED DESCRIPTION OF EMBODIMENTS

The present disclosure generally provides a set of different spreading codes and a method for generating such spreading codes that can be applied to an OLT for encoding user data of different user terminals with different bandwidth capabilities in the downstream, so as to serve user terminals with different bandwidth capabilities over a shared medium (e.g., a fiber-optic cable) in the downstream of a PON network.

FIG. 5 shows an example of a PON 500, which comprises an OLT, one or more ONUs that are FB users (or FB ONUs), and one or more ONUs that are NB users (or NB ONUs). Whether a respective ONU is a FB user or an NB user mainly depends on the hardware of the respective ONU. For example, if the PON 500 is capable of supporting (e.g., sending a downstream signal) a bandwidth of 10GHz in the downstream, then an ONU that is capable of supporting (e.g., receiving a downstream signal) a bandwidth of 10GHz may be considered as a FB ONU, and an ONU that is capable of supporting a bandwidth less then 10GHz (e.g., 1GHz, 5GHz, or 7GHz) may be considered as an NB ONU. The OLT in FIG. 5 communicates, in the downstream, to all the ONUs via a shared medium, such as a fiber-optical cable, with a system bandwidth. Data of all the ONUs are transmitted in a hybrid optical signal from the OLT through this shared medium. The PON 500 may comprise one or more optical splitters between the OLT and the ONUs. Each optical splitter is adapted to provide a dedicated connection to each ONU. Nevertheless, each optical splitter is simply adapted to forward the hybrid optical signal, and the hybrid optical signal is still transmitted on each dedicated connection. Optionally, depending on hardware capabilities, an NB ONU is a user terminal that is capable of receiving a downstream signal that has less bandwidth than the system bandwidth. That is, the NB ONU is not capable of receiving the downstream signal in the full (entire) bandwidth transmitted by the OLT, and is only capable of receiving the downstream signal with partial system bandwidth. A FB ONU is a user terminal that is capable of receiving a downstream signal that is substantially equal to the system bandwidth. The system bandwidth is equal to the bandwidth of the downstream signal that can be transmitted by the OLT to all connecting ONUs.

FIG. 1 shows an example of an OLT 100 for a PON according to the present disclosure. The PON comprises at least one NB user terminal and at least one FB user terminal. FIG. 1 exemplarily corresponds to a case of having one NB user terminal and one FB user terminal in the PON. The OLT 100 is configured to obtain a codebook comprising at least one codeword 101. In FIG. 1, one codeword 101 is exemplarily shown. It is noted that the codeword 101 may be referred to as an initial or original codeword. The codebook comprising the at least one initial codeword may be referred to as an initial codebook.

The OLT 100 is further configured to calculate a Kronecker product of the at least one codeword 101 and a vector of [1, 1], to obtain at least one first primary spreading code 102 as a result. The OLT 100 is further configured to encode data 103 of the at least one NB user terminal using the at least one first primary spreading code 102.

The OLT 100 is further configured to calculate a Kronecker product of the at least one codeword 101 and a vector of [1, -1], to obtain at least one second primary spreading code 104 as a result. The OLT 100 is further configured to encode data 105 of the at least one FB user terminal using the at least one second primary spreading code 104. Optionally, for encoding data using a respective primary spreading code, the OLT may be configured to perform a Kronecker product of the data and the respective primary spreading code.

Then, the OLT may be configured to add encoded data 106 of the at least one NB user terminal and encoded data 108 of the at least one FB user terminal together and transmit the added signal in the downstream via an optical transmission medium, e.g., a fiber-optical cable.

It is noted that the Kronecker product of the at least one codeword 101 and the vectors of [1, 1] and [1, -1] is multiplied from the right.

For example, given a codeword c = [x, y, z], a Kronecker product of the codeword c and the vector [1, 1] is as follows: c ® [1, 1] = [x, x,y,y, ...,z,z\ (Eq. 1)

The resulted codeword (e.g., the at least one first primary spreading code) has a narrow spectral band occupation and can be assigned to a user terminal that has a narrow (e.g., narrower than the system bandwidth) bandwidth capability, e.g., the at least one NB user terminal. A corresponding receiver (e.g., the at least one NB user terminal) may simply perform two-fold down-sampling to obtain the original codeword c of the codebook.

A Kronecker product of the codeword c and the vector [1, -1] is as follows:

The resulted codeword (e.g., the at least one second primary spreading code) has a broad spectral occupation and can be assigned to a user terminal that has a full bandwidth capability, e.g., the at least one FB user terminal.

As exemplarily illustrated in FIG. 1, the initial codeword ci,i=(l). The OLT may be configured to obtain a respective first primary code c 2 ,i = (1, 1) and a respective second primary code C 2 ,2=(l,-1).

Orthogonality between the two results of the two Kronecker multiplications is still preserved.

In this way, the co-existence of users with different bandwidths due to different hardware capabilities can be supported in the PON. Moreover, only the spreading codes are modified. Therefore, the solution in this disclosure is compatible across several hardware generations and is also backward compatible.

When there is more than one initial codeword in the codebook, the OLT 100 may be configured to determine the minimum number of codewords needed for encoding user data based on the number of NB user terminals and the number of FB user terminals. For each determined initial codeword, the OLT 100 may be configured to obtain a corresponding first primary spreading code and a corresponding second primary spreading code, and encode user data correspondingly as mentioned above.

Optionally, for a specific initial codeword, the operation of calculating the Kronecker product with vectors of [1, 1] and [1, -1] respectively can be performed iteratively, in order to obtain a larger codebook with longer codes. In an optional case, when the initial codebook comprises only one codeword of length 1, the iteration yields a set of Walsh Hadamard codes.

In the set of Walsh Hadamard codes, the OLT may be configured to determine the number of sign changes in each Walsh Hadamard code. A sign change may be understood as a zerocrossing. For example, a Walsh Hadamard code [1,-1, -1,1, 1,-1, -1,1] has 4 sign changes or 4 zero-crossings. The OLT may be configured to obtain one or more first Walsh Hadamard codes with fewer sign changes and obtain one or more second Walsh Hadamard codes with more sign changes. Each of the one or more first Walsh Hadamard codes has fewer sign changes than each of the one or more second Walsh Hadamard codes. The OLT may be further configured to use the one or more first Walsh Hadamard codes for encoding the data of the at least one NB user terminal, and use the one or more second Walsh Hadamard codes for encoding the data of the at least one fullband user terminal

FIG. 2 illustrates an example of a construction of Walsh Hadamard codes according to this disclosure.

The OLT 100 in FIG. 1 may be configured to generate the Walsh Hadamard codes based on a tree having M levels. Each m-th level of the tree has 2 m-1 Walsh Hadamard codes with a length of 2 m-1 , m=2, . . . , M, and M is an integer larger than 1. For data encoding, the OLT 100 may be configured to: select at least one Walsh Hadamard code C m n as the at least one first Walsh Hadamard code, wherein C m n denotes an n-th Walsh Hadamard code on the m-th level of the tree, n and m are positive integers, and n < 2 m ~ 2 , and select at least one Walsh Hadamard code C m n as the at least one second Walsh Hadamard code, wherein n > 2 m ~ 2 .

In principle, the OLT 100 may be configured to assign a Walsh Hadamard code with more consecutive equal symbols to an NB user terminal and assign a Walsh Hadamard code with fewer consecutive equal symbols to a FB user terminal. In this way, the assigned codeword to the NB user terminal occupies a narrower spectral band because of the more consecutive equal symbols. The performance degradation of the NB user terminal due to limited bandwidth may be mitigated. That is, for each level of the tree illustrated in FIG. 2, the OLT 100 may be configured to assign a Walsh-Hadamard code C m n with n < 2 m ~ 2 to each NB user terminal, and assign a Walsh Hadamard code C m n with n > 2 m ~ 2 to each FB user terminal.

For example, when there are two NB user terminals and two FB user terminals, a tree having a level of 3 is sufficient. The OLT 100 may assign C3, 1 and C3, 2 to the two NB user terminals respectively, and assign C3, 3 and C3, 4 to the two FB user terminals respectively. It is noted that a tree having a level larger than 3 can also be used for this case. For example, a tree having a level of 4 can also be used for a PON having two NB user terminals and two FB user terminals. For a set of Walsh Hadamard codes of the same length, the OLT 100 may be configured to assign a Walsh Hadamard code with fewer sign changes to a user terminal with less bandwidth. That is, the OLT 100 may be configured to assign a Walsh Hadamard code with more equal consecutive signs to a user terminal with less bandwidth.

Alternatively, the OLT 100 may not need to perform Kronecker multiplication in a “real-time” manner when the OLT 100 is configured to encode and transmit downstream data. The OLT 100 may be configured to obtain a set of Walsh Hadamard codes (or a Walsh Hadamard matrix) that is pre-calculated or pre-loaded. Then, the OLT 100 may be configured to determine, for each Walsh Hadamard code, the number of sign changes. The OLT 100 may be further configured to assign a Walsh Hadamard code with fewer sign changes to a user terminal with less bandwidth. That is, in alternative to iteratively calculating the Kronecker product based on the vector of [1, 1] and [1, -1] and to generating the set of Walsh Hadamard codes based on the M-level tree, the OLT 100 may be configured to obtain the set of Walsh Hadamard codes based on a Walsh matrix. Rows of the Walsh matrix may be sorted by sign changes from smallest to largest to obtain a sequency-ordered Walsh matrix. The OLT 100 may be configured to use one or more rows of the sequency-ordered Walsh matrix with fewer sign changes as the one or more first primary spreading codes for encoding the data of the at least one narrowband user terminal; and use rows of the sequency-ordered Walsh matrix with more sign changes as the one or more second primary spreading codes for encoding the data of the at least one fullband user terminal. For example, if the sequency-ordered Walsh matrix has X rows, then rows 1 to X/2 may be used as the one or more first primary spreading codes, and rows X/2+1 to X may be used as the one or more second primary spreading codes. Notably, for a Walsh matrix, X=2 k , and k is a positive integer.

For example, the vectors of [1, 1] and [1, -1] may be determined based on a sequency-ordered Walsh matrix of 2 rows (or with a dimension of 2). Optionally, the Walsh matrix with a dimension of 2, denoted as H(2), may be used as a basis to iteratively generate a further Walsh matrix with higher dimensions. That is, H(2 k ) = H(2) 0 H(2 k-1 ), k is a positive integer. It is noted that this is an illustrative example of how the Walsh matrix can be generated. The OLT 100 in this disclosure may not necessarily perform these steps to generate the Walsh matrix. The OLT 100 may simply obtain the Walsh matrix of various dimensions in a pre-loaded manner. For example, the Walsh matrix of various dimensions may be stored in the OLT 100. The Walsh matrix may be sequency ordered based on the number of sign changes. The sequency ordering may be done by the OLT. Alternatively, the Walsh matrix obtained by the OLT has already been sequency ordered.

For example, the OLT may obtain a Walsh matrix of dimension 4 that is sequency ordered as follows:

In this example, the first row (having zero sign changes, which corresponds to C3,i in FIG. 2) and the second row (having one sign change, which corresponds to 63,2 in FIG. 2) may be assigned by the OLT 100 to NB user terminals (e.g., calculating a Kronecker product of an initial codeword with the first row and the second row respectively to obtain first primary spreading codes). The third row (having two sign changes, which corresponds to Cs.Hn FIG. 2) and the fourth row (having three sign changes, which corresponds to C3.3 in FIG. 2) may be assigned to FB user terminals (e.g., calculating a Kronecker product of the initial codeword with the third and the fourth row respectively to obtain second primary spreading codes).

The OLT may be configured to determine the dimension of the Walsh matrix based on the number of the ONUs.

Optionally, the OLT 100 may be further configured to determine at least one secondary spreading code with a pre-configured length for the at least one narrowband user terminal, and encode the data of the at least one narrowband user terminal further using the at least one secondary spreading code. If an initial (or starting) symbol and a final symbol of the at least one first primary spreading code are of the same sign, the secondary spreading code is a vector of ones, e.g., [1, 1, . . . ]. If the initial symbol and the final symbol of the at least one first primary spreading code are of different signs, the secondary spreading code is a vector of alternating ones and minus ones, e.g., [1, -1, 1, -1, ...] or [-1, 1, -1, 1, ...].

Optionally, the OLT 100 may be configured to determine the pre-configured length based on a desired data rate for the at least one narrowband user terminal. For example, a secondary spreading code of length p may reduce the data rate by a factor of p. Alternatively, the OLT 100 may be configured to obtain information about the pre-configured length from another entity.

It is noted that the OLT 100 may be further configured to calculate a Kronecker product of the at least one first primary spreading code and the at least one secondary spreading code, to obtain a final spreading code as a result, and encode the data of the at least one user terminal using the final spreading code.

For instance, given a first primary spreading code assigned to an NB user terminal with [1,1,- 1,-1], the OLT is configured to determine a secondary spreading code [1, -1, 1] and calculate a Kronecker product to obtain a final spreading code:

[+1, +1, -1, -1] ® [ + L -1, +1] = [+L +L -L -L -L -L +L +L +L +L -L -1] (Eq. 3) It can be seen that the (largest) equal consecutive signs in the first primary spreading code in this example is 2. In the final spreading code according to Eq. 3, the (largest) equal consecutive signs is 4, which can result in a more compact spectral occupancy. Moreover, the data rate of the at least one NB user terminal can be further reduced and the spectrum of codeword(s) assigned to the at least one user terminal can be further compressed, according to the principle of variable spreading gain CDMA. This can ensure a homogeneous spectral efficiency between NB and FB user terminals and can enhance the performance of the NB user terminal.

Optionally, the OLT in this disclosure may be further configured to provide the at least one first primary spreading code, the at least one second primary spreading code, and the optional at least one secondary spreading code to each corresponding user terminal, so that each user terminal can properly decode their data properly. Alternatively, a further entity (e.g., a controller) may be configured to provide the at least one first primary spreading code, the at least one second primary spreading code, and the optional at least one secondary spreading code to the OLT and the ONUs for encoding and decoding, respectively.

The final spreading code and the at least one second primary spreading code are also orthogonal since the final spreading code is further spread over the at least one first primary spreading code. However, during the transmission, the at least one NB user terminal may still experience interference from the at least one FB user terminal, because data of the at least one FB user terminal encoded using the at least one second primary spreading code may not be orthogonal when received by the at least one NB user terminal with a reduced bandwidth over the shared medium. As a consequence, the EVM for the at least one NB user terminal may be higher and may even show an error floor independently of the signal-to-noise ratio (SNR). To solve this issue, the OLT is further configured to optimize a power allocation among the at least one NB user terminal and the at least one FB user terminal based on EVMs and/or BERs. Optionally, the optimization may be performed iteratively. Any power optimization technique commonly known in the field may be used to optimize the power allocation. In this way, the network operation of the PON can be driven to a desired EVM and/or BER region.

FIG. 3 shows an example of a system 300 according to this disclosure. It is noted that similar elements in FIGs. 1-3 may share the same features and functions likewise. The system 300 exemplarily shown in FIG. 3 depicts a block diagram of the PON using CDMA scheme including optimized per-user power allocation in the downstream according to this disclosure. C a and Cb may correspond to the at least one second primary spreading code with respect to FIGs. 1-2. C x may correspond to the at least one first primary spreading code.

The OLT in FIG. 3 is configured to encode user data 0, 1, ... x using the spreading codes C a , Cb, ..., C x , respectively. For an NB user terminal ONU x, the user data x may be optionally further encoded with a secondary spreading code by the OLT. The encoded user data are aggregated, pulse shaped, and transmitted on each channel that corresponds to a respective bandwidth. The channels 1, 2, ...x are carried through a shared transmission medium, e.g., a fiber-optical cable. Before the encoded user data are transmitted, the OLT may optionally be configured to perform power allocation on each encoded user data.

The OLT may be further configured to provide the information about a corresponding spreading code used for encoding user data to each respective ONU. Each ONU may be able to decode the original user data based on the information about corresponding spreading code. For instance, a trained equalizer of an ONU may be adapted to decode corresponding user data.

In the system 300 of FIG. 3, different bandwidths of the FB ONU(s) and the NB ONU(s) can be respectively served. This enables the coexistence of user terminals with different hardware capabilities in the same PON. Moreover, the interference between the FB ONUs and the NB ONU(s) can be mitigated due to the power allocation. The BER and/or EVM can be matched to the needs of the user terminals and the PON. Moreover, the rate of the NB ONU(s) can be flexibly adapted via the secondary spreading code.

FIG. 4 shows a diagram of a method 400 according to this disclosure. The method 400 is for a PON. The PON comprises at least one NB user terminal and at least one FB user terminal. The method 400 comprises the following steps:

Step 401 : obtaining, by an OLT, a codebook, wherein the codebook comprises one or more codewords;

Step 402: calculating, by the OLT, a Kronecker product of each of the one or more codewords and a vector of [1, 1], to obtain one or more first primary spreading codes as a result; Step 403: calculating, by the OLT, a Kronecker product of each of the one or more codewords and a vector of [1, -1], to obtain one or more second primary spreading codes as a result;

Step 404: encoding, by the OLT, data of the at least one NB user terminal using the one or more first primary spreading codes; and

Step 405: encoding, by the OLT, data of the at least one FB user terminal using the one or more second primary spreading codes.

The steps of the method 400 may share the same functions and details from the perspective of FIG. 1-3 described above. Therefore, the corresponding method implementations are not described again at this point.

In the present disclosure, the OLT may comprise at least one processor or processing circuitry (not shown) configured to perform, conduct or initiate the various operations of the device described herein. The processing circuitry may comprise hardware and/or the processing circuitry may be controlled by software. The hardware may comprise analog circuitry or digital circuitry, or both analog and digital circuitry. The digital circuitry may comprise components such as application-specific integrated circuits (ASICs), field-programmable arrays (FPGAs), digital signal processors (DSPs), or multi-purpose processors. The device may further comprise memory circuitry, which stores one or more instruction(s) that can be executed by the processor or by the processing circuitry, for example, under the control of the software. For instance, the memory circuitry may comprise a non-transitory storage medium storing executable software code which, when executed by the processor or the processing circuitry, causes the various operations of the device to be performed. In one embodiment, the processing circuitry comprises one or more processors and a non-transitory memory connected to the one or more processors. The non-transitory memory may carry executable program code which, when executed by the one or more processors, causes the device to perform, conduct or initiate the operations or methods described herein.

The present disclosure has been described in conjunction with various embodiments as examples as well as implementations. However, other variations can be understood and effected by those persons skilled in the art and practicing the claimed matter, from the studies of the drawings, this disclosure and the independent claims. In the claims as well as in the description the word “comprising” does not exclude other elements or steps and the indefinite article “a” or “an” does not exclude a plurality. A single element or other unit may fulfill the functions of several entities or items recited in the claims. The mere fact that certain measures are recited in the mutual different dependent claims does not indicate that a combination of these measures cannot be used in an advantageous implementation.