Patent Description:
Design of signals with a limited dynamic range and amenable to linear (or more generally low complexity) equalization is an area of active research.

Low complexity equalization is often used to achieve high data rates with good performance; for example in communications systems applying OFDM (orthogonal frequency division multiplexing) such as downlink communication of LTE (long term evolution) and communications compliant with IEEE802.11a/n/g/ac/ax.

A limited signal dynamic range, as measured for example by the Peak to Average Power Ratio (PAPR) or Cubic Metric (CM), is beneficial for power efficiency and extended coverage. For example, uplink communications of LTE utilizes DFT-s-OFDM (discrete Fourier transform spread OFDM), also known as SC-FDMA (Single Carrier frequency division multiple access), to generate signals with lower PAPR/CM than OFDM, while still achieving good performance with low complexity frequency domain equalization.

Recent technologies, such as NR (new radio) and VLC (visible light communications), introduce challenges in the generation of signals that offer the benefits of multicarrier technologies in terms of high data rates and multi-user multiplexing, as well as the benefits of single carrier modulations in terms of limited dynamic range. Known approaches (such as DFT-s-OFDM) are not flexible enough and/or have serious drawbacks which limit their applicability, e.g. to NR and VLC.

For example, DFT-s-OFDM is not flexible enough to design a <NUM>-symbol short NR-PUCCH (new radio physical uplink control channel) for coverage extension, which may result in ad-hoc designs as exemplified in <NPL>.

In another example, the PAPR that can be obtained by application of DFT-s-OFDM in VLC is not as low as the PAPR of DFT-s-OFDM as employed in RF (radio frequency) communications systems, due to the restriction that VLC waveforms must be real-valued (see e.g. <NPL>).

Therefore, there is a need for alternative approaches to signal design. Preferably, such approaches provide for generation of signal waveforms that have low PAPR/CM and are well suited for high data rate systems. Also preferably, such approaches are flexible and/or generally applicable.

<NPL>, relates to a method of generating orthogonal codes and applied in CDMA systems.

Further, embodiments of the invention are defined by the dependent claims.

It should be emphasized that the term "comprises/comprising" when used in this specification is taken to specify the presence of stated features, integers, steps, or components, but does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof.

It is an object of the invention to solve or mitigate, alleviate, or eliminate at least some of the above or other disadvantages.

A first aspect is a method for generation of a signal to be transmitted using an orthogonal code defined by an encoding matrix CK having N rows and N - P + <NUM> columns, wherein N = P - <NUM>K, K is a positive integer and P is an odd positive integer. In the encoding matrix, no column is equal to another column. Exactly one of the columns of the encoding matrix comprises N elements having the same real non-zero value, and each of the other columns of the encoding matrix comprises exactly (N - L) elements having zero value and exactly L elements having real, non-zero, alternating positive and negative values of the same magnitude wherein L ∈ {<NUM>K, <NUM>K-<NUM>,. , <NUM><NUM>, <NUM><NUM> }. For each of the other columns, the elements of each adjacent pair of the L elements are separated by (N - L)/L elements having zero value and no column is equal to another column. The method comprises partitioning a sequence of transmission resources into blocks, each block comprising B transmission resources, where <NUM> ≤ B ≤ N - P + <NUM>, and partitioning each block into <NUM> ≤ k ≤ K + <NUM> sub-blocks, each sub-block comprising an amount of transmission resources, wherein the amount is selected from the set {<NUM>,P · <NUM><NUM>, P · <NUM><NUM>,. , P · <NUM>K-<NUM>}, and wherein no amont of the set is selected more than once for each block.

The method also comprises assigning each sub-block to transmission of a corresponding signal content, associating each sub-block with a corresponding code subspace, Sm, of the orthogonal code, wherein the code subspaces Sm, m = <NUM>,<NUM>,<NUM>,. ,K, are mutually orthogonal, spreading each symbol of the corresponding signal content using a column of the encoding matrix CK, which column is a basis vector of the corresponding associated code subspace, wherein, for each column of the corresponding associated code subspace, any cyclic shift of the column is identical to one of the other columns or to one of the other columns, of the corresponding associated code subspace, with opposite sign for each of the non-zero values, and combining the spread symbols of the sub-blocks in each block to generate the signal to be transmitted.

In some embodiments, the exactly one of the columns is the first column of the encoding matrix.

