Channel Estimator Circuit for Wireless Communications and Method for Channel Estimation
Patent Information
- Authority / Receiving Office
- GB · GB
- Patent Type
- Patents
- Current Assignee / Owner
- ACCELERCOMM LTD
- Filing Date
- 2024-06-26
- Publication Date
- 2026-07-23
Smart Images

Figure 00000001_0000 
Figure 00000002_0000 
Figure 00000003_0000
Abstract
Description
Description Field of the invention The field of the invention relates to a channel estimator circuit for wireless communications, and a method for channel estimation. The field is applicable to, but not limited to, channel estimation for current and future generations of communication standards. Background Wireless communications may be characterized by various communication channel effects being imposed upon the transmitted signal, including multipath (frequency selective) fading, time selective fading, etc. In order for the receiver to equalize the received signal, it is first necessary to estimate the channel impairments. This may be achieved by transmitting pilot symbols for the receiver to receive and process in order to establish channel estimation. The receiver is given prior knowledge of what pilot symbols are transmitted, as well as what time and frequency resources are used for the transmitted pilot symbols, so that the receiver may compare the known transmitted signal with the received signal and infer that the transmission between these represents the fading imposed by the channel. For example, in 3rd generation partnership project (3GPP)'s fifth generation new radio (5GNR) standard [1], the Physical Uplink Shared Channel (PUSCH) and Physical Downlink Shared Channel (PDSCH) employ demodulation reference signals (DM-RS) as pilots. FIG. 1 depicts the time frequency and spatial resources used in multiple-in multiple out orthogonal frequency division multiplexing (MIMO-OFDM) communications. In state-of-the-art wireless communication systems, an orthogonal frequency division multiplexing (OFDM) technique is used, which allows bits to be transmitted in both the time- and the frequency-domains. In order to achieve high spectral efficiency, more specifically, the time resources are split into OFDM symbols 101, while the frequency resources are split into subcarriers 102. Each combination of an OFDM symbol in the time domain (TD) and a subcarrier in the frequency domain (FD), i.e., each subcarrier in a particular OFDM symbol, is referred to as a resource element (RE) 103. REs from all allocated FD and TD resources form a two-dimensional resource grid (RG) 104. For example, FIG. 2 shows the resource segmentation 200 in 3GPP's 5GNR standard [1], every 12 subcarriers form a resource block (RB) 107, every 12 or 14 OFDMs symbols form a slot 106, and an RG contains 1 < / VRB <273 RBs and one slot, depending on the scheduling strategy. Some REs may carry payload information and are referred to as a payload RE 108. In some applications, there may be some REs that do not carry any information and so these REs are referred to as an empty RE 109. Some REs may carry pilot information and are referred to as a pilot RE 110. An OFDM symbol that includes one or more pilot REs 110 is referred to as a pilot OFDM symbol 111. Note that a pilot OFDM symbol 111 may also carry payload REs 108 and / or empty REs 109, in addition to one or more pilot REs 110. Similarly, a sub-carrier that includes one or more pilot REs 110 is referred to as a pilot subcarrier 112. Note that a pilot subcarrier 112 may also carry payload REs 108 and / or empty REs 109, in addition to one or more pilot REs 110. FIG. 3 depicts a known MIMO system 300. A third dimension of multiplexing can be provided in the case of using multiple input multiple output (MIMO) communications, whereby multiple transmitting antennas 301 are used by the transmitting device 302 and multiple receiving antenna paths 303 are used by the receiving device 304, an improved spatial efficiency may be achieved using spatial multiplexing. More specifically, for each RE, each transmitting antenna 301 transmits a different set of bits as a quadrature amplitude modulation (QAM) signal or a phase-shift keying (PSK) signal, which may transport Qm = 2 bits in the case of quadrature phase shift keying (QPSK), Qm = 4 bits for 16 quadrature amplitude modulation (16QAM), and Qm = 8 bits for 64QAM, for example. Here, the number of transmitted QAM or PSK signals simultaneously on different antennas for each RE is referred to the number of layers NP, which may be equal to or less than the number of transmitting antennas Nt. Following coding / modulation 306 and before radio frequency processing in the low-PHY 307, the mapping of an RE 103 from a layer 105 to a transmitting antenna 301 is through the precoding process 305. The signals are conveyed from each transmitting antenna 301 to each receiving antenna path 303 via a channel having a particular channel gain 308 and is received in the presence of noise 309. In the receiving device 304, radio frequency processing is performed in the low-PHY 310, before a channel estimator circuit 311 is used to estimate the channel gains 308. Finally, equalization / demodulation / decoding 312 is performed to complete the receiving process. Examples herein described focus on new aspects of the channel estimator circuit 311. FIG. 4 shows the multi-user MIMO (MU-MIMO) uplink and downlink transmissions 400. Note that the layers 105 may not all belong to the same user equipment (UE) (401, 402), sometimes referred to as a user terminal, and there may be different UEs with different number of transmit antennas 301 sharing the layer resource, each having a different fraction of the total layers. Different UEs (401, 402) may interfere with each other, as shown in FIG. 4. In the uplink the base station (BS) 403 can use signal processing to separate the signals from all of the different UEs, while in the downlink each UE can use signal processing to separate its signal from those of all the other UEs. As the example given in FIG. 4 the base station (BS) 403 is associated with three UEs (UEo 401, UEi 402, and UE2 402). The BS 403 has a capacity of processing NP = 9 layers, which are shared with the three UEs. Specifically, UEo is assigned NP1 = 3 layers, namely layers 0, 1, and 2; UE2 is assigned NP2 = 2 layers, namely layers 3, and 4; UEj is assigned the rest NP3 = 4 layers, namely layers 5, 6, 7, and 8. In the uplink, each UE prepares its own data and transmits them to the BS 403, while the BS 403 separates the arriving stream into three using UE separation 404, each with the data solely from one UE, which are separately forwarded for further processes. In the downlink, the BS 403 prepares the nine layers of data of all three UEs and multiplexes them into one stream for transmission. Each UE receives the nine layers of data for all UEs and can separate the respective NP0, NP1, or NP2 layers for itself from the others. In the channel, transmitted signals sent for different users (401, 402) interfere with each other and are received at multiple received antenna (such as received antenna paths 303) of FIG. 3. The channel estimator 311 has the role of estimating the channel 308 between each combination of transmitting antenna and receive antenna, in order that the equalizer 312 can separate out the signals transmitted by different transmitting antennas 301. The four dimensions (layer 105, receiving antenna 303, frequency i.e., subcarrier 102, and time i.e., OFDM symbol 101) are depicted in FIG. 1 and FIG. 3, where the frequency resources in an RG 104 are split into 12 subcarriers 102 (k' = 0, ...,11), the time resources into 14 OFDM symbols 102 (f = 0,... ,13), three layers 105 (j = 0,1,2,3) each having a RG are mapped to four transmitting antennas 301 through precoding 305, and four receiving antenna paths 303 (r = 0, ...,3) each receives an independently faded copy of the transmitted signal. It is worth noting that the resource allocated for the transmission, such as the number of subcarriers (102), number of layers (105), transmitting antennas (301), receiving antennas (303), etc., are subjected to the resource allocation strategies employed and may change from slot to slot. However, in order to estimate each channel between each transmitting antenna and each receiving antenna, a corresponding set of pilot symbols is needed. Further, the pilot symbols need to be local to the transmitted data, which means that the pilot symbols of different transmitting antennas are contending to have access to the same time and frequency resources. In order to grant them all access to the same time and frequency resources, code-division multiplexing (CDM) spreadings can be applied. The CDM spreading enables the share of same time and frequency resources by pilots from multiple layers, at the expense of creating mutual dependencies between each of the those participating layers [2]. As discussed above, the use of CDM spreading a transmitted signal introduces dependencies between pilot REs in different subcarriers across the frequency domain and across different OFDM symbols in the time domain. The inventors have recognized and appreciated that this is problematic in practical channel estimators, which have the job of estimating the channel effects in the receiving device, in order to support the mitigation of the channel effects during equalization. More specifically, in a practical channel estimator, the pilot symbols are processed in sub-carrier order, one OFDM symbol at a time. However, the inventors have also recognized and appreciated that the interdependencies between pilot REs in different OFDM symbols imposes a requirement for large buffers to store intermediate signal processing results between the processing of one OFDM symbol into the next. In cases where the signal processing alternates back and forth between frequency domain processing (e.g., Frequency Domain (FD) CDM de-spreading, FD interpolation) and time domain processing (e.g., Time Domain (TD) CDM despreading, TD interpolation), large buffers are required to store intermediate results relating to different OFDM symbols each time the processing switches from the frequency domain to the time domain. These large buffers consume large amounts of hardware, energy and time resources, which would result in high-latency channel estimator devices that are expensive to build and run. Summary Examples described herein reformulate the signal processing to separate all frequency domain processing into a first stage and all time domain processing into a second stage, such that only a single large buffer is required between them. In this manner, a significant reduction in the amount of hardware, energy and time resources required can be achieved, thereby improving latency and the cost to build and run the design. In a first aspect, a channel estimator circuit comprises an input configured to receive in one slot a multiplexed representation of one or more time-domain code division multiplexed, TD-CDM, spread received signals. An initial estimator circuit is configured to: process a pre-estimation signal that is formed from the multiplexed representation of the one or more TD-CDM spread received signals; use a base pilot signal from a base pilot signal generator circuit as a reference signal; and output an initial estimate signal. A frequency-domain processing circuit is configured to receive and process a first set of one or more TD-CDM spread channel estimate signals that is representative of the initial estimate signal, and output a second set of one or more TD-CDM spread channel estimate signals. An error estimator circuit comprises: a first input operably coupled to the base pilot signal generator circuit and configured to receive a first set of one or more error estimation reference signals representative of the base pilot signal; a second input operably coupled to the frequency-domain processing circuit and configured to receive a second set of error estimation reference signals representative of the second set of one or more TD-CDM spread channel estimate signals; a third input operably coupled to the input and configured to receive the multiplexed representation of the one or more TD-CDM spread received signals. The error estimator circuit further comprises at least one of: a noise variance estimation circuit configured to use the error estimation reference signals and the second set of error estimation reference signals and perform noise variance estimation on the multiplexed representation of the one or more TD-CDM spread received signal, or a covariance matrix estimation circuit configured to use the error estimation reference signals and the second set of error estimation reference signals and perform covariance matrix estimation on the multiplexed representation of the one or more TD-CDM spread received signals. An error estimator circuit output is configured to output one or more error estimate signals in response to signals received at each of the first input and second input and third input. In this manner, the frequency-domain-related signal processing and the time-domain-related signal processing are separated, the error estimation can be carried out, and a significant reduction in the amount of hardware, energy and time resources required can be achieved, thereby improving latency and the cost to build and run the design. In an optional example of the channel estimator circuit, the channel estimator circuit may further comprise: a frequency domain code division multiplexing (FD-CDM) de-spreading circuit that is configured: to receive a de-spreading input signal representative of the multiplexed representation of one or more TD-CDM spread received signals; to perform a FD-CDM de-spread operation on the despreading input signal; and to output a de-spread output signal. The de-spreading input signal may be either: the multiplexed representation of the one or more TD-CDM spread received signals, and the first de-spread output signal of FD-CDM de-spreading circuit is the pre-estimation signal, or the initial estimate signal, where the first de-spread output signal of the FD-CDM de-spreading circuit is the first set of one or more TD-CDM spread channel estimate signals. The channel estimator circuit may further comprise a FD-CDM spreading circuit configured: to receive the base pilot signal; to perform a FD-CDM spread operation on the base pilot signal, and to output the first set of error estimation reference signals. In this manner, the estimator circuit may be capable of estimating signals that are FD-CDM spread. In an optional example of the channel estimator circuit, the first FD-CDM de-spreading circuit may be configured to perform a FD-CDM de-spread operation that uses a Walsh-Hadamard code with a length of two, and the FD-CDM spreading circuit may be configured to perform a FD-CDM spread operation that uses a Walsh-Hadamard code with a length of two. In this manner, the channel estimation circuit can process input signals whose pilots are FD-CDM spread using a Walsh-Hadamard code with a length of two. In an optional example of the channel estimator circuit, the multiplexed representation of the one or more TD-CDM spread received signals may be additionally FD-multiplexed, and the channel estimator circuit may further comprise an FDM de-multiplexing circuit having: an input configured to receive and perform an FD de-multiplex operation on an input FDM signal; and an output configured to output an FD de-multiplexed output signal. The input FDM signal may be formed from the multiplexed representation of the one or more TD-CDM spread received signals, and the FD de-multiplexed output signal forms a basis of the pre-estimation signal, or may be formed from the initial estimate signal, and the FD demultiplexed output signal forms a basis of the first set of one or more TD-CDM spread channel estimate signals. In this manner, the channel estimator circuit can process input signals whose pilots are frequency-domain multiplexed. In an optional example of the channel estimator circuit, the multiplexed representation of the one or more TD-CDM spread received signals may also be additionally TD-multiplexed, and the channel estimator circuit may further comprise a TDM de-multiplexing circuit having an input configured to receive and perform a TD de-multiplex operation on an input TDM signal; and an output configured to output a TD de-multiplexed output signal. The input signal may be formed from the multiplexed representation of the one or more TD-CDM spread received signals, and the TD de-multiplexed output signal forms a basis of the pre-estimation signal, or may be formed from the initial estimate signal, and the TD de-multiplexed output signal forms a basis of the first set of one or more TD-CDM spread channel estimate signals. In this manner, the channel estimator circuit can process input signals whose pilots are time-domain multiplexed. In an optional example of the channel estimator circuit, each of a plurality of the multiplexed representation of the one or more TD-CDM spread received signals may be a vector having a length equal to a number of receive antenna ports JVR, wherein each of a plurality of the first set of one or more TD-CDM spread channel estimate signals and each of a plurality of the second set of one or more TD-CDM spread channel estimate signals may be a matrix having a first dimension equal to a number of layers Np divided by a TD-CDM spreading factor Np, and having a second dimension equal to a number of receive antenna ports NR. The base pilot signal may be a vector having a length equal to the number of layers Np divided by the TD-CDM spreading factor Np . In this manner, the channel estimator circuit can process input signals whose pilots are TD-CDM spread. In an optional example of the channel estimator circuit, the number of receive antenna ports NR, the number of layers Np, and the TD-CDM spreading factor Np may each be configured to vary from slot to slot. In this manner, the sizes of the data processed by the channel estimator circuit may be varied at run-time. In an optional example, the channel estimator circuit may further comprise: a channel matrix estimates interpolation buffer that is operably coupled to an output of the frequency-domain processing circuit and may be configured to receive and buffer the second set of one or more TD-CDM spread channel estimate signals; and an error estimates interpolation buffer that may be operably coupled to an output of the error estimator circuit and may be configured to buffer the one or more error estimate signals; and an error estimate TD processing circuit that may be operably coupled to an output of the error estimates interpolation buffer and configured to process one or more buffered error estimate signals from the error estimates interpolation buffer. In this manner, the time-domain operation of the channel estimator can be separated from the frequency-domain operation using the buffer. In an optional example, the channel estimator circuit may further comprise a TD-CDM de-spreading circuit that may be operably coupled to an output of the channel matrix estimates interpolation buffer and may be configured to de-spread a buffered second set of one or more TD-CDM spread channel estimate signals from the channel matrix estimates interpolation buffer and output TD-CDM de-spread channel estimate signals. In this manner, the TD-CDM de-spreading operations of the channel estimator can be carried out after the buffers. In an optional example, the TD-CDM de-spreading circuit may be configured to perform a de-spread operation on the buffered second set of one or more TD-CDM spread channel estimate signals that use a Walsh-Hadamard code with a length of two. In this manner, the channel estimation circuit can process input signals whose pilots are TD-CDM spread using a Walsh-Hadamard code with a length of two. In an optional example, the error estimate TD processing circuit may comprise at least one of a timedomain interpolation circuit configured to perform time-domain interpolation on the one or more error estimate signals; a time-domain filtering circuit configured to perform a time-domain smoothing operation on the one or more error estimate signals; a noise power matrix generation circuit configured to use the one or more error estimate signals and generate noise power matrices. In this manner, the channel estimator circuit can benefit from improved performance with the help of additional refinement in the time domain. In an optional example, the frequency-domain processing circuit may comprise a frequency-domain denoising circuit that may be configured to receive an input signal that may be representative of the first set of one or more TD-CDM spread channel estimate signals, remove noise from the input signal and to provide a de-noised output signal as the second set of one or more TD-CDM spread channel estimate signals. In this manner, the performance of the channel estimator may be improved when the noise interference is suppressed. In an optional example, the channel estimator circuit may further comprise a frequency-domain denoising circuit configured to use one of a linear de-noising algorithm or a pseudo-linear de-noising algorithm. In this manner, the estimation process can execute a linear de-noising algorithm or a pseudo-linear de-noising algorithm. In an optional example, the frequency-domain processing circuit may comprise a frequency-domain interpolation circuit that may be configured to receive and perform frequency domain interpolation on the first set of one or more TD-CDM spread channel estimate signals and to output the second set of one or more TD-CDM spread channel estimate signals. In this manner, the channel estimator can produce channel estimates on REs without a pilot. In a second aspect, a method for channel estimation performed by a channel estimator circuit is described. The method comprises: receiving in one slot a multiplexed representation of one or more time-domain code division multiplexed, TD-CDM, spread received signals; processing, a pre-estimation signal, by an initial estimator circuit, formed from the multiplexed representation of one or more TD-CDM spread received signals, and using a base pilot signal provided by a base pilot signal generator circuit as a reference signal; and outputting an initial estimate signal by the initial estimator circuit. The method further comprises: receiving and processing, by a frequency-domain processing circuit, a first set of one or more TD-CDM spread channel estimate signals, representative of the initial estimate signal, and outputting a second set of one or more TD-CDM spread channel estimate signals. The method further comprises: receiving at a first input of an error estimator circuit and processing a first set of error estimation reference signals, representative of the base pilot signal from the base pilot signal generator circuit; and receiving at a second input of the error estimator circuit and processing a second set of error estimation reference signals representative of the second set of one or more TD-CDM spread channel estimate signals; and receiving at a third input of the error estimator circuit and processing the multiplexed representation of the one or more TD-CDM spread received signals. The method further comprises: performing, by the error estimator circuit, at least one of: noise variance estimation on the multiplexed representation of the one or more TD-CDM spread received signal using the error estimation reference signals and the second set of error estimation reference signals by a noise variance estimation circuit, covariance matrix estimation on the multiplexed representation of the one or more TD-CDM spread received signals using the error estimation reference signals and the second set of error estimation reference signals by a covariance matrix estimation circuit. The method further comprises outputting one or more error estimate signals in response to signals received at each of the first input and second input and third input of the error estimator circuit. In this manner, the frequency-domain-related signal processing and the time-domain-related signal processing are separated, the error estimation can be carried out, and a significant reduction in the amount of hardware, energy and time resources required can be achieved, thereby improving latency and the cost to build and run the design. Brief description of the drawings Further details, aspects and example embodiments will be described, by way of example only, with reference to the drawings. In the drawings, like reference numbers are used to identify like or functionally similar elements. Elements in the FIG's are illustrated for simplicity and clarity and have not 5 necessarily been drawn to scale. FIG. 1 illustrates the known time, frequency, and spatial resources of a MIMO communications system, for an example 3GPP 5GNR resource allocation using NP = 4 layers, / VRB = 3 resource blocks, NK = 36 subcarriers, NKp = 18 pilot subcarriers per RG, NL = 14 OFDM symbols, and NLp = 4 pilot OFDM symbols. 10 FIG. 2 illustrates a known example of one frame of frequency and time resources segmentation, for an example 3GPP 5GNR resource allocation using NRB = 273 resource blocks, NL = 14 OFDM symbols per slot, and N$ioi = 10 slots per frame, which corresponds to numerology / 1 = 0. FIG. 3 illustrates a known single-user MIMO communications system featuring multiple layers mapped to multiple transmitting antennas by a precoder, and received by multiple receiving antennas, for an example using NP = 3 layers, NT = 4 transmit antenna ports and Nq = 4 receive antenna ports. FIG. 4 illustrates the known multi-user MIMO communications uplink and downlink, where three UEs each having 3, 2, and 4 layers of data are communicating with a BS. FIG. 5 illustrates one example of a CDM spreading process at the transmitter, and its de-spreading process at the receiver, for an example of NP = 2 layers, each spread by a CDM spread code at the transmitter, and de-spread by the same CDM spread code at the receiver, according to some example embodiments. FIG. 6 illustrates one example of a pilot signal processing at a transmitter, according to some example embodiments. FIG. 7 illustrates one example of CDM grouping, as well as FDM mapping and TDM mapping of the pilot REs, for an example scheme using NKp = 4 pilot subcarriers (k = 0,... ,3), split into NFDCDMgroup = 2 FD-CDM groups, each having MF = 2 pilot subcarriers, NLp = 4 pilot OFDM symbols (I = 0, ...,3), split into ^Vtdcdm = 2 TD-CDM groups, each having MT = 2 pilot OFDM symbols, NP = 3 layers (j = 0,1,2), each are FDM and TDM mapped to different locations of the physical resource having NK — 8 subcarriers (k = 0,... ,7) and NL = 9 OFDM symbols ( / = 0,... ,8), according to some example embodiments. FIG. 8 illustrates one example block diagram of a proposed Channel Estimator 1, according to some example embodiments. FIG. 9 illustrates one example of CDM de-spreading dependencies between pilot REs, according to some example embodiments. FIG. 10 illustrates one example block diagram of a proposed Channel Estimator 2, according to some example embodiments. FIG. 11 illustrates one exemplary flow chart for an operation of Channel Estimator 2 of FIG. 10, excluding an error estimation circuit, in accordance with some examples. FIG. 12 illustrates an alternative exemplary flow chart for an operation of Channel Estimator 2 of FIG. 10, including an error estimation circuit, in accordance with some examples. FIG.13 illustrates three example arrangements of the circuits between the input and the frequency-domain processing circuit in Channel Estimator 2 of FIG. 10. Detailed description To facilitate understanding, several tables summarizing the meanings of various symbols used throughout this section are provided at the end of the detailed description. Pilot-Symbol-Aided Channel Estimation For enabling channel estimation for multiple layers on the same frequency and resources, CDM is achieved by spreading the pilot symbols using a spreading code / sequence drawn from a spreading code / sequence set / family, such as the family of Walsh-Hadamard codes [3], the family of Gold codes [4], and the maximum length sequences. For example, in 3GPP's 5GNR standard [1], two sets of length-2 Walsh-Hadamard codes, each containing two codes, may be employed, which are referred to as orthogonal covering codes (OCCs). A list of comparisons between general terms and 3GPP 5GNR's specific names are summarized in Table 1. Explicitly, CDM can be applied to the pilots in either or both of the time domain (TD) and the frequency domain (FD), which enables the simultaneous transmission and the detection of pilot symbols transmitted on multiple layers. In addition, frequency-division multiplexing (FDM) and time-division multiplexing (TDM) can also be applied to the pilots to further enhance the capacity. At the receiver, FDM and / or TDM de-multiplexing process is required to separate different layers, accordingly. FIG. 5 shows an example of the known CDM process 500, where a base pilot symbol sequence 501 containing two elements a = [cr0, crj is generated by base pilot sequence generation 502 and spread CDM spreading 503. A bold lower case letter represents a vector, while a regular lower case letter represents a scalar, as summarized in Table 7. Here, the spread codes are drawn from a spread code set having a length Mx = 2 to form the pilot symbols of NP = 2 layers. In the example of FIG. 5, layer j = 0 uses CDM spread code [+1,+1] 504, while layer j = 1 uses CDM spread code [+1,-1] 505. For layer j = 0, the CDM spread multiples each element of a by the corresponding element in the CDM spread code to obtain aQ = [+a0, +^] 506, while for layer j = 1 this leads to a± = [+cr0, —cr-J 507. Each layer will transmit its own CDM spread coded pilot symbols, which are corrupted by the channel with channel gains h0 and hr 308, respectively. The superimposed corrupted pilot symbols received is given as y = [( / i0 + h-^aQ, ( / i0 — / i-Jcq] 508, assuming a noise-free transmission. The known transmitted pilots a can be removed during initial channel estimation (in initial channel circuit 509) through elementwise division to obtain hLS = [ / i0 + h^, h0 — ^] 510. Then, the channel gains between the receiver and each layer can then be estimated through CDM de-spreading 511, which is carried out through elementwise multiplication of hLS and the corresponding spread code of each layer, followed by the averaging of the product's two elements. Therefore, the channel gain of layer j = 0 is hQ = | [(^o + ^1) x (+1) + (^o — ^1) x (+1)] = 512, while that of layer / = 1 is = | [(^o + ^1) x (+1) + C^o — ^1) x (—1)] = 513. Following this, further channel estimation processing 514 may be performed, together with equalization / demodulation / decoding 312 and higher layer processing 515. A CDM code with a given codeword length Mx may be used for CDM spread coding a pilot sequence of much longer length NXp >Mx, in which case the NXp elements are partitioned into AfCDMgroup groups, each having Mx elements, such that NXp = Mx ■ AfCDMgroup and that CDM spread coding can be carried out within each CDM group individually. For example, assume a pilot sequence with length NXp = 12 is to be CDM spread using a spread code with a codeword of Mx = 4. The NXp = 12 pilot sequence elements are firstly partitioned into AfCDMgroup = 3 CDM groups, each having the same number of pilot sequence elements as the CDM spread code codeword length Mx = 4. Each of the WCDMgroup = 3 CDM group can then be individually spread by the same CDM spread code. The frequency-domain, timedomain, and general constants used here are summarized in Table 4, in Table 5, and in Table 6, respectively. Meanwhile, a CDM code set may have multiple CDM codes, each may be used to serve an individual layer. The maximum number of supported layers using joint FD-CDM and TD-CDM is the product of the number of individual CDM codes within the two CDM sets. These potential layers are numbered from 0 onwards and are referred to as port number, while a fraction of them may be selected for transmission, which is equal to the number of layers. The port number of the J th layer is denoted by Pj, where j is the layer index. In other examples, it is envisaged that more layers can be employed using FDM and TDM. For example, in 3GPP's 5GNR standard [1], ignoring the FDM and assuming only the first FDM group is used, the physical shared uplink channel (PUSCH)with DM-RS configuration type 1 has the following port numbers available: 0,1, 4, 5. The transmitter may be configured to transmit only three layers. According to Table 7.3.1.1.2-14 of [5], when 'Antenna Port' is set to 1, the selected port numbers are p0 = 0, = 1, and p2 = 4. In the example of 3GPP's 5GNR standard [1], the pilot symbols for its physical shared uplink channel (PUSCH) are provided by a demodulation reference signal (DMRS), and successive pilot symbols in successive resource elements in TD and FD are generated according to a pseudo-random sequence. The same base pilot symbol sequence is used for the transmission of all layers. For the remainder of this document, this assumption is adopted, but a skilled practitioner would recognize that this may be expanded to other cases where each layer has different base pilot sequences. For each individual layer, the base pilot sequence r is firstly gone through CDM spread, before mapping to the individual resource elements (REs) in the allocated physical resource. These pilot REs are deployed across the resource grid (RG), occupying multiple subcarriers in the FD, and possibly also multiple OFDM symbols in the time domain (TD). In the example of 3GPP's 5GNR standard [l]'s PUSCH and PDSCH, the pilot (DM-RS) REs are more densely populated in the FD (four or six per RB per layer) and sparsely in the TD (one to four per slot per layer). However, additional phase tracking reference signal may be deployed densely in the TD if required. Transmitter Signal Processing for Pilots The transmitter signal processing 600 for pilots is shown in FIG. 6. Let r be an array of base pilot symbols 601 prepared by the transmitting device 302. Its element rj k i means the IQ for the jth layer's fcth pilot subcarrier 112 in the pilot sequence that is prepared for the Zth pilot OFDM symbol 111, where 0 <j <NP — 1, 0 <k <NKp — 1, and 0 <I <NLp — 1, with NP, NLp, and NKp being the number of layers, the number of pilot OFDM symbols per slot, and the number of pilot subcarrier per pilot OFDM symbol, respectively. In the examples described herein, it is assumed that the same set of base pilot symbols apply to all layers. Therefore, the first dimension in r is omitted and its elements are simply referred to as rk l. However, it can be envisaged that different layers 105 can have different base pilot symbol sets, provided that the receiving device 304 is specially designed to accommodate this, as discussed later. As shown in FIG. 6, the array of base pilot symbols 601 may be configured for the Jth layer 105 using some or all of FD-CDM spreading 602, TD-CDM spreading 603, FDM mapping 604 and TDM mapping 605, depending on the port number Pj 606 assigned to the layer 105, as will be detailed below. In this way, the array of base pilot symbols 601 may be configured and mapped into the RG 104, before being precoded 305, radio frequency processed in the low-PHY layer 307 and transmitted. FIG. 7 shows the CDM grouping 700, as well as the FDM and TDM mappings of the pilots. The NKp pilot subcarriers within the same pilot OFDM symbol can be grouped, where each of the NFDCDMgroup groups comprises Mp consecutive pilot subcarriers, thus Mp • NFDCDMgroup = Wp- Similarly, the NLp pilot OFDM symbols within the pilot grid can be grouped, where each of the A / TOCDMgroup groups comprises Mt consecutive pilot OFDM symbols, thus MT • AfTDCDMgroup = NLp. For 3GPP 5GNR PUSCH and PDSCH [1], the groupings may be selected flexibly from Mp G {1,2} and M^ G {1,2}. Therefore, the indices of each element in r can also be expressed by its FD- and TD-CDM group indices (np, nT), and its indices within the group (k', I'): rk i = rn M +k> n M +l>, where the relationships are detailed below in Eq.(l). k = npMp + k' nP = [k / Mp\ k' = mod(k,MF) I = mMT + r nT = tl / MTi r = mod(i, Mt) In the example given in FIG. 7, the pilot RG consists of NLp = 4 pilot OFDM symbols 111, each having Wp = 4 pilot subcarriers 112, while the overall RG has NLp = 9 OFDM symbols 101, each having NK = 8 subcarriers 102. Observe from FIG. 7 that the FDM &TDM mapped physical resource grids, the pilot OFDM symbols (such as OFDM symbol I = 1 in layer j = O's RG) contain both pilot subcarriers (k = 0,1,4,5 in the aforementioned OFDM symbol) and non-pilot subcarriers (k = 2,3,6,7 in the same aforementioned OFDM symbol). Explicitly, a pilot OFDM symbol 111 is any OFDM symbol that contains at least one pilot subcarrier, which may be mixed in with non-pilot subcarriers. In the FD, the FD-CDM divides the pilot subcarriers into NFDCDMgroup = 2 groups 701, where each group has Mp = 2 elements. Similarly, in the TD, the TD-CDM divides the pilot OFDM symbols into ^TDCDMgroup = 2 groups 702, where each group has MT = 2 samples. Subcarriers belonging to the same FD- and TD-CDM group are marked by triangles at the same corner in the RE box of FIG. 7. The base pilot sequence r 601 is firstly gone through both FD-CDM spreading 602 and TD-CDM spreading 603 processes. Denote by Wf and wt respectively the CDM spreading code set matrices used in the FD-CDM and TD-CDM multiplexing process. Each spreading code set matrix contains multiple spreading code vectors, where is FD-CDM and TD-CDM spreading code vector designated for the / th layer is given by and , respectively. Moreover, the k'th elements within the vectors wp and are given by wpQk') and respectively. Mind that two different layers may have the same FD-CDM spreading code but different TD-CDM spreading code, like in the example below, and vice versa. Let / VFDCDM and ^tdcdm be the total number of codes within the respective code sets iVf and wt, then the total number of layers used for transmission NP should be 1 <NP <^Vfdcdm ’ Wdcdm< where / VFDCDM • Wdcdm is the maximum number of layers supported by the FD-CDM and TD-CDM spread code sets. Mind that the number of FD-CDM and TD-CDM spread codes used for transmission, denoted by NP and NP, respectively, may be lower than their corresponding total numbers, i.e., NP <Wfdcdm and — ^tdcdm- Their product NP is no smaller than the total number of layers used NP, and no bigger than the maximum number of layers supported by the spread code sets, i.e. NP <NP ■ NP = NP <A^dcdm ’ ^tdcdm- Moreover, for the jth layer used for transmission, where 0 <j <NP — 1, if it uses the tjth code from code set Wf and the t^th code from code set wt, its port number Pj can be uniquely determined by ij and ij. The indexing and data variables used are summarized in Table 2 and in Table 3, respectively. For example, consider in 3GPP's 5GNR standard [1], for a PUSCH transmission using DM-RS configuration type 1, where a length-2 (MF = 2) FD-CDM OCC set Wf = {(+1,+1), (+1, -1)} and a length-2 (MT = 2) TD-CDM OCC set wt = {(+1,+1), (+1, -1)} are used, each with NFDCDM = 2 and WtDCDM = 2 OCCs, respectively. This arrangement allows a maximum of NFdcom ’ ^tdcdm = 4 layers to be used, with port numbers [0,1,4,5] according to Table 6.3.1.1.3-1 in [1]. Assuming NP = 2 layers are used, and assuming furthermore that their port numbers are p0 = 1 and pr = 5, respectively, their corresponding CDM information is shown in Table 1 below, based on TS 38.211 Table 6.3.1.1.3-1. The inventors have recognized and appreciated that under this particular assumption and port number selection, only NP = 1 of the AfFDCDM = 2 spread codes from the FD-CDM spread code set is used, namely the if = if = 1st code (+1,-1), while the NP = 2 of the NTDCDM = 2 spread codes from the TD-CDM spread code set are used, namely both the ij = Oth code (+1,+1) and the if = 1st code (+1, —1). Table 1 Code Division Multiplexing for A Two-Layer 5GNR PUSCH Signal Layer Index 7 Port Number Pj FD-CDM OCC index bF FD-CDM OCC Pi Wf TD-CDM OCC index J 7 TD-CDM OCC Pj wt 0 1 1 (+1,-1) 0 (+1,+1) 1 5 1 (+1,-1) 1 (+1,-1) As another example, in 3GPP's 5GNR standard [1], a PUSCH transmission has the capacity of transmitting 12 layers simultaneously. This can be achieved by using DM-RS configuration type 2, where both (Mfdcdm = 2) FD-CDM OCCs from a length-2 (MF = 2) FD-CDM OCC set and both (WTDCDM = 2) TD-CDM OCCs from a length-2 (MT = 2) TD-CDM OCC set are used, resulting a capacity of / VFDCDM ■ Wdcdm = 4 layers. Moreover, in DM-RS configuration type 2, / VFDM = 3 different FDM mappings can be used to further enhance capacity, thus resulting into a total of Npm ■ AfFDCDM • AfTDCDM = 12 layers. The resultant CDM spreading coded sequences a can be expressed in Eq.(2): = (2) The indices k' and 1' are used because the CDM spreading is separately carried out for each CDM group, while k' and I' are the corresponding pilot subcarrier and pilot OFDM symbol indices within the respective FD-CDM and TD-CDM groups. As another example, a FD-CDM spreading code set based on length-4 (MF = 4) Walsh-Hadamard code can support a maximum of A / FDCDM = 4 layers, each with the FD-CDM spreading code given in Eq. (3). Wf"0 — [+1,+1,+1,+1] wp = [+1,-1,+1,-1] Wp = [+1,+1,-1,-1] wf3 = [+1,-1,-1,+1] Combined with another length-2 (MT = 2) Walsh-Hadamard code-based TD-CDM spreading codes capable of supporting AfTDCDM = 2 layers, a total of AFDCDM • AfTDCDM = 8 layers may be supported. The layer capacity can be further increased with FDM and TDM, as will be described later. After FD-CDM spreading 602 and TD-CDM spreading 603, FDM mapping 604 and TDM mapping 605 can be adopted to further increase the layer capacity by mapping the same CDM spread coded pilot RE to different physical frequency and / or time resources for different layers. Denoting by / pDM and / tdm the FDM and TDM mapping / multiplexing operations, the frequency and time domain locations, or the subcarrier and OFDM symbol coordinates, of the mapped resource after FDM and TDM can be expressed as in Eq. (4). ^= / fdm(XPj) and = / tdm(^Pj) (4) In the above equations k and I are the pilot subcarrier and pilot OFDM symbol indices in the pilot grid r, while k and I are the subcarrier and OFDM symbol indices in the mapped physical RG. For the example shown in FIG. 7, FDM and TDM are employed to support three layers, namely p0, plz and p2, all share the same FD-CDM and TD-CDM spread coded pilots ak L with the same OCC. To differentiate them, the FDM maps the / VKp = 4 pilot subcarriers into the NK = 8 subcarriers in the RG according to the port number, and similarly the TDM maps the WLp = 4 pilot OFDM symbols into the = 9 OFDM symbols in the RG according to the port number. Explicitly, for layer p0, the FDM maps k = 0,1 to k = 0,1, and maps k = 2,3 to k. = 4,5, while for layers p± and p2, the FDM maps k = 0,1 to k = 2,3, and maps k = 2,3 to k = 6,7. Likewise, for layers pQ and plt the TDM maps I = 0,1 to I = 0,1, and maps I = 2,3 to I = 7,8. Therefore, the pilot REs of each layer are orthogonal in the frequency and time domain, so that they can be separated out even with the same FD-CDM and TD-CDM. The FDM and TDM mapping strategies in this particular example can be expressed as in Eq. (5). 4(nF — 1) + k' if pj e {0} 4(nF - 1) + 2 + k' ifp7e{l,2} ,, ( 5(¾ -1) + ^ if 6 {0,1} ' = (5(^-^ + 2+ Z' ifpye{2} After the FDM mapping 604 and TDM mapping 605 of FIG. 6, the output pilot signal for each layer would then be given as = a where the mappings of k -> k and I -> I are the results of FDM and TDM, respectively. It is worth noting that the parameters mentioned above, such as the number of receive antenna ports Nr, the number of layers NP, the number of FD-CDM and TD-CDM spread codes used for transmission Np and Np, the indices of all of them, etc., are subjected to the resource allocation strategies adopted and may be configured to vary from slot to slot. For the sake of simplicity and without loss of generality, the rest of the document does not consider FDM and TDM further, and it is assumed that all layers are separated solely by FD-CDM and TD-CDM. Therefore, no two layers have the identical FD-CDM and TD-CDM OCCs. However, a skilled practitioner would recognize that the examples described herein can be readily applied in the presence of FDM and TDM, since these represent remapping operations in the time and frequency domains. / fdm(AP;) — Channel Estimator 1: All CDM De-Spreading Performed before Interpolation Buffering In the receiver, channel estimation is used to estimate the channel state information, so that the channel equalizer can use the information to undo the impairments. Channel estimation at the receiver may involve, initial estimation, FD-CDM de-spreading, TD-CDM de-spreading, (main) frequency-domain processing, error estimation, time-domain processing, among other components. In this section, a first channel estimator design is introduced, referred to as Channel Estimator 1, which is shown in FIG. 8 and performs all CDM de-spreading before the main frequency-domain processing. However, it is subsequently shown that this creates a problem that requires multiple large buffers to solve. In examples herein described, this motivates a second channel estimator design, that rearranges CDM despreading so that fewer large buffers may be required. According to the block diagram of a first Channel Estimator 1 801 in FIG. 8, following optional FDM demultiplexing (in FDM de-multiplexing circuit 807) and TDM de-multiplexing (in TDM de-multiplexing circuit 808) and initial channel estimation (in initial channel estimation circuit 509), the CDM despreading for each layer 105 may be carried out by element-wisely multiplying each received CDM group (701, 702) with the corresponding CDM spread code of that layer, and then averaging the resultant products. The averaging output is applied to all REs within the CDM group for that layer. Due to the chronological arrival of the received signal, which may be serialized following fast Fourier transform (FFT) in the low-PHY 310, the last subcarrier 102 of one OFDM symbol 101 may arrive before the first subcarrier of the next OFDM symbol. Therefore, in some examples, FD-CDM de-spreading 802 is processed prior to the TD-CDM de-spreading 803. While the FD-CDM de-spreading can be carried out as the received subcarriers arrive, or 'over the air', this is not possible for the TD-CDM de-spreading. The TD-CDM de-spreading requires pilot REs from the same subcarrier of multiple pilot OFDM symbols at the same time. As discussed below and in accordance with some examples as recognized and appreciated by the inventors, this motivates the use of a CDM buffer 809 to store the FD-CDM de-spread pilot REs until multiple pilot OFDM symbols are available, so that the pilot REs from the same subcarrier can be provided to the TD-CDM de-spreading 803 at the same time. For example, if a TD-CDM with codeword length NTDCDM = 4 is employed, and each pilot OFDM symbols contain NKp = 1000 pilot Res, in order to carry out TD-CDM de-spreading 803 for the first pilot RE in the first pilot OFDM symbol, the TD-CDM de-spreader 803 requires the REs on the first subcarrier of all four pilot OFDM symbols, namely the 1st, the 1001st, the 2001st, as well as the 3001st RE. This implies that the CDM buffer 809 should store each of these REs in order to support the time domain processing of the first sub-carrier. Similarly, it should store a number and preferably all of the other REs in order to support the time domain processing of the other sub-carriers. Afterwards, the TD-CDM de-spread pilot OFDM symbols are sent to the frequency domain processing circuit 804, which may carry out tasks such as de-noising process 805 and FD interpolation process 806, to obtain a near noise-free estimate of all REs 103, including non-pilot REs, of the pilot OFDM symbols. The estimates of the pilot REs may be extracted 812 and used as the basis of error estimation 818, which may include noise variance estimation 810 or covariance matrix (CVM) estimation 811. In some examples, these techniques may be used to support enhanced channel equalization algorithms, such as minimum mean square error interference rejection combining (MMSE-IRC). Each layer has its own channel gain estimate de-noising process, while the covariance matrix estimation 811 requires the denoised channel gain estimates of all layers at the same time. Note that the de-noising process 805 may be omitted if the channel may be considered as noise- and interference-free (or close thereto), in which case the TD-CDM de-spread signal can be readily used as a de-noised signal. Meanwhile, the FD interpolation process 806 may not be necessary if all subcarriers in the input pilot OFDM symbol are pilot subcarriers, in which case the input de-noised signal can be readily used as an FD-interpolated signal. Furthermore, the CVM estimation 811 is also optional and only required when the relevant channel equalization algorithm (such as MMSE-IRC) is employed. The channel gains of REs on the non-pilot OFDM symbols can be obtained through time domain processing (e.g., by Channel Matrix TD processing circuit 815), including the time domain interpolation (e.g., by time domain interpolation circuit 814) of the channel gains on the pilot OFDM symbols. Likewise, the CVMs of REs on the non-pilot OFDM symbols can be obtained through time domain processing 816, including the time domain interpolation 817 of the CVMs on the pilot OFDM symbols. While some interpolation algorithms, such as nearest neighbour [6], relies on only one pilot RE (^Tdinterp = 1)> more sophisticated ones require pilot REs on multiple OFDM symbols, such as for spline interpolation [6], which needs at least MTdinterp = 3. Similar to the problem of TD-CDM de-spreading 803 mentioned above, the TD interpolation circuit (814, 817) also requires REs on a specific subcarrier in one or multiple de-noised and FD interpolated pilot OFDM symbols at the same time. As discussed below, this motivates the use of interpolation buffers (813, 823) to store the channel gains and CVMs until multiple pilot OFDM symbols are available, so that the channel gains and CVMs from the same subcarrier can be provided to the time domain interpolation circuit (814, 817) at the same time. For example, if each FD-interpolated pilot OFDM symbol has NK = 2000 subcarriers (Res), and a spline interpolation algorithm is adopted for the TD interpolation, requiring, in order to carry out TD interpolation for the first RE in the first OFDM symbol, the TD interpolator requires one RE from each of the three pilot OFDM symbols, namely the 1st, 2001st, as well as the 4001st REs on the FD interpolated pilot RE. This implies that the interpolation buffers (813, 823) should store each of these REs in order to support the time domain processing of the first sub-carrier. Similarly, it should store all of the other REs in order to support the time domain processing of the other sub-carriers. Moreover, even in the case of algorithms relying on one pilot RE, it is not uncommon that the first pilot OFDM symbol occurs after the first OFDM symbol in the RG, thus the TD interpolation of the first OFDM symbol relies on the de-noising and FD interpolation processing of OFDM symbols arriving later. Note that besides time domain interpolation circuit (814, 817), the time domain processing (815, 816) may also or alternatively include time domain filtering (819, 820) and / or a timing compensation circuit 821, 822 for either or both of the channel matrices and error estimates and for compensating, say, phase error imposed by inaccurate local oscillators. The first Channel Estimator 801 shown in FIG. 8 is proposed for solving the problem discussed above. In examples described herein, observe from FIG. 8 that the scheme uses three buffers, namely: (1) A CDM buffer 809 between the FD-CDM de-spreader 802 and the TD-CDM de-spreader 803, to ensure that the TD-CDM de-spreader 803 has access to the spread samples on all relevant OFDM symbols before commencing its de-spreading process. (2) An Interpolation Buffer 813 between the FD processing circuit 804 and the Channel Matrix TD processing circuit 815, to ensure that the TD interpolation circuit 814 have access to the data samples on all relevant OFDM symbols before commencing their interpolation processes. (3) An Interpolation Buffer 823 between the error estimator circuit 818 and the error estimate TD processing circuit 816, to ensure that the TD interpolation circuits 817 have access to the data samples on all relevant OFDM symbols before commencing their interpolation processes. The TD-CDM de-spreading 803 requires the CDM Buffer 809 to store at least the same number of OFDM symbols as the length of TD-CDM spread code minus one, because REsfrom the last FD-CDM de-spread pilot OFDM symbol can be directly sent to the TD-CDM de-spreader 803 without waiting to be provided with anymore. In the aforementioned example with AfTDCDM = 4 and NKp = 1000, a CDM buffer 809 is required to store the channel estimates of the first three (NTDCdm — 1) FD-CDM de-spread pilot OFDM symbols, while the FD-CDM de-spreader 802 is processing the fourth pilot OFDM symbol. Explicitly, the FD-CDM de-spreading output of the 1st, the 1001st and the 2001st REs should preferably be buffered until that of the 3001st RE is obtained, whereupon the TD-CDM de-spreading processing 803 can be performed. Likewise, FD-CDM de-spreading output for all of the other REs before the 3001st should preferably be buffered, in order to support the TD-CDM de-spreading of the REs that arrive after the 3001st one. In this way, the first subcarriers of all de-spread pilot OFDM symbols are available to the TD-CDM de-spreader 803 at the same time when the TD-CDM de-spreading job commences. If the FD-CDM de-spreader 802 outputs a total of Np = 2 TD-CDM spread coded layers, and all of which requires TD-CDM de-spreading, then the CDM buffer 809 size requirement may be doubled to accommodate FD-CDM de-spreader outputs of both TD-CDM spread coded layers. In many cases, each pilot OFDM symbol contains a high number of pilot REs, such as for 3GPP's 5GNR PUSCH, which may contain a maximum of 6 pilot REs 112 per RB 107 and 273 RBs per pilot OFDM symbol 111, leading to a total of 1638 REs per FD-CDM de-spread layer, all of which have to be buffered for TD-CDM de-spreading. The TD interpolation circuit(s) 814, 817 requires the interpolation buffers (813,823) to store at least the same number of channel estimates and CVMsforCDM de-spread, de-noised and FD interpolated pilot OFDM symbols as the number inputs of the specific TD interpolation algorithm. In the aforementioned example with AfTDinterp = 3 and NK = 2000, an interpolation buffer is required to store the channel estimates of the first three CDM de-spread, de-noised and FD interpolated pilot OFDM symbols, while the TD interpolator is processing the interpolation of the first non-pilot OFDM symbol. Explicitly, the FD-interpolation output of the 1st and the 2001st REs should preferably be buffered until that of the 4001st RE is obtained, whereupon the TD-interpolation processing can be performed. Likewise, FD-interpolation output for all of the other REs before the 2001st should preferably be buffered, in order to support the TD-interpolation of the REs that arrive after the 2001st one. If the MIMO system transmits NP = 4 layers and has NR = 4 receiving antennas, to accommodate the estimate data for all layers, the channel gain matrix storage requirement in the interpolation buffer is then quadrupled (TVp-tupled). In many cases, each pilot OFDM symbol contains a high number of REs, such as for 3GPP's 5GNR PUSCH, which may contain 12 REs per RB and a maximum of 273 RBs per pilot OFDM symbol, leading to a total of 3276 REs per FD-CDM de-spread layer, all of which have to be buffered forTD interpolation. The rest of this section explains how the signal processing works in the proposed first Channel Estimator 1 801. Mind that some processes are optional, some of which are marked by dashed line border frames in FIG. 8, which will also be explained in the following text. Furthermore, certain boxes with solid outlines are only needed if certain outputs are required. For example, the TD-CDM spreading circuit 603, the error estimator circuit 818, and the error estimates interpolation buffer 823 are not needed if the circuit designer only cares about the output the 2nd set of TD-CDM de-spread estimate signals 825. Similarly, the channel matrix estimates' interpolation buffer 813 is not needed if the circuit designer only cares about the output error estimate signals 826. Signal Processing Before CDM De-Spreading Once a pilot RE located at the fcth subcarrier and the Zth OFDM symbol in the mapped physical RG, ak j of size (NP X 1) has been transmitted by the transmitting device 302, it will suffer from multi-path channel fading and additive noise, before being received at the receiving device 304. For this RE, the received signal can be expressed as yky = + zkj, where yky is of size (NR x 1) and its qth element y-.^ is received from the qth receiving antenna, Hki is the precoded channel gain matrix of size (NR x NP) for each RE describing the channel gains for the spatial streams between each layer transmitted and each receiving antenna path, and zk j is the additive white Gaussian noise (AWGN) having size (NR X 1) for each RE. For the sake of simplification, unless useful or necessary, the AWGN is omitted for the examples described herein, under the assumption that the de-noising process is capable of sufficiently mitigating all AWGN and interference. FDM de-multiplexing (in FDM de-multiplexing circuit 807) and TDM de-multiplexing (in TDM demultiplexing circuit 808) may be firstly carried out, extracting the pilot REs and mapping them from the received physical RG as y^, to a received pilot grid as ykl according to the strategy / fdm and / tdm- An initial channel estimation process (in initial channel estimation circuit 509) may then be carried out by the receiver on the input pre-estimation signal a1^ 1018 to obtain the initial estimate signal of the pilot RE on the fcth pilot subcarrier and the Zth pilot OFDM symbol for the qth receiving antenna / tLS$ ( 1016, with the help of one or more base pilot signal(s) (1009) that is locally generated at the receiver using a base pilot signal generation circuit (502). For example, initial channel estimation may be performed using the least square (LS) error algorithm, which is expressed as in Eq. (6). y«P ,q,Pj Pj np (6) k’1 j=0 The hat notation in / iLS$ { means the variable represents data estimated by the receiver, as summarized in Table 7. Alternatively, a least absolute (LA) error algorithm [7] could be used to perform initial channel estimation, in which case the initial channel estimate may be obtained by finding the corresponding ; that minimises the absolute estimation error |y^( — hLSk trki |. Unlike LS, the LA algorithm does not have an analytical solution expression, requires iterative processing, may not necessarily end up with a stable solution, but has the potential to avoid disturbance from large errors. This process involves locally generating the base pilot symbols rki 502 at the receiver, and assumes that the receiver has all the information required to generate it, such as cell ID, scrambling ID, etc. Note that the initial channel estimation circuit 509 can alternatively be carried out at a later stage, such as after FD-CDM de-spreading 802 and TD-CDM de-spreading 803, so long as it is performed before the FD de-noising process 805. However, moving initial channel estimation circuit 509 to a later stage may increase the number of complex multiplications, thus increasing the overall complexity. The remainder of the channel estimator's task includes, in the order they appear in first channel estimator 1 801, FD-CDM de-spreading 802, TD-CDM de-spreading 803, channel estimate de-noising process 805, FD interpolation process 806, TD interpolation (e.g., byTD interpolation circuit 814), as well as noise variance estimation 810 or covariance matrix estimation 811, as shown in FIG. 8. FD-CDM and TD-CDM De-Multiplexing In some examples, CDM de-multiplexing process assumes that the channel gain does not change within adjacent Mfdcdm subcarriers after FDM and Mtdcdm OFDM symbol time samples after TDM, while any distortion imposed by this approximation can be minimized at the subsequent de-noising stage, as shown in Eq. (7). ~ hl’qi ’if lfei - । - and lZi “ Z21 k2>l2 ( / J FD-CDM de-spreading 802 may be operated by multiplying each pilot subcarrier in hLS by its corresponding FD-CDM spreading code Wf and averaging across every set of Mfdcdm pilot subcarriers in the FD, expressed as in Eq. (8). Mp-1 NP ^FDdeSpreadfc / = h^npUp+k" ,lWfJ Wt J (8) k"=0 j'=0, i ’ f j Detailed explanation can be found in [8]. This may be carried out for all pilot subcarriers k and for all pilot OFDM symbols I. The results may be temporarily buffered in the CDM Buffer 809 of FIG. 8, in preparation for the following TD-CDM despreading 803, which may be operated by multiplying each pilot subcarrier in fipDdeSpread by its corresponding TD-CDM spreading code wt and averaging across every set of Mtdcdm elements in the TD, expressed as in Eq.(9). mt-i r Q.P / 1 V1 r W / Pi,-ms ^TDdeSpread^ - / , ^FDdeSpread^^,,0 ) « (9) 1 ("=0 Equation (9) above shows that the TD-CDM de-spread operation 803 requires all Mtdcdm pilot subcarriers within the same TD-CDM group, which are spread across MT pilot OFDM symbols in the TD, while each operation of FD-CDM de-spreading only gives pilot subcarriers from a single OFDM symbol, thus explaining why a CDM buffer 809 is required. As an example, FIG. 9 shows the CDM de-spreading dependencies between REs. In the FD, the pilot resource grid in FIG. 9 has NKp = 8 pilot subcarriers 112, which are split into NpDCDMgroup = 2 groups 701, each having MF = 4 pilot subcarriers. In the TD, the pilot resource grid has NLp = 4 pilot OFDM symbols 111, which are split into NTDCDMgroup = 2 groups 702, each having MT = 2 pilot OFDM symbols. As another example, in SGPP's 5GNR standard [1], a PUSCH transmission uses DMRS configuration type 1 and utilises DMRS ports p = [0,1,4,5], thus having both FD-CDM and TD-CDM applied. Both the FD-and TD-CDM use the length-2 spread code (+1, +1), (+1,-1). The FD-CDM de-spreading can be given as in Eq.(10). ceg q,0 'lFddeSpread^ ^eg q.l ""FddeSpread^. j _ £eg - ,lFddeSpreadfe { = Heg Q,s FddeSpread^ 1 / ,eg?4 “ k,l T “ k,l — 1 (h q h q \ (10) Likewise, the TD-CDM de-spreading for DMRS port 0 can be given as in Eq.(11). reg qfi 'T’ddeSpread^ (11) eg ¢-° , £eg Q.O ) ~ Aeg?+ FddeSpread^^Lj ' rddeSpread^ 2p.j+iy ~ M The TD-CDM de-spreading for other ports can be similarly carried out. The CDM de-spreading process is roughly formed of two parts: to multiply with the corresponding spread code, and then to average across the CDM group. For both FD-CDM and TD-CDM de-spreading, the averaging across CDM group part is only necessary when the corresponding number of employed spread code is greater than one, i.e., when Np >1 and Np >1, respectively. Otherwise, when Np = 1 or Np = 1, the result after the elementwise spread code multiplication can be readily output, and the averaging process is not necessary, because there is no interference in that FD-CDM or TD-CDM code domain. Furthermore, for FD-CDM, if Np = 1 and all the elements in the sole FD-CDM spread code used are +1, the spread code multiplication part may also be omitted, because multiplying by +1 has no influence on the signal value, in which case the complete FD-CDM de-spreading circuit 802 is optional. Therefore, the FD-CDM de-spreading circuit 802 is only necessary when the input signal is FD-CDM spread. Recall from the example given when explaining that two different layers may have the same FD-CDM spread code but different TD-CDM spread code, where NP = 2 layers are transmitted using the same Np = 1 FD-CDM spread code w° = wF = (+1, —1) but Np = 2 different TD-CDM spread codes. In this case, the averaging across CDM group part in the FD-CDM de-spreading process is unnecessary, because the FD-CDM de-spreading results for the two layers are identical, since they share the same FD-CDM despread code. De-Noising The received pilots may be corrupted by noise, and thus in some examples a de-noising process 805 may be employed to provide more accurate channel estimates. The multi-path fading channel gains change relatively slowly in both the frequency and time domain, compared to the duration of each subcarrier and each OFDM symbol, respectively. Hence, the channel gains on neighboring pilot REs are expected to be correlated in both dimensions. In some examples, these observations by the inventors may be exploited to remove noise, which is uncorrelated. De-noising process can be carried out in the FD and / or TD direction to every ( / 5,-, q) pair's de-spread channel matrices. Most de-noising process is linear or can be expressed in a linear format, using a denoising weight matrix W. «kp-i k=0 ; ^Pj -TddeSpread£ i (12) Nlp-1 (=0 -TddeSpread^. j (13) If the de-noising is carried out in the frequency domain, WFD would be an ( / V / <p X NKp) matrix and the operation is carried out as in Eq.(12). h q^ “deNoisefc^ If the de-noising is carried out in the time domain, PVTD would be an (Ap X NLp) matrix and the operation is carried out as in Eq.(13). h q'?J — AeNoise^j — When both FD and TD de-noising operations are carried out, the process can be merged and a fourdimensional de-noising weight matrix of size (NKp x NKp x NLp x NLp) may be required, whose element (i represents the contribution from the pilot at (k, f) to the one at (k, I). The de-noising process can be expressed as in Eq.(14). rproposed^ ndeNoise WfcXcAddeSpread^'P (14> k=o r=o As an example, a 1-dimensional moving mean method of de-noising with a sliding window length of Mslide would correspond to a weight matrix HZMovingMean, whose on|y non-zero elements are located on the diagonal line, the parallel [^11^6 1j lines above it, and the parallel p*511^6 lines below it. Nonzero elements on the same row of jyMovingMean have the same value and each row adds up to 1. Therefore, for de-noising a pilot OFDM symbol with NKp = 6 pilot subcarriers that are mapped to the physical RG with equal frequency distance to each other, a moving mean method de-nosing weight matrix of size (6 x 6) and Mslide = 3 would be given as in Eq.(15). A v2 0 0 0 °\ Vs % Vs 0 0 0 pjfMovingMean _ 0 V3 V3 Vs 0 0 0 0 Vs V3 Vs 0 0 0 0 v3 Vs v3 \ 0 0 0 0 v2 V2 / (15) On each row of wMovingMean, the weights of the non-zero elements may not necessarily be identical, as long as they add up to 'one'. For example, the non-zero elements on the 2nd , 3rd, 4th, and 5th rows can be changed into [V5' V5' V5]' so ^at centre RE has a higher weight during the averaging process. In a second example, if the minimum mean-square error (MMSE) method [9] is adopted, the weight matrices WMMSE are the auto-correlation matrices between each pilot symbols. As a third example, if a discrete Fourier transform (DFT) based windowing method [8] is used, the weight matrix U7DFT would be the product of the inverse DFT transform matrix J7-1, the windowing diagonal matrix Wand the DFT transform matrix J", i.e., JVDFT = 7W 1 Interpolation After the de-noised channel gain estimates at subcarriers and OFDM symbols with a pilot are obtained, interpolation (806, 814, 817) is carried out in order to provide estimates of the channel gains on those subcarriers and OFDM symbols without a pilot. A skilled artisan will recognize that various algorithms can be used in this process, which include but are not limited to nearest neighbor interpolation, linear interpolation, polynomial interpolation, spline interpolation, etc. Let be the estimated channel gain between the pyth layer and the Qth receiving antenna for the / rth subcarrier on the Zth OFDM symbol in the mapped resource. If a pilot element is transmitted at the layer-subcarrier-symbol coordinate (pj, k, f), i.e., if there exists a pilot layer-subcarrier-symbol coordinate (pj,k,l} such thatfc = / fdm(^Pj) and = / tdm(^ Pj}> then the de-noised channel gain result will directly be applied, as shown in Eq.(16). = ^deNoise^ if 3 (pj, k,l)s.t.k = / Fdm (X Pj} and I = fTDM (l, Pj}. (16) Otherwise, if h^J is not located at an element with a pilot, but within an OFDM symbol with a pilot, a FD interpolation process 806 algorithm gP can be used to interpolate its value based on the de-noised channel gains of some, or all, of the pilot subcarriers within this OFDM symbol, as shown in Eq.(17). = 0F (KieNoise^jFDM, , if 3 (Pj, l} S. 1I = / tDM (l, Pj}. (17) Similarly, a TD interpolation algorithm g^ (e.g., performed by TD interpolation circuit 814),can be used in the case of being a non-pilot element on a subcarrier with pilot elements in other OFDM symbols, as shown in Eq.(18). = gT^deNoise^ (18) Finally, if corresponds to an element with no pilots in neither the same subcarrier nor the same OFDM symbol, the interpolation could only be based on the interpolated channel gains of its nearby elements, who belong to the previous two categories. In this case, two-dimensional interpolation may be preferred. For example, consider the FDM &TDM mappings depicted in FIG. 7. If a linear interpolation algorithm is employed for obtaining all channel estimates on OFDM symbol / = 0 of port number p0, where the denoised channel estimates on pilot subcarriers k = 0,1,2,3, or equivalently mapped subcarriers k = 0,1,4,5 are available, the interpolation process can be given as in Eq.(19). Q,Po deNoise iffc = 0,1,4,5 hq^° kfi “ 1 g q,Po n "deNoiseio ~ h q'V° o 'MeNoise2,o , 4 — k ~ q,p0 I 2 ^deNoise2,o 5 — k q,Po । o ^deNoiseso if 2 <k <3 if 6 <k <7 (19) Notice that no interpolation is carried out for mapped subcarriers k = 0,1,4,5, linear interpolation is carried out for subcarriers k = 2,3 based on subcarriers k = 1,4 (equivalently pilot subcarriers k = 1,2), while linear extrapolation is carried out for subcarriers k = 6,7 based on subcarriers k = 4,5 (equivalently pilot subcarriers k = 2,3). If the interpolation is firstly carried out along the FD, the channel gain estimates of all subcarriers in the OFDM symbols containing pilot will be produced, denoted by fipDinterpb which are temporarily buffered in the Interpolation buffer 813 of FIG. 8. After all OFDM symbols containing a pilot are processed, the TD part of the first channel estimator 801 is operated, calculating the channel gain estimates of all other OFDM symbols without pilot. This can be mathematically expressed as in Eq.(20). = (^FDinterplk. 7, / tDM>0 = St (^F (^deNoise^ '' / fDM^) • ?TDM’ (20) Likewise, if the interpolation is firstly carried out along the TD, the channel gain estimates of all OFDM symbols' pilot subcarriers, denoted by AiTdinterpb are buffered in the interpolation buffer. As shown in Eq.(21). = (^Tdintei'pl^7' / fDM’= 9v (di (^deNoisefcJ^ / TDM^)'(21) Moreover, in some examples envisaged herein, a joint time-domain and frequency-domain interpolation method can be used, where the value of the interpolant RE may be dependent on pilot REs from both nearby subcarriers and nearby OFDM symbols. In this case, a two-dimensional interpolation algorithm gFT can be used, whose input comprises of all of the interpolant's nearby pilots. As shown in Eq.(22). = ^FT (^deNoisefcf / fDM< / tDM- ?)■ (22) The pilot symbol-aided channel estimation samples the channel profile using pilot Res. The density of pilots is closely related to the channel gain fluctuation in both FD and TD. For the FD, if a hostile communications environment causes strong multipath effect, such as through reflections from buildings, the receiving signals' delay spread will be long, which leads to narrower coherence bandwidth, meaning the channel changes fast in the FD, thus requiring high pilot density in the FD. Similarly, for the TD, if the UE moves fast with respect to the BS, the doppler frequency will be high, which leads to short coherence time, meaning the channel changes fast in the TD, thus requiring high pilot density in the TD. Provided that the pilots are sufficiently densely populated in both FD and TD, the sampled channel gain would change relatively slowly, and smoothly, between every two consecutive pilots. The difference between the interpolated channel gains h and the actual channel gains h should be minimum (denoted by e). As shown in Eq.(23). h('^ = h™1 + e « hlf (23) k,l k,l k,l v Hence, the assumption made is valid that the interpolation can provide estimates of the channel gains on those subcarriers and OFDM symbols without a pilot. In some examples, including the moving mean method, the interpolation can be merged with the denoising processing to form a single joint process. In such case, the weight matrix W will be increased up to (WK X AfKp), (Nl X JVLp) and QvK X NKp X NL X A / Lp) for the FD-only, TD-only, and two-dimensional processing cases, respectively. The enlargement of the first dimension (as well as the third in the two-dimensional case) is to accommodate the weight contribution of pilots to non-pilot elements. Mind that the FD-, TD-, and 2D-interpolation operations are only necessary when pilot REs and non-pilot REs co-exist in the respective dimension. For example, if all pilot subcarriers on pilot OFDM symbol is one-to-one mapped to an OFDM symbol using= k, thus NKp = NK, all channel estimates on this mapped OFDM symbol are known since they are all pilots, therefore FD-interpolation is no longer required. Error Estimation In addition to providing the equalize with channel estimates, the channel estimator may also provide noise and / or covariance matrix estimates, in order to enhance the equalization. Noise variance estimation 810 and covariance matrix estimation 811 is based on the de-noise channel matrices ^deNoise- The instantaneous interference plus noise (IpN) component for each pilot location at the received antenna q can be estimated first as in Eq.(24). Np yiPNk,( - v~ - - V h. „ ■ — yk,l / t “deNoisefcj ^k.l j=0 (24) This process involves locally generating the base pilot symbols of one or more base pilot signals 1009 and carrying out FD-CDM spreading 602 and TD-CDM spreading 603 on them at the receiver. It is assumed that the receiver has all the information required for doing so, such as the CDM spread code set, list of used port numbers, etc. This is followed by averaging the power across multiple other IpNs nearby to obtain the covariance matrix. Denote by £(lpN and X^pN the lists of nearby pilot OFDM symbol and element indices for (k, I), the averaging process can be expressed as in Eq.(25). nQi.Qz _ \ ' \ ' ,, Qi * 92 U °5’ In the above equation, qr and q2 are the indices of receiving antenna ports, which may or may not be the same antenna. When qt q2, quantifies the interference correlation between the two antennas at pilot RE (k, / ) and R^2 = , while when qt = q2 = q, Rq (is the real-valued noise variance at the pilot RE (k, / ). The estimated covariance matrices may be used at MMSE-IRC channel equalization process [9], The overall noise power for receiving antenna q is the averaging of or all pilot subcarriers k and all pilot OFDM symbols I. Further, assuming the noise power is of the same level for all Nq receiving antennas, the average value for all 0^ can be estimated as the averaging diagonal IpN elements of all estimates, as shown in Eq.(26). WQ-lNKp-lNLp-l O" = W^ X £ (26) Q Kp Lp q=0 fc=0 ( = 0 The estimated noise power may be used the minimum mean square error (MMSE) channel de-noising process, as well as MMSE channel equalization process. Following error estimation 818, a sequence of one or more error estimate signals are obtained according to the equations above. In some examples these may be written to the interpolation buffer 813, until error estimate signals have been accumulated across one or more pilot OFDM symbols. Following this, time domain processing 816 may be performed. This may include time domain interpolation 817, which may be employed to generate error estimate signals for non-pilot OFDM symbols. Note that, in some examples, this process is not required in situations where all OFDM symbols are pilot OFDM symbols. Note that besides time domain interpolation 817, the time domain processing 816 may also or alternatively include time domain filtering 820 and / or noise power matrix generation 822. Channel Estimator 2: TD-CDM De-Spreading Performed after Interpolation Buffering FIG. 10 shows another channel estimator example, referred to as Channel Estimator 2 circuit 1001. This is motivated by the observation that the TD-CDM de-spreading and FD de-noising and interpolation structure of first Channel Estimator 1 801 would potentially create the following problems: (1) The CDM buffer 809 requires a significant amount of memory to store the FD-CDM de-spread outputs of the QVTDCdm — l)^Kp^p pilot Res. This large amount of memory may impose a large chip area and / or a high power consumption in a practical implementation, leading to high deployment and running costs. (2) The channel matrix estimates' interpolation buffer 813 requires a significant amount of memory to store the MTDjnterpyVKA / p entries of pilot OFDM symbol REs' de-spread, de-noised and FD interpolated channel gain outputs, as well as their covariance matrix estimates. Again, this large amount of memory may impose a large chip area and / or a high power consumption in a practical implementation, leading to high deployment and running costs. (3) The FD de-noising process 805 and FD interpolation process 806 should preferably separately process each of the NP layers of the TD-CDM de-spread channel estimates, requiring high computational complexity and / or time delay. This high computational complexity and / or time delay may impose a low hardware efficiency, leading to a large chip area and / or a high power consumption in a practical implementation, as well as high deployment and running costs. These problems may be observed in most modern wireless communications protocols, where CDM is applied to the pilots in the time domain. This includes, but not limited to, the following physical layer channels in 3GPP's 5G standard: (1) Physical Uplink Shared Channel (PUSCH) with TD-CDM (2) Physical Downlink Shared Channel (PDSCH) with TD-CDM Furthermore, it can be envisaged that other forms of OFDM-MIMO communication systems may employ this technique that has TD-CDM de-spreading performed after interpolation buffering. In order to reduce the total buffer size requirement and power consumption of a channel estimator, and to reduce the calculation complexity and time delay of the de-noising and FD-interpolation process, the following implementation technique shown in Fig. 10 is proposed. Fig. 10 shows the proposed Channel Estimator 2 circuit 1001, where the differences to the first Channel Estimator 1 801 of FIG. 8 are marked by double-line framed rectangles in both figures. Observe that the TD-CDM de-spreading circuit 1008 is moved after the Interpolation Buffer 1013, and the CDM Buffer 809 is missing, which will be discussed in this section, and that a different pilot sequence input to the error estimation circuit 1014 is used, which will be discussed in the next section. In the proposed Channel Estimator 2 circuit 1001, the TD-CDM de-spreading circuit 1003 is moved to a later stage, after the Interpolation Buffer 1013 and before the TD interpolation. Therefore, the number of layers at the input to the FD de-noiser 1005 and FD-interpolator 1006 is reduced from NP down to Np, because layers multiplexed by TD-CDM have yet to be separated and are forwarded to the de-noiser as a single layer. This size reduction also applies to the error estimator circuit 1014 and the interpolation buffer 1013, which are also placed before the TD-CDM de-spreading circuit 1003 in Channel Estimator 2 circuit 1001. As a result, the following improvement has been made to solve the problem of first Channel Estimator 1 801 mentioned above: (1) Having the TD-CDM de-spreading circuit 803 removed, then no CDM buffer 809 is required, thus reducing the total memory requirement for CDM buffer from (A / TOcdm — l)^Kp^p pilot REs down to zero, which also reduces chip area, power consumption, deployment costs and running costs. (2) The interpolation buffer 1013 memory size requirement for storing the channel gain matrices is reduced by times, in terms of the number entries of pilot OFDM symbol REs, which also JVp reduces chip area, power consumption, deployment costs and running costs. (3) The computational complexity and / or time delay of the FD de-noiser 1005 and FD interpolator 1006 is reduced, because the number of input layers per job is reduced by 7¾ times, which also Np reduces chip area, power consumption, deployment costs and running costs. However, this arrangement causes two new challenges detailed below, both of which require a reformulation of the calculations given for Channel Estimator 1. (1) The FD de-noiser 1005 and FD interpolator 1006 should preferably process channel gain estimates of multiple layers multiplexed together by TD-CDM, instead of individual TD-CDM despread layers, and (2) The error estimation circuit 1014 should preferably process de-noised channel gain estimates of multiple layers multiplexed together by TD-CDM, instead of individual TD-CDM de-spread layers. The rest of this section discusses the channel estimation operation carried out by Channel Estimator 2 circuit 1001, its difference to the operations carried out by first Channel Estimator 1 801, as well as how these operations solve the above two additional challenges. In some examples, it is envisaged that some of the processes marked by dashed line border frames in FIG. 10 may be excluded in some applications,. Furthermore, in some examples, it is envisaged that certain boxes with solid outlines may only be potentially relevant or needed if certain outputs are required, as would be understood by a skilled person. For example, the error estimation circuit 1014 and the error estimates interpolation buffer 1017 are not needed if the circuit designer only cares about the output TD-CDM de-spread estimate signals 1015. Similarly, the channel matrix estimates interpolation buffer 1013 and the TD-CDM de-spreading circuit 1003 are not needed if the circuit designer only cares about the output error estimate signals 1012. Signal Processing Before CDM De-Spreading The input to Channel Estimator 2 circuit 1001 is a sequence of one or more TD-CDM spread received signals 1002, which may optionally also be FD-CDM spread, FDM multiplexed and / or TDM multiplexed, as discussed below. As a result, the one or more TD-CDM spread received signals 1002 is a multiplexed representation if any one or more of the multiplexing schemes is applied. Here, the number of TD-CDM spread received signals depends on the number of pilot REs included in the transmitted signal, which may be only one in an extreme example but is more typically higher. The pilot signal processing in Channel Estimator 2 circuit 1001 before CDM de-spreading may involve optional FDM de-multiplexing (in FDM de-multiplexing circuit 807), optional TDM de-multiplexing (in TDM de-multiplexing circuit 808), as well as initial channel estimation (in circuit 509). These operations may be carried out in the same way as in first Channel Estimator 1 801, and the resultant least squared (LS) channel estimate is also / iLS. Therefore, these operations will not be repeated here for simplicity reasons only. A skilled artisan will readily appreciate that the FD-CDM de-spreading 802 may equally be placed in various locations in order to achieve the same aim, albeit in handling / processing different signals. The following lists some, but not all, of the possible locations of the FD-CDM de-spreading circuit 802 as well as the orders of task that the channel estimator can perform, between the input and the CDM buffering 809. (1) Input, then FDM de-multiplexing an output from first Channel Estimator 1 801, then TDM demultiplexing (in circuit 808), then an initial channel estimation (in circuit 509), then FD-CDM despreading (in circuit 802), then frequency-domain processing (in circuit 1004). (2) Input, then FDM de-multiplexing an output from first Channel Estimator 1 801, then TDM demultiplexing (in circuit 808, then FD-CDM de-spreading 802, then an initial estimation (in circuit 509), frequency-domain processing (in circuit 1004). (3) Input, then FD-CDM de-spreading (in circuit 802), then FDM de-multiplexing an output from first Channel Estimator 1 801, then TDM de-multiplexing (in circuit 808), then an initial channel estimation (in circuit 509), then frequency-domain processing (in circuit 1004). Hence, the specific illustrated location of the FD-CDM de-spreading circuit 802 in the figures is for explanatory purposes only and should not be viewed as a strict physical location. FD-CDM De-Spreading The next step in Channel Estimator 2 circuit 1001 is FD-CDM De-spreading 802, which is also identical to the same operation carried out by first Channel Estimator 1 801, obtaining the FD-CDM de-spread channel estimates hFDdeSpreadkp- In contrast to first Channel Estimator 1 801, in Channel Estimator 2 circuit 1001 after FD-CDM despreading 802, no TD-CDM de-spreading process is immediately followed. The FD-CDM de-spread q,Pi channel estimates ZiFDdeSpreadk ( rnay be directly forwarded to the FD de-noising circuit 1005. Note that, in some examples, the FD-CDM de-spreading 802 component can be omitted if the input signal is not FD-CDM spread, in which case the input initially estimated signal can be readily used as the FD-CDM de-spread signal. De-Noising As in first Channel Estimator 1 801, Channel Estimator 2 performs frequency-domain processing 1004, which may include FD de-noising circuit 1005 and FD interpolation 1006. However, in Channel Estimator 2 circuit 1001, no TD-CDM de-spreading is carried out to the input of the FD de-noising circuit 1005, therefore the input is a sequence of one or more TD-CDM spread estimate signals 1007, where the number of signals depends on the number of pilot REs in the transmitted signal. It is envisaged that in some examples, any of the FD de-noising algorithms WFD mentioned before for first Channel Estimator 1 801 can be applied to the TD-CDM spread estimate signals 1007 to obtain the de-noised channel estimate 1 as shown in Eq.(27). JVKp-l rproposed^Pj _ mZFD£ ^-P) "deNoise ki - / , Wk,k "FDdeSpread k>i k=0 Since the input to the de-noising circuit 1005 is a TD-CDM spread received signal, the output is a TD-CDM spread de-noised signal. Note that in TD-CDM spread signals, layers having the same FD-CDM spread code but different TD-CDM spread codes cannot be differentiated. Therefore, these unseparated layers have the same de-noised channel gain values i'' which is the superposition of all their de-noised channel gains with TD-CDM. This results in a reduced layer dimension size in which in turn reduces the de-noising processing complexity, which is from processing NP layers down to Np layers only, because the operation for all layers with same FD-CDM spread code can be performed only once, and there are only Np unique FD-CDM spread codes being used. The obtained TD-CDM spread de-noised signal K^Nois^ is equivalent to the output of Channel Estimator l's de-noising process 805 hdeNoise if TD-CDM spreading had been applied, because both the FD de-noising and the TD-CDM de-spreading are linear processes and their order can be exchanged, which is shown by Eq.(28). ^Kp—1 ^Kp—1 Np £ ■C^DdeSpread"’' = £ fc=0 fc=0 Np vvk,ki NP ~ / , "deNoise^; v ) (28) In some examples, it is envisaged that the FD de-noising component can be omitted if the input signal can be considered noise- and interference-free, or very close thereto, in which case the FD-CDM despread signal can be readily used as a de-noised signal. FD-lnterpolation The TD-CDM spread de-noised estimates maV t^en sent to the interpolation circuit 1006, resulting in a sequence of one or more TD-CDM spread FD-interpolated channel estimates 1008 of all subcarriers on all pilot OFDM symbols Here, the number of channel estimates may depend on at least the total number of REs in the transmitted signal. If necessary, an FD-interpolation algorithm gp may be employed for calculating the estimates of non-pilot REs 7 based on the pilot REs 'n the currer|t pilot OFDM symbol I. This can be mathematically expressed as in Eq.(29). GSy = ''dTNP»“:d^ if afe J, 0 s. I f = A™ (k, p,) and i = / tdm (I, p^ = ft ¢)- Ifafe. 0 S.CI - WU9 (29) The second operation in the above equations may be employed when pilot REs 110 and non-pilot REs co-exist in the mapped OFDM symbol corresponding to the input pilot OFDM symbol 111. Otherwise, if all subcarriers in the mapped OFDM symbol are pilots, the FD interpolation circuit 1006 may carryout only the first operation in the above equations in some examples, and only if FDM is employed, in which case it maps the input de-noised channel estimates hdeNoised t0 the physical OFDM symbol hp^nter^i based on the FDM function used. If the actual channel gains h had passed through TD-CDM spreading to obtain a TD-CDM spread channel gain Jitdcdm, the process would be shown in Eq.(30). , q.Pj “TDCDM^J (30) When the pilot density in the FD is sufficient, the difference between the FD-interpolated channel gains ^FDinterpl ar|d actual TD-CDM spread channel gain Jitdcdm should be minimum (denoted by e). This can be mathematically expressed as in Eq.(31). NP NP = I j'=0 j'=0 The resultant FD-interpolated channel estimates 1008 may then be provided to the interpolation buffer 1013. Since the input to the FD interpolation circuit 1006 is a TD-CDM spread de-noised signal, the output 1008 is a TD-CDM spread FD-interpolated signal. This means the FD interpolation circuit 1006 in Channel Estimator 2 circuit 1001, like its de-noising circuit 1005, has reduced complexity, from Channel Estimator l's NP layers down to NP layers only, because the layers have same FD-CDM spread code but different TD-CDM spread codes are still processed together. Likewise, the memory requirement for the interpolation buffer 1013 to store the channel gain estimates is also reduced by — because the layers Np having the same FD-CDM spread code but different TD-CDM spread codes can share the same FD-interpolated data and only one of these TD-CDM spread layers needs to be stored. It is envisaged that in some examples the FD interpolation circuit 1006 can be omitted if all subcarriers in the input pilot OFDM symbol are pilot subcarriers 102, in which case the input de-noised signal can be readily used as an FD-interpolated signal. TD-CDM De-Spreading The TD-CDM de-spreading circuit 1003 in Channel Estimator 2 circuit 1001 is placed after the interpolation buffer 1013 and starts to operate once the FD-interpolation of all pilot OFDM symbols in an TD-CDM group are finished and the results written to the interpolation buffer 1013. This is different to the TD-CDM de-spreader 803 in first Channel Estimator 1 801, which is placed after the FD-CDM despreader 802 and reads its input from the CDM buffer 809. The TD-CDM de-spreading circuit 1003 is carried out upon the FD-interpolated channel gains 1008 by multiplying all subcarriers in ^FDkiterpl' including both pilot REs and non-pilot REs, by their corresponding TD-CDM spreading code wt and averaging across every set of Mtdcdm elements in the TD, expressed as in Eq.(32). mt-i proposed «7 _ 1 V .-proposed^ / TDdeSpread^ M nFDinterplfc M +l"Wt ' l"=0 Mt—1 Np V — ,,^(^)^(^) Mt / ■ / ■ k,nTMr+l" t v J t > l"=Q j'=o (32) AfT-l Q,p. / p.t -p, hr 1 k,nTMT+l" 1 t Recall from the previous discussion about CDM for pilot signals, that the layer can be jointly identified by its FD-CDM and TD-CDM spread codes. Therefore, if two layer indices j and j' have both an identical FD-CDM spread code (ij, = ij) and an identical TD-CDM spread code (ij, = ij), it is guaranteed thatthey correspond to the same layer, thus j = j'. As a result, for the first term in the bracket of the above equation's last line, only layer pj is included in the summation, which can be expressed as in Eq.(33). mt-i afl y y / up / —„wy(z">fJ(r) Mt / ■ / ■ k,nTMT+l" t ' t ' (" = 0 ;'=o k,nTMT+l Mt-1 wf\Z")w^(Z") l"=0 (33) w_ 1 k,nTMr+l’ My The last step is based on the assumption that the channel gains do not change within the Mtdcdm pilot OFDM symbol's time period, which has been discussed when describing Channel Estimator l's TD-CDM de-spreading 803. 10 For the second term in the bracket of the above equation's last line, due to the orthogonality of CDM spread codes, the dot product of two different TD-CDM spread codes within the same TD-CDM spread code set is zero, which means the whole term is zero, as shown in Eq.(34). mt-i wtP / (Z")wfJ(Z") = 0 V / * j i"=o Therefore, the TD-CDM de-spreading circuit 1003 in Channel Estimator 2's output (34) is just 5' "k,l TD-lnterpolation Channel matrix TD processing can be performed by channel matrix TD processing circuit 815 in Channel Estimator 2 circuit 1001 can be carried out on the TD-CDM de-spread channel estimates ^ToXspread' which may include TD interpolation circuit 814. ATD-interpolation algorithm gy may be employed for calculating the estimates of REs on non-pilot OFDM symbols / JProPosed|'?J based on the pilot OFDM symbols ^oXs^read' as shown in Eq.(35). ^ProPOSedfc / = ^MeSpread^^’ if 3 (ftp 0 s- L 1 = / tDm(^ Pj) / ) an- \ (35) / Jproposed^J = gT ’ otherwise The second operation in the above equations may only be necessary when pilot REs and non-pilot REs co-exist in the mapped subcarrier corresponding to the input pilot subcarrier. Otherwise, if all OFDM symbols in the mapped subcarrier are pilots, the TD-interpolation circuit only carries out the first operation in the above equations and only if TDM is employed, in which case it maps the input TD-CDM de-spread channel estimates ^yoXTpreadto physical subcarrier / iPr°P°sed based on the TDM function used. It is envisaged that in some examples the TD-interpolation component can be omitted if all OFDM symbols in the input TD-CDM spread received signal are pilot OFDM symbols 111, in which case the input TD-CDM de-spread channel estimate signal can be readily used as an TD-interpolated channel estimate signal. Note that besides time domain interpolation, the time domain processing in channel matrix TD processing circuit 815 may also or alternatively include time domain filtering 819 for further smoothing the estimated signal in the time domain, and / or a timing compensation circuit 821 for compensating the phase error imposed by inaccurate local oscillators. Error Estimation In Channel Estimator 2 circuit 1001, error estimation performed by error estimation circuit 1014 may involve noise variance estimation 1010 and / or covariance matrix estimation 1011. For the covariance matrix estimation 1011 in Channel Estimator 2 1001, a different sequence of one or more pilot signals 1019 may be used, unlike the un-multiplexed pilot sequence multiplied with both the FD-CDM and the TD-CDM spreading codes of first Channel Estimator 1 801. Instead, only FD-CDM spreading codes 602 are multiplied to the base sequence r of the one or more base pilot signal(s) 1009 to obtain the jF pilot sequence 1019 for Channel Estimator 2 circuit 1001, as shown in Eq. (36). a proposed J =TkiWPj^ (36) ■F Like the pilot sequence cr^ used in first Channel Estimator 1 801, the pilot sequence aproposed^f 1019 used in Channel Estimator 2 circuit 1001 has three dimensions: frequency, time, and layer. Unlike the pilot sequence used in first Channel Estimator 1 801, which is of size (WKp X WLp X Np), the size of if the pilot sequence CTProPosed / 1019 used in Channel Estimator 2 is (WKp x / VLp x Np), wherein its layer dimension size is reduced from the total number of layers Np down to the number of layers with different FD-CDM spreading codes of spread codes Np. 5 Then, the IpN may be calculated using aProposed 1019 and the FD-CDM de-spread and de-noised channel gains ftdeNoised f°r pilot REs 1020, which may be extracted 812 from the set of TD-CDM spread estimate signals 1008 obtained for all REs by the FD processing circuit 1004, as shown in Eq.(37). wg proposed'? _ V .-proposed^; ^proposed' / (37) ^IpN k t - 7 k,I - / , “'deNoise kit “ k.l j=0 It is envisaged that in some examples the decreased number of summation elements from NP down to 10 Np compared to the covariance matrix estimation in Channel Estimator 1 801 may be used to match the reduced number of separated layers in ^e^oise^ ar|d aProPosed. The second half of the above equation can be expanded as shown in Eq.(38). Zcproposed^J proposed'; _ '‘'deNoise kj u k,l j=0 Afp Np v-, — q,p. p ( '\ = rk,l / , / , ^deNoisefc / w / ) 7=0 / =0 h 'MeNoise^ / J (38) In some examples, the two summations in Eq.(38) lead to the sum of the products of all FD-CDM spread 15 code Wf TD-CDM spread code and wt combinations, i.e., all layers. Therefore, Eq. (37) can be further simplified as in Eq.(39). "p proposed'? ____eproposed proposed1 / llpN 7 k,I / , *tdeNoise k i u k,l J=0 NP = 7 k,I - rk,l ftdeNoisefeJ / ( / ) / =0 Np Zh q7i Pj “deNoise^,; ^k,l j=0 (39) This leads to the same result as in the IpN calculation of Channel Estimator 1, while Channel Estimator 2 has reduced complexity, due to the reduced input size from NP layers of ftdeNoise 'n Channel Estimator 1 down to Np layers of / tPeNoised 'n Channel Estimator 2. Following the instantaneous IpN yip™p°sed^ i estimation, averaging process may be carried out to produce the covariance matrix, as shown in Eq.(40). ^propose d^Qz k,l card(^pN)card(£;pN) ^pN proposed*?1 proposed*^2 ^IpN . / ip / ~kJ (40) Alternatively, the noise variance 1010 can also be estimated by averaging across the whole pilot RG, as shown in Eq.(41). n proposed 1 ^Q^Kp^Lp Wq-1 WKp-l WLp-l Z\ ’ \1 proposed6? proposed6? Z Z q=0 k=0 1=0 (41) It is envisaged that in some examples the noise variance estimation 1010 component and CVM estimation component can be omitted if, the relevant channel equalization algorithms requiring them (such as MMSE and MMSE-IRC, respectively) are not employed. Following error estimation circuit 1014, a sequence of one or more error estimate signals 1012 are obtained according to the equations above. These may be written to the error estimate interpolation buffer 1017, until error estimate signals 1012 have been accumulated across one or more pilot OFDM symbols. Following this, time processing 816 may be performed. This may include time domain interpolation 817, which may be employed to generate error estimate signals for non-pilot OFDM symbols. Note that this process is not required in situations where all OFDM symbols are pilot OFDM symbols. Note that besides time domain interpolation 817, the time domain processing 816 may also or alternatively include time domain filtering 820 further smoothing the estimated error signal in the time domain, and / or noise power matrix generation 822 for generating noise power matrices. Flowcharts In summary, the operation of Channel Estimator 2 circuit 1001 may be described by the flowcharts of FIG. Hand FIG. 12. FIG. 11 presents a flowchart 1100 for the case where the focus is only channel estimate calculation, without error estimation. The process begins at 1011, which collects the inputs that are provided by a sequence of one or more TD-CDM spread received signals 1002. At the same time, a sequence of one or more base pilot signals 1009 is generated at 1102. The TD-CDM spread received signals 1002 and the one or more base pilot signals 1009 are used to perform initial estimation at 1103, in order to generate a first set of one or more TD-CDM spread channel estimate signals 1007. Frequency domain processing 1104 is then applied to these, in order to generate a second set of one or more TD-CDM spread channel estimate signals 1008. These are then written to an interpolation buffer 1105 and then later read back from the interpolation buffer 1106, when channel estimate signals have been collected in the interpolation buffer for a set of one or more pilot OFDM symbols. Finally, TD-CDM de-spreading is applied at 1107. FIG. 12 presents a flowchart 1200 for the case where channel estimate calculation is performed together with error estimation. As in FIG. 11, the process begins at 1011, which collects the inputs that are provided by a sequence of one or more TD-CDM spread received signals 1002. At the same time, a sequence of one or more pilot signals 1009 is generated at 1102. The TD-CDM spread received signals 1002 and the one or more base pilot signals 1009 are used to perform initial estimation at 1103, in order to generate a first set of one or more TD-CDM spread channel estimate signals 1007. Frequency domain processing 1104 is then applied to these, in order to generate a second set of one or more TD-CDM spread channel estimate signals 1008, which are then written to an interpolation buffer 1105. Simultaneously with this, the TD-CDM spread received signals 1002, the one or more base pilot signals 1009 and a subset of the second set of one or more TD-CDM spread channel estimate signals 1008 are used to perform error estimation at 1201. The resultant error estimate signals are then written to the interpolation buffer at 1202. Later on, when channel estimate signals and error estimate signals have been collected in the interpolation buffer for a set of one or more pilot OFDM symbols, these are read back from the interpolation buffer at 1106 and 1203. Finally, TD-CDM de-spreading is applied to the channel estimate signals at 1107. Circuit Orders A skilled artisan will readily appreciate that the FD-CDM de-spreading 802, the FDM de-multiplexing 807, and the TDM de-multiplexing circuit 808 may equally be placed in various locations in order to achieve the same aim, albeit in handling / processing different signals. The following lists some envisaged, but not all of the, possible locations of the FD-CDM de-spreading circuit 802, the FDM de-multiplexing circuit 807, and the TDM de-multiplexing circuit 808 as well as the orders of task that the channel estimator can perform, between the input 1101 and the FD processing circuit 1004, which are demonstrated in FIG. 13, as a supplementary to the cases already shown in FIG. 10. (0) Input, then FDM de-multiplexing 807, then TDM de-multiplexing 808, then an initial channel estimation (in circuit509), then FD-CDM de-spreading 802, then FD processing circuit 1004, as shown in FIG. 10. (1) Input, then an initial channel estimation (in circuit 509), then FD-CDM de-spreading 802, then FDM de-multiplexing 807, then TDM de-multiplexing 808, then FD processing circuit 1004, as shown in case 11301 of FIG. 13. (2) Input, then FD-CDM de-spreading 802, then an initial channel estimation (in circuit 509), then TDM de-multiplexing 808, then FDM de-multiplexing 807, then FD processing circuit 1004, as shown in case 2 1302 of FIG. 13. (3) Input, then FD-CDM de-spreading 802, then an initial channel estimation (in circuit 509), then TDM de-multiplexing 808, then TDM de-multiplexing 808, as shown in case 3 1303 of FIG. 13, where the optional FDM de-multiplexing 807 is absent. Each of the FD-CDM de-spreading circuit 802, the FDM de-multiplexing circuit 807, and the TDM demultiplexing circuit 808 has its own input signals (1304, 1306, and 1308, respectively) and output signals (1305,1307, and 1309, respectively). When one of the three circuit is placed between the input 1101 and the initial channel estimation circuit 509, its input signal is formed from (also known as a representation of) the input 1101's TD-CDM spread received signal 1002, and its output signal forms a basis of the initial channel estimation circuit 509's pre-estimation signal 1304. Likewise, when one of the three circuit is placed between the initial channel estimation circuit 509 and the FD processing circuit 1004, its input signal is formed from the initial channel estimation circuit 509's pre-estimation signal 1304, and its output signal forms a basis of the FD processing circuit 1004's first set of TD-CDM spread estimate signal 1007. It is worth noting that the following three equivalent expressions describe situations regarding signals A and B, when the circuit outputting signal B is placed before the circuit or circuits inputting signal A, and when signal A and signal B are either directly connected or linked through one or more intermediate circuits in between. • Signal A is formed from signal B. • Signal A is a representation of signal B. • Signal B forms a basis of signal A. Hence, the specific illustrated locations of the FD-CDM de-spreading circuit 802, the FDM demultiplexing circuit 807, and the TDM de-multiplexing circuit 808 in the figures are for explanatory purposes only and should not be viewed as a strict physical location. Similarly, the FD de-noising circuit 1005 and the FD interpolation circuit 1006 inside the FD processing circuit 1004 may equally be placed in either order in order to achieve the same aim, albeit in handling / processing different signals. Supplementary tables The following 7 tables provide a comprehensive summary of the notations, symbols, and related information to be utilized throughout this document. Table 2 below provides a comparison between general terms and 3GPP SGNR's specific terms. TrG / e 2 hetvveef? genera; derive and SGPP SGA / K’s specific Name used in this document 3GPP 5GNR's specific name Pilot signal Demodulation Reference Signal (DM-RS) Pilot symbol DM-RS RE Spread Code Orthogonal Covering Code (OCC) Table 3 below provides a list of index variables. Symbol Meaning 7 Index of FD-CDM spread code for layer j in the FD-CDM spread code set iT 7 Index of TD-CDM spread code for layer j in the TD-CDM spread code set J Index of layer, 0 <j <NP k Index of pilot subcarrier in a pilot OFDM symbol, 0 <k <NKp — 1 k Index of subcarrier in a physical resource grid after FDM mapping, 0 <k <NK — 1 k' Index of pilot subcarrier in a FD-CDM group, 0 <k' <MP — 1 I Index of pilot OFDM symbol in a slot, 0 <I <WLp — 1 I Index of OFDM symbol in a physical resource grid for TDM mapping, 0 <I <NL — 1 r Index of pilot OFDM symbol in a TD-CDM group, 0 <1' <MT — 1 nF Index of FD-CDM group in a pilot OFDM symbol, 0 <nF <ZVFDCDMgroup Hy Index of TD-CDM group in a pilot resource grid, 0 <nT <ZVTDCDMgroup rk,l Base pilot sequence element for the fcth pilot subcarrier on the / th pilot OFDM symbol Table 4 below provides a list of data variables. Symbol Meaning Pi uk,l The FD-CDM and TD-CDM spread coded pilot for the jth's fcth pilot subcarrier in its / th pilot OFDM symbol k,l mapped to its corresponding location on the fcth subcarrier of the / th OFDM symbol in the physical resource grid °N Noise power hq'^ Lk,l Channel gain between the pyth layer and the qth receiving antenna for the fcth pilot subcarrier of the Zth pilot OFDM symbol in the slot. Pi Port number for layer j DQ1>Q2 Kk,l The covariance between the qFth receiving antenna and the q2th receiving antenna at the fcth pilot subcarrier of the Zth pilot OFDM symbol w^Ck') The fc'th element in FD-CDM spread code for layer j The Z'th element in TD-CDM spread code for layer j W De-noising weight matrix Instantaneous interference plus noise of the fcth pilot subcarrier of the Zth pilot OFDM symbol on the qth receiving antenna £k,l The AWGN on the fcth subcarrier of the Zth OFDM symbol imposed on the qth receiving antenna 5 Table 5 below provides a list of frequency-domain-specific constants. 5 list pfFre«juency-P<?mr.'jn-Specie Constants ^ipN Set of pilot subcarrier indices near pilot subcarrier k for covariance averaging purpose MF Number of pilot subcarriers in each FD-CDM group; FD-CDM spreading code codeword length WdCDM Total number of different spread codes in the FD-CDM spread code set ivF M*DCDMgroup Number of FD-CDM groups per pilot OFDM symbol NfDM Number of different FDM mappings Number of subcarriers in the mapped physical resource ^Kp Number of pilot subcarriers per pilot OFDM symbol Np Number of different spread codes in the FD-CDM spread code set wF that are used for transmission, Np <A'fdcdm Nrb Number of resource blocks (per resource grid) Table 6 below provides a list of time-domain-specific constants. 6' Ust of Time- fIpN Set of pilot OFDM symbol indices near pilot OFDM symbol I for covariance averaging purpose M'y Number of pilot OFDM symbols in each TD-CDM group; TD-CDM spreading code codeword length WdCDM Total number of different spread codes in the TD-CDM spread code set wT ^TDCDMgroup Number of TD-CDM groups per slot ^TDinterp Number of pilot OFDM symbols required by the TD-interpolator's algorithm to carry out TD-interpolation Nl Number of OFDM symbols in the mapped physical resource Number of pilot OFDM symbols per slot Np Number of different spread codes in the TD-CDM spread code set wT that are used for transmission, Np < / VTDCDM Ns Number of slots (per frame) 5 Table 7 below provides a list of other constants. Number of pilot elements in each CDM group; CDM spreading code codeword length; Used as a generic form of either Mp or MT NP Number of layers transmitted NP, Np ■ Np: Maximum number of layers supported given the number of selected FD-CDM and TD-CDM spreading codes Nq Number of receiving antennas Nxp Number of pilot elements per pilot sequence; Used as a generic form of either Npp or NTp Table 8 below provides a list of notations. Notation Example Meaning Italic lower-case letter a Indices of a vector or matrix Bold italic letter B.b Vector, matrix, or multi-dimensional array Italic letter with superscript or subscript bc The cth scalar element in b Bold italic letter with superscript or subscript Bc, A vector or multi-dimensional array element of B, whose first-dimension index is c Italic letter with tilde a, b Index or data mapped to the physical resource grid Italic letter with hat b Data estimated by the receiver Italic letter with superscript "proposed" ^proposed A vector appeared in the proposed Channel Estimator 2 References [1] 3GPP, 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR; Physical channels and modulations (Release 17), Valbonne, France: 3GPP, 2022-03. [2] L.-L. Yang, Multicarrier Communications, John Wiley &Sons, 2009. [3] H. J. Ryser, Combinatorial Mathematics, Mathematical Association of America, 1963. [4] R. Gold, "Maximal recursive sequences with 3-valued recursive cross-correlation functions (Corresp.)," IEEE transactions on Information Theory, pp. 154-156, Jan. 1968. [5] 3GPP, 3rd Generation Partnership Project; Technical Specification Group Radio Access Network; NR; Multiplexing and channel coding (Release 17), Valbonne, France: 3GPP, 2022-06. [6] F. B. Hildebrand, Introduction to numerical analysis, Courier Corporation, 1987. [7] Y. Dodge, The concise encyclopedia of statistics, New York: Springer, 2008. [8] L. Hanzo, OFDM and MC-CDMA for Broadband Multi-User Communications, WLANs and Broadcasting, Chichester: Wiley, 2003. [9] F. M. e. a. Tavares, "On the potential of interference rejection combining in B4G networks," in IEEE 78th Vehicular Technology Conference (VTC Fall), Las Vegas, NV, USA, 2013.
Claims
1. A channel estimator circuit (1001), comprising:an input configured to receive in one slot a multiplexed representation of one or more timedomain code division multiplexed, TD-CDM, spread received signals (1002);an initial estimator circuit (509) configured to:process a pre-estimation signal (1018), formed from the multiplexed representation of the one or more TD-CDM spread received signals (1002);use a base pilot signal (1009) from a base pilot signal generator circuit as a reference signal; andoutput an initial estimate signal (1016);a frequency-domain processing circuit (1004) configured to receive and process a first set of one or more TD-CDM spread channel estimate signals (1007), representative of the initial estimate signal (1016), and output a second set of one or more TD-CDM spread channel estimate signals (1008);an error estimator circuit (1014) comprising:a first input operably coupled to the base pilot signal generator circuit and configured to receive a first set of one or more error estimation reference signals (1019) representative of the base pilot signal (1009);a second input operably coupled to the frequency-domain processing circuit (1004) and configured to receive a second set of error estimation reference signals (1020) representative of the second set of one or more TD-CDM spread channel estimate signals (1008);a third input operably coupled to the input and configured to receive the multiplexed representation of the one or more TD-CDM spread received signals (1002);at least one of:a noise variance estimation circuit (1010) configured to use the error estimation reference signals (1019) and the second set of error estimation reference signals (1020) and perform noise variance estimation on the multiplexed representation of the one or more TD-CDM spread received signal (1002),a covariance matrix estimation circuit (1011) configured to use the error estimation reference signals (1019) and the second set of error estimation reference signals (1020) and perform covariance matrix estimation on the multiplexed representation of the one or more TD-CDM spread received signals (1002); andan error estimator output configured to output one or more error estimate signals (1012) in response to signals received at each of the first input and second input and third input.
2. The channel estimator circuit (1001) of Claim 1, further comprising:a frequency domain code division multiplexing (FD-CDM) de-spreading circuit (802) configured to: receive a de-spreading input signal (1304) representative of the multiplexed representation of one or more TD-CDM spread received signals (1002);perform a FD-CDM de-spread operation on the de-spreading input signal (1304); and output a de-spread output signal (1305);wherein the de-spreading input signal (1304) is either:the multiplexed representation of the one or more TD-CDM spread received signals (1002), and the first de-spread output signal (1305) of FD-CDM de-spreading circuit (802) is the pre-estimationsignal (1018), orthe initial estimate signal (1016), and the first de-spread output signal (1305) of the FD-CDM de-spreading circuit (802) is the first set of one or more TD-CDM spread channel estimate signals (1007);a FD-CDM spreading circuit (602) configured to:receive the base pilot signal (1009);perform a FD-CDM spread operation on the base pilot signal (1009); and output the first set of error estimation reference signals (1019).
3. The channel estimator circuit (1001) of Claim 2, wherein the first FD-CDM de-spreading circuit (802) is configured to perform a FD-CDM de-spread operation that uses a Walsh-Hadamard code with a length of two, and wherein the FD-CDM spreading circuit (602) is configured to perform a FD-CDM spread operation that uses a Walsh-Hadamard code with a length of two.
4. The channel estimator circuit (1001) of any preceding claim, wherein the multiplexed representation of the one or more TD-CDM spread received signals (1002) is additionally FD-multiplexed, and wherein the channel estimator circuit (1001) further comprises an FDM demultiplexing circuit (807) having:an input configured to receive and perform an FD de-multiplex operation on an input FDM signal (1306); andan output configured to output an FD de-multiplexed output signal (1307), wherein either:the input FDM signal (1306) is formed from the multiplexed representation of the one or more TD-CDM spread received signals (1002), and the FD de-multiplexed output signal (1307) forms a basis of the pre-estimation signal (1018), orthe input FDM signal (1306) is formed from the initial estimate signal (1016), and the FD demultiplexed output signal (1307) forms a basis of the first set of one or more TD-CDM spread channel estimate signals (1007).
5. The channel estimator circuit (1001) of any preceding claim, wherein the multiplexed representation of the one or more TD-CDM spread received signals (1002) also is additionally TD-multiplexed, and wherein the channel estimator circuit (1001) further comprises a TDM de-multiplexing circuit (808) having:an input configured to receive and perform a TD de-multiplex operation on an input TDM signal (1308); andan output configured to output a TD de-multiplexed output signal (1309), wherein either:the input signal (1308) is formed from the multiplexed representation of the one or more TD-CDM spread received signals (1002), and the TD de-multiplexed output signal (1309) forms a basis of the preestimation signal (1018), orthe input signal (1308) is formed from the initial estimate signal (1016), and the TD demultiplexed output signal (1309) forms a basis of the first set of one or more TD-CDM spread channel estimate signals (1007).
6. The channel estimator circuit (1001) of any preceding claim, wherein each of a plurality of the multiplexed representation of the one or more TD-CDM spread received signals (1002) is a vector having a length equal to a number of receive antenna ports NR, wherein each of a plurality of the first set of one or more TD-CDM spread channel estimate signals (1007) and each of a plurality of the second set of one or more TD-CDM spread channel estimate signals (1008) is a matrix having a first dimension equal to a number of layers Np divided by a TD-CDM spreading factor Np, and having a second dimension equal to a number of receive antenna ports NR, and wherein the base pilot signal (1009) is a vector having a length equal to the number of layers Np divided by the TD-CDM spreading factor Np.
7. The channel estimator circuit (1001) of Claim 6, wherein the number of receive antenna ports NR, the number of layers Np, and the TD-CDM spreading factor Np are each configured to vary from slot to slot.
8. The channel estimator circuit (1001) of any preceding claim, wherein the channel estimator circuit (1001) further comprises:a channel matrix estimates interpolation buffer (1013) operably coupled to an output of the frequency-domain processing circuit (1004) and configured to receive and buffer the second set of one or more TD-CDM spread channel estimate signals (1008); andan error estimates interpolation buffer (1017) operably coupled to an output of the error estimator circuit (1014) and configured to buffer the one or more error estimate signals (1012); andan error estimate TD processing circuit (816) operably coupled to an output of the error estimates interpolation buffer (1017) and configured to process one or more buffered error estimate signals (1012) from the error estimates interpolation buffer (1017).
9. The channel estimator circuit (1001) of Claim 8, further comprising a TD-CDM de-spreading circuit (1003) operably coupled to an output of the channel matrix estimates interpolation buffer (1013) and configured to de-spread a buffered second set of one or more TD-CDM spread channel estimate signals (1008) from the channel matrix estimates interpolation buffer (1013) and output TD-CDM de-spread channel estimate signals (1015).
10. The channel estimator circuit (1001) of Claim 9, wherein the TD-CDM de-spreading circuit (1003) is configured to perform a de-spread operation on the buffered second set of one or more TD-CDM spread channel estimate signals (1008) that uses a Walsh-Hadamard code with a length of two.
11. The channel estimator circuit (1001) of Claim 8, wherein the error estimate TD processing circuit (816) comprises at least one of the following:a time-domain interpolation circuit (817) configured to perform time-domain interpolation on the one or more error estimate signals (1012);a time-domain filtering circuit (820) configured to perform a time-domain smoothing operation on the one or more error estimate signals (1012);a noise power matrix generation circuit (822) configured to use the one or more error estimate signals (1012) and generate noise power matrices.
12. The channel estimator circuit (1001) of any preceding Claim, wherein the frequency-domain processing circuit (1004) comprises a frequency-domain de-noising circuit (1005) that is configured to: receive an input signal that is representative of the first set of one or more TD-CDM spread channel estimate signals (1007), remove noise from the input signal, and provide a de-noised output signal as the second set of one or more TD-CDM spread channel estimate signals (1008).
13. The channel estimator circuit (1001) of Claim 12, further comprising a frequency-domain denoising circuit (1005) configured to use one of: a linear de-noising algorithm or a pseudo-linear denoising algorithm.
14. The channel estimator circuit (1001) of any preceding claim, wherein the frequency-domain processing circuit (1004) comprises a frequency-domain interpolation circuit (1006) that is configured to:receive and perform frequency domain interpolation on the first set of one or more TD-CDM spread channel estimate signals (1007), andoutput the second set of one or more TD-CDM spread channel estimate signals (1008).
15. A method for channel estimation performed by a channel estimator circuit (1001), the method comprising:receiving in one slot a multiplexed representation of one or more time-domain code division multiplexed, TD-CDM, spread received signals (1002);processing, a pre-estimation signal (1018), by an initial estimator circuit (509), formed from the multiplexed representation of one or more TD-CDM spread received signals (1002), and using a base pilot signal (1009) provided by a base pilot signal generator circuit (502) as a reference signal;outputting an initial estimate signal (1016) by the initial estimator circuit (509);receiving and processing, by a frequency-domain processing circuit (1004), a first set of one or more TD-CDM spread channel estimate signals (1007), representative of the initial estimate signal (1016), and outputting a second set of one or more TD-CDM spread channel estimate signals (1008);receiving at a first input of an error estimator circuit (1014) and processing a first set of error estimation reference signals (1019), representative of the base pilot signal (1009) from the base pilot signal generator circuit (502); andreceiving at a second input of the error estimator circuit (1014) and processing a second set of error estimation reference signals (1020) representative of the second set of one or more TD-CDM spread channel estimate signals (1008); andreceiving at a third input of the error estimator circuit (1014) and processing the multiplexed representation of the one or more TD-CDM spread received signals (1002);performing, by the error estimator circuit (1014), at least one of:noise variance estimation on the multiplexed representation of the one or more TD-CDM spread received signal (1002) using the error estimation reference signals (1019) and the second set of error estimation reference signals (1020) by a noise variance estimation circuit (1010),covariance matrix estimation on the multiplexed representation of the one or more TD-CDM spread received signals (1002) using the error estimation reference signals (1019) and the second set of error estimation reference signals (1020) by a covariance matrix estimation circuit (1011); and outputting one or more error estimate signals (1012) in response to signals received at each of the first input and second input and third input of the error estimator circuit (1014).24 01 25Amendments to the claims have been filed as folowsClaims1. A channel estimator circuit (1001), comprising:an input configured to receive in one slot a multiplexed representation of one or more timedomain code division multiplexed, TD-CDM, spread received signals (1002);an initial estimator circuit (509) configured to:process a pre-estimation signal (1018), formed from the multiplexed representation of the one or more TD-CDM spread received signals (1002);use a base pilot signal (1009) from a base pilot signal generator circuit as a reference signal; andoutput an initial estimate signal (1016);a frequency-domain processing circuit (1004) configured to receive and process a first set of one or more TD-CDM spread channel estimate signals (1007), representative of the initial estimate signal (1016), and output a second set of one or more TD-CDM spread channel estimate signals (1008);an error estimator circuit (1014) comprising:a first input operably coupled to the base pilot signal generator circuit and configured to receive a first set of one or more error estimation reference signals (1019) representative of the base pilot signal (1009);a second input operably coupled to the frequency-domain processing circuit (1004) and configured to receive a second set of error estimation reference signals (1020) representative of the second set of one or more TD-CDM spread channel estimate signals (1008);a third input operably coupled to the input and configured to receive the multiplexed representation of the one or more TD-CDM spread received signals (1002);at least one of:a noise variance estimation circuit (1010) configured to use the first set of one or more error estimation reference signals (1019) and the second set of error estimation reference signals (1020) and perform noise variance estimation on the multiplexed representation of the one or more TD-CDM spread received signal (1002),a covariance matrix estimation circuit (1011) configured to use the first set of one or more error estimation reference signals (1019) and the second set of error estimation reference signals (1020) and perform covariance matrix estimation on the multiplexed representation of the one or more TD-CDM spread received signals (1002); andan error estimator output configured to output one or more error estimate signals (1012) in response to signals received at each of the first input and second input and third input.
2. The channel estimator circuit (1001) of Claim 1, further comprising:a frequency domain code division multiplexing (FD-CDM) de-spreading circuit (802) configured to: receive a de-spreading input signal (1304) representative of the multiplexed representation of one or more TD-CDM spread received signals (1002);perform a FD-CDM de-spread operation on the de-spreading input signal (1304); and output a de-spread output signal (1305);wherein the de-spreading input signal (1304) is either:the multiplexed representation of the one or more TD-CDM spread received signals (1002), and the first de-spread output signal (1305) of FD-CDM de-spreading circuit (802) is the pre-estimation signal (1018), or24 01 25the initial estimate signal (1016), and the first de-spread output signal (1305) of the FD-CDM de-spreading circuit (802) is the first set of one or more TD-CDM spread channel estimate signals (1007);a FD-CDM spreading circuit (602) configured to:receive the base pilot signal (1009);perform a FD-CDM spread operation on the base pilot signal (1009); and output the first set of one or more error estimation reference signals (1019).
3. The channel estimator circuit (1001) of Claim 2, wherein the first FD-CDM de-spreading circuit (802) is configured to perform a FD-CDM de-spread operation that uses a Walsh-Hadamard code with a length of two, and wherein the FD-CDM spreading circuit (602) is configured to perform a FD-CDM spread operation that uses a Walsh-Hadamard code with a length of two.
4. The channel estimator circuit (1001) of any preceding claim, wherein the multiplexed representation of the one or more TD-CDM spread received signals (1002) is additionally FD-multiplexed, and wherein the channel estimator circuit (1001) further comprises an FDM demultiplexing circuit (807) having:an input configured to receive and perform an FD de-multiplex operation on an input FDM signal (1306); andan output configured to output an FDde-multiplexed output signal (1307), wherein either:the input FDM signal (1306) is formed from the multiplexed representation of the one or more TD-CDM spread received signals (1002), and the FD de-multiplexed output signal (1307) forms a basis of the pre-estimation signal (1018), orthe input FDM signal (1306) is formed from the initial estimate signal (1016), and the FD demultiplexed output signal (1307) forms a basis of the first set of one or more TD-CDM spread channel estimate signals (1007).
5. The channel estimator circuit (1001) of any preceding claim, wherein the multiplexed representation of the one or more TD-CDM spread received signals (1002) also is additionally TD-multiplexed, and wherein the channel estimator circuit (1001) further comprises a TDM de-multiplexing circuit (808) having:an input configured to receive and perform a TD de-multiplex operation on an input TDM signal (1308); andan output configured to output a TD de-multiplexed output signal (1309), wherein either:the input signal (1308) is formed from the multiplexed representation of the one or more TD-CDM spread received signals (1002), and the TD de-multiplexed output signal (1309) forms a basis of the preestimation signal (1018), orthe input signal (1308) is formed from the initial estimate signal (1016), and the TD demultiplexed output signal (1309) forms a basis of the first set of one or more TD-CDM spread channel estimate signals (1007).24 01 256. The channel estimator circuit (1001) of any preceding claim, wherein each of a plurality of the multiplexed representation of the one or more TD-CDM spread received signals (1002) is a vector having a length equal to a number of receive antenna ports NR, wherein each of a plurality of the first set of one or more TD-CDM spread channel estimate signals (1007) and each of a plurality of the second set of one or more TD-CDM spread channel estimate signals (1008) is a matrix having a first dimension equal to a number of layers Np divided by a TD-CDM spreading factor Np, and having a second dimension equal to a number of receive antenna ports NR, and wherein the base pilot signal (1009) is a vector having a length equal to the number of layers Np divided by the TD-CDM spreading factor Np .
7. The channel estimator circuit (1001) of Claim 6, wherein the number of receive antenna ports NR, the number of layers Np, and the TD-CDM spreading factor Np are each configured to vary from slot to slot.
8. The channel estimator circuit (1001) of any preceding claim, wherein the channel estimator circuit (1001) further comprises:a channel matrix estimates interpolation buffer (1013) operably coupled to an output of the frequency-domain processing circuit (1004) and configured to receive and buffer the second set of one or more TD-CDM spread channel estimate signals (1008); andan error estimates interpolation buffer (1017) operably coupled to an output of the error estimator circuit (1014) and configured to buffer the one or more error estimate signals (1012); andan error estimate TD processing circuit (816) operably coupled to an output of the error estimates interpolation buffer (1017) and configured to process one or more buffered error estimate signals (1012) from the error estimates interpolation buffer (1017).
9. The channel estimator circuit (1001) of Claim 8, further comprising a TD-CDM de-spreading circuit (1003) operably coupled to an output of the channel matrix estimates interpolation buffer (1013) and configured to de-spread a buffered second set of one or more TD-CDM spread channel estimate signals (1008) from the channel matrix estimates interpolation buffer (1013) and output TD-CDM de-spread channel estimate signals (1015).
10. The channel estimator circuit (1001) of Claim 9, wherein the TD-CDM de-spreading circuit (1003) is configured to perform a de-spread operation on the buffered second set of one or more TD-CDM spread channel estimate signals (1008) that uses a Walsh-Hadamard code with a length of two.
11. The channel estimator circuit (1001) of Claim 8, wherein the error estimate TD processing circuit (816) comprises at least one of the following:a time-domain interpolation circuit (817) configured to perform time-domain interpolation on the one or more error estimate signals (1012);a time-domain filtering circuit (820) configured to perform a time-domain smoothing operation on the one or more error estimate signals (1012);a noise power matrix generation circuit (822) configured to use the one or more error estimate signals (1012) and generate noise power matrices.24 01 2512. The channel estimator circuit (1001) of any preceding Claim, wherein the frequency-domain processing circuit (1004) comprises a frequency-domain de-noising circuit (1005) that is configured to: receive an input signal that is representative of the first set of one or more TD-CDM spread channel estimate signals (1007), remove noise from the input signal, and provide a de-noised output signal as the second set of one or more TD-CDM spread channel estimate signals (1008).
13. The channel estimator circuit (1001) of Claim 12, further comprising a frequency-domain de-noising circuit (1005) configured to use one of: a linear de-noising algorithm or a pseudo-linear de-noising algorithm.
14. The channel estimator circuit (1001) of any preceding claim, wherein the frequency-domain processing circuit (1004) comprises a frequency-domain interpolation circuit (1006) that is configured to:receive and perform frequency domain interpolation on the first set of one or more TD-CDM spread channel estimate signals (1007), andoutput the second set of one or more TD-CDM spread channel estimate signals (1008).
15. A method for channel estimation performed by a channel estimator circuit (1001), the method comprising:receiving in one slot a multiplexed representation of one or more time-domain code division multiplexed, TD-CDM, spread received signals (1002);processing, a pre-estimation signal (1018), by an initial estimator circuit (509), formed from the multiplexed representation of one or more TD-CDM spread received signals (1002), and using a base pilot signal (1009) provided by a base pilot signal generator circuit (502) as a reference signal;outputting an initial estimate signal (1016) by the initial estimator circuit (509);receiving and processing, by a frequency-domain processing circuit (1004), a first set of one or more TD-CDM spread channel estimate signals (1007), representative of the initial estimate signal (1016), and outputting a second set of one or more TD-CDM spread channel estimate signals (1008);receiving at a first input of an error estimator circuit (1014) and processing a first set of one or more error estimation reference signals (1019), representative of the base pilot signal (1009) from the base pilot signal generator circuit (502); andreceiving at a second input of the error estimator circuit (1014) and processing a second set of error estimation reference signals (1020) representative of the second set of one or more TD-CDM spread channel estimate signals (1008); andreceiving at a third input of the error estimator circuit (1014) and processing the multiplexed representation of the one or more TD-CDM spread received signals (1002);performing, by the error estimator circuit (1014), at least one of:noise variance estimation on the multiplexed representation of the one or more TD-CDM spread received signal (1002) using the first set of one or more error estimation reference signals (1019) and the second set of error estimation reference signals (1020) by a noise variance estimation circuit (1010),covariance matrix estimation on the multiplexed representation of the one or more TD-CDM spread received signals (1002) using the first set of one or more error estimation reference signals(1019) and the second set of error estimation reference signals (1020) by a covariance matrix estimation circuit (1011); andoutputting one or more error estimate signals (1012) in response to signals received at each of the first input and second input and third input of the error estimator circuit (1014).24 01 25