Transmission precoding in a communication network
Patent Information
- Authority / Receiving Office
- EP · EP
- Patent Type
- Applications
- Current Assignee / Owner
- TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
- Filing Date
- 2024-08-23
- Publication Date
- 2026-07-01
AI Technical Summary
Existing MIMO communication systems face challenges in efficiently precoding transmissions in non-uniform antenna arrays and near-field communication scenarios, leading to sub-optimal performance due to assumptions based on uniform arrays and far-field conditions.
An enhanced codebook design is proposed, which modifies DFT-based SD basis vectors with perturbation components to account for non-uniform arrays and near-field effects, while minimizing changes to existing standardization and hardware implementations.
The enhanced codebook design improves communication efficiency in near-field and non-uniform array scenarios, achieving higher data rates and reliability with minimal overhead and standardization effort.
Smart Images

Figure EP2024073679_06032025_PF_FP_ABST
Abstract
Description
[0001]TRANSMISSION PRECODING IN A COMMUNICATION NETWORK TECHNICAL FIELD The present application relates generally to a communication network, and relates more particularly to transmission precoding in such a network. BACKGROUND Multi-antenna techniques can significantly increase the data rates and reliability of a wireless communication system. The performance is particularly improved if both the transmitter and the receiver are equipped with multiple antennas, which results in a multiple-input multiple- output (MIMO) communication channel. Such systems and / or related techniques are commonly referred to as MIMO. A core component of the fifth Generation (5G) wireless network or New Radio (NR) is the support of MIMO antenna deployments and MIMO related techniques such as spatial multiplexing. Spatial multiplexing can be used to increase data rates in favorable channel conditions. Figure 1 shows an example of spatial multiplexing. An information carrying symbol vector ^^ is multiplied by an ^^்ൈ ^^ precoding matrix or precoder ^^, which serves to distribute the transmit energy in a subspace of the ^^்dimensional vector space. The precoding matrix is typically selected from a codebook of possible precoding matrices, and typically indicated by means of a precoding matrix indicator (PMI), which specifies a unique precoding matrix in the codebook for a given number of symbol streams. The ^^ symbols in ^^ each correspond to a MIMO layer and ^^ is referred to as the transmission rank, which equals to the number of columns of the precoder ^^. In this way, spatial multiplexing is achieved since multiple symbols can be transmitted simultaneously over the same time / frequency resource element (RE). The number of symbols ^^ is typically adapted to suit the current channel properties. NR uses Orthogonal Division Multiplexing (OFDM) in the downlink (DL). The received ^^ோൈ 1 vector ^^^at a user equipment (UE) on a certain RE can be expressed as: ^^^ൌ ^^^^^ ^^^^ ^^^where ^^^is a receiver noise / interference vector. The precoder ^^ can be constant over frequency (i.e., wideband), or frequency selective (i.e., per subband). The precoder ^^ is chosen to match the characteristics of the ^^ோൈ ^^்MIMO channel matrix ^^^, resulting in so-called channel dependent precoding. This is also commonly referred to as closed-loop precoding. In closed-loop precoding, the UE feeds back recommendations on a suitable precoder to the gNB in the form of a PMI based on downlink channel measurements. For that purpose, the UE is configured with a channel state information (CSI) report configuration including CSI reference signals (CSI-RS) for channel measurements and a codebook of candidate precoders. In addition to precoders, the feedback may also include a rank indicator (RI) and one or two channel quality indicators (CQIs). RI, PMI, and CQI are part of a CSI feedback. In NR, CSI feedback can be either wideband, where one CSI is reported for the entire channel bandwidth, or frequency-selective, where one CSI is reported for each subband, which is defined as a number of contiguous physical resource blocks (PRBs) ranging between 4-32 PRBs depending on the band width part (BWP) size. Given the CSI feedback from the UE, the gNB determines the transmission parameters it wishes to use to transmit to the UE, including the precoding matrix, transmission rank, and modulation and coding scheme (MCS). 2D Antenna arrays Two-dimensional antenna arrays are widely used, and such antenna arrays can be described by a number of antenna ports, ^^^, in a first dimension (e.g., the horizontal dimension), a number of antenna ports, ^^ଶ, in the second dimension perpendicular to the first dimension (e.g., the vertical dimension), and a number of polarizations ^^^. The total number of antenna ports is thus ^^ ൌ ^^^^^ଶ^^^. The concept of an antenna port is non-limiting in the sense that it can refer to any virtualization (e.g., linear mapping) to the physical antenna elements. For example, pairs of physical antenna elements could be fed the same signal, and hence share the same virtualized antenna port. An example of a 4x4 (i.e., ^^^ൈ ^^ଶ,) array with dual-polarized antenna elements (i.e., ^^^ൌ 2) is illustrated in Figure 2, with ^^^ൌ 4 horizontal antenna elements and ^^ଶൌ 4 vertical antenna elements. Precoding may be interpreted as multiplying the signal to be transmitted a set of beamforming weights on the antenna ports prior to transmission. A typical approach is to tailor the precoder to the antenna form factor, i.e., taking into account ^^^, ^^ଶand ^^^when designing the precoder codebook. Channel State Information Reference Signals (CSI-RS) For CSI measurement and feedback, CSI-RS are defined. A CSI-RS is transmitted on an antenna port at the gNB and is used by a UE to measure downlink channel between the antenna port and each of the UE’s receive antenna ports. The transmit antenna ports are also referred to as CSI-RS ports. The supported number of CSI-RS ports in NR are {1,2,4,8,12,16,24,32}. By measuring the received CSI-RS, a UE can estimate the channel that the CSI-RS is traversing, including the radio propagation channel and antenna gains. The CSI- RS for the above purpose is also referred to as Non-Zero Power (NZP) CSI-RS. CSI-RS can be configured to be transmitted in certain REs in a slot and certain slots. Figure 3 shows an example of CSI-RS REs for 12 antenna ports, where 1RE per resource block (RB) per port is shown. DFT-based precoders One type of precoding is to use a Discrete Fourier Transform (DFT) precoder (DFT- precoder), where the precoder vector used to precode a single-layer transmission using a single-polarized uniform linear array (ULA) with ^^ antennas is defined as: ^ଶగ⋅ ^é^^ ^⋅ைே ùú ú,where ^^ ൌ 0,1, … ^^ ^^ oversampling factor. As seen, the phase difference between two consecutive elements of the same column of the precoder is constant. The phase slope of the DFT-precoder is thereby linear. ^^^is also referred to as a one-dimension (1-D) DFT beam with beam index ^^. If ULA is along the horizontal dimension, each DFT beam points to an azimuth direction. If ULA is along the vertical dimension, each DFT beam points to an elevation direction. Each precoder corresponds to a DFT beam or beamforming direction. A corresponding precoder vector for a two-dimensional uniform planar array (UPA) with ^^^antenna ports in one dimension and ^^ଶantenna ports in another dimension can be created by taking the Kronecker product of two precoder vectors as ^^ଶ^^ ^^, ^^^ ൌ ^^^,^ൌ ^^^,^^ ^^^,ଶ, ^ଶగ⋅ೖ ^ଶగ⋅^⋅^ é ^^^⋅ ೀభಿభùé ^^ೀమಿమùú ú ú are factors in the two dimensions associated with ^^^and ^^ଶ, respectively. ^^^,^is also referred to a two dimension (2-D) DFT beam characterized by two beam indices ^ ^^, ^^^, one in each dimension. Each precoder corresponds to a 2D DFT beam. Extending the DFT precoder for a dual-polarized UPA may then be done as ^^ଶ^,^^^ ^^, ^^, ^^^ ൌ ^ 1^^^థ^ ^ ^^ଶ^^ ^^, ^^^ ൌ ^ ^^ଶ^^ ^^, ^^^^^^థ ^^^൨ ൌ ^^^ଶ^^ ^^, ^^^ ^^^^ ^^^൨ ^1^^^థ^,where ^^^థis a co-phasing Phase Shift Keying (PSK) such as Quadrature PSK (QPSK) with ^^ ∈ ^0,గ ଷగଶ , ^^,ଶ^. A precoder matrix ^^ଶ^,^^for multi- be created by appending columns of DFT precoder vectors as ^^ଶ^,^^ ൌ ^ ^^ଶ^,^^^^^^, ^^^, ^^^^^^ଶ^,^^^^^ଶ, ^^ଶ, ^^ଶ^⋯ ^^ଶ^,^^^^^^ , ^^^ , ^^^^^, instance in NR Type I CSI feedback, where each layer is associated with a 2D DFT beam. The same DFT-based precoders are used for Type II CSI feedback, but Type II can support 2, 4 or 6 beams for each layer. NR rel-15 Type II codebook In NR Rel-15, precoders are enhanced based on a type II codebook, in which a precoder is a combination of multiple DFT beams. For each precoder, the UE feeds back the corresponding selected multiple DFT beams and the combination coefficients. A precoder may be reported for each layer and each subband. A common set of DFT beams is selected for all subbands and all layers. The number of DFT beams to be selected is Radio Resource Control (RRC) configured. For a given 2D cross-polarized antenna array with ^^^antenna ports in one dimension and ^^ଶantenna ports in another dimension at each polarization, the NR Rel-15 type II codebook-based precoding vector for each layer ^^ ∈ ^1,2^ can be expressed as ^^^^ൌ ^^^^^ଶ,^where ^^ ^^^ ^^^, ^^^ ^^^ , … , ^^ ^ ^ ^^ష ^^^ ^ ^^ష ^^^ ^^^^ ൌ^^ ^^ ^ ^^ , ^^ ^^^^^൩, ∈ ^0,1, … , ^^ ^ ^^ െ 1^^^^^^ and ^^ଶ∈ ^0,1, … , ^^ଶ^ ^^ଶെ 1^^ are the in dimension for the ith beam. ^^ ∈ ^2,3,4^ is configured by RRC. ^^ଶ,^ൌ ^ ^^ଶ,^,^, ^^ଶ,^,^, … , ^^்ଶ,^,ଶ^ି^൧ , where ^^ଶ,^,^ൌ ^^^^^^,^^^^ଶ^^,^^^^,^is the combining coefficient associated with the ith beam, and ^^^^^ ^ଶ^^,^, ^^^,^, and ^^^,^are the wideband amplitude, subband amplitude, and phase of ^^ଶ,^,^, respectively. ^^^^is expressed in section 5.2.2.2.3 of 3GPP specification TS38.214 V17.0.0 as: ^ L ^ 1 (1^1 ^^ vm , mp ) (2) l, ipl , i^l , i^^∈ The Rel-15 type II codebook is enhanced in NR Rel-16 in which instead of reporting separate precoders for different subbands, the precoders for all subbands are reported together by using a so-called frequency domain (FD) basis. It takes advantage of frequency domain channel correlations by representing the precoder changes in frequency domain with a set of frequency domain DFT basis vectors (which will be simply referred to as frequency domain basis vectors). Due to channel correlation in frequency, only a few DFT basis vectors may be used to represent the precoder changes over all the subbands. By doing so, the feedback overhead can be reduced or performance can be improved for the same feedback overhead. For a given CSI-RS resource with ^^^CSI-RS antenna ports in one dimension and ^^ଶCSI-RS antenna ports in another dimension, and with two polarizations, the Rel-16 type II codedbook based precoding vectors for each layer ^^ ( ^^ ൌ 1, … , ^^^ and across all subbands can be expressed as: ^^^^^ ^ே^^ ൌ ^ ^^ ^^ … ^^యି^^^^ ^ ൌ ^^^ ^^^ଶ,^ ^^^ு,^ , ^^^ ^^^^^is a ^^^ௌூିோௌൈ 1 precoding vector at a PMI subband with subband index ^^ ∈ ^0,1,ଷെ 1^ for layer ^^, where ^^^^ ^^ ^^ିோௌൌ ^^ ^^^^^^^^is the number of CSI-RS ports in a configured NZP CSI-RS resource; ^^ଷൌ ^^ௌ^ൈ ^^ is the number of subbands for PMI, where ^^^^ ^^is the number of CQI subbands and ^^ ∈ ^1,2^ is a scaling factor, both ^^^^ ^^and ^^ are RRC configured. ^^^^is the same as in Rel-15 type II codebook and contains a set of selected beams or SD basis vector. ^^^^^ ^^^ ^ெ^,୪ൌ ^ ^^ೡି^^^ , ^^^, … , ^^^^ is a size ^^ଷൈ ^^௩frequency domain (FD) basis vectors an^^^ d ^^^^ ^^^^^ ^^^ ^^^ ^^ ^^^ ^^^ ^^^,^, ^^^,^, … , ^^ேయି^,^^ and ^^௧,^ൌ ^^ି^ଶగ௧^య,^ / ேయ, ^^ ൌ 0,1, … , ^^ଷെ 1, ^^^ଷ,^∈ ௩ ௩ ோdepends on the rank ^^ and the RRC configured parameter ^^௩. Supported values of ^^௩can be found in Table 1 below. For ^^ଷ^ 19, a one-step free selection is used. For each layer, the selected FD basis vectors are indicated with a ^log^^ଷ െ 1ଶ൬ ^^௩ െ 1^^bit combinatorial indicator. In TS 38.214 V17.0.0, the combinatorial indicator is given by the index ^^^,^,^, which is reported by UE to the gNB. For ^^ଷ^ 19, a two-step selection with layer-common intermediary subset (IntS) is used. In the first step, a window-based layer-common IntS selection is used, which is parameterized by ^^^^^௧^^^. The IntS consists of FD basis vectors ^ mod^ ^^^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^, ^^ଷ^, ^^ ൌ 0, 1, … , 2 In TS 38.214 v17.0.0, the selected IntS UE to gNB via the parameter ^^^,ହ, which is reported per layer as part of the PMI reported. In the second step, the selected FD basis vectors are indicated with an ^logଶ ൬2M^ െ 1^^ ^^-bit combinatorial indicator for each layer. In TS 38.214 v17.0.0, the is given by the index ^^^,^,^, which is reported by UE to the gNB. ^^^ଶ,୪ ൌ ^ ^^^^,^,^ , ^^ ൌ 0,1, … ,2 ^^ െ 1, ^^ ൌ 0,1, … , ^^௩ െ 1^ is a size2^^ For l ே^ ayer ^^, only a subset of ^^^ ^ ^^^ coefficients are non-and reported by the UE. The remaining 2 ^^ ^^௩െ ^^^ே^non-reported coefficients are considered zero. ^^^ ൌ⌈^^ ൈ 2 ^^ ^^^⌉is the maximum number of non-zero coefficients per layer, where^^ is a RRC configured parameter. Supported ^^ values are shown in Table 1. For ^^ ∈ ^2, 3, 4^, the total number of non-zero coefficients summed across all layers, ^^௧ே^^௧ ൌ ∑௩^ୀ^^^^ே^, shall satisfy ^^௧ே^^௧ ^ 2 ^^^. Selected coefficient subset for each layer is indicated with ^^^^^ ^^1s in a size 2 ^^ ^^௩bitmap, ^^^,^,^. The strongest coefficient of layer ^^ (whose amplitude and phase are not reported) is identified by ^^^,଼,^,∈{0,1,…,2 ^^−1} . The amplitude coefficients in ^^ଶ,^are indicated by ^^ଶ,ଷ,^and ^^ଶ,ସ,^, and the phase coefficients in ^^ଶ,^are indicated by ^^ଶ,ହ,^. The above is described in TS38.214 v17.0.0, section 5.2.2.2.5, where ^^^ ^^^^^is expressed as follows ^^^^,^ ,^ ,^ ,^ , ^భ^ ^మ^భ మ భ మ య,^^^ ,^^ ,^మ,ఱ,^,௧ where ^ ^^, ^^, ^^^^^ ^ଶ^^ଶ ^, ^^ଶ, ^^ଷ,^, ^^^, ^^^, ^^ଶ,ହ,^^ are quantities reported by a UE and { ^^^, ^^ଶ^ are reported via the parameter ^^^,^while { ^^^, ^^ଶ^ are reported via the parameter ^^^,ଶ. ^^ଷ,^ ൌ ^ ^^^^^ଷ,^, … , ^^^ெഔି^^ ^^^ଷ,^ ^, ^^ଷ,^ ∈^0,1, … , ^^ଷ െ 1^, are the indices of the ^^జ FDbasis ^^^^^ൌ ^ ^^^^^ ^^^^,^^^^,^൧ wideband amplitudes of the coefficients ^ ^^^ ^ at two polarizations, and ^^^ଶ^is the subband^ଶ^^,^,^amplitude of the coefficient ^^^^,^,^, where ^^^,^,^is partof ^^^ଶ^ ൌ^^^^ଶ^ … ^^^ଶ^^, ^^^ଶ^ ൌ^^^^ଶ^ ^ଶ^^^,^ ^,ெഔି^ ^,^ ^,^,^… ^^^,ଶ^ି^,^ ^, ൌభల, where ^^^,^,^ ∈^0, … ,15^is partof ^^ଶ,ହ,^ൌ ^ ^^^,^… ^^^,ெഔି^൧, ^^^,^ൌ ^ ^^^,^,^… ^^^,ଶ^ି^,^൧ Table 1: Codebook parameter configurations for ^^, ^^ and ^^^^for Rel-16 enhanced type II codebook ^^జparamCombination-r16 ^^^^ ∈ ^1,2^ ^^ ∈ ^3,4^^^1 2 ¼ 1 / 8 ¼ 2 2 ¼ 1 / 8 ½ 3 4 ¼ 1 / 8 ¼ 4 4 ¼ 1 / 8 ½ 5 4 ¼ ¼ ¾ 6 4 ½ ¼ ½ 7 6 ¼ - ½ 8 6 ¼ - ¾ Coherent Joint PDSCH transmission from Multiple TRPs In NR Rel-18, it has been agreed to support coherent joint downlink transmission (CJT) from multiple transmission and reception points (TRPs) by extending Rel-16 and Rel-17 enhanced type II codebook across multiple TRPs. In case of CJT, each layer of a Physical Downlink Shared Channel (PDSCH) is transmitted from multiple TRPs. An example is shown in Figure 4, where a PDSCH with two layers is transmitted from two TRPs by applying two different precoding matrices to the PDSCH at TRP1 and TRP2. The two precoders are designed such that for each layer, the signals received from the two TRPs are phase aligned at the UE and thus, are coherently combined at the UE. Extension of NR Rel-16 type II codebook to CJT has been discussed in 3GPP and two modes of codebook structures for supporting CJT have been agreed as follows: Mode 1: Per-TRP / TRP-group SD / FD basis selection which allows independent FD basis selection across N TRPs / TRP groups. Example formulation (N = number of TRPs or TRP groups):^^^,^ ^^^ଶ,^ ^^^ு,^^ Mode 2: Per-TRP / TRP SD basis selection and joint / common (across N TRPs) FD basis selection. Example formulation (N = number of TRPs or TRP groups): ^^^,^ ^^^ଶ,^ ^^^ு^^^ In the above formulations, each TRP / TRP group corresponds to one CSI-RS resource. In both mode 1 and mode 2, the precoding matrix ^^ for CJT is very similar to that in Rel-16 enhanced type II codebook. One difference is that now the spatial beams are selected from multiple TRPs instead of from a single TRP. In Mode 1, FD basis vectors are also selected in a per TRP basis, while in Mode 2 a common set of FD basis vectors is selected for all TRPs. As used herein, N is used to denote the number of selected TRPs (e.g., by the UE) for Type II CJT CSI, while ^^^^ ^^ ^^is used to denote the total number of configured TRPs (i.e., CSI- RS resources) by the network to the UE. For Type II CJT CSI reporting, the UE may select all the configured TRPs (i.e., ^^ ൌ ^^்ோ^), or subset of the selected TRPs (i.e., ^^ ^ ^^்ோ^). For ^^்ோ^configured CSI-RS resources configured as channel measurement resources for Type II CJT CSI reporting, it has been agreed in 3GPP that the number of spatial domain (SD) basis vectors to be selected for each of ^^^^ ^^ ^^configured CSI-RS resource is higher-layer configured by the gNB. Letting ^^^be the number of SD basis vectors to be selected from CSI- RS resource ^^, the number of SD basis vectors to be selected across all the CSI-RS resources is then given by ^ ^^^, … , ^^ே^ೃು^. It is agreed in 3GPP that the gNB configures a set of ^^^combinations or hypotheses of values for ^ ^^^, … , ^^ே^ೃು^, and the UE selects one of the ^^^configured combinations and reports the selected hypothesis to the gNB. MIMO communication in the near field Implementing a large number of antennas results in fundamental changes of the electromagnetic characteristics. Generally, the electromagnetic radiation field can be divided into far-field and near-field regions. Far-field refers to the propagation range at which the direction and channel gain are approximately the same from all elements in the array to the transmitting / receiving antenna. The amplitude depends only on the propagation distance to the center of the receiver and the phase variations only depend on the incident angle. Also, the mismatch between the polarization of an antenna and of the incident wave is approximately the same for all antennas in the far-field. On the other hand, if the receiver is in the near-field of the transmitter, the propagation distances are so short that there are noticeable amplitude variations over the receiver aperture. Also, the incident wave is arriving from distinctly different angular directions to different elements, thus, e.g., one must model the polarization on an element-by-element basis. Theoretically, the boundary between these two regions is determined by the Fraunhofer distance, also called the Rayleigh distance (RD), which is determined based on the maximum allowable phase error in the antenna array. Outside the Fraunhofer distance, it is the far-field region, where the electromagnetic field can be approximately modeled by planar waves. Within the Fraunhofer distance, the near-field propagation becomes dominant, where the electromagnetic field has to be accurately modeled by spherical waves. For instance, Figures 5A-5C demonstrate the Fraunhofer distance for different communication setups, with Figure 5A being for Multiple Input Single Output (MISO) or Single Input Multiple Output (SIMO), Figure 5B being for Multiple Input Multiple Output (MIMO), and Figure 5C being for communication setups with intelligent reflecting surfaces (IRSs) or network-controlled repeaters (NCRs). It is interesting to note that, as shown in Figure 5C, the probability of near-field communication increases significantly in the presence of repeaters, intelligent reflecting surfaces (IRSs) or network-controlled repeaters (NCRs), where a UE is basically in near-field as long as one of the gNB-IRS / NCR or the IRS / NCR-UE links is short. This is especially important because it has been theoretically shown that, for a proper performance of an IRS / NCR, it should be deployed either close to the gNB or the UE (i.e., the coverage hole to be covered by the IRS / NCR), where either ^^^or ^^ଶin Figure 5C is small. While NCR by 3GPP Rel-18, IRS may be specified in 3GPP Rel-19. Here, the objectives are model enhancement and precoding enhancement. In this way, along with 6G aspects, the proposed scheme will be of interest in both cases whether very large antenna arrays are studied in the Rel-19 MIMO or IRS is included into the Rel-19 discussions. Comparing planar wavefront with spherical wavefront in MIMO communications To facilitate the comparison, a simple example is shown in Figure 6, where a network (NW) node with 4 uniformly spaced antenna elements serves a single-antenna UE. A planar wavefront assumes that signals transmitted from the 4 Tx antennas arrive at the UE in parallel paths. This is an accurate approximation if the UE is in far-field of the NW node, where the curvature of the wavefront becomes negligible compared to the distance between the NW node and the UE. With a planar wavefront approximation, the signal traverses a distance of ^^^ᇱfrom the ^^th Tx antenna at the NW node to the UE antenna, for ^^ ൌ 1, 2, 3, 4, where the difference in distance for adjacent paths are the same, i.e., ^^^ᇱെ ^^^ᇱି^is a constant. As a result, a same phase change is introduced for channels Tx antennas to the UE. Hence, a codebook with DFT-based spatial domain (SD) basis vector, which has linear phase slope, is optimal. Spherical wavefront, on the other hand, assumes the signals transmitted from the 4 Tx antennas propagate equally in all directions, which models a true propagation environment if the transmission medium is uniform and if the signal is transmitted from a point source. In this case, the wavefront becomes spherical (from each Tx antenna’s view) and the actual distance for each NW node -UE antenna pair determines how much phase change has happened. Denote ^^^as the distance between the ^^th NW node antenna and the UE antenna, then ^^^െ ^^^ି^is no longer constant. Hence, a difference phase change is introduced for channels from different Tx antennas to the UE. Then, using a codebook with DFT-based SD basis vector is sub- optimal. Non-uniform antenna array In existing networks, uniform antenna arrays are usually deployed. Accordingly, the codebook design in 3GPP specifications is aimed for uniform arrays, such as a uniform linear array (ULA) and a uniform planar array (UPA). In 6G and beyond, more flexible array structure might be deployed by the NW, such as a circular array, which can be installed around a light post, or radio stripes / weaves, which can be mounted on non-regular shaped surfaces. When a non-uniform array is deployed, the legacy codebook with DFT-based SD basis vectors becomes sub-optimal, even if the UE is in the far-field of the serving NW node. Figure 7 further explains this with an example where the NW node is equipped with 4 antennas uniformly spaced on a circle / an arc. The distance between the ^^th NW antenna and the UE (assuming planar wavefront) is denoted as ^^^, for ^^ ൌ 1, 2, 3, 4. Despite being in the far-field where the 4 paths are parallel, the traversed distance is still not uniformly separately, i.e., ^^^െ ^^^ି^is not constant. Hence, a difference phase change is introduced for channels from different Tx antennas to the UE. In this case, using a codebook with DFT-based SD basis vector is sub- optimal. The legacy codebooks with DFT-based SD basis vectors (e.g., Type I and Type II codebooks in NR 5G) are designed assuming far-field MIMO communication and uniformly spaced array (e.g., ULA or UPA). However, such underlying conditions may not hold in the 6G era and beyond. For example, with increased dimension of antenna array and / or introduction / deployment of IRS, the RD may increase significantly, hence UEs will have higher probability of being served in the near-field of a NW node. In addition, more flexible array structures might be deployed, such as circular array, spherical array, radio stripe, etc. Using legacy codebooks for the above scenarios may introduce performance loss. Problematically, though, completely re-designing a codebook to account for these effects would introduce large standardization effort and would also make it difficult to reuse existing implementations for both UE and NW. There is accordingly a need for an enhanced codebook design, addressing the non-uniform array geometry, spherical wave characteristics, or any factor causing a sub-optimal linear phase front over antenna ports, while minimizing the impact on the existing standardization. SUMMARY Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges. Some embodiments herein provide an enhanced codebook, e.g., for non-uniform arrays and / or near-field communications, based on the legacy codebook with Discrete Fourier Transform (DFT)- based Spatial Domain (SD) basis vectors. In one embodiment, for example, perturbation component(s) are introduced to modify the DFT-based SD basis vectors, so that the resultant SD basis vectors fit the channel property with non-uniform array and / or near-field effect. Take the Rel-16 eType II codebook as an example. An enhanced codebook can be obtained, for example, by adding ^^ perturbation components, each for one selected DFT-based SD basis vector (assuming the same perturbation is used for both polarizations). Denote the perturbation component as ^^^,^∈ ℂேభேమൈ^, for the selected beam ^^, for ^^ ൌ 0, … , ^^ െ 1. Then, the resultant SD-basis vector for the ^^th selected beam becomes ^^^ ^^^ ^^^, ^ ^^^^^ ^^ ^^ ൌ^^^,^ ^^^^^^ ^^^ ^ ^^^ , where ^ denotes the element-wise product. Finally, the total resultant SD ^^ , ^^ ^^ ^^^^^^ ^^^ ^ ^^^, … , ^^^^ ^^ష ^^^ ^ ^^ష ^^^^^ ^^^ ^^ , ^^ ^^ ^^ ^^ , ^^ ^^^ ൌ ^൩and the Some embodiments herein also provide a way for codebook. Some embodiments for example provide various methods for configuring the codebook. On a high level, the configuration can be done based on legacy codebook configurations, or it can be configured as a new codebook that supplements the legacy codebook. The codebook parameters can either be implicitly configured (with dependency on legacy codebook parameters), or be explicitly configured. Certain embodiments may provide one or more of the following technical advantage(s). The codebook design proposed in some embodiments can advantageously be used when a user equipment (UE) is in the near-field of the serving network (NW) node and / or when the NW node deploys non-uniform antenna array structure. In some embodiments, the proposed codebook design is built based on legacy 5G New Radio (NR) codebooks, making it possible to reuse hardware designs for both UE and gNB. In addition, the proposed codebook design in some embodiments requires limited 3GPP specification effort and minimal changes to the existing 3GPP specifications. In this way, some embodiments enable efficient communication in near-field and / or in the cases with non-uniform arrays structures, e.g., for use in Rel-19 MIMO, IRS, and / or 6G+. Some embodiments provide a flexible way for configuring the enhanced codebook, such as codebook parameter, fall back to legacy codebook, etc. Generally, then, embodiments herein include a method performed by a communication device. The method comprises determining, from one or more codebooks, a precoder for precoding a transmission between the communication device and a network node. In some embodiments, the determined precoder comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, the determined precoder comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. The method also comprises receiving the transmission as precoded with the determined precoder. Other embodiments herein include a method performed by a communication device. The method comprises receiving one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors and also comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In other embodiments, each of one or more candidate precoders in the codebook comprises an adjusting component that adjusts a phase and / or an amplitude of each element in at least one of one or more DFT precoding vectors in another codebook. Other embodiments herein include a method performed by a network node. The method comprises determining, from one or more codebooks, a precoder for precoding a transmission between a communication device and the network node. In some embodiments, the determined precoder comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, the determined precoder comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. The method also comprises transmitting the transmission as precoded with the determined precoder. Other embodiments herein include a method performed by a network node. The method comprises transmitting, to a communication device, one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors and also comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In other embodiments, each of one or more candidate precoders in the codebook comprises an adjusting component that adjusts a phase and / or an amplitude of each element in at least one of one or more DFT precoding vectors in another codebook. Other embodiments herein include a method performed by a communication device. The method comprises determining, from one or more codebooks, a precoder for precoding a transmission between the communication device and a network node. In some embodiments, the determined precoder comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, the determined precoder comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. The method also comprises transmitting or receiving the transmission as precoded with the determined precoder. Other embodiments herein include a method performed by a communication device. The method comprises receiving one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, each of one or more candidate precoders in the codebook comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. Other embodiments herein include a method performed by a communication device. The method comprises transmitting capability signaling indicating whether the communication device supports a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, each of one or more candidate precoders in the codebook comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. Other embodiments herein include a method performed by a communication device. The method comprises receiving one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook. Other embodiments herein include a method performed by a communication device. The method comprises transmitting capability signaling indicating whether the communication device supports a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook. Other embodiments herein include a method performed by a network node. The method comprises determining, from one or more codebooks, a precoder for precoding a transmission between a communication device and the network node. In some embodiments, the determined precoder comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, the determined precoder comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. The method also comprises transmitting or receiving the transmission as precoded with the determined precoder. Other embodiments herein include a method performed by a network node. The method comprises transmitting, to a communication device, one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, each of one or more candidate precoders in the codebook comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. Other embodiments herein include a method performed by a network node. The method comprises receiving capability signaling indicating whether a communication device supports a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, each of one or more candidate precoders in the codebook comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. Other embodiments herein include a method performed by a network node. The method comprises transmitting, to a communication device, one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook. Other embodiments herein include a method performed by a network node. The method comprises receiving capability signaling indicating whether a communication device supports a codebook of candidate precoders for precoding a transmission to or from the communication device. In some embodiments, each of one or more candidate precoders in the codebook comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook. Embodiments herein also include corresponding apparatus, computer programs, and carriers of those computer programs. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of of spatial multiplexing according to certain embodiments. Figure 2 is a block diagram of a 4x4 array with dual-polarized antenna elements according to certain embodiments. Figure 3 is a block diagram of CSI-RS REs for 12 antenna ports according to certain embodiments. Figure 4 is a block diagram of transmission of each layer of a Physical Downlink Shared Channel (PDSCH) from multiple TRPs according to certain embodiments. Figures 5A-5C are block diagrams oft he Fraunhofer distance for different communication setups according to certain embodiments. Figure 6 is a block diagram of a network (NW) node with 4 uniformly spaced antenna elements serves a single-antenna UE according to certain embodiments. Figure 7 is a block diagram of a NW node equipped with 4 antennas uniformly spaced on a circle / an arc. Figure 8 is a block diagram of a communication network configured to provide communication service to a communication device according to certain embodiments. Figures 9A-9B are block diagrams of a multi-component codebook according to different embodiments. Figure 10 is a graph illustrating phase difference between near-field and far-field assumption for a MIMO system according to certain embodiments. Figure 11 is a block diagram of an example 1D circular array (or a curved array) deployed at a NW node according to certain embodiments. Figure 12 is a graph showing the performance of a proposed codebook in the near-field according to certain embodiments. Figure 13 is a logic flow diagram of a method performed by a communication device in accordance with particular embodiments. Figure 14 is a logic flow diagram of a method performed by a network node in accordance with particular embodiments. Figure 15 is a logic flow diagram of a method performed by a communication device in accordance with other particular embodiments. Figure 16 is a logic flow diagram of a method performed by a network node in accordance with other particular embodiments. Figure 17 is a logic flow diagram of a method performed by a network node in accordance with other particular embodiments. Figure 18 is a block diagram of a communication device according to some embodiments. Figure 19 is a block diagram of a network node according to some embodiments. Figure 20 is a block diagram of a communication system in accordance with some embodiments. Figure 21 is a block diagram of a user equipment according to some embodiments. Figure 22 is a block diagram of a network node according to some embodiments. Figure 23 is a block diagram of a host according to some embodiments. Figure 24 is a block diagram of a virtualization environment according to some embodiments. Figure 25 is a block diagram of a host communicating via a network node with a UE over a partially wireless connection in accordance with some embodiments. DETAILED DESCRIPTION Figure 8 shows a communication network 10 configured to provide communication service to a communication device 12, e.g., a user equipment (UE). The communication network 10 in this regard includes a network node 14 that serves the communication device 12, e.g., in the form of a radio network node that provides radio access to the communication network 10. The communication network 10 in some embodiments is a 5G or 6G network, e.g., whereby the network node 14 may be a gNB. In the example of Figure 8, the network node 14 performs a transmission 16 to the communication device 12 via an antenna array 17. The network node 14 in doing so precodes the transmission 16 by applying a precoder 18 (e.g., a precoding matrix) to the transmission 16. Application of such a precoder 18 may for instance independently control the phase and / or amplitude of signal(s) for the transmission 16 that are fed to antenna element(s) of the antenna array 17. In some embodiments, the communication device 12 assists the network node 14 with determining which precoder to apply to the transmission 16. The communication device 12 as shown in this regard may transmit a channel state information (CSI) report 20 to the network node 14 recommending a precoder to the network node 14, for use in applying to the transmission 16. The CSI report 20 may for example include a precoding matrix indicator or index 22 mapped to the precoder that the communication device 12 recommends. Although the CSI report 20 in Figure 8 is shown as recommending the same precoder 18 that the network node 14 applies to the transmission 16, the network node 14 in some embodiments may merely take the communication device’s recommendation into account, e.g., along with one or more other competing factors, so as to have the freedom to determine to use a different precoder than the one recommended by the communication device 12. Regardless, precoding according to embodiments herein is codebook-based, in the sense that the precoder 18 applied to the transmission 16 is limited to those determinable from one or more codebooks 24. The one or more codebooks 24 in this regard dictate that a limited set of candidate precoders are allowed to be applied to the transmission 16. In this context, the precoding according to some embodiments herein advantageously accounts for the antenna array 17 via which the transmission 16 is made having non-uniformly spaced antenna elements. As shown, for example, the antenna array 17 may have non-uniformly-spaced antenna elements if the antenna array 17 is a circular array, e.g., installed around a light post, or has radio stripes or weaves, e.g., mountable on non-regular shaped surfaces. Alternatively or additionally, the precoding according to some embodiments advantageously accounts for the transmission 16 being received in a near field 26N of the antenna array 17, as contrasted with the far field 26F of the antenna array 17. Towards this end, the transmission 16 according to some embodiments herein is precoded with a precoder 18 that comprises a DFT-based component 18-1 (also referred to as a first component 18-1) and an adjusting component 18-2 (also referred to as a second component 18-2). The DFT-based component is formed from one or more Discrete Fourier Transform (DFT) precoding vectors, e.g., DFT-based spatial domain (SD) basis vector(s). The adjusting component 18-2 adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. The adjusting component 18-2 may for example comprise one or more perturbation components that adjust a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments where the DFT precoding vector(s) that form the DFT-based component 18-1 each have a phase slope that is linear, the adjusting component 18-2 may adjust the phase slope of at least one of the DFT precoding vector(s) to be non-linear. The adjusting component 18-2 may for instance comprise one or more perturbation components that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non- linear. In another sense, the one or more DFT precoding vectors that form the DFT-based component 18-1 may correspond to one or more beams. The adjusting component 18-2 may adjusts a shape of the one or more beams according to a channel measurement by the communication device 12. Regardless, the adjusting component 18-2 may advantageously accommodate for and / or account for the antenna array’s non-uniformly spaced antenna elements and / or near- field. In embodiments where the antenna array 17 has non-uniformly spaced antenna elements, for example, the DFT-based component 18-1 is based on an assumption that the antenna array 17 has uniformly spaced antenna elements, whereas the adjusting component 18-2 accounts for and / or is based on the antenna array 17 having non-uniformly spaced antenna elements. Alternatively or additionally, in embodiments where the transmission 16 is received in the near field 26N of the antenna array 17, the DFT-based component 18-1 is based on an assumption that the transmission 16 is received in the far-field of the antenna array 17, whereas the adjusting component 18-2 accounts for and / or is based on the transmission 16 being received in a near-field of the antenna array 17. Notably, the DFT-based nature of the DFT-based component 18-1 may advantageously accommodate existing approaches to representing and / or signaling the DFT-based component 18-1, e.g., within CSI report 20, so as to preserve and enable re-use of such existing approaches. The DFT-based component 18-1 alone however cannot account for non-uniformity in antenna element spacing and / or for near-field reception. The adjusting component 18-2 nonetheless effectively adjusts the DFT-based component 18-1 as needed to account for this. Accordingly, by exploiting the DFT-based component 18-1 in combination with the adjusting component 18-2, some embodiments herein preserve and enable re-use of existing approaches while also accounting for non-uniformity in antenna element spacing and / or for near-field reception. Note, though, that the non-uniformity in antenna element spacing and / or effect of near- field reception may be represented in the communication device’s channel measurement(s). This means that the communication device 12 need not be informed of the antenna array’s antenna element spacing and / or near-field effect. Rather, in some embodiments, the communication device 12 performs one or more measurements of a channel between the communication device 12 and the network node 14, and determines the DFT-based component 18-1 to include one or more DFT precoding vectors that respectively correspond to one or more directions of one or more strongest propagation paths between the communication device 12 and the network node 14 according to the one or more measurements. The one or more directions may for example be determined based on an assumption that the antenna array 17 has uniformly spaced antenna elements and / or that the transmission 16 is to be received in a far-field of the antenna array 17. In these and other embodiments, then, the one or more directions are common across all antenna elements of the antenna array 17. Accordingly, the one or more directions are determined with respect to the communication device 12 and / or network node 14 as a whole, not with respect to any individual antenna element of the antenna array 17. By contrast, the communication device 12 may determine the adjusting component 18-2 to respectively correspond to one or more directions of one or more strongest propagation paths with respect to individual antenna elements of the antenna array 17 according to the one or more measurements. In any event, the communication device 12 may determine the precoder 18 to apply to the transmission 16 from any number of codebooks 24. In one embodiment shown in Figure 9A, the communication device 12 determines the precoder 18 from a single codebook 24S. In this case, the single codebook 24S reflects both the DFT-based component 18-1 and the adjusting component 18-2, such that the single codebook 24S is referred to as a multi-component codebook 24S. The multi-component codebook 24S in this case as shown includes one or more candidate precoders 24S-1…24S-N that each comprises a respective DFT-based component 18-1 formed from one or more DFT precoding vectors and a respective adjusting component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of those one or more DFT precoding vectors. Note, though, that at least one of the candidate precoders in the multi-component codebook 24S may have an adjusting component 18-2 that applies a null or zero adjustment to the DFT-based component so as that the candidate precoder is a legacy fallback. Figure 9B by contrast shows other embodiments where the communication device 12 determines the precoder 18 from multiple codebooks 24, including a DFT-based codebook 24D and an adjusting codebook 24A. In this case, the DFT-based codebook reflects just the DFT-based component 18-1 and the adjusting codebook 24A reflects just the adjusting component 18-2. The DFT-based codebook 24D in this case as shown includes one or more candidate precoders 24D-1…24D-N that each comprises a respective DFT-based component 18-1 formed from one or more DFT precoding vectors. And the adjusting codebook 24A includes one or more candidate precoders 24A-1…24A-N that each comprise a respective adjusting component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors in a candidate precoder 24D-1…24D-N. Note, though, that at least one of the candidate precoders 24A-1…24A-N in the adjusting codebook 24A may have an adjusting component 18-2 that applies a null or zero adjustment to the DFT- based component so as that the candidate precoder is a legacy fallback. Whichever codebooks(s) specify the adjusting component 18-2, though, different candidate precoders in the codebook(s) may represent a set of candidate adjusting components 18-2. The communication device 12 may accordingly select from the codebook(s) 24 whichever of the candidate adjusting components 18-2 most closely approximates a nominal adjusting component that the communication device’s channel measurement(s) indicates is appropriate. In doing so, then, the communication device 12 may effectively quantize the nominal adjusting component. For example, the communication device 12 may determine the nominal adjusting component 18-2 from channel measurement(s), and then determine the adjusting component 18-2 to be a quantized version of the nominal adjusting component, by approximating the nominal adjusting component as a function of one or more orthogonal basis vectors, e.g., one or more DFT-based basis vectors or one or more wavelet-based basis vectors. In these embodiments, then, the network node 14 as shown in Figure 8 may provide to the communication device 12 a configuration 26 comprising configuration parameter(s) which configure the communication device 12 how to quantize the nominal adjusting component as a function of one or more orthogonal basis vectors. The configuration parameter(s) may for example include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. Alternatively or additionally, the configuration parameter(s) may include (i) a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, where the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors; or (ii) one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors, where the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. In fact, the network node 14 may generally provide to the communication device 12 a configuration 26 comprising configuration parameter(s) which configure the adjusting component 18-2. For example, such configuration parameter(s) may include: a configuration parameter configuring a dimension of the adjusting component 18-2; a configuration parameter configuring whether the adjusting component 18-2is enabled; a configuration parameter configuring whether the adjusting component 18-2 is mandatory or optional to report as part of channel state information feedback; and / or one or more types of the one or more codebooks 24. Note that the adjusting component 18-2 herein may itself comprise one or more subcomponents in some embodiments, e.g., exemplified as perturbation component(s). For example, in embodiments where the DFT precoding vector(s) of the DFT-based component 18-1 include separate DFT precoding vectors for different dimensions of the antenna array 17 (e.g., one DFT precoding vector for a horizontal dimension and one DFT precoding vector for a vertical dimension), the adjusting component 18-2 may comprises separate subcomponents for those different dimensions. For example, where the DFT precoding vector(s) include a first dimension DFT precoding vector and a second dimension DFT precoding vector, the adjusting component 18-2 may comprise a first dimension subcomponent that adjusts a phase and / or an amplitude of each element in the first dimension DFT precoding vector and a second dimension subcomponent that adjusts a phase and / or an amplitude of each element in the second dimension DFT precoding vector. Alternatively or additionally, where at least some co-located antenna elements have orthogonal polarizations, the adjusting component 18-2 may adjust a phase of elements in the antenna array 17 that are co-located with orthogonal polarizations by the same factor. Note further that, although Figure 8 exemplifies the transmission 16 as being a downlink transmission from the network node 14 to the communication device 12, the transmission 16 may alternatively be an uplink transmission from the communication device 12 to the network node 14. In this case, then, the antenna array 17 from which the transmission 16 is performed is an antenna array 17 of the communication device 12 and the near-field 26N and far-field 26F are with respect to the antenna array 17 at the communication device 17. The network node 14 may perform measurements of uplink signal(s) from the communication device 12 in order to determine the precoder 18 that the communication device 12 is to apply to an uplink transmission. The network node 14 may accordingly transmit, to the communication device 12, signaling that indicates the determined precoder 18, whereupon the communication device 12 may apply the indicated precoder 18 to an uplink transmission. Consider now some embodiments herein as exemplified in the following context, where the codebook(s) 24 are embodied as a single multi-component codebook 24S except where otherwise indicated, and the communication device 12 is exemplified as a user equipment (UE). Codebook Design Some embodiments herein propose a codebook design based on legacy codebooks with DFT-based SD basis vectors. Legacy codebooks with DFT-based SD basis vectors, such as the NR Type I and Type II codebooks, can be viewed as a special case of the proposed codebook, where the proposed codebook in this context is the multi-component codebook 24S in Figure 9A. According to some embodiments, the SD beamforming / precoding consists of two parts. The first part of the SD beamforming / precoding (exemplifying the DFT-based component 18-1 herein) is calculated according to the direction(s) of the strongest propagation path(s), where the direction is with respect to the serving NW node, not with respect to each individual antenna element. The second part of the SD beamforming / precoding (exemplifying the adjusting component 18-2 herein) is used to adjust the SD beamforming / precoding of the first part, which contains potential near-field effect and / or non-uniform array structure. An example of the two-part SD beamforming could be that the first part is calculated according to legacy DFT-based SD basis vectors, while the second part is one or more perturbation components that modify the selected SD basis vector(s) from the first part. The second part essentially addresses the mismatch between near-field and far-field and / or uniform and non-uniform array. One method for addressing the mismatch is to adjust the phase difference between the near-field and far-field assumption, and / or between the uniform and non-uniform array assumption. Such differences are further analyzed below. Figure 10 analyzes the phase difference between near-field and far-field assumption for a MIMO system with 16 ൈ 24 single polarized array at NW node and a single antenna at the UE at 7 GHz. Each grid on the plot shows the phase difference for a given UE-NW node antenna pair, where the difference is bounded by ^^ / 8 in all subplots for ease of comparison. The 3 subplots represent when the UE is {0.5, 1, 2} times the RD from the center of the NW node antenna array. The UE is located at the boresight of the array. As can be seen, the phase difference is quite pronounced when the UE is close to the NW node, in terms of RD. If the difference is beyond the phase granularity supported by the codebook, performance loss can be expected, especially for MU-MIMO where an inaccurate null may cause excessive interference. When a non-uniform array is deployed, a similar analysis can also be performed for the phase difference between an assumed / hypothetical uniform array and the actually deployed non-uniform array. Figure 11 shows an example where a 1D circular array (or a curved array) is deployed at the NW node. The 4 elements are uniformly spaced on a circle / an arc but not uniform from a receiver’s point of view. For the assumed uniform array, one example can be obtained by unwrapping / stretching the deployed circular array in to a 1D plane (hence it becomes a ULA). Then the phase difference analysis, i.e., the phase change caused by ^^^െ ^^^ᇱfor ^^ ൌ 1, 2, 3, 4, can be performed for each UE antenna to the assumed / hypothetical ULA and to the actually deployed circular array. It is expected that the phase difference caused by ^^^െ ^^^ᇱmay not be bounded (hence anything between െ ^^ and ^^), as that depends on the element arrangement as well as the angle of departure. Note that although the above analysis differentiates near-field from far-field and uniform from non-uniform array, the UE does not necessarily need to know such information for the calculation of precoding vector / matrix. Such information is included in the measured / estimated channel, and the intention of such analysis is to better explain the motivation of the proposed codebook structure. Generally, then, in some embodiments, the UE calculates a precoding vector / matrix for CSI reporting, where the precoding vector / matrix contains at least information regarding: 1. One or multiple selected SD basis vector(s), exemplifying the DFT-based component 18-1 herein; and 2. One or multiple perturbation components that adjust the one or multiple of the selected SD basis vector(s), where the perturbation component(s) exemplify the adjusting component 18-2 herein. In one embodiment, the perturbation component(s) adjust the phase and amplitude of each element in a selected SD basis vector. In one embodiment, the perturbation component(s) adjust the phase of each element in a selected SD basis vector. In one embodiment, the perturbation component(s) adjust the phase for co-located elements with orthogonal polarizations by the same factor. For example, for a NW node with an antenna array of size 1 ൈ 4, 2 elements per polarization (then the first antenna of the first polarization and the first antenna of the second polarizations are co-located, and the second antenna of the first polarization and the second antenna of the second polarization are co-located), the UE may indicate that the SD basis 10vector is ^ 1െ1^. ^. The UE may further indicate / report a perturbationcomponent that ^ ^^^, ^^ଶ^, which are used to adjust the phases of basis vector. Then, the final SD vector becomes ^ 1 ൈ ^^^ఏభthis SD െ1 ൈ ^^^ఏమ൨ after adjustment,^^^ఏభ 0൪.(s) is quantized. Figure 12 shows the performance of the proposed codebook in the near-field. The above example of a codebook, which contains a DFT-based SD basis vector and a perturbation component that adjusts the phase of a selected SD basis vector, is evaluated in a line-of-sight (LoS) channel for a number of signal-to-noise-ratio (SNR) values. The perturbation components are evaluated with both unquantized and quantized values. For quantized values, 4 bits are used for quantizing the phase of each element. The NW node deploys a 16 ൈ 24 single polarized array and the UE has a single antenna. The carrier frequency is 7 GHz. The UE is located at the boresight of the array at 0.1 RD away from the center of the NW node array. It is observed that the proposed codebook achieves higher achievable rate than the legacy Type I codebook, and the relative gain is higher at low SNR. Moreover, quantizing the perturbation components only introduces marginal performance loss. When applying the proposed codebook on non-uniform array, the gain of the proposed codebook can be larger than in the near-field, as the phase difference / mismatch is not bounded. In one embodiment, the perturbation component(s) is compressed with a basis function. In one embodiment, the basis is selected from a DFT matrix, with or without oversampling. Such basis is particularly suitable when the array has symmetric structure, such as a circular array or a spherical array that can be mounted around a light pole, where the projected array size on to the direction of the UE is the same for all UEs at all directions. In another embodiment, the basis is selected from a wavelet-based transformation matrix. Such basis is particularly suitable when the array has asymmetric structure, a curved array, where the projected array size on to the direction of the UE changes depending on the angle to the UE. In one embodiment, the UE indicates in UE capability signaling that it supports a DL and / or UL codebook that includes perturbation component(s) (e.g., coefficient(s), vector(s), matrix or matrices, etc.) for modifying the DFT-based SD basis vector(s). In one embodiment, the UE capability signaling also indicates one or more of the following information: (i) maximum number of TX ports (which for example could mean the maximum number of CSI-RS port that the UE can be configured with when configured with the “perturbation codebook”); and / or (ii) maximum supported rank (which indicates the maximum number of DL and / or UL layers that the UE can be scheduled with when configured with the “perturbation codebook”. The capability signaling (e.g., in the form of a report) may be based on radio resource control (RRC) signaling, Medium Access Control (MAC) Control Element (MAC-CE) signaling, or Uplink Control Information (UCI) signaling. Example of mapping to / implementing in 3GPP specifications embodiments in 3GPP one denote the SD basis vector of Type మ்I codebook is ^^^,^ൌ ^ ^^ ^^^ ഏ^ మഏ^^ಿ షభ^ೀభಿభ ^^^ …^ భ ^ with ^^ ൌమഏ^ మഏ^^ಿ ష ்^^^^ೀమಿమ^^^ మ భ^ೀమಿ ൧ , where ^^^, ଶRSa UPA is deployed at the NW node), ^^^ and ^^ଶ are the oversampling factor for SD basis vectors, ^^ ൌ 0, … , ^^^ ^^^ െ 1 and ^^ ൌ0, … , ^^ଶ ^^ଶ െ 1 are the indices for the SD basis vector along the first and the seconddimension. According to some embodiments, a perturbation component ^^^,^is calculated by the UE, which has the same dimension as ^^^,^. Then, the SD basis vector ^^^,^is modified according to ^^^,^^ ^^, ^^^ → ^^^,^^ ^^, ^^^ ൈ ^^^,^^ ^^, ^^^. Extension for non-port-selection Type II codebook(s) For non-port-selection Type II codebook(s), DFT-based SD-basis vectors are also used. In this case, the UE may calculate multiple perturbation components, one for each selected beam. For example, the UE may calculate ^^^^^^^^^^ for ^^ ൌ 0, … , ^^ െ 1, which can be used for modifying the ^^th selected SD basis , where ^^ is the number of selected beams. In some cases, as mentioned in the above section, ^^^,^or ^^^^^^^^^^may be compressed by the UE. In one embodiment, one of the perturbation components ^^^∗,^∗ ^ ^^∗ ൌ 0, … , ^^^ ^^^ െ 1, ^^∗ ൌ0, … , ^^ଶ ^^ଶ െ 1^ is reported as an absolute value and the perturbation components^^^,^^ ^^ ് ^^∗, ^^ ് ^^∗ ^ are reported as relative or differential respect to ^^^∗,^∗. For example, for the selected SD basis vector ^^^,^, the UE may report the (i) the position of ^^^∗,^∗(e.g., either by a single index indicates to the network node regarding the value of ^^∗^^∗; or by separately indicating of ^^∗and ^^∗); (ii) the absolute value of ^^^∗,^∗, e.g., where the value of ^^^∗,^∗ may be quantized using a first quantization scheme; the relative ^,^∗ ∗ values of components ^^ ^ ^^ ് ^^ , ^^ ് ^^ ^. Note that since the values of ^^^,^^ ^^ ് ^^∗, ^^ ് ^^∗^ are relative to the value of ^^^∗,^∗, the relative values of ^^^,^^ ^^ ് ^^∗, ^^ ് ^^∗^ quantized using a second that is different from the first quantization scheme. The first quantization the second quantization scheme may differ in terms of the number of bits used to quantize. In an alternative embodiment, the second quantization scheme is the same as the first quantization scheme. In this alternative embodiment, the absolute value of ^^^∗,^∗and the relative values of ^^^,^^ ^^ ് ^^∗, ^^ ് ^^∗^ are quantized using the same scheme. Note that the above embodiments related to absolute and relative / differential reporting is also applicable when perturbation components are compressed by the UE. Accordingly, an enhanced codebook structure is proposed herein, which can be used for non-uniform array and / or near field communication, where perturbation component(s) are introduced to modify a DFT-based beam (or SD basis vector) in a legacy codebook with linear phase slope in the beamforming vectors. As used herein, a legacy codebook refers to a codebook supported by a communication network or device that does not implement embodiments herein, e.g., any of the following codebooks in 3GPP NR specifications: Type I single-panel (SP) codebook, Type I multi-panel (MP) codebook, Type II codebook, enhanced Type II (eType II) codebook, further enhanced Type (feType II) II codebook, or the Rel-18 Type II codebook for high mobility and / or coherent joint transmission (standardization is working in progress in 3GPP NR Release 18 MIMO work item). Some embodiments herein further include approaches for configuring the above enhanced codebook that includes one or more perturbation component(s). The below configuration description exemplifies the configuration 26 in Figure 8 according to some embodiments. On a high level, two things may be configured for a codebook: a codebook type and the corresponding codebook parameters. Regardless of how the codebook type and the corresponding codebook parameters are configured, the device shall be able to compress or quantize information related to the perturbation component(s) according to the codebook parameters, e.g., which may be reported to the NW as part of a CSI report. Although the term perturbation component(s) is used herein, this terminology is non- limiting as the perturbation component(s) may refer to any one of perturbation matrix(ces), perturbation vector(s), a set of perturbation coefficient(s), or a set of indices referring to predefined perturbation coefficient value(s). Configuring enhanced codebook based on a legacy codebook type In one embodiment, the enhanced codebook is configured based on a legacy codebook type (such as Type I codebook, Type II codebook) or sub type (such as Type I SP codebook, Type I MP codebook), while the perturbation component(s) are configured as additional codebook parameter(s). Note that “configuring based on a legacy codebook type” means the corresponding legacy codebook parameters are fully reused, but there might be a new name introduced for the enhanced codebook. For example, the Type I codebook may be called Enhanced Type I codebook, and the parameters of Type I codebook are fully reused in the Enhanced Type I codebook. The benefit of configuring in this way is that all the codebook parameters related to the legacy part of the codebook can be reused, which minimizes the standardization and / or device implementation efforts. Furthermore, as an example of the configuration 26 in Figure 8, configuration of codebook parameters related to the perturbation component can either be implicit or explicit. Implicit configuration of perturbation component In some embodiments, the codebook parameters related to the perturbation component can be fully determined based on one or multiple of legacy codebook parameter(s). In this case, codebook parameter(s) for perturbation component is(are) configured implicitly. For example, 3GPP specifications may specify the dimension of the perturbation component (e.g., the number of elements in the perturbation component) as a function of the number of reference signal (RS) ports, e.g., the same as or half of the number of RS ports. In addition, 3GPP specifications may also specify how the elements in a perturbation component should be quantized (e.g., according to a codebook for vector quantization or according to specified number of bits per complex coefficient (or per amplitude and phase) for scalar quantization). Then, codebook parameters for perturbation component(s) can be completely determined based on the number of RS ports configured for the legacy codebook parameters(s). In this case, enabling the perturbation component is sufficient for configuring the enhanced codebook. In one embodiment, an identifier is configured as part of the codebook parameters to indicate whether the perturbation component is enabled. A non-limiting example is provided below for configuring the enhanced codebook based on the legacy Type I codebook. When perturbationComponentEnabled = FALSE, the codebook falls back to legacy Type I codebook. The example is based on 3GPP NR TS 38.331 V17.5.0, the exact formulation may be different in 6G. The changed parts are underlined. -- ASN1START -- TAG-CODEBOOKCONFIG-START CodebookConfig—r19 ::= SEQUENCE { codebookType CHOICE { type1-enhanced SEQUENCE { subType CHOICE { typeI-SinglePanel SEQUENCE { -- OMITTED UNCHANGED TEXT -- } }, typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8)) }, typeI-MultiPanel SEQUENCE { -- OMITTED UNCHANGED TEXT -- }, codebookMode INTEGER (1..2), perturbationComponentEnabled BOOLEAN, }, type2 SEQUENCE { -- OMITTED UNCHANGED TEXT -- } } } Explicit configuration of perturbation component In some embodiments, the codebook parameters related to the perturbation component cannot be fully determined by legacy codebook parameters. In this case, codebook parameter(s) for perturbation component is(are) configured explicitly. Note that codebook parameters may still partly depend on legacy codebook parameters. Based on the codebook parameters for perturbation component, and optionally codebook parameters for legacy codebook, the device can compress or quantize information related to the perturbation component. An example is given herein to further explain the above. The NW may configure the device a number of CSI-RS ports (and port layout) as part of a legacy Type I codebook, say ^^^ൌ 16, ^^ଶൌ 1, based on which the device can determine the dimension of the perturbation component ^^^, say ^^^∈ ℂேభேమൈ^. Assuming the type of basis vector for compressing the perturbation in 3GPP specifications (say a DFT-based basis vectors with ^^^^^ଶorthogonal basis vectors given by ^ ^^^, … , ^^ேேభேమൈ^భேమି^∈ ℂ ^), then, the NW can further configure the number of basis vectors ^^ ^ 1 that the select from ^^^, … , ^^ேభேమି^for compressing the perturbation component ^^^. In case of multiple basis vectors for compressing the perturbation component are configured to the device (i.e., ^^ ^ 1), codebook parameter may also contain information identifying (or 3GPP specification should pre-define) how the combining coefficients (say ^^^, … , ^^ௌି^∈ ℂ^) for the selected basis vectors should be quantized. Then, the device may approximate / compress ^^^as∑ௌ^ୀି^^^^^ ^^^ . To summarize, in this example, and ^^ଶ are legacy Type I codebook parameters;^^and methods for quantizing ^^^for ^^ ൌ 0, … , ^^ െ 1 in case ^^ ^ 1 (e.g., the number of bits per amplitude and / or phase), are codebook parameters for the perturbation component, which together determine how the device should calculate and compress the perturbation component. A non-limiting example is provided below for configuring the enhanced codebook based on the legacy Type I codebook with explicit configuring of the number of basis vectors for the perturbation component. When numberOfBasisVectorsForPerturbationComponent=0, the codebook falls back to legacy Type I codebook. The example is based on 3GPP NR TS 38.331 V17.5.0, the exact formulation may be different in 6G. The changed parts are underlined. -- ASN1START -- TAG-CODEBOOKCONFIG-START CodebookConfig—r19 ::= SEQUENCE { codebookType CHOICE { type1-enhanced SEQUENCE { subType CHOICE { typeI-SinglePanel SEQUENCE { -- OMITTED UNCHANGED TEXT -- } }, typeI-SinglePanel-ri-Restriction BIT STRING (SIZE (8)) }, typeI-MultiPanel SEQUENCE { -- OMITTED UNCHANGED TEXT -- }, codebookMode INTEGER (1..2), numberOfBasisVectorsForPerturbationComponent INTEGER (0..3), }, type2 SEQUENCE { -- OMITTED UNCHANGED TEXT -- } } } In one embodiment, the number of basis vectors for compressing the perturbation component is configured to the device by the NW. In one embodiment, information identifying how to quantize linear combination coefficients, in case of multiple basis vectors for compressing the perturbation component is configured, is configured to the device by the NW. Such information may include, for example, the number of bits for quantizing the amplitude and / or phase of each complex linear combination coefficient. In one embodiment, information identifying the granularity / dimension of the basis vectors for compressing the perturbation component. In one embodiment, the type of the basis vectors to be used by the device for compressing the perturbation component is configured to the device. In an alternative embodiment, the said basis vectors are explicitly defined and specified in 3GPP specifications. In some cases, a DFT-based basis vector can be used for compressing the perturbation component. In some embodiments, oversampling factor is either defined in 3GPP specifications, or it is configured to the device by NW via codebook configuration. In some cases, wavelet-based basis vector can be used for compressing the perturbation component. In some embodiments, mother wavelet and / or father wavelet are configured to the device by the NW via codebook configuration. In one embodiment, the codebook parameters for compressing the perturbation component, or a subset of such parameters, are configured to the device via joint encoding. For example, the number of basis vectors and the number of bits for quantizing the linear combination coefficients are jointly configured via a tuple of {S, nrofBits}. Configuration of perturbation component for Type II codebook for CJT In one embodiment, when enhanced codebook involving perturbation component is configured based on Rel-18 Type II codebook for coherent joint transmission (CJT), the UE is expected to be configured with up to ^^ (where ^^ can be 4, for example) CSI-RS resources for channel measurement in a resource set. Since each of the ^^ CSI-RS resources represents a TRP (Transmission Reception Point) that takes part in CJT, the SD basis vectors are selected from a subset or all of the ^^ CSI-RS resources. In one embodiment, the perturbation components are computed independently for each of the subset or all of the ^^ CSI-RS resources from which SD basis vectors are selected. Let us assume, for example, that ^^ ൌ 4 and the number of SD basis vectors to be selected from the ^^ ൌ 4 is configured to the device by the network node as follows: ^ ^^^, ^^ଶ, ^^ଷ, ^^ସ^ where ^^^^ ^^ ൌ 1, 2, 3, 4^ denotes the number of SD basis vectors configured to be selected from the ^^^^ℎCSI-RS resource. Then, according to the above embodiment, the device may calculate ^^^perturbation components for the ^^௧^CSI-RS resource, and the device may report the calculated ^^^perturbation components for the ^^^^ℎCSI-RS resource to the network node. When SD basis vectors are selected from all ^^ ൌ 4 CSI-RS resources, then the total number of perturbation components computed is ∑^^ୀ^^^^. Note that in some embodiments, each of these perturbation components may be compressed according to other embodiments herein. In another embodiment, the device may be configured by the network node on which of the ^^ CSI-RS resources the device shall compute and feedback perturbation components. That is, the network node may explicitly configure the device to feedback perturbation components only for a subset of the ^^ CSI-RS resources. Then, the device will only calculate and feedback the perturbation components for the subset of the ^^ CSI-RS resources for which the network node explicitly configured the device to feedback perturbation components. In another embodiment, the device may be configured to select a subset of the ^^ CSI- RS resources as part of CSI (e.g., part one of the CSI). For instance, the device may select a subset of the ^^ CSI-RS resources (or ^^ TRPs) to take part in CJT. In this embodiment, the device will only calculate and feedback the perturbation components for the subset of the ^^ CSI-RS resources which are selected by the device to take part in CJT. Configuration of perturbation component for NCJT CSI In one embodiment, when enhanced codebook involving perturbation component is configured based on Type I codebook for non-coherent joint transmission (NCJT), the device may be configured with up to ^^ (where ^^ can be 2, for example) CSI-RS resources for channel measurement from a resource set. In one embodiment, the perturbation components are computed independently for each of the of the ^^ CSI-RS resources. Configuring enhanced codebook as legacy codebook + a new codebook type Alternatively, rather than a single enhanced codebook 24S whose precoders include the legacy DFT-based basis vector(s) adjusted by the new perturbation component(s), some embodiments re-use a legacy codebook whose precoders include the legacy DFT-based basis vector(s) in conjunction with a new codebook whose precoders include the new perturbation component(s). In one such embodiment, the SD basis vectors can be compressed by a first set of basis vectors from a first codebook, together with a second set of basis vectors from a second codebook. For example, when used for DL transmission from a cylindrical array (non- uniform but symmetrical array), the SD basis vector can be derived based on a legacy DFT- based basis vector (i.e., a first basis vector from a first codebook), together with a second basis vector from a new codebook parameterized by the radius of a cylindrical array (i.e., a second basis vector from a second codebook). The second basis vector (in this case work as a perturbation component) modifies the phases and / or amplitudes of the first basis vector, in order to get a final SD basis vector. In one embodiment, a first codebook and a second codebook are jointly used for compressing the SD basis vectors. In this case, the NW implicitly or explicitly configures the number of basis vectors selected from the first codebook and the second codebook. In a dependent embodiment, the first codebook and second codebook are the same type of codebook but with different parameters. When the enhanced codebook is configured as a new codebook type, legacy codebook parameters can be jointly configured with perturbation component codebook parameters. For example, the port layout ( ^^^, ^^ଶ) of legacy codebook parameter can be jointly configured with the number of basis vectors ^^ for compressing the perturbation component, with a triplet ^ ^^^, ^^ଶ, ^^^. This reduces the overhead for separate configuration. These embodiments thereby exemplify the embodiments in Figure 9B, with the first or legacy codebook exemplifying the DFT-based codebook 24D and the second or new codebook exemplifying the adjusting codebook 24A. Other aspects For all cases in the above sections, the NW may additionally configure an indicator, indicating whether the device is mandated to report the perturbation component(s), where applicable. When device is mandated to report, it can be useful for DL transmission with non- uniform array, where the perturbation component(s) is essential for choosing the correct SD basis vector. When device can optionally report the perturbation component(s), it is useful for general communication with uniform array, where the NW does not know in advance if the device is in the near or far field. Allowing the device to not report the perturbation component(s) may save reporting overhead. Prior to the configuration, a device may report its capability of supporting the proposed enhanced codebook. For all cases in the above sections, the NW node may also configure one or multiple channel measurement resources (CMRs) and / or interference resources (IMRs). The association between codebook / CSI report configuration and the CMRs and / or IMRs maybe signaled implicitly or explicitly. For all cases in the above sections, the codebook configuration can be done in RRC, MAC-CE, DCI or any combination of them. Note that even though the proposed codebook is described for DL use cases, it can also be used for other use cases, such as UL transmission when the UE has a non-uniform array, or for FWA use cases. Generally, then, although some embodiments are described for a DL codebook, embodiments herein are equally applicable for UL. In view of the modifications and variations herein, Figure 13 depicts a method performed by a communication device in accordance with particular embodiments, with optional steps in dashed lined. The communication device may be the communication device 12. The method includes the communication device receiving a configuration from the network (Block 100). The configuration may be a codebook configuration and / or a CSI report configuration, for configuring the proposed enhanced codebook for CSI reporting and / or for calculating a CSI report using the proposed enhanced codebook. The method also includes the communication device calculating a CSI report according to the received configuration (Block 110). The communication device may for instance calculate and select one or multiple beams by selecting DFT-based SD basis vector(s). The communication device may further calculate perturbation component(s) added on top of the selected beam(s), in order to adjust the beam shape according to the channel measurement. The method may further comprise reporting the calculated CSI report in the UL (Block 120). The method in some embodiments also includes sending a capability report to a network node (Block 90). Figure 14 depicts a method performed by a network node in accordance with particular embodiments, with optional steps in dashed lined. The network node may be the network node 14. The method includes configuring a codebook configuration and / or a CSI report configuration to a communication device, with the proposed enhanced codebook for CSI reporting (Block 200). The method may also include sending a trigger for CSI reporting. The method further comprises receiving a CSI report with the configured configuration from the communication device (Block 210). In some embodiments, the method comprises performing DL operation (e.g., scheduling or precoding) according to the CSI report received from the communication device (Block 220). In some embodiments, the method also comprises receiving a device capability report indicating a capability of the communication device (Block 190). Figure 15 depicts a method performed by a communication device 12 in accordance with other particular embodiments. The method includes determining, from one or more codebooks 24, a precoder 18 for precoding a transmission 16 between the communication device 12 and a network node 14 (Block 1500). The determined precoder 18 comprises a first component 18-1 formed from one or more Discrete Fourier Transform, DFT, precoding vectors. The determined precoder 18 also comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. The method also comprises transmitting or receiving the transmission 16 as precoded with the determined precoder 18 (Block 1510). In some embodiments, the transmission 16 is to be performed via an antenna array 17. In some embodiments, the antenna array 17 has non-uniformly spaced antenna elements. In other alternative or additional embodiments, the transmission 16 is to be received in a near-field 26N of the antenna array 17. Alternatively or additionally, the first component 18-1 is based on an assumption that the antenna array 17 has uniformly spaced antenna elements. In some embodiments, the second component 18-2 accounts for and / or is based on the antenna array 17 having non-uniformly spaced antenna elements. Alternatively or additionally, the first component 18-1 is based on an assumption that the transmission 16 is received in a far-field 26F of the antenna array 17. In some embodiments, the second component 18-2 accounts for and / or is based on the transmission 16 being received in a near-field 26N of the antenna array 17. In some embodiments, the method further comprises performing one or more measurements of a channel between the communication device 12 and the network node 14. In some embodiments, determining the precoder 18 comprises determining the first component 18-1 to include one or more DFT precoding vectors that respectively correspond to one or more directions of one or more strongest propagation paths between the communication device 12 and the network node 14 according to the one or more measurements. In some embodiments, the transmission 16 is to be performed via an antenna array 17. In some embodiments, the one or more directions are determined based on an assumption that the antenna array 17 has uniformly spaced antenna elements and / or that the transmission 16 is to be received in a far- field 26F of the antenna array 17. In other embodiments, the one or more directions are common across all antenna elements of the antenna array 17. In yet other embodiments, the one or more directions are determined with respect to the first and / or network node 14 as a whole, not with respect to any individual antenna element of the antenna array 17. In some embodiments, the transmission 16 is to be performed via an antenna array 17, and wherein determining the precoder 18 further comprises determining the second component 18-2 to adjust the one or more DFT precoding vectors to respectively correspond to one or more directions of one or more strongest propagation paths with respect to individual antenna elements of the antenna array 17 according to the one or more measurements. In some embodiments, the one or more DFT precoding vectors are one or more DFT- based spatial domain, SD, basis vectors. In some embodiments, the first component 18-1 comprises a combination of multiple DFT-based SD basis vectors. In some embodiments, the second component 18-2 comprises one or more perturbation components that adjust a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the second component 18-2 adjusts a phase of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the second component 18-2 adjusts an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the transmission 16 is to be performed via an antenna array 17 with at least some co-located elements that have orthogonal polarizations, and the second component 18-2 adjusts a phase of elements in the antenna array 17 that are co-located with orthogonal polarizations by the same factor. In some embodiments, the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and the second component 18-2 comprises a first dimension subcomponent that adjusts a phase and / or an amplitude of each element in the first dimension DFT precoding vector and a second dimension subcomponent that adjusts a phase and / or an amplitude of each element in the second dimension DFT precoding vector. In some embodiments, the second component 18-2 comprises complex coefficients that adjust the phase and / or amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the second component 18-2 comprises quantized values of phases of the complex coefficients. In some embodiments, determining the precoder 18 comprises determining the second component 18-2 by determining a nominal second component 18-2 from one or more channel measurements. In some embodiments, determining the precoder 18 comprises determining the second component 18-2 by determining the second component 18-2 to be a quantized version of the nominal second component 18-2, by approximating the nominal second component 18-2 as a function of one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors or one or more wavelet-based basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors selected from a DFT matrix. In some embodiments, the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors selected from a wavelet-based transformation matrix. In some embodiments, approximating the nominal second component 18-2 comprises approximating the nominal second component 18-2 as a combination of multiple orthogonal basis vectors. In some embodiments, approximating the nominal second component 18-2 as a combination of multiple orthogonal basis vectors comprises approximating the nominal second component 18-2 as a combination of multiple orthogonal basis vectors, with the multiple orthogonal basis vectors being combined as a function of one or more combining coefficients. In some embodiments, the method further comprises determining one or more configuration parameters that configure how to quantize the nominal second component 18-2 as a function of one or more orthogonal basis vectors. In some embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of the one or more orthogonal basis vectors. In other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors. In yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a type of the one or more orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. In some embodiments, the one or more configuration parameters include a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors. In other embodiments, the one or more configuration parameters include one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more wavelet- based basis vectors. In some embodiments, the method further comprises determining one or more configuration parameters for configuring the one or more codebooks 24. In one embodiment, the method further comprises receiving signaling indicating at least one of the one or more configuration parameters (Block 1530). For example, in some embodiments, the method further comprises determining one or more configuration parameters that configure the second component 18-2, and determining the second component 18-2 according to the one or more configuration parameters that configure the second component 18-2 (Block 1540). In some embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring a dimension of the second component 18-2. In other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the second component 18-2 is enabled. In yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the second component 18-2 is mandatory or optional to report as part of channel state information feedback. In still yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a type of the codebook 24. In some embodiments, determining the one or more configuration parameters comprises determining at least one of the one or more configuration parameters from one or more parameters configuring the first component 18-1. In some embodiments, the one or more parameters configuring the first component 18-1 include a parameter configuring a number of reference signal ports. In some embodiments, determining the one or more configuration parameters comprises determining at least one of the one or more configuration parameters from signaling received from the network node 14. In some embodiments, the communication device 12 is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and the second component 18-2 comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. In some embodiments, the method further comprises receiving one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. In some embodiments, the transmission 16 is a coherent joint transmission. In some embodiments, each of the K CSI-RS resources represents a transmission reception point, TRP, that is to take part in the coherent joint transmission. In some embodiments, the one or more DFT precoding vectors correspond to one or more beams, and wherein the second component 18-2 adjusts a shape of the one or more beams according to a channel measurement by the communication device 12. In some embodiments, the one or more codebooks 24 include a multi-component codebook 24S with one or more candidate precoders 24S-1…24S-N that each comprises a first component 18-1 formed from one or more DFT precoding vectors. In some embodiments, the one or more codebooks 24 include a multi-component codebook 24S with one or more candidate precoders 24S-1…24S-N that each comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the method further comprises transmitting capability signaling indicating that the communication device 12 supports the multi-component codebook 24S. In some embodiments, the capability signaling indicates a maximum number of transmit ports that the communication device 12 supports with the multi-component codebook 24S. In other embodiments, the capability signaling alternatively or additionally indicates a maximum rank that the communication device 12 supports with the multi-component codebook 24S. In some embodiments, the transmission 16 is to be performed via an antenna array 17, and the method further comprises receiving signaling indicating whether the communication device 12 is in a near-field 26N or a far-field 26F of the antenna array 17. In some embodiments, the precoder 18 is determined based on whether the communication device 12 is in the near-field 26N or the far-field 26F of the antenna array 17 according to the signaling. In some embodiments, the method further comprises transmitting signaling that indicates the determined precoder 18 (Block 1540). In some embodiments, the signaling is a channel state information report that recommends the determined precoder 18 for the transmission 16. In some embodiments, the signaling indicates that the transmission 16 is to be precoded with the determined precoder 18. In some embodiments, the signaling indicates the determined precoder 18 by indicating the first component 18-1 and the second component 18-2. In some embodiments, the second component 18-2 comprises multiple subcomponents, and the signaling indicates the multiple subcomponents of the second component 18-2 by indicating one or more respective differential values of one or more of the subcomponents relative to an absolute value of a reference subcomponent. In some embodiments, the absolute value of the reference subcomponent is quantized according to a first quantization scheme, and the one or more respective differential values of one or more of the subcomponents are quantized according to a second quantization scheme different from the first quantization scheme. In some embodiments, the second component 18-2 comprises one or more matrices, one or more vectors, a set of one or more coefficients, or one or more indices referring to one or more predefined coefficient values. In some embodiments, the transmission 16 is a downlink transmission. In some embodiments, the transmission 16 is an uplink transmission. In some embodiments, the one or more DFT precoding vectors that form the first component 18-1 each have a phase slope that is linear, and the second component 18-2 adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non- linear. In some embodiments, the one or more DFT precoding vectors that form the first component 18-1 each have a phase slope that is linear, and the second component 18-2 comprises one or more perturbation components that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. In some embodiments, the one or more DFT precoding vectors that form the first component 18-1 each have a phase slope that is linear. In some embodiments, the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and the second component 18-2 comprises a first dimension subcomponent that adjust the phase slope of the first dimension DFT precoding vector to be non-linear and a second dimension subcomponent that adjust the phase slope of the second dimension DFT precoding vector to be non-linear. In some embodiments, the second component 18-2 comprises complex coefficients that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non- linear. In some embodiments, the one or more codebooks 24 include a multi-component codebook 24S. In some embodiments, each of one or more candidate precoders 24S-1…24S-N in the multi-component codebook 24S comprises a first component 18-1 formed from one or more DFT precoding vectors, each with a phase slope that is linear. In some embodiments, each of one or more candidate precoders 24S-1…24S-N in the multi-component codebook 24S comprises a second component 18-2 that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. In some embodiments, the network node 14 is a radio network node. In some embodiments, the one or more codebooks 24 include a first codebook 24D with one or more candidate precoders 24D-1…24D-N that each comprises a first component 18-1 formed from one or more DFT precoding vectors. In some embodiments, the one or more codebooks 24 include a second codebook 24A with one or more candidate precoders 24A- 1…24A-N that each comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the method further comprises transmitting capability signaling indicating that the communication device 12 supports the second codebook 24A. In some embodiments, the capability signaling indicates a maximum number of transmit ports that the communication device 12 supports with the second codebook 24A. In other embodiments, the capability signaling alternatively or additionally indicates a maximum rank that the communication device 12 supports with the second codebook 24A. In some embodiments, the one or more codebooks 24 include a first codebook 24D with one or more candidate precoders 24D-1…24D-N that each include a first component 18-1 formed from one or more DFT precoding vectors, each with a phase slope that is linear. In some embodiments, the one or more codebooks 24 include a second codebook 24A with one or more candidate precoders 24A-1…24A-N that each include a second component 18-2 that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non- linear. Generally, then, in some embodiments, the method further comprises transmitting capability signaling indicating the communication device 12 supports the one or more codebooks 24 (Block 1520). Other embodiments herein include a method performed by a communication device 12. The method includes receiving one or more configuration parameters that configure a codebook 24 of candidate precoders for precoding a transmission 16 to or from the communication device 12. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a first component 18-1 formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the one or more configuration parameters include one or more configuration parameters that configure the second component 18-2. In some embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring a dimension of the second component 18-2. In other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the second component 18-2 is enabled. In yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the second component 18-2 is mandatory or optional to report as part of channel state information feedback. In still yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a type of the codebook 24. In some embodiments, the one or more configuration parameters include one or more configuration parameters that configure how the second component 18-2 of a candidate precoder is a function of one or more orthogonal basis vectors. In some embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of the one or more orthogonal basis vectors. In other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors. In yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a type of the one or more orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. In some embodiments, the one or more configuration parameters include a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors. In other embodiments, the one or more configuration parameters include one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. In some embodiments, the communication device 12 is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and the second component 18-2 of a candidate precoder comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. In some embodiments, the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. In some embodiments, the method further comprises any of the steps described above in Figure 15. Other embodiments herein include a method performed by a communication device 12. The method includes transmitting capability signaling indicating whether the communication device 12 supports a codebook 24 of candidate precoders for precoding a transmission 16 to or from the communication device 12. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a first component 18-1 formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the capability signaling indicates a maximum number of transmit ports that the communication device 12 supports with the codebook 24. In other embodiments, the capability signaling indicates a maximum rank that the communication device 12 supports with the codebook 24. In some embodiments, the method further comprises any of the steps described above in Figure 15. Other embodiments herein include a method performed by a communication device 12. The method includes receiving one or more configuration parameters that configure a codebook 24 of candidate precoders for precoding a transmission 16 to or from the communication device 12. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook 24. In some embodiments, the one or more configuration parameters include one or more configuration parameters that configure the component. In some embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring a dimension of the component. In other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the component is enabled. In yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the component is mandatory or optional to report as part of channel state information feedback. In still yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a type of the codebook 24. In some embodiments, the one or more configuration parameters include one or more configuration parameters that configure how the component of a candidate precoder is a function of one or more orthogonal basis vectors. In some embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of the one or more orthogonal basis vectors. In other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors. In yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a type of the one or more orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. In some embodiments, the one or more configuration parameters include a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors. In other embodiments, the one or more configuration parameters include one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. In some embodiments, the communication device 12 is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and the component comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. In some embodiments, the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. In some embodiments, the method further comprises any of the steps described above in Figure 15. Other embodiments herein include a method performed by a communication device 12. The method includes transmitting capability signaling indicating whether the communication device 12 supports a codebook 24 of candidate precoders for precoding a transmission 16 to or from the communication device 12 (Block WW500). In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook 24. In some embodiments, the capability signaling indicates a maximum number of transmit ports that the communication device 12 supports with the codebook 24. In other embodiments, the capability signaling alternatively or additionally indicates a maximum rank that the communication device 12 supports with the codebook 24. In some embodiments, the method further comprises any of the steps described above in Figure 15. Figure 16 depicts a method performed by a network node 14 in accordance with other particular embodiments. The method includes determining, from one or more codebooks 24, a precoder 18 for precoding a transmission 16 between a communication device 12 and the network node 14 (Block 1600). The determined precoder 18 comprises a first component 18-1 formed from one or more Discrete Fourier Transform, DFT, precoding vectors. The determined precoder 18 also comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. The method also comprises transmitting or receiving the transmission 16 as precoded with the determined precoder 18 (Block 1610). In some embodiments, the transmission 16 is to be performed via an antenna array 17. In some embodiments, the antenna array 17 has non-uniformly spaced antenna elements. In other alternative or additional embodiments, the transmission 16 is to be received in a near-field 26N of the antenna array 17. In some embodiments, the first component 18-1 is based on an assumption that the antenna array 17 has uniformly spaced antenna elements, and the second component 18-2 accounts for and / or is based on the antenna array 17 having non-uniformly spaced antenna elements. Alternatively or additionally, the first component 18-1 is based on an assumption that the transmission 16 is received in a far-field 26F of the antenna array 17, and the second component 18-2 accounts for and / or is based on the transmission 16 being received in a near-field 26N of the antenna array 17. In some embodiments, the method further comprises performing one or more measurements of a channel between the communication device 12 and the network node 14. In some embodiments, determining the precoder 18 comprises determining the first component 18-1 to include one or more DFT precoding vectors that respectively correspond to one or more directions of one or more strongest propagation paths between the communication device 12 and the network node 14 according to the one or more measurements. In some embodiments, the transmission 16 is to be performed via an antenna array 17. In some embodiments, the one or more directions are determined based on an assumption that the antenna array 17 has uniformly spaced antenna elements and / or that the transmission 16 is to be received in a far- field 26F of the antenna array 17. In other alternative or additional embodiments, the one or more directions are common across all antenna elements of the antenna array 17. In other alternative or additional embodiments, the one or more directions are determined with respect to the first and / or network node 14 as a whole, not with respect to any individual antenna element of the antenna array 17. In some embodiments, the transmission 16 is to be performed via an antenna array 17, and determining the precoder 18 further comprises determining the second component 18-2 to adjust the one or more DFT precoding vectors to respectively correspond to one or more directions of one or more strongest propagation paths with respect to individual antenna elements of the antenna array 17 according to the one or more measurements. In some embodiments, the one or more DFT precoding vectors are one or more DFT- based spatial domain, SD, basis vectors. In some embodiments, the first component 18-1 comprises a combination of multiple DFT-based SD basis vectors. In some embodiments, the second component 18-2 comprises one or more perturbation components that adjust a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the second component 18-2 adjusts a phase of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the second component 18-2 adjusts an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the transmission 16 is to be performed via an antenna array 17 with at least some co-located elements that have orthogonal polarizations, and the second component 18-2 adjusts a phase of elements in the antenna array 17 that are co-located with orthogonal polarizations by the same factor. In some embodiments, the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and the second component 18-2 comprises a first dimension subcomponent that adjusts a phase and / or an amplitude of each element in the first dimension DFT precoding vector and a second dimension subcomponent that adjusts a phase and / or an amplitude of each element in the second dimension DFT precoding vector. In some embodiments, the second component 18-2 comprises complex coefficients that adjust the phase and / or amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the second component 18-2 comprises quantized values of phases of the complex coefficients. In some embodiments, wherein determining the precoder 18 comprises determining the second component 18-2 by determining a nominal second component 18-2 from one or more channel measurements. In some embodiments, wherein determining the precoder 18 comprises determining the second component 18-2 by determining the second component 18-2 to be a quantized version of the nominal second component 18-2, by approximating the nominal second component 18-2 as a function of one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors or one or more wavelet-based basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors selected from a DFT matrix. In some embodiments, the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors selected from a wavelet-based transformation matrix. In some embodiments, approximating the nominal second component 18-2 comprises approximating the nominal second component 18-2 as a combination of multiple orthogonal basis vectors. In some embodiments, approximating the nominal second component 18-2 as a combination of multiple orthogonal basis vectors comprises approximating the nominal second component 18-2 as a combination of multiple orthogonal basis vectors, with the multiple orthogonal basis vectors being combined as a function of one or more combining coefficients. In some embodiments, the method further comprises determining one or more configuration parameters that configure how to quantize the nominal second component 18-2 as a function of one or more orthogonal basis vectors. In some embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of the one or more orthogonal basis vectors. In other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors. In yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a type of the one or more orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. In some embodiments, the one or more configuration parameters include a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors. In other embodiments, the one or more configuration parameters include one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. In some embodiments, the method further comprises determining one or more configuration parameters that configure the second component 18-2, and determining the second component 18-2 according to the one or more configuration parameters that configure the second component 18-2. In some embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring a dimension of the second component 18-2. In other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the second component 18-2 is enabled. In yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the second component 18-2 is mandatory or optional to report as part of channel state information feedback. In still yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a type of the codebook 24. In some embodiments, determining the one or more configuration parameters comprises determining at least one of the one or more configuration parameters from one or more parameters configuring the first component 18-1. In some embodiments, the one or more parameters configuring the first component 18-1 include a parameter configuring a number of reference signal ports. In some embodiments, the method further comprises transmitting signaling to the communication device 12 indicating at least one of the one or more configuration parameters (Block 1650). In some embodiments, the communication device 12 is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and the second component 18-2 comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. In some embodiments, the method further comprises transmitting, to the communication device 12, one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. In some embodiments, the transmission 16 is a coherent joint transmission, wherein each of the K CSI-RS resources represents a transmission reception point, TRP, that is to take part in the coherent joint transmission. In some embodiments, the one or more DFT precoding vectors correspond to one or more beams, and wherein the second component 18-2 adjusts a shape of the one or more beams according to a channel measurement by the communication device 12. In some embodiments, the one or more codebooks 24 include a multi-component codebook 24S. In some embodiments, each of one or more candidate precoders 24S-1…24S-N in the multi-component codebook 24S comprises a first component 18-1 formed from one or more DFT precoding vectors. In some embodiments, each of one or more candidate precoders 24S-1…24S-N in the multi-component codebook 24S comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the method further comprises receiving capability signaling indicating that the communication device 12 supports the multi-component codebook 24S. In some embodiments, the capability signaling indicates a maximum number of transmit ports that the communication device 12 supports with the multi-component codebook 24S. In other embodiments, the capability signaling alternatively or additionally indicates a maximum rank that the communication device 12 supports with the multi-component codebook 24S. In some embodiments, the transmission 16 is to be performed via an antenna array 17, and the method further comprises transmitting signaling indicating whether the communication device 12 is in a near-field 26N or a far-field 26F of the antenna array 17. In some embodiments, the precoder 18 is determined based on whether the communication device 12 is in the near-field 26N or the far-field 26F of the antenna array 17 according to the signaling. In some embodiments, the method further comprises transmitting or receiving signaling that indicates the determined precoder 18 (Block 1680). In some embodiments, the signaling is a channel state information report that recommends the determined precoder 18 for the transmission 16. In some embodiments, the signaling indicates that the transmission 16 is to be precoded with the determined precoder 18. In some embodiments, the signaling indicates the determined precoder 18 by indicating the first component 18-1 and the second component 18-2. In some embodiments, the second component 18-2 comprises multiple subcomponents, and the signaling indicates the multiple subcomponents of the second component 18-2 by indicating one or more respective differential values of one or more of the subcomponents relative to an absolute value of a reference subcomponent. In some embodiments, the absolute value of the reference subcomponent is quantized according to a first quantization scheme, and the one or more respective differential values of one or more of the subcomponents are quantized according to a second quantization scheme different from the first quantization scheme. In some embodiments, the method further comprises receiving capability signaling indicating that the communication device 12 supports the one or more codebooks 24. In some embodiments, the second component 18-2 comprises one or more matrices, one or more vectors, a set of one or more coefficients, or one or more indices referring to one or more predefined coefficient values. In some embodiments, the transmission 16 is a downlink transmission. In some embodiments, the transmission 16 is an uplink transmission. In some embodiments, the one or more DFT precoding vectors that form the first component 18-1 each have a phase slope that is linear, and the second component 18-2 adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non- linear. In some embodiments, the one or more DFT precoding vectors that form the first component 18-1 each have a phase slope that is linear, and the second component 18-2 comprises one or more perturbation components that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. In some embodiments, the one or more DFT precoding vectors that form the first component 18-1 each have a phase slope that is linear. In some embodiments, the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and the second component 18-2 comprises a first dimension subcomponent that adjust the phase slope of the first dimension DFT precoding vector to be non-linear and a second dimension subcomponent that adjust the phase slope of the second dimension DFT precoding vector to be non-linear. In some embodiments, the second component 18-2 comprises complex coefficients that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non- linear. In some embodiments, the one or more codebooks 24 include a multi-component codebook 24S. In some embodiments, each of one or more candidate precoders 24S-1…24S-N in the multi-component codebook 24S comprises a first component 18-1 formed from one or more DFT precoding vectors, each with a phase slope that is linear. In some embodiments, each of one or more candidate precoders 24S-1…24S-N in the multi-component codebook 24S comprises a second component 18-2 that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. In some embodiments, the network node 14 is a radio network node. In some embodiments, the one or more codebooks 24S include a first codebook 24D with one or more candidate precoders 24S-1…24S-N that each comprises a first component 18- 1 formed from one or more DFT precoding vectors. In some embodiments, the one or more codebooks 24 include a second codebook 24A with one or more candidate precoders 24S- 1…24S-N that each comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the method further comprises receiving capability signaling indicating that the communication device 12 supports the second codebook 24A (Block 1670). In some embodiments, the capability signaling indicates a maximum number of transmit ports that the communication device 12 supports with the second codebook 24A. In other embodiments, the capability signaling alternatively or additionally indicates a maximum rank that the communication device 12 supports with the second codebook 24A. In some embodiments, the one or more codebooks 24 include a first codebook 24D with one or more candidate precoders 24D-1…24D-N that each include a first component 18-1 formed from one or more DFT precoding vectors, each with a phase slope that is linear. In some embodiments, the one or more codebooks 24 include a second codebook 24A with one or more candidate precoders 24A-1…24A-N that each include a second component 18-2 that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non- linear. Figure 17 depicts a method performed by a network node 14 in accordance with other particular embodiments. The method includes receiving, from a communication device 12, signaling indicating a precoder 18, from one or more codebooks 24, for precoding a transmission 16 between the communication device 12 and the network node 14 (Block 1700). In some embodiments, the indicated precoder 18 comprises a first component 18-1 formed from one or more Discrete Fourier Transform, DFT, precoding vectors (Block 1710), and a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors (Block 1720). The method also includes transmitting the transmission 16 as precoded with the indicated precoder 18 (Block 1730). In some embodiments, the one or more DFT precoding vectors are one or more DFT- based spatial domain, SD, basis vectors. In some embodiments, the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and the second component 18-2 comprises a first dimension subcomponent that adjusts a phase and / or an amplitude of each element in the first dimension DFT precoding vector and a second dimension subcomponent that adjusts a phase and / or an amplitude of each element in the second dimension DFT precoding vector. In some embodiments, the method further comprises determining one or more configuration parameters that configure how to quantize the nominal second component 18-2 as a function of one or more orthogonal basis vectors. In some embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of the one or more orthogonal basis vectors. In other embodiments, the one or more configuration parameters alternatively or additionally include at least a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors. In yet other embodiments, the one or more configuration parameters alternatively or additionally include at least a configuration parameter configuring a type of the one or more orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters alternatively or additionally include at least a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters alternatively or additionally include at least a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. In some embodiments, the method further comprises determining one or more configuration parameters that configure the second component 18-2, and determining the second component 18-2 according to the one or more configuration parameters that configure the second component 18-2. In some embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring a dimension of the second component 18-2. In other embodiments, the one or more configuration parameters that configure the second component 18-2 alternatively or additionally include at least a configuration parameter configuring whether the second component (18-2) is enabled. In yet other embodiments, the one or more configuration parameters that configure the second component 18-2 alternatively or additionally include at least a configuration parameter configuring whether the second component 18-2 is mandatory or optional to report as part of channel state information feedback. In still yet other embodiments, the one or more configuration parameters that configure the second component 18-2 alternatively or additionally include at least one or more types of the one or more codebooks 24. In some embodiments, the method further comprises transmitting signaling to the communication device 12 indicating at least one of the one or more configuration parameters. In some embodiments, the communication device 12 is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and the second component 18-2 comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. In some embodiments, the one or more DFT precoding vectors correspond to one or more beams, and the second component 18-2 adjusts a shape of the one or more beams according to a channel measurement by the communication device 12. In some embodiments, the transmission 16 is to be performed via an antenna array, and the method further comprises transmitting, to the communication device 12, signaling indicating whether the communication device 12 is in a near-field 26N or a far-field 26F of the antenna array. In some embodiments, the precoder 18 is determined based on whether the communication device 12 is in the near-field 26N or the far-field 26F of the antenna array. In some embodiments, the method further comprises receiving, from the communication device 12, signaling that indicates the precoder 18 by indicating the first component 18-1 and the second component 18-2. In some embodiments, the second component 18-2 comprises multiple subcomponents, and the signaling indicates the multiple subcomponents of the second component 18-2 by indicating one or more respective differential values of one or more of the subcomponents relative to an absolute value of a reference subcomponent. In some embodiments, the absolute value of the reference subcomponent is quantized according to a first quantization scheme, and the one or more respective differential values of one or more of the subcomponents are quantized according to a second quantization scheme different from the first quantization scheme. In some embodiments, the one or more DFT precoding vectors that form the first component 18-1 each have a phase slope that is linear, and the second component 18-2 adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non- linear. In some embodiments, the one or more codebooks 24 include a multi-component codebook 24S with one or more candidate precoders 24S-1…24S-N that each comprises a first component 18-1 formed from one or more DFT precoding vectors, and a second component 18- 2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the one or more codebooks 24 include a multi-component codebook 24S. In some embodiments, each of one or more candidate precoders 24S-1…24S-N in the multi-component codebook 24S comprises a first component 18-1 formed from one or more DFT precoding vectors, each with a phase slope that is linear, and a second component 18-2 that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. In some embodiments, the one or more codebooks 24 include a first codebook 24D with one or more candidate precoders 24D-1…24D-N that each comprises a first component 18-1 formed from one or more DFT precoding vectors, and a second codebook 24A with one or more candidate precoders 24AS-1…24A-N that each comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the one or more codebooks 24 include a first codebook 24D with one or more candidate precoders 24D-1…24D-N that each include a first component 18-1 formed from one or more DFT precoding vectors, each with a phase slope that is linear, and a second codebook 24A with one or more candidate precoders 24A-1…24A-N that each include a second component 18-2 that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. Other embodiments herein include a method performed by a network node 14. The method includes transmitting, to a communication device 12, one or more configuration parameters that configure a codebook 24 of candidate precoders for precoding a transmission 16 to or from the communication device 12. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a first component 18-1 formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the one or more configuration parameters include one or more configuration parameters that configure the second component 18-2. In some embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring a dimension of the second component 18-2. In other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the second component 18-2 is enabled. In yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the second component 18-2 is mandatory or optional to report as part of channel state information feedback. In still yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a type of the codebook 24. In some embodiments, the one or more configuration parameters include one or more configuration parameters that configure how the second component 18-2 of a candidate precoder is a function of one or more orthogonal basis vectors. In some embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of the one or more orthogonal basis vectors. In other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors. In yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a type of the one or more orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. In some embodiments, the one or more configuration parameters include a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors. In other embodiments, the one or more configuration parameters include one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. In some embodiments, the communication device 12 is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and the second component 18-2 of a candidate precoder comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. In some embodiments, the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. In some embodiments, the method further comprises any of the steps described above for a network node 14. Other embodiments herein include a method performed by a network node 14. The method includes receiving capability signaling indicating whether a communication device 12 supports a codebook 24 of candidate precoders for precoding a transmission 16 to or from the communication device 12. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a first component 18-1 formed from one or more Discrete Fourier Transform, DFT, precoding vectors. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a second component 18-2 that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. In some embodiments, the capability signaling indicates a maximum number of transmit ports that the communication device 12 supports with the codebook 24. In other embodiments, the capability signaling alternatively or additionally indicates a maximum rank that the communication device 12 supports with the codebook 24. In some embodiments, the method further comprises any of the steps described above for a network node 14. Other embodiments herein include a method performed by a network node 14. The method includes transmitting, to a communication device 12, one or more configuration parameters that configure a codebook 24 of candidate precoders for precoding a transmission 16 to or from the communication device 12. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook 24. In some embodiments, the one or more configuration parameters include one or more configuration parameters that configure the component. In some embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring a dimension of the component. In other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the component is enabled. In yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a configuration parameter configuring whether the component is mandatory or optional to report as part of channel state information feedback. In still yet other embodiments, the one or more configuration parameters that configure the second component 18-2 include at least a type of the codebook 24. In some embodiments, the one or more configuration parameters include one or more configuration parameters that configure how the component of a candidate precoder is a function of one or more orthogonal basis vectors. In some embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of the one or more orthogonal basis vectors. In other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors. In yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a type of the one or more orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors. In still yet other embodiments, the one or more configuration parameters include at least a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. In some embodiments, the one or more configuration parameters include a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors. In other embodiments, the one or more configuration parameters include one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors. In some embodiments, the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. In some embodiments, the communication device 12 is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and the component comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. In some embodiments, the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. In some embodiments, the method further comprises any of the steps described above for a network node 14. Other embodiments herein include a method performed by a network node 14. The method includes receiving capability signaling indicating whether a communication device 12 supports a codebook 24 of candidate precoders for precoding a transmission 16 to or from the communication device 12. In some embodiments, each of one or more candidate precoders in the codebook 24 comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook 24. In some embodiments, the capability signaling indicates a maximum number of transmit ports that the communication device 12 supports with the codebook 24. In other embodiments, the capability signaling alternatively or additionally indicates a maximum rank that the communication device 12 supports with the codebook 24. In some embodiments, the method further comprises any of the steps described above for a network node 14. Embodiments herein also include corresponding apparatuses. Embodiments herein for instance include a communication device 12 configured to perform any of the steps of any of the embodiments described above for the communication device 12. Embodiments also include a communication device 12 comprising processing circuitry and power supply circuitry. The processing circuitry is configured to perform any of the steps of any of the embodiments described above for the communication device 12. The power supply circuitry is configured to supply power to the communication device 12. Embodiments further include a communication device 12 comprising processing circuitry. The processing circuitry is configured to perform any of the steps of any of the embodiments described above for the communication device 12. In some embodiments, the communication device 12 further comprises communication circuitry. Embodiments further include a communication device 12 comprising processing circuitry and memory. The memory contains instructions executable by the processing circuitry whereby the communication device 12 is configured to perform any of the steps of any of the embodiments described above for the communication device 12. Embodiments moreover include a user equipment (UE). The UE comprises an antenna configured to send and receive wireless signals. The UE also comprises radio front-end circuitry connected to the antenna and to processing circuitry, and configured to condition signals communicated between the antenna and the processing circuitry. The processing circuitry is configured to perform any of the steps of any of the embodiments described above for the communication device 12. In some embodiments, the UE also comprises an input interface connected to the processing circuitry and configured to allow input of information into the UE to be processed by the processing circuitry. The UE may comprise an output interface connected to the processing circuitry and configured to output information from the UE that has been processed by the processing circuitry. The UE may also comprise a battery connected to the processing circuitry and configured to supply power to the UE. Embodiments herein also include a network node 14 configured to perform any of the steps of any of the embodiments described above for the network node 14. Embodiments also include a network node 14 comprising processing circuitry and power supply circuitry. The processing circuitry is configured to perform any of the steps of any of the embodiments described above for the network node 14. The power supply circuitry is configured to supply power to the network node 14. Embodiments further include a network node 14 comprising processing circuitry. The processing circuitry is configured to perform any of the steps of any of the embodiments described above for the network node 14. In some embodiments, the network node 14 further comprises communication circuitry. Embodiments further include a network node 14 comprising processing circuitry and memory. The memory contains instructions executable by the processing circuitry whereby the network node 14 is configured to perform any of the steps of any of the embodiments described above for the network node 14. More particularly, the apparatuses described above may perform the methods herein and any other processing by implementing any functional means, modules, units, or circuitry. In one embodiment, for example, the apparatuses comprise respective circuits or circuitry configured to perform the steps shown in the method figures. The circuits or circuitry in this regard may comprise circuits dedicated to performing certain functional processing and / or one or more microprocessors in conjunction with memory. For instance, the circuitry may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory, cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory may include program instructions for executing one or more telecommunications and / or data communications protocols as well as instructions for carrying out one or more of the techniques described herein, in several embodiments. In embodiments that employ memory, the memory stores program code that, when executed by the one or more processors, carries out the techniques described herein. Figure 18 for example illustrates a communication device 12 as implemented in accordance with one or more embodiments. As shown, the communication device 12 includes processing circuitry 1810 and communication circuitry 1820. The communication circuitry 1820 (e.g., radio circuitry) is configured to transmit and / or receive information to and / or from one or more other nodes, e.g., via any communication technology. Such communication may occur via one or more antennas that are either internal or external to the communication device 12. The processing circuitry 1810 is configured to perform processing described above, e.g., in Figure 15, such as by executing instructions stored in memory 1830. The processing circuitry 1810 in this regard may implement certain functional means, units, or modules. Figure 19 illustrates a network node 14 as implemented in accordance with one or more embodiments. As shown, the network node 14 includes processing circuitry 1910 and communication circuitry 1920. The communication circuitry 1920 is configured to transmit and / or receive information to and / or from one or more other nodes, e.g., via any communication technology. The processing circuitry 1910 is configured to perform processing described above, e.g., in Figure 16, such as by executing instructions stored in memory 1930. The processing circuitry 1910 in this regard may implement certain functional means, units, or modules. Those skilled in the art will also appreciate that embodiments herein further include corresponding computer programs. A computer program comprises instructions which, when executed on at least one processor of an apparatus, cause the apparatus to carry out any of the respective processing described above. A computer program in this regard may comprise one or more code modules corresponding to the means or units described above. Embodiments further include a carrier containing such a computer program. This carrier may comprise one of an electronic signal, optical signal, radio signal, or computer readable storage medium. In this regard, embodiments herein also include a computer program product stored on a non-transitory computer readable (storage or recording) medium and comprising instructions that, when executed by a processor of an apparatus, cause the apparatus to perform as described above. Embodiments further include a computer program product comprising program code portions for performing the steps of any of the embodiments herein when the computer program product is executed by a computing device. This computer program product may be stored on a computer readable recording medium. Figure 20 shows an example of a communication system 2000 in accordance with some embodiments. In the example, the communication system 2000 includes a telecommunication network 2002 that includes an access network 2004, such as a radio access network (RAN), and a core network 2006, which includes one or more core network nodes 2008. The access network 2004 includes one or more access network nodes, such as network nodes 2010a and 2010b (one or more of which may be generally referred to as network nodes 2010), or any other similar 3rd Generation Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network 2002 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 2002 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 2002, including one or more network nodes 2010 and / or core network nodes 2008. Examples of an ORAN network node include an open radio unit (O-RU), an open distributed unit (O-DU), an open central unit (O-CU), including an O-CU control plane (O-CU- CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an A1, F1, W1, E1, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an O-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes 2010 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 2012a, 2012b, 2012c, and 2012d (one or more of which may be generally referred to as UEs 2012) to the core network 2006 over one or more wireless connections. Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 2000 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 2000 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system. The UEs 2012 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 2010 and other communication devices. Similarly, the network nodes 2010 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 2012 and / or with other network nodes or equipment in the telecommunication network 2002 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 2002. In the depicted example, the core network 2006 connects the network nodes 2010 to one or more hosts, such as host 2016. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 2006 includes one more core network nodes (e.g., core network node 2008) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 2008. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF). The host 2016 may be under the ownership or control of a service provider other than an operator or provider of the access network 1904 and / or the telecommunication network 2002, and may be operated by the service provider or on behalf of the service provider. The host 2016 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server. As a whole, the communication system 2000 of Figure 20 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low- power wide-area network (LPWAN) standards such as LoRa and Sigfox. In some examples, the telecommunication network 2002 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 2002 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 2002. For example, the telecommunications network 2002 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive IoT services to yet further UEs. In some examples, the UEs 2012 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 2004 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 2004. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio – Dual Connectivity (EN-DC). In the example, the hub 2014 communicates with the access network 2004 to facilitate indirect communication between one or more UEs (e.g., UE 2012c and / or 2012d) and network nodes (e.g., network node 2010b). In some examples, the hub 2014 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 2014 may be a broadband router enabling access to the core network 2006 for the UEs. As another example, the hub 2014 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 2010, or by executable code, script, process, or other instructions in the hub 2014. As another example, the hub 2014 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 2014 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 2014 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 2014 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 2014 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy IoT devices. The hub 2014 may have a constant / persistent or intermittent connection to the network node 2010b. The hub 2014 may also allow for a different communication scheme and / or schedule between the hub 2014 and UEs (e.g., UE 2012c and / or 2012d), and between the hub 2014 and the core network 2006. In other examples, the hub 2014 is connected to the core network 2006 and / or one or more UEs via a wired connection. Moreover, the hub 2014 may be configured to connect to an M2M service provider over the access network 2004 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 2010 while still connected via the hub 2014 via a wired or wireless connection. In some embodiments, the hub 2014 may be a dedicated hub – that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 2010b. In other embodiments, the hub 2014 may be a non-dedicated hub – that is, a device which is capable of operating to route communications between the UEs and network node 2010b, but which is additionally capable of operating as a communication start and / or end point for certain data channels. Figure 21 shows a UE 2100 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB- IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE. A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter). The UE 2100 includes processing circuitry 2102 that is operatively coupled via a bus 2104 to an input / output interface 2106, a power source 2108, a memory 2110, a communication interface 2112, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 21. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc. The processing circuitry 2102 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 2110. The processing circuitry 2102 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 2102 may include multiple central processing units (CPUs). In the example, the input / output interface 2106 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 2100. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device. In some embodiments, the power source 2108 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 2108 may further include power circuitry for delivering power from the power source 2108 itself, and / or an external power source, to the various parts of the UE 2100 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 2108. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 2108 to make the power suitable for the respective components of the UE 2100 to which power is supplied. The memory 2110 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 2110 includes one or more application programs 2114, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 2116. The memory 2110 may store, for use by the UE 2100, any of a variety of various operating systems or combinations of operating systems. The memory 2110 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 2110 may allow the UE 2100 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 2110, which may be or comprise a device-readable storage medium. The processing circuitry 2102 may be configured to communicate with an access network or other network using the communication interface 2112. The communication interface 2112 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 2122. The communication interface 2112 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 2118 and / or a receiver 2120 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 2118 and receiver 2120 may be coupled to one or more antennas (e.g., antenna 2122) and may share circuit components, software or firmware, or alternatively be implemented separately. In the illustrated embodiment, communication functions of the communication interface 2112 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth. Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 2112, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient). As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input. A UE, when in the form of an Internet of Things (IoT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an IoT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an IoT device comprises circuitry and / or software in dependence of the intended application of the IoT device in addition to other components as described in relation to the UE 2100 shown in Figure 21. As yet another specific example, in an IoT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation. In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators. Figure 22 shows a network node 2200 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)), O-RAN nodes or components of an O-RAN node (e.g., O-RU, O-DU, O-CU). Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units, distributed units (e.g., in an O-RAN access node) and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS). Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs). The network node 2200 includes a processing circuitry 2202, a memory 2204, a communication interface 2206, and a power source 2208. The network node 2200 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 2200 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node 2200 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 2204 for different RATs) and some components may be reused (e.g., a same antenna 2210 may be shared by different RATs). The network node 2200 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 2200, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node 2200. The processing circuitry 2202 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node 2200 components, such as the memory 2204, to provide network node 2200 functionality. In some embodiments, the processing circuitry 2202 includes a system on a chip (SOC). In some embodiments, the processing circuitry 2202 includes one or more of radio frequency (RF) transceiver circuitry 2212 and baseband processing circuitry 2214. In some embodiments, the radio frequency (RF) transceiver circuitry 2212 and the baseband processing circuitry 2214 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry 2212 and baseband processing circuitry 2214 may be on the same chip or set of chips, boards, or units. The memory 2204 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 2202. The memory 2204 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry 2202 and utilized by the network node 2200. The memory 2204 may be used to store any calculations made by the processing circuitry 2202 and / or any data received via the communication interface 2206. In some embodiments, the processing circuitry 2202 and memory 2204 is integrated. The communication interface 2206 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface 2206 comprises port(s) / terminal(s) 2216 to send and receive data, for example to and from a network over a wired connection. The communication interface 2206 also includes radio front-end circuitry 2218 that may be coupled to, or in certain embodiments a part of, the antenna 2210. Radio front-end circuitry 2218 comprises filters 2220 and amplifiers 2222. The radio front-end circuitry 2218 may be connected to an antenna 2210 and processing circuitry 2202. The radio front-end circuitry may be configured to condition signals communicated between antenna 2210 and processing circuitry 2202. The radio front-end circuitry 2218 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 2218 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 2220 and / or amplifiers 2222. The radio signal may then be transmitted via the antenna 2210. Similarly, when receiving data, the antenna 2210 may collect radio signals which are then converted into digital data by the radio front-end circuitry 2218. The digital data may be passed to the processing circuitry 2202. In other embodiments, the communication interface may comprise different components and / or different combinations of components. In certain alternative embodiments, the network node 2200 does not include separate radio front-end circuitry 2218, instead, the processing circuitry 2202 includes radio front-end circuitry and is connected to the antenna 2210. Similarly, in some embodiments, all or some of the RF transceiver circuitry 2212 is part of the communication interface 2206. In still other embodiments, the communication interface 2206 includes one or more ports or terminals 2216, the radio front-end circuitry 2218, and the RF transceiver circuitry 2212, as part of a radio unit (not shown), and the communication interface 2206 communicates with the baseband processing circuitry 2214, which is part of a digital unit (not shown). The antenna 2210 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 2210 may be coupled to the radio front-end circuitry 2218 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 2210 is separate from the network node 2200 and connectable to the network node 2200 through an interface or port. The antenna 2210, communication interface 2206, and / or the processing circuitry 2202 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna 2210, the communication interface 2206, and / or the processing circuitry 2202 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment. The power source 2208 provides power to the various components of network node 2200 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 2208 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 2200 with power for performing the functionality described herein. For example, the network node 2200 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 2208. As a further example, the power source 2208 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail. Embodiments of the network node 2200 may include additional components beyond those shown in Figure 22 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node 2200 may include user interface equipment to allow input of information into the network node 2200 and to allow output of information from the network node 2200. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 2200. Figure 23 is a block diagram of a host 2300, which may be an embodiment of the host 2016 of Figure 20, in accordance with various aspects described herein. As used herein, the host 2300 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 2300 may provide one or more services to one or more UEs. The host 2300 includes processing circuitry 2302 that is operatively coupled via a bus 2304 to an input / output interface 2306, a network interface 2308, a power source 2310, and a memory 2312. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures 21 and 22, such that the descriptions thereof are generally applicable to the corresponding components of host 2300. The memory 2312 may include one or more computer programs including one or more host application programs 2314 and data 2316, which may include user data, e.g., data generated by a UE for the host 2300 or data generated by the host 2300 for a UE. Embodiments of the host 2300 may utilize only a subset or all of the components shown. The host application programs 2314 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs 2314 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 2300 may select and / or indicate a different host for over-the-top services for a UE. The host application programs 2314 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc. Figure 24 is a block diagram illustrating a virtualization environment 2400 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 2400 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment 2400 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an O-2 interface. Applications 2402 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment 2400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein. Hardware 2404 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 2406 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 2408a and 2408b (one or more of which may be generally referred to as VMs 2408), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 2406 may present a virtual operating platform that appears like networking hardware to the VMs 2408. The VMs 2408 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 2406. Different embodiments of the instance of a virtual appliance 2402 may be implemented on one or more of VMs 2408, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment. In the context of NFV, a VM 2408 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 2408, and that part of hardware 2404 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 2408 on top of the hardware 2404 and corresponds to the application 2402. Hardware 2404 may be implemented in a standalone network node with generic or specific components. Hardware 2404 may implement some functions via virtualization. Alternatively, hardware 2404 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 2410, which, among others, oversees lifecycle management of applications 2402. In some embodiments, hardware 2404 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 2412 which may alternatively be used for communication between hardware nodes and radio units. Figure 25 shows a communication diagram of a host 2502 communicating via a network node 2504 with a UE 2506 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 2012a of Figure 20 and / or UE 2100 of Figure 21), network node (such as network node 2010a of Figure 20 and / or network node 2200 of Figure 22), and host (such as host 2016 of Figure 20 and / or host 2300 of Figure 23) discussed in the preceding paragraphs will now be described with reference to Figure 25. Like host 2300, embodiments of host 2502 include hardware, such as a communication interface, processing circuitry, and memory. The host 2502 also includes software, which is stored in or accessible by the host 2502 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 2506 connecting via an over-the-top (OTT) connection 2550 extending between the UE 2506 and host 2502. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 2550. The network node 2504 includes hardware enabling it to communicate with the host 2502 and UE 2506. The connection 2560 may be direct or pass through a core network (like core network 2006 of Figure 20) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet. The UE 2506 includes hardware and software, which is stored in or accessible by UE 2506 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 2506 with the support of the host 2502. In the host 2502, an executing host application may communicate with the executing client application via the OTT connection 2550 terminating at the UE 2506 and host 2502. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 2550 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 2550. The OTT connection 2550 may extend via a connection 2560 between the host 2502 and the network node 2504 and via a wireless connection 2570 between the network node 2504 and the UE 2506 to provide the connection between the host 2502 and the UE 2506. The connection 2560 and wireless connection 2570, over which the OTT connection 2550 may be provided, have been drawn abstractly to illustrate the communication between the host 2502 and the UE 2506 via the network node 2504, without explicit reference to any intermediary devices and the precise routing of messages via these devices. As an example of transmitting data via the OTT connection 2550, in step 2508, the host 2502 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 2506. In other embodiments, the user data is associated with a UE 2506 that shares data with the host 2502 without explicit human interaction. In step 2510, the host 2502 initiates a transmission carrying the user data towards the UE 2506. The host 2502 may initiate the transmission responsive to a request transmitted by the UE 2506. The request may be caused by human interaction with the UE 2506 or by operation of the client application executing on the UE 2506. The transmission may pass via the network node 2504, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 2512, the network node 2504 transmits to the UE 2506 the user data that was carried in the transmission that the host 2502 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 2514, the UE 2506 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 2506 associated with the host application executed by the host 2502. In some examples, the UE 2506 executes a client application which provides user data to the host 2502. The user data may be provided in reaction or response to the data received from the host 2502. Accordingly, in step 2516, the UE 2506 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE 2506. Regardless of the specific manner in which the user data was provided, the UE 2506 initiates, in step 2518, transmission of the user data towards the host 2502 via the network node 2504. In step 2520, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 2504 receives user data from the UE 2506 and initiates transmission of the received user data towards the host 2502. In step 2522, the host 2502 receives the user data carried in the transmission initiated by the UE 2506. One or more of the various embodiments improve the performance of OTT services provided to the UE 2506 using the OTT connection 2550, in which the wireless connection 2570 forms the last segment. In an example scenario, factory status information may be collected and analyzed by the host 2502. As another example, the host 2502 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 2502 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 2502 may store surveillance video uploaded by a UE. As another example, the host 2502 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 2502 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data. In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 2550 between the host 2502 and UE 2506, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 2502 and / or UE 2506. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 2550 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 2550 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 2504. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host 2502. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 2550 while monitoring propagation times, errors, etc. Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware. In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer- readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally. Some embodiments herein may be enumerated as follows. Group A Embodiments A1. A method performed by a communication device, the method comprising: determining, from one or more codebooks, a precoder for precoding a transmission between the communication device and a network node, wherein the determined precoder comprises: a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; and transmitting or receiving the transmission as precoded with the determined precoder. A2. The method of embodiment A1, wherein the transmission is to be performed via an antenna array, and wherein: the antenna array has non-uniformly spaced antenna elements; and / or the transmission is to be received in a near-field of the antenna array. A3. The method of any of embodiments A1-A2, wherein the transmission is to be performed via an antenna array, and wherein: the first component is based on an assumption that the antenna array has uniformly spaced antenna elements; and the second component accounts for and / or is based on the antenna array having non-uniformly spaced antenna elements. A4. The method of any of embodiments A1-A3, wherein the transmission is to be performed via an antenna array, and wherein: the first component is based on an assumption that the transmission is received in a far- field of the antenna array; and the second component accounts for and / or is based on the transmission being received in a near-field of the antenna array. A5. The method of any of embodiments A1-A4, further comprising performing one or more measurements of a channel between the communication device and the network node, and wherein determining the precoder comprises determining the first component to include one or more DFT precoding vectors that respectively correspond to one or more directions of one or more strongest propagation paths between the communication device and the network node according to the one or more measurements. A6. The method of embodiment A5, wherein the transmission is to be performed via an antenna array, and wherein: the one or more directions are determined based on an assumption that the antenna array has uniformly spaced antenna elements and / or that the transmission is to be received in a far-field of the antenna array; the one or more directions are common across all antenna elements of the antenna array; and / or the one or more directions are determined with respect to the communication device and / or network node as a whole, not with respect to any individual antenna element of the antenna array. A7. The method of any of embodiments A5-A6, wherein the transmission is to be performed via an antenna array, and wherein determining the precoder further comprises determining the second component to adjust the one or more DFT precoding vectors to respectively correspond to one or more directions of one or more strongest propagation paths with respect to individual antenna elements of the antenna array according to the one or more measurements. A8. The method of any of embodiments A1-A7, wherein the one or more DFT precoding vectors are one or more DFT-based spatial domain, SD, basis vectors. A9. The method of embodiment A8, wherein the first component comprises a combination of multiple DFT-based SD basis vectors. A10. The method of any of embodiments A1-A9, wherein the second component comprises one or more perturbation components that adjust a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. A11. The method of any of embodiments A1-A10, wherein the second component adjusts a phase of each element in at least one of the one or more DFT precoding vectors. A12. The method of any of embodiments A1-A11, wherein the second component adjusts an amplitude of each element in at least one of the one or more DFT precoding vectors. A13. The method of any of embodiments A1-A12, wherein the transmission is to be performed via an antenna array with at least some co-located elements that have orthogonal polarizations, and wherein the second component adjusts a phase of elements in the antenna array that are co-located with orthogonal polarizations by the same factor. A14. The method of any of embodiments A1-A13, wherein the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and wherein the second component comprises a first dimension subcomponent that adjusts a phase and / or an amplitude of each element in the first dimension DFT precoding vector and a second dimension subcomponent that adjusts a phase and / or an amplitude of each element in the second dimension DFT precoding vector. A15. The method of any of embodiments A1-A14, wherein the second component comprises complex coefficients that adjust the phase and / or amplitude of each element in at least one of the one or more DFT precoding vectors. A16. The method of embodiment A15, wherein the second component comprises quantized values of phases of the complex coefficients. A17. The method of any of embodiments A1-A16, wherein determining the precoder comprising determining the second component by: determining a nominal second component from one or more channel measurements; and determining the second component to be a quantized version of the nominal second component, by approximating the nominal second component as a function of one or more orthogonal basis vectors. A18. The method of embodiment A17, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors or one or more wavelet-based basis vectors. A19. The method of any of embodiments A17-A18, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors selected from a DFT matrix. A20. The method of any of embodiments A17-A18, wherein the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors selected from a wavelet-based transformation matrix. A21. The method of any of embodiments A17-A20, wherein approximating the nominal second component comprises approximating the nominal second component as a combination of multiple orthogonal basis vectors. A22. The method of embodiment A21, wherein approximating the nominal second component as a combination of multiple orthogonal basis vectors comprises approximating the nominal second component as a combination of multiple orthogonal basis vectors, with the multiple orthogonal basis vectors being combined as a function of one or more combining coefficients. A23. The method of any of embodiments A17-A22, further comprising determining one or more configuration parameters that configure how to quantize the nominal second component as a function of one or more orthogonal basis vectors. A24. The method of embodiment A23, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. A25. The method of any of embodiments A23-A24, wherein the one or more configuration parameters include: a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors; or one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. A26. The method of any of embodiments A1-A22, further comprising determining one or more configuration parameters that configure the second component, and determining the second component according to the one or more configuration parameters that configure the second component. A27. The method of embodiment A26, wherein the one or more configuration parameters that configure the second component include one or more of: a configuration parameter configuring a dimension of the second component; a configuration parameter configuring whether the second component is enabled; a configuration parameter configuring whether the second component is mandatory or optional to report as part of channel state information feedback; and / or one or more types of the one or more codebooks. A28. The method of any of embodiments A23-A27, wherein determining the one or more configuration parameters comprises determining at least one of the one or more configuration parameters from one or more parameters configuring the first component. A29. The method of embodiment A28, wherein the one or more parameters configuring the first component include a parameter configuring a number of reference signal ports. A30. The method of any of embodiments A23-A27, wherein determining the one or more configuration parameters comprises determining at least one of the one or more configuration parameters from signaling received from the network node. A31. The method of any of embodiments A1-A30, wherein the communication device is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the second component comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. A32. The method of embodiment A31, further comprising receiving one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. A33. The method of any of embodiments A31-A32, wherein the transmission is a coherent joint transmission, wherein each of the K CSI-RS resources represents a transmission reception point, TRP, that is to take part in the coherent joint transmission. A34. The method of any of embodiments A1-A33, wherein the one or more DFT precoding vectors correspond to one or more beams, and wherein the second component adjusts a shape of the one or more beams according to a channel measurement by the communication device. A35. The method of any of embodiments A1-A34, wherein the one or more codebooks include a multi-component codebook with one or more candidate precoders that each comprises: a first component formed from one or more DFT precoding vectors; and a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. A36. The method of embodiment A35, further comprising transmitting capability signaling indicating that the communication device supports the multi-component codebook. A37. The method of embodiment A36, wherein the capability signaling indicates: a maximum number of transmit ports that the communication device supports with the multi-component codebook; and / or a maximum rank that the communication device supports with the multi-component codebook. A38. The method of any of embodiments A1-A37, wherein the transmission is to be performed via an antenna array, and wherein the method further comprises receiving signaling indicating whether the communication device is in a near-field or a far-field of the antenna array, and wherein the precoder is determined based on whether the communication device is in the near-field or the far-field of the antenna array according to the signaling. A39. The method of any of embodiments A1-A38, further comprising transmitting signaling that indicates the determined precoder. A40. The method of embodiment A39, wherein the signaling is a channel state information report that recommends the determined precoder for the transmission. A41. The method of embodiment A39, wherein the signaling indicates that the transmission is to be precoded with the determined precoder. A42. The method of any of embodiments A39-A41, wherein the signaling indicates the determined precoder by indicating the first component and the second component. A43. The method of embodiment A42, wherein the second component comprises multiple subcomponents, and wherein the signaling indicates the multiple subcomponents of the second component by indicating one or more respective differential values of one or more of the subcomponents relative to an absolute value of a reference subcomponent. A44. The method of embodiment A43, wherein the absolute value of the reference subcomponent is quantized according to a first quantization scheme, and wherein the one or more respective differential values of one or more of the subcomponents are quantized according to a second quantization scheme different from the first quantization scheme. A45. The method of any of embodiments A1-A44, wherein the second component comprises one or more matrices, one or more vectors, a set of one or more coefficients, or one or more indices referring to one or more predefined coefficient values. A46. The method of any of embodiments A1-A45, wherein the transmission is a downlink transmission. A47. The method of any of embodiments A1-A45, wherein the transmission is an uplink transmission. A48. The method of any of embodiments A1-A47, wherein the one or more DFT precoding vectors that form the first component each have a phase slope that is linear, and wherein the second component adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. A49. The method of any of embodiments A1-A48, wherein the one or more DFT precoding vectors that form the first component each have a phase slope that is linear, and wherein the second component comprises one or more perturbation components that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. A50. The method of any of embodiments A1-A49, wherein the one or more DFT precoding vectors that form the first component each have a phase slope that is linear, wherein the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and wherein the second component comprises a first dimension subcomponent that adjust the phase slope of the first dimension DFT precoding vector to be non-linear and a second dimension subcomponent that adjust the phase slope of the second dimension DFT precoding vector to be non-linear. A51. The method of any of embodiments A1-A50, wherein the second component comprises complex coefficients that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. A52. The method of any of embodiments A1-A51, wherein the one or more codebooks include a multi-component codebook, wherein each of one or more candidate precoders in the multi-component codebook comprises: a first component formed from one or more DFT precoding vectors, each with a phase slope that is linear; and a second component that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. A53. The method of any of embodiments A1-A52, wherein the network node is a radio network node. A54. The method of any of claims A1-A34 and A38-A53, wherein the one or more codebooks include: a first codebook with one or more candidate precoders that each comprises a first component formed from one or more DFT precoding vectors; and a second codebook with one or more candidate precoders that each comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. A55. The method of embodiment A54, further comprising transmitting capability signaling indicating that the communication device supports the second codebook. A56. The method of embodiment A55, wherein the capability signaling indicates: a maximum number of transmit ports that the communication device supports with the second codebook; and / or a maximum rank that the communication device supports with the second codebook. A57. The method of any of embodiments A1-A51, wherein the one or more codebooks include: a first codebook with one or more candidate precoders that each include a first component formed from one or more DFT precoding vectors, each with a phase slope that is linear; and a second codebook with one or more candidate precoders that each include a second component that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. AA1. A method performed by a communication device, the method comprising: receiving one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device, wherein each of one or more candidate precoders in the codebook comprises: a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; and AA2. The method of embodiment AA1, wherein the one or more configuration parameters include one or more configuration parameters that configure the second component. AA3. The method of embodiment AA2, wherein the one or more configuration parameters that configure the second component include one or more of: a configuration parameter configuring a dimension of the second component; a configuration parameter configuring whether the second component is enabled; a configuration parameter configuring whether the second component is mandatory or optional to report as part of channel state information feedback; and / or a type of the codebook. AA4. The method of any of embodiments AA1-AA3, wherein the one or more configuration parameters include one or more configuration parameters that configure how the second component of a candidate precoder is a function of one or more orthogonal basis vectors. AA5. The method of embodiment AA4, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. AA6. The method of embodiment AA5, wherein the one or more configuration parameters include: a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors; or one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. AA7. The method of any of embodiments AA1-AA6, wherein the communication device is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the second component of a candidate precoder comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources, and wherein the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI- RS resources for which the subcomponents are to be computed. AA8. The method of any of embodiments AA1-AA7, further comprising any of the steps of any of embodiments A1-A53. AAA1. A method performed by a communication device, the method comprising: transmitting capability signaling indicating whether the communication device supports a codebook of candidate precoders for precoding a transmission to or from the communication device, wherein each of one or more candidate precoders in the codebook comprises: a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; and AAA2. The method of embodiment AAA1, wherein the capability signaling indicates: a maximum number of transmit ports that the communication device supports with the codebook; and / or a maximum rank that the communication device supports with the codebook. AAA3. The method of any of embodiments AAA1-AAA2, further comprising any of the steps of any of embodiments A1-A53. AAAA1. A method performed by a communication device, the method comprising: receiving one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device, wherein each of one or more candidate precoders in the codebook comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook. AAAA2. The method of embodiment AAAA1, wherein the one or more configuration parameters include one or more configuration parameters that configure the component. AAAA3. The method of embodiment AAAA2, wherein the one or more configuration parameters that configure the second component include one or more of: a configuration parameter configuring a dimension of the component; a configuration parameter configuring whether the component is enabled; a configuration parameter configuring whether the component is mandatory or optional to report as part of channel state information feedback; and / or a type of the codebook. AAAA4. The method of any of embodiments AAAA1-AAAA3, wherein the one or more configuration parameters include one or more configuration parameters that configure how the component of a candidate precoder is a function of one or more orthogonal basis vectors. AAAA5. The method of embodiment AAAA4, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. AAAA6. The method of embodiment AAAA5, wherein the one or more configuration parameters include: a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors; or one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. AAAA7. The method of any of embodiments AAAA1-AAAA6, wherein the communication device is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the component comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources, and wherein the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. AAAA8. The method of any of embodiments AAAA1-AAAA7, further comprising any of the steps of any of embodiments A1-A53. AAAAA1. A method performed by a communication device, the method comprising: transmitting capability signaling indicating whether the communication device supports a codebook of candidate precoders for precoding a transmission to or from the communication device, wherein each of one or more candidate precoders in the codebook comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook. AAAAA2. The method of embodiment AAAAA1, wherein the capability signaling indicates: a maximum number of transmit ports that the communication device supports with the codebook; and / or a maximum rank that the communication device supports with the codebook. AAAAA3. The method of any of embodiments AAAAA1-AAAAA2, further comprising any of the steps of any of embodiments A1-A53. AA. The method of any of the previous embodiments, further comprising: providing user data; and forwarding the user data to a host computer via the transmission to a base station. Group B Embodiments B1. A method performed by a network node, the method comprising: determining, from one or more codebooks, a precoder for precoding a transmission between a communication device and the network node, wherein the determined precoder comprises: a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; and transmitting or receiving the transmission as precoded with the determined precoder. B2. The method of embodiment B1, wherein the transmission is to be performed via an antenna array, and wherein: the antenna array has non-uniformly spaced antenna elements; and / or the transmission is to be received in a near-field of the antenna array. B3. The method of any of embodiments B1-B2, wherein the transmission is to be performed via an antenna array, and wherein: the first component is based on an assumption that the antenna array has uniformly spaced antenna elements; and the second component accounts for and / or is based on the antenna array having non-uniformly spaced antenna elements. B4. The method of any of embodiments B1-B3, wherein the transmission is to be performed via an antenna array, and wherein: the first component is based on an assumption that the transmission is received in a far- field of the antenna array; and the second component accounts for and / or is based on the transmission being received in a near-field of the antenna array. B5. The method of any of embodiments B1-B4, further comprising performing one or more measurements of a channel between the communication device and the network node, and wherein determining the precoder comprises determining the first component to include one or more DFT precoding vectors that respectively correspond to one or more directions of one or more strongest propagation paths between the communication device and the network node according to the one or more measurements. B6. The method of embodiment B5, wherein the transmission is to be performed via an antenna array, and wherein: the one or more directions are determined based on an assumption that the antenna array has uniformly spaced antenna elements and / or that the transmission is to be received in a far-field of the antenna array; the one or more directions are common across all antenna elements of the antenna array; and / or the one or more directions are determined with respect to the first and / or network node as a whole, not with respect to any individual antenna element of the antenna array. B7. The method of any of embodiments B5-B6, wherein the transmission is to be performed via an antenna array, and wherein determining the precoder further comprises determining the second component to adjust the one or more DFT precoding vectors to respectively correspond to one or more directions of one or more strongest propagation paths with respect to individual antenna elements of the antenna array according to the one or more measurements. B8. The method of any of embodiments B1-B7, wherein the one or more DFT precoding vectors are one or more DFT-based spatial domain, SD, basis vectors. B9. The method of embodiment B8, wherein the first component comprises a combination of multiple DFT-based SD basis vectors. B10. The method of any of embodiments B1-B9, wherein the second component comprises one or more perturbation components that adjust a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. B11. The method of any of embodiments B1-B10, wherein the second component adjusts a phase of each element in at least one of the one or more DFT precoding vectors. B12. The method of any of embodiments B1-B11, wherein the second component adjusts an amplitude of each element in at least one of the one or more DFT precoding vectors. B13. The method of any of embodiments B1-B12, wherein the transmission is to be performed via an antenna array with at least some co-located elements that have orthogonal polarizations, and wherein the second component adjusts a phase of elements in the antenna array that are co-located with orthogonal polarizations by the same factor. B14. The method of any of embodiments B1-B13, wherein the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and wherein the second component comprises a first dimension subcomponent that adjusts a phase and / or an amplitude of each element in the first dimension DFT precoding vector and a second dimension subcomponent that adjusts a phase and / or an amplitude of each element in the second dimension DFT precoding vector. B15. The method of any of embodiments B1-B14, wherein the second component comprises complex coefficients that adjust the phase and / or amplitude of each element in at least one of the one or more DFT precoding vectors. B16. The method of embodiment B15, wherein the second component comprises quantized values of phases of the complex coefficients. B17. The method of any of embodiments B1-B16, wherein determining the precoder comprising determining the second component by: determining a nominal second component from one or more channel measurements; and determining the second component to be a quantized version of the nominal second component, by approximating the nominal second component as a function of one or more orthogonal basis vectors. B18. The method of embodiment B17, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors or one or more wavelet-based basis vectors. B19. The method of any of embodiments B17-B18, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors selected from a DFT matrix. B20. The method of any of embodiments B17-B18, wherein the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors selected from a wavelet-based transformation matrix. B21. The method of any of embodiments B17-B20, wherein approximating the nominal second component comprises approximating the nominal second component as a combination of multiple orthogonal basis vectors. B22. The method of embodiment B21, wherein approximating the nominal second component as a combination of multiple orthogonal basis vectors comprises approximating the nominal second component as a combination of multiple orthogonal basis vectors, with the multiple orthogonal basis vectors being combined as a function of one or more combining coefficients. B23. The method of any of embodiments B17-B22, further comprising determining one or more configuration parameters that configure how to quantize the nominal second component as a function of one or more orthogonal basis vectors. B24. The method of embodiment B23, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. B25. The method of any of embodiments B23-B24, wherein the one or more configuration parameters include: a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors; or one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. B26. The method of any of embodiments B1-B22, further comprising determining one or more configuration parameters that configure the second component, and determining the second component according to the one or more configuration parameters that configure the second component. B27. The method of embodiment B26, wherein the one or more configuration parameters that configure the second component include one or more of: a configuration parameter configuring a dimension of the second component; a configuration parameter configuring whether the second component is enabled; a configuration parameter configuring whether the second component is mandatory or optional to report as part of channel state information feedback; and / or a type of the codebook. B28. The method of any of embodiments B23-B27, wherein determining the one or more configuration parameters comprises determining at least one of the one or more configuration parameters from one or more parameters configuring the first component. B29. The method of embodiment B28, wherein the one or more parameters configuring the first component include a parameter configuring a number of reference signal ports. B30. The method of any of embodiments B23-B27, further comprising transmitting signaling to the communication device indicating at least one of the one or more configuration parameters. B31. The method of any of embodiments B1-B30, wherein the communication device is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the second component comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources. B32. The method of embodiment B31, further comprising transmitting, to the communication device, one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. B33. The method of any of embodiments B31-B32, wherein the transmission is a coherent joint transmission, wherein each of the K CSI-RS resources represents a transmission reception point, TRP, that is to take part in the coherent joint transmission. B34. The method of any of embodiments B1-B33, wherein the one or more DFT precoding vectors correspond to one or more beams, and wherein the second component adjusts a shape of the one or more beams according to a channel measurement by the communication device. B35. The method of any of embodiments B1-B34, wherein the one or more codebooks include a multi-component codebook, wherein each of one or more candidate precoders in the multi-component codebook comprises: a first component formed from one or more DFT precoding vectors; and a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. B36. The method of embodiment B35, further comprising receiving capability signaling indicating that the communication device supports the multi-component codebook. B37. The method of embodiment B36, wherein the capability signaling indicates: a maximum number of transmit ports that the communication device supports with the multi-component codebook; and / or a maximum rank that the communication device supports with the multi-component codebook. B38. The method of any of embodiments B1-B37, wherein the transmission is to be performed via an antenna array, and wherein the method further comprises transmitting signaling indicating whether the communication device is in a near-field or a far-field of the antenna array, and wherein the precoder is determined based on whether the communication device is in the near-field or the far-field of the antenna array according to the signaling. B39. The method of any of embodiments B1-B38, further comprising transmitting or receiving signaling that indicates the determined precoder. B40. The method of embodiment B39, wherein the signaling is a channel state information report that recommends the determined precoder for the transmission. B41. The method of embodiment B39, wherein the signaling indicates that the transmission is to be precoded with the determined precoder. B42. The method of any of embodiments B39-B41, wherein the signaling indicates the determined precoder by indicating the first component and the second component. B43. The method of embodiment B42, wherein the second component comprises multiple subcomponents, and wherein the signaling indicates the multiple subcomponents of the second component by indicating one or more respective differential values of one or more of the subcomponents relative to an absolute value of a reference subcomponent. B44. The method of embodiment B43, wherein the absolute value of the reference subcomponent is quantized according to a first quantization scheme, and wherein the one or more respective differential values of one or more of the subcomponents are quantized according to a second quantization scheme different from the first quantization scheme. B45. The method of any of embodiments B1-B44, wherein the second component comprises one or more matrices, one or more vectors, a set of one or more coefficients, or one or more indices referring to one or more predefined coefficient values. B46. The method of any of embodiments B1-B45, wherein the transmission is a downlink transmission. B47. The method of any of embodiments B1-B45, wherein the transmission is an uplink transmission. B48. The method of any of embodiments B1-B47, wherein the one or more DFT precoding vectors that form the first component each have a phase slope that is linear, and wherein the second component adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. B49. The method of any of embodiments B1-B48, wherein the one or more DFT precoding vectors that form the first component each have a phase slope that is linear, and wherein the second component comprises one or more perturbation components that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. B50. The method of any of embodiments B1-B49, wherein the one or more DFT precoding vectors that form the first component each have a phase slope that is linear, wherein the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and wherein the second component comprises a first dimension subcomponent that adjust the phase slope of the first dimension DFT precoding vector to be non-linear and a second dimension subcomponent that adjust the phase slope of the second dimension DFT precoding vector to be non-linear. B51. The method of any of embodiments B1-B50, wherein the second component comprises complex coefficients that adjust the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. B52. The method of any of embodiments B1-B51, wherein the one or more codebooks include a multi-component codebook, wherein each of one or more candidate precoders in the multi-component codebook comprises: a first component formed from one or more DFT precoding vectors, each with a phase slope that is linear; and a second component that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. B53. The method of any of embodiments B1-B52, wherein the network node is a radio network node. B54. The method of any of claims B1-B34 and B38-B53, wherein the one or more codebooks include: a first codebook with one or more candidate precoders that each comprises a first component formed from one or more DFT precoding vectors; and a second codebook with one or more candidate precoders that each comprises a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. B55. The method of embodiment B54, further comprising receiving capability signaling indicating that the communication device supports the second codebook. B56. The method of embodiment B55, wherein the capability signaling indicates: a maximum number of transmit ports that the communication device supports with the second codebook; and / or a maximum rank that the communication device supports with the second codebook. B57. The method of any of embodiments B1-B51, wherein the one or more codebooks include: a first codebook with one or more candidate precoders that each include a first component formed from one or more DFT precoding vectors, each with a phase slope that is linear; and a second codebook with one or more candidate precoders that each include a second component that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear. BB1. A method performed by a network node, the method comprising: transmitting, to a communication device, one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device, wherein each of one or more candidate precoders in the codebook comprises: a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. BB2. The method of embodiment BB1, wherein the one or more configuration parameters include one or more configuration parameters that configure the second component. BB3. The method of embodiment BB2, wherein the one or more configuration parameters that configure the second component include one or more of: a configuration parameter configuring a dimension of the second component; a configuration parameter configuring whether the second component is enabled; a configuration parameter configuring whether the second component is mandatory or optional to report as part of channel state information feedback; and / or a type of the codebook. BB4. The method of any of embodiments BB1-BB3, wherein the one or more configuration parameters include one or more configuration parameters that configure how the second component of a candidate precoder is a function of one or more orthogonal basis vectors. BB5. The method of embodiment BB4, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. BB6. The method of embodiment BB5, wherein the one or more configuration parameters include: a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors; or one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. BB7. The method of any of embodiments BB1-BB6, wherein the communication device is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the second component of a candidate precoder comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources, and wherein the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI- RS resources for which the subcomponents are to be computed. BB8. The method of any of embodiments BB1-BB7, further comprising any of the steps of any of embodiments B1-B53. BBB1. A method performed by a network node, the method comprising: receiving capability signaling indicating whether a communication device supports a codebook of candidate precoders for precoding a transmission to or from the communication device, wherein each of one or more candidate precoders in the codebook comprises: a first component formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. BBB2. The method of embodiment BBB1, wherein the capability signaling indicates: a maximum number of transmit ports that the communication device supports with the codebook; and / or a maximum rank that the communication device supports with the codebook. BBB3. The method of any of embodiments BBB1-BBB2, further comprising any of the steps of any of embodiments B1-B52. BBBB1. A method performed by a network node, the method comprising: transmitting, to a communication device, one or more configuration parameters that configure a codebook of candidate precoders for precoding a transmission to or from the communication device, wherein each of one or more candidate precoders in the codebook comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook. BBBB2. The method of embodiment BBBB1, wherein the one or more configuration parameters include one or more configuration parameters that configure the component. BBBB3. The method of embodiment BBBB2, wherein the one or more configuration parameters that configure the second component include one or more of: a configuration parameter configuring a dimension of the component; a configuration parameter configuring whether the component is enabled; a configuration parameter configuring whether the component is mandatory or optional to report as part of channel state information feedback; and / or a type of the codebook. BBBB4. The method of any of embodiments BBBB1-BBBB3, wherein the one or more configuration parameters include one or more configuration parameters that configure how the component of a candidate precoder is a function of one or more orthogonal basis vectors. BBBB5. The method of embodiment BBBB4, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient. BBBB6. The method of embodiment BBBB5, wherein the one or more configuration parameters include: a configuration parameter configuring an oversampling factor of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors; or one or more configuration parameters configuring a mother wavelet and / or a father wavelet of the one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more wavelet-based basis vectors. BBBB7. The method of any of embodiments BBBB1-BBBB6, wherein the communication device is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the component comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources, and wherein the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed. BBBB8. The method of any of embodiments BBBB1-BBBB7, further comprising any of the steps of any of embodiments B1-B53. BBBBB1. A method performed by a network node, the method comprising: receiving capability signaling indicating whether a communication device supports a codebook of candidate precoders for precoding a transmission to or from the communication device, wherein each of one or more candidate precoders in the codebook comprises a component that adjusts a phase and / or an amplitude of each element in at least one of one or more Discrete Fourier Transform, DFT, precoding vectors in another codebook. BBBBB2. The method of embodiment BBBBB1, wherein the capability signaling indicates: a maximum number of transmit ports that the communication device supports with the codebook; and / or a maximum rank that the communication device supports with the codebook. BBBBB3. The method of any of embodiments BBBBB1-BBBBB2, further comprising any of the steps of any of embodiments B1-B53. BB. The method of any of the previous embodiments, further comprising: obtaining user data; and forwarding the user data to a host computer or a communication device. Group X Embodiments 1. A method, performed by a communication device, for calculating precoding vectors for DL transmission according to a codebook, wherein the codebook contains at least the following components: a. DFT-based SD basis vector(s); and b. One or multiple perturbation components. 2. a. 1b wherein the one or multiple perturbation components contains complex coefficients that modifies the DFT-based SD basis vector(s) in 1a. b. 2a wherein the same perturbation component is applied on different polarizations c. 2a wherein different perturbation components are applied on different dimensions of the selected SD basis vector(s), e.g., one perturbation component for the selected vertical SD basis vector and one for the selected horizontal SD basis vector. d. 2a wherein one perturbation component is applied for one selected SD basis vector. e. 2a wherein the perturbation component contains quantized values of the phases. f. 2a, when multiple perturbation components are selected, one of them is used as a reference while the other perturbation components are expressed as the reference plus a differential term. g. Any combination of the above. 3. 1b and where the said perturbation components (e.g., coefficients / vector(s) / matrix(matrices)) are compressed using basis vectors. 4. 1, where 1a and 1b are calculated in a single step. 5. Prior to 1, where the communication device receives configuration for calculating a CSI report according to the said codebook. 6. Prior to 4, where the communication device sends capability report to the NW node indicating support of the said codebook. a. 6 and where the capability report indicating whether the communication device supports a DL and / or UL codebook that includes perturbation coefficients / vector(s) / matrix(matrices) for modifying the DFT-based SD basis vector(s) b. 6 and where the capability report containing information about the maximum number of TX ports (which for example could mean the maximum number of CSI-RS ports that the communication device can be configured with when configured with the “perturbation codebook”) c. 6 and where the capability report containing information about the maximum supported rank (which indicates the maximum number of DL and / or UL layers that the communication device can be scheduled with when configured with the “perturbation codebook” 7. 1b and where the perturbation component adjusting the phase and / or the amplitude of each element in a selected SD basis vector 8. 1b and where the perturbation component adjusting the phase for co-located elements with orthogonal polarizations by the same factor 9. Prior to 1 and where the communication device receiving, explicit or implicit, information whether the communication device is in the near-field of the NW node Group Y Embodiments 1. A method in a device for precoding matrix calculation based on an enhanced codebook, the method comprising: a. Receiving an enhanced codebook configuration that configures an enhanced codebook comprising at least the following components: (i) DFT-based SD basis vector(s); and (ii) one or multiple perturbation components, wherein the enhanced codebook configuration includes codebook parameters for the one or multiple perturbation components; and b. Calculating a precoding matrix according to the said received enhanced codebook configuration. 2. a. 1a, wherein the codebook configuration includes codebook parameters identifying how the perturbation component(s) shall be quantized / compressed / calculated. b. 1a, where in the codebook configuration includes codebook parameters identifying how the perturbation component(s) shall be associated with legacy DFT-based SD basis vectors. 3.2 and a. wherein the codebook configuration is configured as a legacy codebook with additional parameters b. wherein the codebook configuration is configured as a new codebook 4.2, wherein the codebook parameters include one or multiple of the followings: a. The type of basis vector to be used by the device for compressing the perturbation component(s). i. 3a and where the basis vector is DFT-based ii. 3a and where the basis vector is wavelet-based b. Associated configuration parameter(s) for the configured type of basis vectors. c. The number of basis vectors to be selected and reported by the device for compressing the perturbation component(s). d. Indication whether the perturbation component(S) can be optionally reported to the NW node. 5. a. 4a, wherein a single type of basis vector is defined in standard specifications, hence the configuration is implicit and does not need to be explicitly signaled to the device. b. 4b, wherein the said associated configuration parameter(s) includes information for identifying one or more of the following: i. Granularity / dimension of the configured basis vector. ii. Oversampling factor if DFT-based basis vector is to be used for compressing the perturbation component(s). iii. Wavelet parameters, such as mother wavelet, if wavelet- based basis vector is to be used for compressing the perturbation component(s). iv. Information identifying a subset of basis vectors that can be selected by the device for compressing the perturbation component(s). For example, when a cylindrical array is used by the NW node, the configuration may include a parameter that depends on the radius of the array. 6. Any of the above, wherein in addition the device receives one or multiple configurations for codebook parameters of the enhanced codebook. 7. Any of the above, wherein the device further receives configuration of one or multiple resources for channel measurement (CMRs). 8. Any of the above, wherein the device further receives configuration of one or multiple resources for interference measurement (IMRs). 9. Any of 7 and 8, where each CMR or IMR is associated with a codebook configuration. 10. Any of 7, 8, and 9, where the codebook configuration is based on the Rel-18 CJT Type II codebook, where the number of perturbation component(s) is the same as the number of the configured SD basis vectors for each of the corresponding configured CMRs. 11. Any of 7 and 8, where the codebook configuration is based on the NCJT with Type I codebook. 12. Any of the above, where the configuration is based on RRC, MAC-CE, UCI signaling or any combination of them. 13. Prior to 1 and the device sending the network node a capability report including information on one or more of a. support of a DL codebook that includes perturbation component(s) b. Maximum number of TX ports (which for example could mean the maximum number of CSI-RS port that the device can be configured with when configured with the enhanced codebook with perturbation component(s). c. Maximum supported rank (which indicates the maximum number of DL layers that the device can be scheduled with when configured with the enhanced codebook with perturbation component(s). 14. 10 and where the capability report may be based on RRC, MAC-CE, UCI signaling. 15. Any of the above, where the device is a UE, an IRS, an NCR, or a FWA node. 16. Any of the above, where the codebook is configured for non-uniform array and / or near-field communication. Group C Embodiments C1. A communication device configured to perform the method of any of the Group A, Group X, or Group Y embodiments. C2. A communication device comprising processing circuitry configured to perform the method of any of the Group A embodiments. C3. A communication device comprising: communication circuitry; and processing circuitry configured to perform the method of any of the Group A, Group X, or Group Y embodiments. C4. A communication device comprising: processing circuitry configured to perform the method of any of the Group A, Group X, or Group Y embodiments; and power supply circuitry configured to supply power to the communication device. C5. A communication device comprising: processing circuitry and memory, the memory containing instructions executable by the processing circuitry whereby the communication device is configured to perform the method of any of the Group A, Group X, or Group Y embodiments. C6. The communication device of any of embodiments C1-C5, wherein the communication device is a wireless communication device. C7. A user equipment (UE) comprising: an antenna configured to send and receive wireless signals; radio front-end circuitry connected to the antenna and to processing circuitry, and configured to condition signals communicated between the antenna and the processing circuitry; the processing circuitry being configured to perform the method of any of the Group A, Group X, or Group Y embodiments; an input interface connected to the processing circuitry and configured to allow input of information into the UE to be processed by the processing circuitry; an output interface connected to the processing circuitry and configured to output information from the UE that has been processed by the processing circuitry; and a battery connected to the processing circuitry and configured to supply power to the UE. C8. A computer program comprising instructions which, when executed by at least one processor of a communication device, causes the communication device to perform the method of any of the Group A, Group X, or Group Y embodiments. C9. A carrier containing the computer program of embodiment C7, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium. C10. A network node configured to perform the method of any of the Group B embodiments. C11. A network node comprising processing circuitry configured to perform the method of any of the Group B embodiments. C12. A network node comprising: communication circuitry; and processing circuitry configured to perform the method of any of the Group B embodiments. C13. A network node comprising: processing circuitry configured to perform the method of any of the Group B embodiments; power supply circuitry configured to supply power to the network node. C14. A network node comprising: processing circuitry and memory, the memory containing instructions executable by the processing circuitry whereby the network node is configured to perform the method of any of the Group B embodiments. C15. The network node of any of embodiments C10-C14, wherein the network node is a base station. C16. A computer program comprising instructions which, when executed by at least one processor of a network node, causes the network node to perform the method of any of the Group B embodiments. C17. The computer program of embodiment C16, wherein the network node is a base station. C18. A carrier containing the computer program of any of embodiments C16-C17, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium. Group D Embodiments D1. A host configured to operate in a communication system to provide an over-the-top (OTT) service, the host comprising: processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a network node in a cellular network for transmission to a user equipment (UE), the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform any of the operations of any of the Group B embodiments to transmit the user data from the host to the UE. D2. The host of the previous embodiment, wherein: the processing circuitry of the host is configured to execute a host application that provides the user data; and the UE comprises processing circuitry configured to execute a client application associated with the host application to receive the transmission of user data from the host. D3. A method implemented in a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: providing user data for the UE; and initiating a transmission carrying the user data to the UE via a cellular network comprising the network node, wherein the network node performs any of the operations of any of the Group B embodiments to transmit the user data from the host to the UE. D4. The method of the previous embodiment, further comprising, at the network node, transmitting the user data provided by the host for the UE. D5. The method of any of the previous 2 embodiments, wherein the user data is provided at the host by executing a host application that interacts with a client application executing on the UE, the client application being associated with the host application. D6. A communication system configured to provide an over-the-top (OTT) service, the communication system comprising: a host comprising: processing circuitry configured to provide user data for a user equipment (UE), the user data being associated with the over-the-top service; and a network interface configured to initiate transmission of the user data toward a cellular network node for transmission to the UE, the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform any of the operations of any of the Group B embodiments to transmit the user data from the host to the UE. D7. The communication system of the previous embodiment, further comprising: the network node; and / or the UE. D8. A host configured to operate in a communication system to provide an over-the-top (OTT) service, the host comprising: processing circuitry configured to initiate receipt of user data; and a network interface configured to receive the user data from a network node in a cellular network, the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform any of the operations of any of the Group B embodiments to receive the user data from a user equipment (UE) for the host. D9. The host of the previous 2 embodiments, wherein: the processing circuitry of the host is configured to execute a host application that receives the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application. D10. The host of the any of the previous 2 embodiments, wherein the initiating receipt of the user data comprises requesting the user data. D11. A method implemented by a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: at the host, initiating receipt of user data from the UE, the user data originating from a transmission which the network node has received from the UE, wherein the network node performs any of the steps of any of the Group B embodiments to receive the user data from the UE for the host. D12. The method of the previous embodiment, further comprising at the network node, transmitting the received user data to the host. D13. A host configured to operate in a communication system to provide an over-the-top (OTT) service, the host comprising: processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a cellular network for transmission to a user equipment (UE), wherein the UE comprises a communication interface and processing circuitry, the communication interface and processing circuitry of the UE being configured to perform any of the operations of any of the Group A, Group X, or Group Y embodiments to receive the user data from the host. D14. The host of the previous embodiment, wherein the cellular network further includes a network node configured to communicate with the UE to transmit the user data to the UE from the host. D15. The host of the previous 2 embodiments, wherein: the processing circuitry of the host is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application. D16. A method implemented by a host operating in a communication system that further includes a network node and a user equipment (UE), the method comprising: providing user data for the UE; and initiating a transmission carrying the user data to the UE via a cellular network comprising the network node, wherein the UE performs any of the operations of any of the Group A, Group X, or Group Y embodiments to receive the user data from the host. D17. The method of the previous embodiment, further comprising: at the host, executing a host application associated with a client application executing on the UE to receive the user data from the host application. D18. The method of the previous embodiment, further comprising: at the host, transmitting input data to the client application executing on the UE, the input data being provided by executing the host application, wherein the user data is provided by the client application in response to the input data from the host application. D19. A host configured to operate in a communication system to provide an over-the-top (OTT) service, the host comprising: processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a cellular network for transmission to a user equipment (UE), wherein the UE comprises a communication interface and processing circuitry, the communication interface and processing circuitry of the UE being configured to perform any of the steps of any of the Group A, Group X, or Group Y embodiments to transmit the user data to the host. D20. The host of the previous embodiment, wherein the cellular network further includes a network node configured to communicate with the UE to transmit the user data from the UE to the host. D21. The host of the previous 2 embodiments, wherein: the processing circuitry of the host is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application. D22. A method implemented by a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: at the host, receiving user data transmitted to the host via the network node by the UE, wherein the UE performs any of the steps of any of the Group A, Group X, or Group Y embodiments to transmit the user data to the host. D23. The method of the previous embodiment, further comprising: at the host, executing a host application associated with a client application executing on the UE to receive the user data from the UE. D24. The method of the previous 2 embodiments, further comprising: at the host, transmitting input data to the client application executing on the UE, the input data being provided by executing the host application, wherein the user data is provided by the client application in response to the input data from the host application.
Claims
CLAIMS 1. A method performed by a device (12), the method comprising: determining (1500), from one or more codebooks (24), a precoder (18) for precoding a transmission (16) between the communication device (12) and a network node (14), wherein the determined precoder (18) comprises: a first component (18-1) formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; and receiving (1510) the transmission (16) as precoded with the determined precoder (18).
2. The method of claim 1, wherein the one or more DFT precoding vectors are one or more DFT-based spatial domain, SD, basis vectors.
3. The method of any of claims 1-2, wherein the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and wherein the second component (18-2) comprises a first dimension subcomponent that adjusts a phase and / or an amplitude of each element in the first dimension DFT precoding vector and a second dimension subcomponent that adjusts a phase and / or an amplitude of each element in the second dimension DFT precoding vector.
4. The method of any of claims 1-3, wherein determining the precoder (18) comprising determining the second component (18-2) by: determining a nominal second component from one or more channel measurements; and determining the second component (18-2) to be a quantized version of the nominal second component, by approximating the nominal second component as a function of one or more orthogonal basis vectors, wherein the one or more orthogonal basis vectors comprise one or more DFT-based basis vectors selected from a DFT matrix or one or more wavelet-based basis vectors selected from a wavelet-based transformation matrix.
5. The method of claim 4, further comprising determining one or more configuration parameters that configure how to quantize the nominal second component as a function of one or more orthogonal basis vectors, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basisvectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient.
6. The method of any of claims 1-5, further comprising determining one or more configuration parameters that configure the second component (18-2), and determining the second component (18-2) according to the one or more configuration parameters that configure the second component (18-2), wherein the one or more configuration parameters that configure the second component (18-2) include one or more of: a configuration parameter configuring a dimension of the second component (18-2); a configuration parameter configuring whether the second component (18-2) is enabled; a configuration parameter configuring whether the second component (18-2) is mandatory or optional to report as part of channel state information feedback; and / or one or more types of the one or more codebooks (24).
7. The method of claim 6, wherein determining the one or more configuration parameters comprises determining at least one of the one or more configuration parameters from signaling received from the network node (14).
8. The method of any of claims 1-7, wherein the communication device (12) is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the second component (18-2) comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources.
9. The method of any of claims 1-8, wherein the one or more DFT precoding vectors correspond to one or more beams, and wherein the second component (18-2) adjusts a shape of the one or more beams according to a channel measurement by the communication device (12).
10. The method of any of claims 1-9, wherein the transmission (16) is to be performed via anantenna array, and wherein the method further comprises receiving signaling indicating whether the communication device (12) is in a near-field (26N) or a far-field (26F) of the antenna array, and wherein the precoder (18) is on whether the communication device (12) is in the near-field (26N) or the far-field (26F) of the antenna array according to the signaling.
11. The method of any of claims 1-10, further comprising transmitting signaling that indicates the determined precoder (18) by indicating the first component (18-1) and the second component (18-2).
12. The method of claim 11, wherein the second component (18-2) comprises multiple subcomponents, and wherein the signaling indicates the multiple subcomponents of the second component (18-2) by indicating one or more respective differential values of one or more of the subcomponents relative to an absolute value of a reference subcomponent, wherein the absolute value of the reference subcomponent is quantized according to a first quantization scheme, and wherein the one or more respective differential values of one or more of the subcomponents are quantized according to a second quantization scheme different from the first quantization scheme.
13. The method of any of claims 1-12, wherein the one or more DFT precoding vectors that form the first component (18-1) each have a phase slope that is linear, and wherein the second component (18-2) adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear.
14. The method of any of claims 1-13, wherein the one or more codebooks (24) include a multi-component codebook with one or more candidate precoders that each comprises: a first component (18-1) formed from one or more DFT precoding vectors; and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors.
15. The method of any of claims 1-14, wherein the one or more codebooks (24) include a multi-component codebook, wherein each of one or more candidate precoders in the multi- component codebook comprises: a first component (18-1) formed from one or more DFT precoding vectors, each with a phase slope that is linear; and a second component (18-2) that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear.
16. The method of any of claims 1-13, wherein the one or more codebooks (24) include: a first codebook with one or more candidate precoders that each comprises a first component (18-1) formed one or more DFT precoding vectors; and a second codebook with one or more candidate precoders that each comprises a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors.
17. The method of any of claims 1-13, wherein the one or more codebooks (24) include: a first codebook with one or more candidate precoders that each include a first component (18-1) formed from one or more DFT precoding vectors, each with a phase slope that is linear; and a second codebook with one or more candidate precoders that each include a second component (18-2) that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear.
18. The method of any of claims 1-17, wherein the transmission (16) is to be performed via an antenna array, wherein the method further comprises performing one or more measurements of a channel between the communication device (12) and the network node (14), and wherein determining the precoder (18) comprises: determining the first component (18-1) to include one or more DFT precoding vectors that respectively correspond to one or more directions of one or more strongest propagation paths between the communication device (12) and the network node (14) according to the one or more measurements, wherein the one or more directions are common across all antenna elements of the antenna array and / or are determined with respect to the communication device (12) and / or network node (14) as a whole, not with respect to any individual antenna element of the antenna array; and determining the second component (18-2) to adjust the one or more DFT precoding vectors to respectively correspond to one or more directions of one or more strongest propagation paths with respect to individual antenna elements of the antenna array according to the one or more measurements.
19. A method performed by a communication device (12), the method comprising: receiving one or more configuration parameters that configure a codebook (24S) of candidate precoders (24S-1…24S-N) for precoding a transmission (16) to or from the communication device (12), wherein each of one or more candidate precoders (24S-1…24S-N) in the codebook (24S) comprises:a first component (18-1) formed from one or more Discrete Fourier Transform, DFT, precoding vectors and a second component (18-2) that adjusts a phase and / or an of each element in at least one of the one or more DFT precoding vectors; or an adjusting component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of one or more DFT precoding vectors in another codebook.
20. The method of claim 19, wherein the one or more configuration parameters include one or more configuration parameters that configure the second component (18-2) or the adjusting component (18-2), wherein the one or more configuration parameters that configure the second component (18-2) or the adjusting component (18-2) include one or more of: a configuration parameter configuring a dimension of the second component (18-2) or the adjusting component (18-2); a configuration parameter configuring whether the second component (18-2) or the adjusting component (18-2) is enabled; a configuration parameter configuring whether the second component (18-2) or the adjusting component (18-2) is mandatory or optional to report as part of channel state information feedback; and / or a type of the codebook.
21. The method of any of claims 19-20, wherein the one or more configuration parameters include one or more configuration parameters that configure how the second component (18-2) or the adjusting component (18-2) is a function of one or more orthogonal basis vectors.
22. The method of claim 21, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient.
23. The method of any of claims 19-22, wherein the communication device (12) is configured with K channel state information reference CSI-RS, resources for channel measurement, and wherein the second component (18-2) or the adjusting component (18-2) comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources, and wherein the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed.
24. The method of any of claims 19-23, further comprising: configuring the codebook according to the one or more configuration parameters; determining, from the codebook, a precoder (18) for precoding a transmission (16) between the communication device (12) and a network node (14); and transmitting or receiving the transmission (16) as precoded with the determined precoder (18).
25. A method performed by a network node (14), the method comprising: receiving, from a communication device (12), signaling indicating a precoder (18), from one or more codebooks (24), for precoding a transmission (16) between the communication device (12) and the network node (14), wherein the indicated precoder (18) comprises: a first component (18-1) formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; and transmitting the transmission (16) as precoded with the indicated precoder (18).
26. The method of claim 25, wherein the one or more DFT precoding vectors are one or more DFT-based spatial domain, SD, basis vectors.
27. The method of any of claims 25-26, wherein the one or more DFT precoding vectors include a first dimension DFT precoding vector and a second dimension DFT precoding vector, and wherein the second component (18-2) comprises a first dimension subcomponent that adjusts a phase and / or an amplitude of each element in the first dimension DFT precoding vector and a second dimension subcomponent that adjusts a phase and / or an amplitude of each element in the second dimension DFT precoding vector.
28. The method of claim 27, further comprising determining one or more configuration parameters that configure how to quantize the nominal second component (18-2) as a function of one or more orthogonal basis vectors, the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient.
29. The method of any of claims 25-28, further comprising determining one or more configuration parameters that configure the second component (18-2), and determining the second component (18-2) according to the one or more configuration parameters that configure the second component (18-2), wherein the one or more configuration parameters that configure the second component (18-2) include one or more of: a configuration parameter configuring a dimension of the second component (18-2); a configuration parameter configuring whether the second component (18-2) is enabled; a configuration parameter configuring whether the second component (18-2) is mandatory or optional to report as part of channel state information feedback; and / or one or more types of the one or more codebooks (24).
30. The method of any of claims 28-29, further comprising transmitting signaling to the communication device (12) indicating at least one of the one or more configuration parameters.
31. The method of any of claims 25-30, wherein the communication device (12) is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the second component (18-2) comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources.
32. The method of any of claims 25-31, wherein the one or more DFT precoding vectors correspond to one or more beams, and wherein the second component (18-2) adjusts a shapeof the one or more beams according to a channel measurement by the communication device (12).
33. The method of any of claims 25-32, wherein the transmission (16) is to be performed via an antenna array, and wherein the method further comprises transmitting, to the communication device (12), signaling indicating whether the communication device (12) is in a near-field (26N) or a far-field (26F) of the antenna array.
34. The method of any of claims 25-33, further comprising receiving, from the communication device (12), signaling that indicates the precoder (18) by indicating the first component (18-1) and the second component (18-2).
35. The method of claim 34, wherein the second component (18-2) comprises multiple subcomponents, and wherein the signaling indicates the multiple subcomponents of the second component (18-2) by indicating one or more respective differential values of one or more of the subcomponents relative to an absolute value of a reference subcomponent, wherein the absolute value of the reference subcomponent is quantized according to a first quantization scheme, and wherein the one or more respective differential values of one or more of the subcomponents are quantized according to a second quantization scheme different from the first quantization scheme.
36. The method of any of claims 25-35, wherein the one or more DFT precoding vectors that form the first component (18-1) each have a phase slope that is linear, and wherein the second component (18-2) adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear.
37. The method of any of claims 25-36, wherein the one or more codebooks (24) include a multi-component codebook (24S) with one or more candidate precoders (24S-1…24S-N) that each comprises: a first component (18-1) formed from one or more DFT precoding vectors; and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors.
38. The method of any of claims 25-37, wherein the one or more codebooks (24) include a multi-component codebook (24S), wherein each of one or more candidate precoders (24S- 1…24S-N) in the multi-component codebook (24S) comprises: a first component (18-1) formed from one or more DFT precoding vectors, each with aphase slope that is linear; and a second component (18-2) that adjusts the phase slope of at least one of the one or more DFT precoding be non-linear.
38. The method of any of claims 25-35, wherein the one or more codebooks (24) include: a first codebook (24D) with one or more candidate precoders (24D-1…24D-N) that each comprises a first component (18-1) formed from one or more DFT precoding vectors; and a second codebook (24A) with one or more candidate precoders (24AS-1…24A-N) that each comprises a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors.
39. The method of any of claims 25-35, wherein the one or more codebooks (24) include: a first codebook (24D) with one or more candidate precoders (24D-1…24D-N) that each include a first component (18-1) formed from one or more DFT precoding vectors, each with a phase slope that is linear; and a second codebook (24A) with one or more candidate precoders (24A-1…24A-N) that each include a second component (18-2) that adjusts the phase slope of at least one of the one or more DFT precoding vectors to be non-linear.
40. A method performed by a network node (14), the method comprising: transmitting, to a communication device (12), one or more configuration parameters that configure a codebook (24S) of candidate precoders (24S-1…24S-N) for precoding a transmission (16) to or from the communication device (12), wherein each of one or more candidate precoders (24S-1…24S-N) in the codebook (24S) comprises: a first component (18-1) formed from one or more Discrete Fourier Transform, DFT, precoding vectors and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; or an adjusting component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of one or more DFT precoding vectors in another codebook.
41. The method of claim 40, wherein the one or more configuration parameters include one or more configuration parameters that configure the second component (18-2) or the adjustingcomponent (18-2), wherein the one or more configuration parameters that configure the second component (18-2) or the adjusting component (18-2) include one or more of: a configuration parameter dimension of the second component (18-2) or the adjusting component (18-2); a configuration parameter configuring whether the second component (18-2) or the adjusting component (18-2) is enabled; a configuration parameter configuring whether the second component (18-2) or the adjusting component (18-2) is mandatory or optional to report as part of channel state information feedback; and / or a type of the codebook (24S).
42. The method of any of claims 40-41, wherein the one or more configuration parameters include one or more configuration parameters that configure how the second component (18-2) or the adjusting component (18-2) is a function of one or more orthogonal basis vectors.
43. The method of claim 42, wherein the one or more configuration parameters include one or more of: a configuration parameter configuring a number of the one or more orthogonal basis vectors; a configuration parameter configuring a granularity or dimension of the one or more orthogonal basis vectors; a configuration parameter configuring a type of the one or more orthogonal basis vectors; a configuration parameter configuring values of combination coefficients for combining multiple orthogonal basis vectors; and / or a configuration parameter configuring a number of bits for quantizing an amplitude and / or phase of each complex combination coefficient.
44. The method of any of claims 40-43, wherein the communication device (12) is configured with K channel state information reference signal, CSI-RS, resources for channel measurement, and wherein the second component (18-2) or the adjusting component (18-2) comprises multiple subcomponents computed independently for each CSI-RS resource in a subset of the K CSI-RS resources, and wherein the one or more configuration parameters include one or more configuration parameters configuring which CSI-RS resources are included in the subset of CSI-RS resources for which the subcomponents are to be computed.
45. The method of any of claims 40-44, further comprising:configuring the codebook (24S) according to the one or more configuration parameters; determining, from the codebook (24S), a precoder (18) for precoding a transmission (16) between the (12) and the network node (14); and transmitting or receiving the transmission (16) as precoded with the determined precoder (18).
46. A communication device (12) configured to: determine, from one or more codebooks (24), a precoder (18) for precoding a transmission (16) between the communication device (12) and a network node (14), wherein the determined precoder (18) comprises: a first component (18-1) formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; and receive the transmission (16) as precoded with the determined precoder (18).
47. The communication device (12) of claim 46, configured to perform the method of any of claims 2-18.
48. The communication device (12) of claim 46, comprising: at least one processor, and a memory containing program code executable by the at least one processor, whereby execution of the program code by the at least one processor causes the communication device (12) to perform the method of any one of claims 2-18.
49. A communication device (12) configured to: receive one or more configuration parameters that configure a codebook (24S) of candidate precoders (24S-1…24S-N) for precoding a transmission (16) to or from the communication device (12), wherein each of one or more candidate precoders (24S-1…24S-N) in the codebook (24S) comprises: a first component (18-1) formed from one or more Discrete Fourier Transform, DFT, precoding vectors and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; or an adjusting component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of one or more DFT precoding vectors in another codebook.
50. The communication device (12) of claim 49, configured to perform the method of any of claims 20-24.
51. The communication device (12) of claim 49, comprising: at least one processor, and a memory containing program code executable by the at least one processor, whereby execution of the program code by the at least one processor causes the communication device (12) to perform the method of any one of claims 20-24.
52. A network node (14) configured to: receive, from a communication device (12), signaling indicating a precoder (18), from one or more codebooks (24), for precoding a transmission (16) between a communication device (12) and the network node (14), wherein the indicated precoder (18) comprises: a first component (18-1) formed from one or more Discrete Fourier Transform, DFT, precoding vectors; and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors; and transmit the transmission (16) as precoded with the indicated precoder (18).
53. The network node (14) of claim 52, the network node (14) configured to perform the method of any of claims 26-39.
54. The network node (14) of claim 52, comprising: at least one processor, and a memory containing program code executable by the at least one processor, whereby execution of the program code by the at least one processor causes the network node (14) to perform the method of any one of claims 26-39.
55. A network node (14) configured to: transmit, to a communication device (12), one or more configuration parameters that configure a codebook (24S) of candidate precoders (24S-1…24S-N) for precoding a transmission (16) to or from the communication device (12), wherein each of one or more candidate precoders (24S-1…24S-N) in the codebook comprises (24S): a first component (18-1) formed from one or more Discrete Fourier Transform,DFT, precoding vectors and a second component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT or an adjusting component (18-2) that adjusts a phase and / or an amplitude of each element in at least one of one or more DFT precoding vectors in another codebook.
56. The network node (14) of claim 55, the network node (14) configured to perform the method of any of claims 41-45.
57. The network node (14) of claim 55, comprising: at least one processor, and a memory containing program code executable by the at least one processor, whereby execution of the program code by the at least one processor causes the network node (14) to perform the method of any one of claims 41-45.
58. A computer program comprising instructions which, when executed by at least one processor of a communication device (12), causes the communication device (12) to perform the method of any of claims 1-24.
59. A computer program comprising instructions which, when executed by at least one processor of a network node (14), causes the network node (14) to perform the method of any of claims 25-45.
60. A carrier containing the computer program of any of claims 58-59, wherein the carrier is one of an electronic signal, optical signal, radio signal, or computer readable storage medium.ABSTRACT A communication device (12) from one or more codebooks (24), a precoder (18) for precoding a transmission (16) between the communication device (12) and a network node (14). In some embodiments, the determined precoder (18) comprises a first component (18-1) and a second component (18-2). The first component (18-1) is formed from one or more Discrete Fourier Transform, DFT, precoding vectors. The second component (18-2) adjusts a phase and / or an amplitude of each element in at least one of the one or more DFT precoding vectors. The communication device (12) also receives the transmission (16) as precoded with the determined precoder (18). (Figure 8)