In some embodiments, the same real non-zero value is a positive value. For example, the positive value may be equal to <MAT>.

In some embodiments, the same magnitude is equal to <MAT>.

According to some embodiments, a number of columns comprising exactly L elements having non-zero values is equal to N/L.

For each column, any cyclic shift of the column may be identical to one of the other columns or to one of the other columns with opposite sign for each of the non-zero values according to some embodiments.

A second aspect is a computer program product comprising a non-transitory computer readable medium, having thereon a computer program comprising program instructions. The computer program is loadable into a data processing unit and configured to cause execution of the method according to any of the second and third aspects when the computer program is run by the data processing unit.

A third aspect is a wireless communication transmitter a controlling circuitry configured to perform method as of the first aspect.

An advantage of some embodiments is that alternative approaches to signal design are provided.

Another advantage of some embodiments is that signal waveforms that have low PAPR/CM and are well suited for high data rate systems may be generated.

Yet an advantage of some embodiments is that the approaches are flexible and/or generally applicable.

As already mentioned above, it should be emphasized that the term "comprises/comprising" when used in this specification is taken to specify the presence of stated features, integers, steps, or components, but does not preclude the presence or addition of one or more other features, integers, steps, components, or groups thereof.

In the following, embodiments will be described where an orthogonal code having particular characteristics be used for signal generation.

Generally, such an orthogonal code be defined by an encoding matrix CK having N rows and N - P + <NUM> columns, wherein N = P · <NUM>K, K is a positive integer and P is an odd positive integer. Typically, no column of the encoding matrix is equal to another column of the encoding matrix.

Among the columns of the encoding matrix exactly one comprise N elements having the same real non-zero value and each of the other columns comprise exactly (N - L) elements having zero value and exactly L elements having real, non-zero, alternating positive and negative values of the same magnitude wherein L ∈ {<NUM>K, <NUM>K-<NUM>,. , <NUM><NUM>,<NUM><NUM> }. In each of the other columns, the elements of each adjacent pair of the L elements be separated by (N - L)/L elements having zero value.

<FIG> schematically illustrates an example of such an encoding matrix <NUM> according to some embodiments. In this example, N = <NUM>, P = <NUM>, and K = <NUM>. It is easily seen that no column is equal to another column in this example.

The first column <NUM> of the encoding matrix <NUM> has N elements, each equal to <MAT> (i.e. the same real non-zero value). Generally, the same real non-zero value may typically be a positive value, for example equal to <MAT>.

Each of the other columns <NUM> of the encoding matrix <NUM> comprises exactly (<NUM> - L) elements having zero value and exactly L elements having real, non-zero, alternating positive and negative values of the same magnitude. The elements having non-zero values are indicated in <FIG> by dotted diagonal lines.

For each of the second to fourth columns <NUM> there are <NUM><NUM> = <NUM> elements having non-zero values, for each of the fifth to tenth columns <NUM> there are <NUM><NUM> = <NUM> elements having non-zero values, for each of the eleventh to twenty-second columns <NUM> there are <NUM><NUM> = <NUM> elements having non-zero values, for each of the twenty-third to forty-seventh columns <NUM> there are <NUM><NUM> = <NUM> elements having non-zero values, and for each of the forty-eighth to ninety-fourth columns <NUM> there are <NUM><NUM> = <NUM> elements having non-zero values. Thus there are <NUM>/<NUM>=<NUM> columns having <NUM> non-zero elements, <NUM>/<NUM>=<NUM> columns having <NUM> non-zero elements, <NUM>/<NUM>=<NUM> columns having <NUM> non-zero elements, <NUM>/<NUM>=<NUM> columns having <NUM> non-zero elements, and <NUM>/<NUM>=<NUM> columns having <NUM> non-zero elements. Generally, the number of columns comprising exactly L elements having non-zero values may be equal to N/L.

That the non-zero values are alternating positive and negative values of the same magnitude (not visible in <FIG>) may be exemplified by column <NUM>, where the magnitude of the non-zero values <NUM>, <NUM>, <NUM>, <NUM> is the same, where the non-zero values <NUM> and <NUM> have the same sign (positive or negative) and the non-zero values <NUM> and <NUM> also have the same sign which is the opposite sign compared to that of the non-zero values <NUM> and <NUM>. Generally, the.

same magnitude may be equal to <MAT>, i.e. <MAT> in the column set <NUM>, <MAT> in the column set <NUM>, <MAT> in the column set <NUM>, <MAT> in the column set <NUM>, and <MAT> in the column set <NUM>.

Continuing the example of column <NUM>, it can be seen that each adjacent pair of non-zero elements (e.g. the pair of elements <NUM> and <NUM>) are separated by a number, (N - L)/L, of zero-valued elements <NUM>. The remaining zero-valued elements are located in one or more of the respective ends of the column such that the diagonal pattern of non-zero valued elements shown in <FIG> is provided. Thereby, any cyclic shift of a column is identical to one of the other columns, or to one of the other columns with opposite sign for each of the non-zero values.

The encoding matrix illustrated in <FIG> is orthogonal and has full column rank since CKT. CK = IN-P+<NUM>, where IN-P+<NUM> is the identity matrix of dimension N - P + <NUM>. The same applies to all encoding matrices covered by this disclosure for which CKT · CK = IN-P+<NUM>.

For moderate to large values of K, the encoding matrix CK is sparse, in the sense that it has few non-zero elements compared to its total number of elements. For example, sparseness may be defined as the ratio of the number of non-zero elements to the total number of elements falling below a sparseness threshold value. Examples of such sparseness threshold values may for example, lie in any of the intervals ]<NUM>,<NUM>], ]<NUM>,<NUM>], and ]<NUM>,<NUM>]. For example, an example sparseness threshold value may be <NUM> or <NUM>.

The number nK of non-zero elements in CK obeys the recursive relation n<NUM> = 2P, nm = 2nm-<NUM> + P<NUM>m, <NUM> ≤ m ≤ K, from which it follows that nK = (K + <NUM>)N. Hence, the ratio of non-zero elements to the total number of elements in CK is <MAT>.

This is of practical interest because it implies that multiplication by the matrix CK has lower complexity than ordinary matrix multiplication, since a large percentage of its elements are zero-valued.

<FIG> illustrates an example method <NUM> of constructing an orthogonal code defined by an encoding matrix CK according to some embodiments. The method may, for example be used to construct any of the orthogonal codes as exemplified in <FIG> or otherwise described herein.

In step <NUM>, the encoding matrix CK is defined as having N rows and N - P + <NUM> columns, wherein N = P · <NUM>K, K is a positive integer and P is an odd positive integer. For example, step <NUM> may comprise selecting a code word length, N, and factoring N to determine K and P. In step <NUM>, the encoding matrix is constructed by:.

Typically, step <NUM> may further comprise fulfilling some or all of the requirements described above in connection to <FIG>.

For example, step <NUM> may comprise setting a counter n to zero as illustrated in <NUM> and forming an initial matrix C<NUM> as illustrated by step <NUM>. In a typical example, the initial matrix C<NUM> has P rows and <NUM> column, and each element of C<NUM> is equal to <MAT>, which may be seen as a normalization factor.

Then, the encoding matrix CK may be provided by recursively determining an extended matrix Cn as <MAT> for n = <NUM>,<NUM>,<NUM>,. , K to the encoding matrix CK, wherein IP·<NUM>n-<NUM> is an identity matrix having P · <NUM>n-<NUM> rows and P · <NUM>n-<NUM> columns, and wherein <MAT> provides normalization. In <FIG>, this is illustrated by letting the counter increase by one in step <NUM>, forming Cn in step <NUM>, and repeating steps <NUM> and <NUM> until a stopping criterion, n = K, is reached in step <NUM> whereby the encoding matrix CK is complete.

When N = <NUM> in the process described by steps <NUM>-<NUM>, the method results in an encoding matrix as illustrated in <FIG>.

The encoding matrix CK as disclosed herein has properties that enable it to span K + <NUM> mutually orthogonal code subspaces Sm, m = <NUM>,<NUM>,<NUM>,. Orthogonality is defined in the code domain, which may translate to orthogonality in frequency domain as will be seen later on.

By definition, a linear subspace of a vector space (the code space or code domain) is spanned by the vectors { v<NUM>,. , vM-<NUM>} if any vector in the subspace can be expressed as a linear combination of v<NUM>,. , VM-<NUM>; <MAT> with complex coefficients ck. Such a subspace may be denoted by span{ v<NUM>,. , vM-<NUM>}.

In a matrix A of dimension N × M wherein the M columns are numbered from <NUM> to M - <NUM>, any column of A can be considered as a vector in the vector space <IMG> consisting of N-tuples of complex numbers and the m-th column of A may be denoted A(:, m). If n < m are integers, then the sequence of numbers n, n + <NUM>,. , m - <NUM>, m may be written as n: m, if m is multiple of a the sequence of numbers n, n + a, n + <NUM>a,. , m - a, m may be written as n: a: m, and if m is not a multiple of a then n: a: m may denote the sequence n, n + a, n + <NUM>a,. , n + ka, where k satisfies m - a < n + ka < m. The linear subspace spanned by the columns A(:, n), A(:, n + <NUM>),. , A(:, m) is denoted span{A(: , n:m) }.

For the example encoding matrix created via steps <NUM>-<NUM> of <FIG> and exemplified in <FIG>, the K + <NUM> mutually orthogonal linear code subspaces Sm, m = <NUM>,<NUM>,<NUM>,. , K associated with the columns of CK may be defined as:.

where the indices dm and im are defined as:.

It is clear that each column of CK belongs to some <IMG>, <NUM> ≤ m ≤ K, since iK = dK + iK-<NUM> = <MAT>.

Hence, although not illustrated in <FIG>, the method <NUM> may further comprise constructing K + <NUM> mutually orthogonal code subspaces Sm, m = <NUM>,<NUM>,<NUM>,. , K, of the orthogonal code by selecting:.

wherein none of the columns of the encoding matrix CK is selected as a basis vector for two different subspaces.

These linear subspaces have a number of useful and interesting properties that make them well suited for application to transmitter and receiver technology in wireless communication:.

The last property implies that there is a one-to-one correspondence between linear subspaces spanned by columns of CK and linear subspaces spanned by columns of the DFT matrix. In particular, the DFT of a vector v ∈ <IMG> has at most dm non-zero entries, and these correspond to the subcarrier numbers <NUM>K-m: <NUM>K-m+<NUM>: N. Also, if v ∈ <IMG> and u ∈ <IMG> then u and v are orthogonal in the frequency domain.

This property is exemplified in Tables 1a and 1b, where Table 1a shows the code matrix CK for N = <NUM>, P = <NUM>, K = <NUM> and Table 1b shows the DFT matrix FN for N = <NUM>.

The linear subspace <IMG> is spanned by columns <NUM>-<NUM> of CK as emphasized in Table 1a. This linear space is also generated by columns <NUM>, <NUM>, <NUM> of the DFT matrix FN as emphasized in Table 1b. That it is the same subspace can be directly verified because <NUM> • CK(:,<NUM>) = FN(:,<NUM>) + FN(:,<NUM>) + FN(:,<NUM>), and the other two columns CK(:,<NUM>) and CK(:,<NUM>) can also be described as linear combinations of the same <NUM> columns of the DFT matrix since they are cyclic shifts of CK(:,<NUM>). Hence, any vector that can be written as a linear combination of CK(:,<NUM>), CK(:,<NUM>) and CK(:,<NUM>) can be written as a linear combination of FN(:,<NUM>), FN(:,<NUM>), FN(:,<NUM>). The converse is also true and follows immediately by dimension arguments, although it is also straightforward to verify it by direct calculation, for example FN(:,<NUM>) = <NUM> · CK(:,<NUM>), +<NUM> · (:,<NUM>) + <NUM> · CK(:,<NUM>).

The association between the encoding matrix CK and the DFT matrix FN as exemplified by Tables 1a and 1b may be used to generate signals having at least some of the desirable properties discussed earlier herein. Furthermore, flexible multiplexing may be achieved since the different subspaces may be used to separate different signal parts such as different users. In the receiver of such signals, (linear) equalization may be simplified due to the sparseness of the code. For example, the information carried by constellation symbols (e.g. quadrature amplitude modulation, QAM, symbols) can be recovered by multiplication of the received samples by the transpose of the code matrix, since this matrix is orthogonal. Because of the sparseness, matrix multiplication can be implemented efficiently, since scalar multiplications by the terms with zero values may be skipped.

Thus, the signal design is based on an orthogonal code as explained herein. The signal constellation symbols (e.g. pulse amplitude modulation, PAM, or quadrature amplitude modulation, QAM) may be spread by multiplication of each symbol with a corresponding code word (a. a column of the encoding matrix or a basis vector of a subspace). The length of the code words may be equal to the minimum size of FFT (fast Fourier transform) and/or DFT required at the receiver side in order to perform frequency domain equalization (compensating the effect of the channel by means of frequency domain processing).

Furthermore, the signal parts can be separated at the receiver by means of the DFT, since the components of the signal corresponding to different subspaces are carried by orthogonal frequency domain subcarriers.

Embodiments may also be employed in OFDM-based systems in which case there are one or more predefined FFT sizes. In NR, a typical FFT size is N = <NUM> and in IEEE802.11ax, a typical FFT size is N = <NUM> (P = <NUM>, K = <NUM>).

<FIG> illustrates a method <NUM> for generation of a signal to be transmitted using the orthogonal code according to some embodiments.

In step <NUM>, a sequence of transmission resources (e.g. symbols) is partitioned into blocks, each block comprising B transmission resources, where <NUM> ≤ B ≤ N - P + <NUM>, and in step <NUM> each block is partitioned into <NUM> ≤ k ≤ K + <NUM> sub-blocks, each sub-block comprising an amount of transmission resources, wherein the amount is selected from the set {<NUM>,P · <NUM><NUM>,P · <NUM><NUM>,.

<NUM>K-<NUM>}, and wherein no amont of the set is selected more than once for each block. Thus, the size of each of the sub-blocks corresponds to the dimensionality of a corresponding sub-space of CK.

In step <NUM>, each sub-block is assigned to transmission of a corresponding signal content, e.g. to a particular user, reference symbols, etc., and instep <NUM>, each sub-block is associated with a corresponding code subspace, Sm, of the orthogonal code.

In step <NUM>, each symbol of the corresponding signal content is spread using a column of the encoding matrix CK, which column is a basis vector of the corresponding associated code subspace, and in step <NUM> the spread symbols of the sub-blocks in each block are combined to generate the signal to be transmitted. The method may also comprise transmitting the generated signal as illustrated by step <NUM>.

A few example applications of the method described in <FIG> will now be given.

This example relates to signal generation for a single transmitter (TX) chain and a single user. As will be seen below, the principles may be generalized to other scenarios, e.g. for multiple users and/or multiple transmitter chains.

The bit stream to be transmitted is mapped to complex-valued or real-valued symbols drawn from a symbol constellation (e.g. QAM, PAM, or PSK - phase shift keying). The constellation symbols are grouped (partitioned) into blocks of size B, e.g. blocks having maximum size B = N - P + <NUM>. If a block consists of less than N - P + <NUM> constellation symbols, it may be filled up to contain exactly N - P + <NUM> symbols by adding zeros.

Each block is further partitioned into K + <NUM> sub-blocks, each having size dm (by construction, <MAT>, the total number of columns in CK). The symbols partitioned into each sub-block may serve some specific purpose, which may differ from sub-block to sub-block. For example, one sub-block may comprise pilot symbols or reference symbols for channel estimation, channel tracking, or phase tracking, while another sub-block may comprise data symbols.

Each of the constellation symbols in the sub-block of size dm is spread over a corresponding basis vector of <IMG> (one symbol per basis vector) and the result is combined by vector addition over the sub-space <IMG> to generate a resulting vector xm. By definition xm ∈ <IMG> and xm and xn are orthogonal in the frequency domain for n ≠ m. If the constellation symbols are considered as a vector vm = [vim-<NUM>+<NUM>,. , vim]T of length dm, then the resulting vector xm is given by xm = <MAT>.

A transmission symbol x of size N, i.e. the digital baseband signal corresponding to one modulation symbol (sampled at the symbol rate), is obtained by combining the vectors xm using vector addition: <MAT>. Alternatively, if the constellation symbols are stacked into a vector v = [v<NUM> ··· vK]T then x can be generated by applying the matrix CK as a linear transform to the intput vector of constellation symbols: x = CK · v. The transmission symbol x are concatenated (possibly after addition of a cyclic prefix), forwarded to an ADC (analog-to-digital converter), up-converted to RF, amplified and transmitted.

Multi-user multiplexing can be performed in the code domain, in the frequency domain, or simultaneously in both. For example, one or more subspaces can be assigned to one user, so that its baseband signal xm belongs to <IMG>, and other orthogonal subspaces can be assigned to different users, whereby up to K users can be orthogonally multiplexed.

When multiple TX ports are available, it may be advantageous to map different antenna ports to different subspaces. If the linear subspace <IMG> is mapped to a particular TX antenna port, then the component xm of the baseband signal is transmitted through that antenna. This approach may result in higher power efficiency at the transmitter than if this approach was not used.

Taking VLC systems as an example, a photodetector is typically thousands of wavelengths in linear size (and millions of square wavelengths in area), and therefore gives spatial diversity that prevents multi-path fading. A photodetector functions as an antenna array with a large amount of antenna elements, wherein the received signal at the antenna elements are squared, filtered, and added. Hence, a mapping from linear subspaces to antenna ports that yields a low PAPR at each TX port may result in increased power efficiency in the sense of increased SNR at the receiver, when compared to traditional RF diversity techniques.

Reduction of the PAPR can be achieved by introducing subspace specific rotations. That is, it may be advantageous to select angles θm such that the digital baseband signal x = <MAT> has lower PAPR than the signal <MAT>.

Moving on from these examples to <FIG>, an example arrangement <NUM> for generation of a signal to be transmitted using the orthogonal code according to some embodiments is schematically illustrated. The arrangement may, for example, be comprised in a wireless communication transmitter. The arrangement comprises controlling circuitry (CNTR, e.g. a controller or processor) <NUM> configured to cause execution of the method as described in connection with <FIG>.

To this end the controlling circuitry may comprise or be otherwise associated with storing circuitry (CODE, e.g. a memory) <NUM> configured to store information indicative of the encoding matrix CK. Possibly, but not necessarily, the controlling circuitry may also be configured to cause construction of (e.g. construct) the encoding matrix CK.

The controlling circuitry may also comprise or be otherwise associated with partitioning circuitry (PART, e.g. a practitioner) <NUM> configured to partition a sequence of transmission resources into blocks and each block into sub-blocks, as described above.

The controlling circuitry may also comprise or be otherwise associated with assignment circuitry (ASSI, e.g. an assigner) <NUM> configured to assign each sub-block to transmission of a corresponding signal content.

The controlling circuitry may also comprise or be otherwise associated with association circuitry (ASSO, e.g. an associator) <NUM> configured to associate each sub-block with a corresponding code subspace of the orthogonal code.

The controlling circuitry may also comprise or be otherwise associated with spreading circuitry (SPR, e.g. a spreader) <NUM> configured to spread each symbol of the corresponding signal content using a column of the encoding matrix CK as described above.

The controlling circuitry may also comprise or be otherwise associated with combining circuitry (COMB, e.g. a combiner) <NUM> configured to combine the spread symbols of the sub-blocks in each block to generate the signal to be transmitted.

The controlling circuitry may also comprise or be otherwise associated with transmitting circuitry (e.g. a transmitter; here illustrated as part of a transceiver TX/RX) <NUM> configured to transmit the generated signal.

In various embodiments one or more of the storing circuitry, the partitioning circuitry, the assignment circuitry, the association circuitry, the spreading circuitry, the combining circuitry and the transmitting circuitry may also be comprised in the arrangement <NUM>.

Thus, a sparse orthogonal code is introduced which may be used in signal generation such that the modulation symbols are spread over orthogonal code words. Because of the sparsity, the resulting time-domain waveform resembles a waveform generated by single carrier modulation, with low PAPR/CM.

The code words correspond to basis vectors that can be grouped to generate orthogonal subspaces. The subspaces are also orthogonal in the frequency domain, which provides for frequency domain multiplexing, code domain multiplexing, or a combination.

Suitable receiver algorithms are very similar to those employed in an FFT-based DFT-s-OFDM receiver with frequency domain equalization; and have similar complexity. In one example, the receiver may comprise cyclic prefix removal, FFT, frequency domain equalization, IFFT (inverse FFT), correlation with the encoding matrix CK (i.e. de-spreading), modulation symbol de-mapping and channel decoding. All of these blocks may be re-used from a DFT-s-OFDM receiver, with exception of the correlation with the encoding matrix. If the vector r contains the received signal sampled at the symbol rate after equalization, then the de-spreading comprises correlating r with the basis vectors of the code (i.e. the columns of the code matrix CK), which can be expressed as <MAT>.

When the signal is generated such that the baseband signal component xm is modulated only by reference symbols, then a frequency domain channel estimate can be generated by projection of the received samples onto a linear subspace, time domain channel estimation (e.g. least squares estimation) and application of FFT. More generally, the reference symbols may modulate several components of the baseband signal, say xm xn. , xq, wherein the projection operation projects the received signal into the union of the subspaces <IMG>.

Various embodiments described herein may be suitable for use in NR to design <NUM>-symbol short NR-PUCCH for coverage extension and/or in VLC to generate waveforms appropriate for dimmable lights or other applications requiring high SNR (signal-to-noise ratio) and low output power.

The described embodiments and their equivalents may be realized in software or hardware or a combination thereof. The embodiments may be performed by general purpose circuitry. Examples of general purpose circuitry include digital signal processors (DSP), central processing units (CPU), co-processor units, field programmable gate arrays (FPGA) and other programmable hardware. Alternatively or additionally, the embodiments may be performed by specialized circuitry, such as application specific integrated circuits (ASIC). The general purpose circuitry and/or the specialized circuitry may, for example, be associated with or comprised in an apparatus such as a wireless communication transmitter.

Embodiments may appear within an electronic apparatus (such as a wireless communication transmitter) comprising arrangements, circuitry, and/or logic according to any of the embodiments described herein. Alternatively or additionally, an electronic apparatus (such as a wireless communication transmitter) may be configured to perform methods according to any of the embodiments described herein.

According to some embodiments, a computer program product comprises a computer readable medium such as, for example a universal serial bus (USB) memory, a plug-in card, an embedded drive or a read only memory (ROM). <FIG> illustrates an example computer readable medium in the form of a compact disc (CD) ROM <NUM>. The computer readable medium has stored thereon a computer program comprising program instructions. The computer program is loadable into a data processor (PROC) <NUM>, which may, for example, be comprised in a wireless communication transmitter (e.g. a wireless communication device or a network node) <NUM>.

When loaded into the data processing unit, the computer program may be stored in a memory (MEM) <NUM> associated with or comprised in the data-processing unit. According to some embodiments, the computer program may, when loaded into and run by the data processing unit, cause execution of method steps according to, for example, any of the methods illustrated in <FIG> and <FIG> or otherwise described herein.

Claim 1:
A method for transmitting a wireless signal generated by using an orthogonal code, wherein the orthogonal code is defined by an encoding matrix CK (<NUM>) having N rows and N - P + <NUM> columns, wherein N = P · <NUM>K, K and P are positive and odd positive integers respectively excluding the integer <NUM>, and wherein: exactly one (<NUM>) of the columns of the encoding matrix comprises N elements having the same real non-zero value, each of the other columns (<NUM>) of the encoding matrix comprises exactly (N - L) elements having zero value and exactly L elements (<NUM>, <NUM>, <NUM>, <NUM>) having real, non-zero, alternating positive and negative values of the same magnitude wherein L ∈ {<NUM>K, <NUM>K-<NUM>, ... , <NUM><NUM>, <NUM><NUM> }, and wherein, for each column, the elements of each adjacent pair (<NUM>, <NUM>) of the L elements are separated by (N - L)/L elements (<NUM>) having zero value, and no column is equal to another column, the method comprising:
partitioning (<NUM>) a sequence of transmission resources into blocks, each block comprising B transmission resources, where <NUM> ≤ B ≤ N - P + <NUM>;
partitioning (<NUM>) each block into <NUM> ≤ k ≤ K + <NUM> sub-blocks, each sub-block comprising an amount of transmission resources, wherein the amount is selected from the set {<NUM>, P · <NUM><NUM>,P · <NUM><NUM>, ... , P - <NUM>K-<NUM>}, and wherein no amount of the set is selected more than once for each block;
assigning (<NUM>) each sub-block to transmission of a corresponding signal content;
associating (<NUM>) each sub-block with a corresponding code subspace, Sm, of the orthogonal code, wherein the code subspaces Sm, m = <NUM>,<NUM>,<NUM>, ...,K, are mutually orthogonal;
spreading (<NUM>) each symbol of the corresponding signal content using a column of the encoding matrix CK, which column is a basis vector of the corresponding associated code subspace, wherein, for each column of the corresponding associated code subspace, any cyclic shift of the column is identical to one of the other columns of the corresponding associated code subspace or to one of the other columns of the corresponding associated code subspace with opposite sign for each of the non-zero values;
combining (<NUM>) the spread symbols of the sub-blocks in each block to generate the wireless signal to be transmitted; and
transmitting the wireless signal.