Method, apparatus and computer program

Trellis coding and filtering in uplink transmissions address high PAPR issues, enhancing communication range and battery life in mobile devices by reducing power consumption.

GB2639236APending Publication Date: 2025-09-17NOKIA TECHNOLOGIES OY
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
GB2024003577
Authority / Receiving Office
GB · GB
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-03-12
Publication Date
2025-09-17

AI Technical Summary

Technical Problem

Existing uplink transmission methods in wireless communication networks, such as DFT-s-OFDM, face challenges with high peak-to-average power ratio (PAPR) leading to increased power consumption and reduced battery life in mobile devices, and crest-factor reduction modules are computationally intensive.

Method used

Implement trellis coding and filtering to generate a filtered signal with reduced PAPR, eliminating the need for crest-factor reduction modules and maintaining low implementation complexity.

Benefits of technology

Reduces PAPR, allowing increased transmit power and extended communication range while preserving battery life in mobile devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 00000000_0001_ABST
    Figure 00000000_0001_ABST
  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

An apparatus, method and program for encoding and modulating data bits to generate a signal for uplink transmission whilst maintaining a low peak to average power ration (PAPR). The apparatus comprises means for obtaining a limit for maximum signal amplitude associated with an uplink transmission and means 703 for generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude. The apparatus further comprises means 709 for performing a filtering, based on the first sequence of symbols, to generate a filtered signal, and means for transmitting, to a network node (e.g. a base station, receiver device or gNodeB), a signal based on the filtered signal. An apparatus, method and program for demodulation is also disclosed.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field Various examples of this disclosure relate to methods, apparatuses, and computer programs for a communication network. Background A communication network can be seen as a facility that enables communications between two or more communication devices, or provides communication devices access to a data network. A mobile or wireless communication network is one example of a communication network. A communication device may be provided with a service by an application server. Such communication networks operate in accordance with standards such as those provided by 3GPP (Third Generation Partnership Project) or ETSI (European Telecommunications Standards Institute). Examples of standards are the so-called 5G (5th Generation) standards provided by 3GPP. Summary Some examples of this disclosure will be described with respect to certain aspects. These aspects are not intended to indicate key or essential features of the embodiments of this disclosure, nor are they intended to be used to limit the scope of thereof. Other features, aspects, and elements will be readily apparent to a person skilled in the art in view of this disclosure. For example, it should be appreciated that further aspects may be provided by the combination of any two or more of the various aspects described below. According to an aspect, there is provided an apparatus comprising: means for obtaining a limit for maximum signal amplitude associated with an uplink transmission; means for generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude; means for performing a filtering, based on the first sequence of symbols, to generate a filtered signal; and means for transmitting, to a network node, a signal based on the filtered signal. In some examples, the means for obtaining comprises: means for determining the limit for the uplink transmission based on an uplink transmission peak-to-average power ratio, or means for receiving, from the network node, information associated with the limit. In some examples, the limit for maximum signal amplitude is received from the network node. In some examples, the uplink transmission is associated with a first modulation and coding scheme, the first modulation and coding scheme comprising: a configuration for the trellis coding, a set of constellation points, a configuration for the filtering, and a forward error correction code. In some examples, the forward error correction code comprises at least one of the following: a low-density parity check, a turbocode, or a polarcode. In some examples, the apparatus comprises: means for selecting the first modulation and coding scheme from a set of modulation and coding schemes; and means for providing, to the network node, an indication of the first modulation and coding scheme to be used by the apparatus for the uplink transmission. In some examples, the apparatus comprises: means for receiving, from the network node, an indication of the first modulation and coding scheme to be used for the uplink transmission. In some examples, the means for generating comprises: means for obtaining k data bits as an input; and means for encoding the k data bits using the trellis coding to generate the first sequence of symbols, wherein the first sequence of symbols is in the time-domain, wherein the trellis coding is associated with a number of states, and the encoding comprises: when in a first state of the trellis coding, determining a next state from a first set of next states that are allowed for the trellis coding based on a first group of n coded bits, when in a second state of the trellis coding, determining a next state from a second set of next states that are allowed for the trellis coding based on a second group of n coded bits, wherein the first set of next states has a different number of states than the second set of next states. In some examples, at least one of the first state or the second state has a number of next states in the first set or the second set respectively that has an integer factor that is odd and greater than one. In some examples, for at least one of the first state or the second state, a number of n coded bits in the first group or the second group respectively is different when determining different next states from the first set or the second set respectively. In some examples, for at least one of the first state or the second state, two different groups of n coded bits determine the same next state from the first set or the second set respectively. In some examples, a number of coded bits in the first group used to determine the next state from the first set of next states is different to a number of coded bits in the second group used to determine the next state from the second set of next states. In some examples, the next state from the first set of next states is determined based on the first group of n coded bits, and the next state from the second set of next states is determined based on the second group of n coded bits, the first group is different to the second group, and the next state from the first set is the same as the next state from the second set. In some examples, the means for encoding comprises: means for encoding the k data bits to form the n coded bits; and means for mapping the n coded bits to the first sequence of symbols using the trellis coding. In some examples, a number of symbols encoded by at least one vector of n coded bits is different than a number of symbols encoded by at least one other vector of n coded bits, or a first vector of n coded bits and a second vector of n coded bits are mapped to the first sequence of symbols, and a sequence of symbols of the first sequence of symbols obtained based on the first vector is the same as a sequence of symbols of the first sequence of symbols obtained based on the second vector. In some examples, a sequence of symbols encoded by at least one vector of n coded bits is the same as a sequence of symbols encoded by at least one other vector of n coded bits. In some examples, the apparatus comprises: means for modulating the first sequence of symbols to generate a second sequence of symbols, wherein the second sequence of symbols is in the frequency domain. In some examples, the means for performing a filtering comprises: means for performing a filtering of the first sequence of symbols using an upsampling filter in the time domain to generate a filtered signal. In some examples, wherein the obtaining, encoding, modulating, performing and transmitting are for the transmission and based on the first modulation and coding scheme. In some examples, the apparatus is a communication device. In some examples, the communication device is one of: a user equipment, a terminal, or a mobile device. According to an aspect, there is provided an apparatus comprising: means for receiving, from a communication device, a signal; means for performing a demodulation, based on the signal that has been received, using trellis decoding; and means for determining an estimate of k data bits comprised within the signal based on the demodulation. In some examples, the apparatus comprises: means for determining a limit for maximum signal amplitude associated with an uplink transmission for the communication device; and means for providing, to the communication device, information associated with the limit. In some examples, the limit for maximum signal amplitude is provided to the communication device. In some examples, the signal received from the communication device is associated with a first modulation and coding scheme, the first modulation and coding scheme comprising: a configuration for the trellis coding, a set of constellation points, a configuration for the filtering, and a forward error correction code. In some examples, the forward error correction code comprises at least one of the following: a low-density parity check, a turbocode, or a polarcode. In some examples, the apparatus comprises: means for selecting the first modulation and coding scheme from a set of modulation and coding schemes; and means for providing, to the communication device, an indication of the first modulation and coding scheme to be used for uplink transmissions. In some examples, the apparatus comprises: means for receiving, from the communication device, an indication of the first modulation and coding scheme to be used for uplink transmissions by the communication device. In some examples, the means for performing the demodulation comprises: means for performing a demodulation of the signal that has been received using trellis decoding, wherein the trellis decoding utilises a Bahl, Cocke, Jelinek and Raviv, BCJR, algorithm or a Viterbi algorithm. In some examples, the means for performing the demodulation comprises: means for performing a window extraction based on the signal, in the time-domain, to determine a timedomain frame; means for performing a fast Fourier transform of the time-domain frame to determine a third sequence of symbols, wherein the third sequence of symbols are in the frequency domain; means for performing an inverse fast Fourier transform of the third sequence of symbols to determine a fourth sequence of symbols, wherein the fourth sequence of symbols are in the time-domain; means for performing the trellis decoding of the fourth sequence of symbols to determine n log-likelihood ratios, LLRs, corresponding to n coded bits, wherein the trellis decoding utilises a Bahl, Cocke, Jelinek and Raviv, BCJR, algorithm or a Viterbi algorithm. In some examples, the means for estimating comprises: means for estimating the k data bits based on the n LLRs corresponding to the n coded bits. In some examples, the apparatus is a network node. In some examples, the network node is one of: a base station, a receiver device, or a gNodeB. According to an aspect, there is provided a method comprising: obtaining a limit for maximum signal amplitude associated with an uplink transmission; generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude; performing a filtering, based on the first sequence of symbols, to generate a filtered signal; and transmitting, to a network node, a signal based on the filtered signal. In some examples, the obtaining comprises: determining the limit for the uplink transmission based on an uplink transmission peak-to-average power ratio, or receiving, from the network node, information associated with the limit. In some examples, the limit for maximum signal amplitude is received from the network node. In some examples, the uplink transmission is associated with a first modulation and coding scheme, the first modulation and coding scheme comprising: a configuration for the trellis coding, a set of constellation points, a configuration for the filtering, and a forward error correction code. In some examples, the forward error correction code comprises at least one of the following: a low-density parity check, a turbocode, or a polarcode. In some examples, the method comprises: selecting the first modulation and coding scheme from a set of modulation and coding schemes; and providing, to the network node, an indication of the first modulation and coding scheme to be used by the apparatus for the uplink transmission. In some examples, the method comprises: receiving, from the network node, an indication of the first modulation and coding scheme to be used for the uplink transmission. In some examples, the generating comprises: obtaining k data bits as an input; and encoding the k data bits using the trellis coding to generate the first sequence of symbols, wherein the first sequence of symbols is in the time-domain, wherein the trellis coding is associated with a number of states, and the encoding comprises: when in a first state of the trellis coding, determining a next state from a first set of next states that are allowed for the trellis coding based on a first group of n coded bits, when in a second state of the trellis coding, determining a next state from a second set of next states that are allowed for the trellis coding based on a second group of n coded bits, wherein the first set of next states has a different number of states than the second set of next states. In some examples, at least one of the first state or the second state has a number of next states in the first set or the second set respectively that has an integer factor that is odd and greater than one. In some examples, for at least one of the first state or the second state, a number of n coded bits in the first group or the second group respectively is different when determining different next states from the first set or the second set respectively. In some examples, for at least one of the first state or the second state, two different groups of n coded bits determine the same next state from the first set or the second set respectively. In some examples, a number of coded bits in the first group used to determine the next state from the first set of next states is different to a number of coded bits in the second group used to determine the next state from the second set of next states. In some examples, the next state from the first set of next states is determined based on the first group of n coded bits, and the next state from the second set of next states is determined based on the second group of n coded bits, the first group is different to the second group, and the next state from the first set is the same as the next state from the second set. In some examples, the encoding comprises: encoding the k data bits to form the n coded bits; and mapping the n coded bits to the first sequence of symbols using the trellis coding. In some examples, a number of symbols encoded by at least one vector of n coded bits is different than a number of symbols encoded by at least one other vector of n coded bits, or a first vector of n coded bits and a second vector of n coded bits are mapped to the first sequence of symbols, and a sequence of symbols of the first sequence of symbols obtained based on the first vector is the same as a sequence of symbols of the first sequence of symbols obtained based on the second vector. In some examples, a sequence of symbols encoded by at least one vector of n coded bits is the same as a sequence of symbols encoded by at least one other vector of n coded bits. In some examples, the method comprises: modulating the first sequence of symbols to generate a second sequence of symbols, wherein the second sequence of symbols is in the frequency domain. In some examples, the performing a filtering comprises: performing a filtering of the first sequence of symbols using an upsampling filter in the time domain to generate a filtered signal. In some examples, wherein the obtaining, encoding, modulating, performing and transmitting are for the transmission and based on the first modulation and coding scheme. In some examples, the method is performed by a communication device. In some examples, the communication device is one of: a user equipment, a terminal, or a mobile device. According to an aspect, there is provided a method comprising: receiving, from a communication device, a signal; performing a demodulation, based on the signal that has been received, using trellis decoding; and determining an estimate of k data bits comprised within the signal based on the demodulation. In some examples, the method comprises: determining a limit for maximum signal amplitude associated with an uplink transmission for the communication device; and providing, to the communication device, information associated with the limit. In some examples, the limit for maximum signal amplitude is provided to the communication device. In some examples, the signal received from the communication device is associated with a first modulation and coding scheme, the first modulation and coding scheme comprising: a configuration for the trellis coding, a set of constellation points, a configuration for the filtering, and a forward error correction code. In some examples, the forward error correction code comprises at least one of the following: a low-density parity check, a turbocode, or a polarcode. In some examples, the method comprises: selecting the first modulation and coding scheme from a set of modulation and coding schemes; and providing, to the communication device, an indication of the first modulation and coding scheme to be used for uplink transmissions. In some examples, the method comprises: receiving, from the communication device, an indication of the first modulation and coding scheme to be used for uplink transmissions by the communication device. In some examples, the performing the demodulation comprises: performing a demodulation of the signal that has been received using trellis decoding, wherein the trellis decoding utilises a Bahl, Cocke, Jelinek and Raviv, BCJR, algorithm or a Viterbi algorithm. In some examples, the performing the demodulation comprises: performing a window extraction based on the signal, in the time-domain, to determine a time-domain frame; performing a fast Fourier transform of the time-domain frame to determine a third sequence of symbols, wherein the third sequence of symbols are in the frequency domain; performing an inverse fast Fourier transform of the third sequence of symbols to determine a fourth sequence of symbols, wherein the fourth sequence of symbols are in the time-domain; performing the trellis decoding of the fourth sequence of symbols to determine n log-likelihood ratios, LLRs, corresponding to n coded bits, wherein the trellis decoding utilises a Bahl, Cocke, Jelinek and Raviv, BCJR, algorithm or a Viterbi algorithm. In some examples, the estimating comprises: estimating the k data bits based on the n LLRs corresponding to the n coded bits. In some examples, the method is performed by a network node. In some examples, the network node is one of: a base station, a receiver device, or a gNodeB. According to an aspect, there is provided an apparatus comprising: at least one processor, and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to perform: obtaining a limit for maximum signal amplitude associated with an uplink transmission; generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude; performing a filtering, based on the first sequence of symbols, to generate a filtered signal; and transmitting, to a network node, a signal based on the filtered signal. In some examples, the obtaining comprises: determining the limit for the uplink transmission based on an uplink transmission peak-to-average power ratio, or receiving, from the network node, information associated with the limit. In some examples, the limit for maximum signal amplitude is received from the network node. In some examples, the uplink transmission is associated with a first modulation and coding scheme, the first modulation and coding scheme comprising: a configuration for the trellis coding, a set of constellation points, a configuration for the filtering, and a forward error correction code. In some examples, the forward error correction code comprises at least one of the following: a low-density parity check, a turbocode, or a polarcode. In some examples, the apparatus is caused to perform: selecting the first modulation and coding scheme from a set of modulation and coding schemes; and providing, to the network node, an indication of the first modulation and coding scheme to be used by the apparatus for the uplink transmission. In some examples, the apparatus is caused to perform: receiving, from the network node, an indication of the first modulation and coding scheme to be used for the uplink transmission. In some examples, the generating comprises: obtaining k data bits as an input; and encoding the k data bits using the trellis coding to generate the first sequence of symbols, wherein the first sequence of symbols is in the time-domain, wherein the trellis coding is associated with a number of states, and the encoding comprises: when in a first state of the trellis coding, determining a next state from a first set of next states that are allowed for the trellis coding based on a first group of n coded bits, when in a second state of the trellis coding, determining a next state from a second set of next states that are allowed for the trellis coding based on a second group of n coded bits, wherein the first set of next states has a different number of states than the second set of next states. In some examples, at least one of the first state or the second state has a number of next states in the first set or the second set respectively that has an integer factor that is odd and greater than one. In some examples, for at least one of the first state or the second state, a number of n coded bits in the first group or the second group respectively is different when determining different next states from the first set or the second set respectively. In some examples, for at least one of the first state or the second state, two different groups of n coded bits determine the same next state from the first set or the second set respectively. In some examples, a number of coded bits in the first group used to determine the next state from the first set of next states is different to a number of coded bits in the second group used to determine the next state from the second set of next states. In some examples, the next state from the first set of next states is determined based on the first group of n coded bits, and the next state from the second set of next states is determined based on the second group of n coded bits, the first group is different to the second group, and the next state from the first set is the same as the next state from the second set. In some examples, the encoding comprises: encoding the k data bits to form the n coded bits; and mapping the n coded bits to the first sequence of symbols using the trellis coding. In some examples, a number of symbols encoded by at least one vector of n coded bits is different than a number of symbols encoded by at least one other vector of n coded bits, or a first vector of n coded bits and a second vector of n coded bits are mapped to the first sequence of symbols, and a sequence of symbols of the first sequence of symbols obtained based on the first vector is the same as a sequence of symbols of the first sequence of symbols obtained based on the second vector. In some examples, a sequence of symbols encoded by at least one vector of n coded bits is the same as a sequence of symbols encoded by at least one other vector of n coded bits. In some examples, the apparatus is caused to perform: modulating the first sequence of symbols to generate a second sequence of symbols, wherein the second sequence of symbols is in the frequency domain. In some examples, the performing a filtering comprises: performing a filtering of the first sequence of symbols using an upsampling filter in the time domain to generate a filtered signal. In some examples, wherein the obtaining, encoding, modulating, performing and transmitting are for the transmission and based on the first modulation and coding scheme. In some examples, the apparatus is a communication device. In some examples, the communication device is one of: a user equipment, a terminal, or a mobile device. According to an aspect, there is provided an apparatus comprising: at least one processor, and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to perform: receiving, from a communication device, a signal; performing a demodulation, based on the signal that has been received, using trellis decoding; and determining an estimate of k data bits comprised within the signal based on the demodulation. In some examples, the apparatus is caused to perform: determining a limit for maximum signal amplitude associated with an uplink transmission for the communication device; and providing, to the communication device, information associated with the limit. In some examples, the limit for maximum signal amplitude is provided to the communication device. In some examples, the signal received from the communication device is associated with a first modulation and coding scheme, the first modulation and coding scheme comprising: a configuration for the trellis coding, a set of constellation points, a configuration for the filtering, and a forward error correction code. In some examples, the forward error correction code comprises at least one of the following: a low-density parity check, a turbocode, or a polarcode. In some examples, the apparatus is caused to perform: selecting the first modulation and coding scheme from a set of modulation and coding schemes; and providing, to the communication device, an indication of the first modulation and coding scheme to be used for uplink transmissions. In some examples, the apparatus is caused to perform: receiving, from the communication device, an indication of the first modulation and coding scheme to be used for uplink transmissions by the communication device. In some examples, the performing the demodulation comprises: performing a demodulation of the signal that has been received using trellis decoding, wherein the trellis decoding utilises a Bahl, Cocke, Jelinek and Raviv, BCJR, algorithm or a Viterbi algorithm. In some examples, the performing the demodulation comprises: performing a window extraction based on the signal, in the time-domain, to determine a time-domain frame; performing a fast Fourier transform of the time-domain frame to determine a third sequence of symbols, wherein the third sequence of symbols are in the frequency domain; performing an inverse fast Fourier transform of the third sequence of symbols to determine a fourth sequence of symbols, wherein the fourth sequence of symbols are in the time-domain; performing the trellis decoding of the fourth sequence of symbols to determine n log-likelihood ratios, LLRs, corresponding to n coded bits, wherein the trellis decoding utilises a Bahl, Cocke, Jelinek and Raviv, BCJR, algorithm or a Viterbi algorithm. In some examples, the estimating comprises: estimating the k data bits based on the n LLRs corresponding to the n coded bits. In some examples, the apparatus is a network node. In some examples, the network node is one of: a base station, a receiver device, or a gNodeB. According to an aspect, there is provided an apparatus comprising: circuitry configured to perform: obtaining a limit for maximum signal amplitude associated with an uplink transmission; circuitry configured to perform: generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude; circuitry configured to perform: performing a filtering, based on the first sequence of symbols, to generate a filtered signal; and circuitry configured to perform: transmitting, to a network node, a signal based on the filtered signal. According to an aspect, there is provided an apparatus comprising: circuitry configured to perform: receiving, from a communication device, a signal; circuitry configured to perform: performing a demodulation, based on the signal that has been received, using trellis decoding; and circuitry configured to perform: determining an estimate of k data bits comprised within the signal based on the demodulation. According to an aspect, there is provided a computer program comprising instructions, which when executed by an apparatus, cause the apparatus to perform at least the following: obtaining a limit for maximum signal amplitude associated with an uplink transmission; generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude; performing a filtering, based on the first sequence of symbols, to generate a filtered signal; and transmitting, to a network node, a signal based on the filtered signal. According to an aspect, there is provided a computer program comprising instructions, which when executed by an apparatus, cause the apparatus to perform at least the following: receiving, from a communication device, a signal; performing a demodulation, based on the signal that has been received, using trellis decoding; and determining an estimate of k data bits comprised within the signal based on the demodulation. A computer product stored on a medium may cause an apparatus to perform the methods as described herein. A non-transitory computer readable medium comprising program instructions, that, when executed by an apparatus, cause the apparatus to perform the methods as described herein. An electronic device may comprise apparatus as described herein. Various other aspects and further embodiments are also described in the following detailed description and in the attached claims. According to some aspects, there is provided the subject matter of the independent claims. Some further aspects are defined in the dependent claims. The embodiments that do not fall under the scope of the claims are to be interpreted as examples useful for understanding the disclosure. List of Abbreviations: AF: Application Function AMF: Access and Mobility Management Function AN: Access Network AP: Access point BCJR: Bahl, Cocke, Jelinek and Raviv. BS: Base Station CN: Core Network 12 DFT-s-OFDM: Discrete Fourier transform spread orthogonal frequency division multiplexing DL: Downlink eNB: eNodeB FD: Frequency domain FDSS: Frequency domain spectral shaping FDSS-SE: FDSS with spectral extension FFT: Fast Fourier transform gNB: gNodeB IFFT: Inverse FFT LTE: Long Term Evolution NEF: Network Exposure Function NG-RAN: Next Generation Radio Access Network NF: Network Function NR: New Radio NRF: Network Repository Function NW: Network MS: Mobile Station PAPR: Peak to average power ratio PCF Policy Control Function PLMN: Public Land Mobile Network PSK: Phase shift keying QAM: Quadrature amplitude modulation RAN: Radio Access Network RF: Radio Frequency SCC: Strongly connected component SMF: Session Management Function TD: Time domain UE: User Equipment UDR: Unified Data Repository UDM: Unified Data Management UL: Uplink UPF: User Plane Function 3GPP: 3rd Generation Partnership Project 5G: 5th Generation 5G Core network 5G-AN: 5G Radio Access Network 5GS: 5G System Brief Description of Drawings Some examples will now be described, by way of illustrative and non-limiting example only, with reference to the accompanying drawings in which: FIG. 1 shows a schematic representation of a 5G communication system; FIG. 2 shows a schematic representation of an apparatus for the 5G communication system of FIG. 1; FIG. 3 shows a schematic representation of a communication device; FIG. 4 shows a schematic representation of a DFT-s-OFDM modulation process at a UE and a DFT-s-OFDM demodulation process at a network node; FIG. 5 shows a graphical representation of a sequence of symbols and a resulting time-domain signal after upsampling and channel filtering; FIG. 6 shows a schematic representation of a DFT-s-OFDM modulation process at a UE and a DFT-s-OFDM demodulation process at a network node with FDSS and spectral shaping; FIG. 7 shows a schematic representation of an example modulation process at a communication device and demodulation process at a network node; FIGS. 8a to 8d show graphical representations of simulation data of the trajectory of upsampled signals in the complex plane over a number of symbols using: DFT-s-OFDM, DFT-s-OFDM FDSS, DFT-s-OFDM FDSS-SE, and a modulation process with a trellis-encoder, respectively; FIG. 9 shows an example signalling and operations diagram for a communication device and a network node; FIG. 10 shows a schematic representation of an example trellis graph with a binary modulation, C = 2, and a filter half-length, L = 2; FIG. 11 shows a schematic representation of an example trellis graph with merged pairs of parallel nodes; FIG. 12 shows a schematic representation of an example trellis graph with edges being removed to facilitate node merging; FIG. 13 shows a schematic representation of an example trellis graph with a strongly connected component being extracted; FIG. 14 shows a schematic representation of the trellis graph of FIG. 13 with edge labels corresponding to an erasure modulation process; FIG. 15 shows a graphical representation of instantaneous peak-to-average power ratio distribution for different modulation processes; FIG. 16 shows a schematic representation of hierarchical construction of a 16-QAM constellation from two 4-QAM constellations; FIG. 17 shows graphical representations of time-domain trajectories of upsampled 16-QAM sequences using DFT-s-OFDM and using hierarchical modulation based on two 4-QAM sequences modulated according to a modulation process with a trellis-encoder; FIG. 18 shows a schematic representation of a system for hierarchical modulation of a 16-QAM signal; FIG. 19 shows an example method flow diagram performed by an apparatus; FIG. 20 shows another example method flow diagram performed by an apparatus; and FIG 21 shows a schematic representation of a non-volatile memory medium storing instructions which when executed by a processor allow a processor to perform one or more of the steps of the method of FIGS. 19 to 20. Detailed Description Modulation refers to a way that data is formatted prior to transmission. A coding scheme refers to how the data is encoded while being transmitted. Quadrature amplitude modulation (QAM) is a high-bandwidth method of modulation, which is frequently used in, for example, 4G and 5G cellular systems. QAM encodes data by adjusting both the amplitude and the phase of the signal at the same time. Cellular systems may also use phase-based modulation techniques such as phase shift keying (PSK). Orthogonal frequency division multiplexing (OFDM) is another modulation format used in wireless communication systems such as 5G systems. OFDM combines the benefits of QAM and frequency division multiplexing (FDM) to produce a high-data-rate communication system. Discrete Fourier transform spread orthogonal frequency division multiplexing (DFT-s-ODFM) is an extension of OFDM. DFT-s-ODFM is a single carrier-based transmission scheme. It is similar to single carrier frequency division multiple access (SC-FDMA) where each user or transmitter is allocated a single carrier and a finite portion of the channel bandwidth, and each user is separated from the adjacent users with a finite amount of spacing to prevent interference. The DFT-s-OFDM scheme eliminates the need for spacing between users and combines all the users orthogonally such that the peak of one user coincides with the null of other users. In addition to this, DFT-s-ODFM also uses the concept of Discrete Fourier Transform (DFT) which is a technique that converts a discrete set of input signal sequences in the time domain into discrete components in the frequency domain. In a traditional OFDM system, the incoming symbols are directly mapped in the sub-carrier symbol mapping module. In the DFT-S-OFDM, a transform precoding step is performed before mapping the signal symbols on each sub-carrier. 3GPP wireless standards such as Long-Term Evolution (LTE) and New Radio (NR) permit the use of DFT-s-OFDM for uplink transmissions from devices (e.g., UEs) to networks. An advantage of DFT-s-ODFM over the OFDM approach used in the downlink is that the timedomain signals have reduced peak-to-average power ratio (PAPR). It is beneficial for communications to keep the PAPR low. A depiction of a DFT-s-OFDM system is shown in FIG. 4. FIG. 4 shows a schematic representation of a DFT-s-OFDM modulation process at a UE and a DFT-s-OFDM demodulation process at a network node. The top row of FIG. 4 shows a modulation process at the UE, and the bottom row of FIG. 4 shows the demodulation process at the network node (e.g., gNB). For modulation, bits of information are input to a channel encoder 401 which outputs coded (or encoded) bits. The coded bits are input to a mapper 403, which out puts time-domain (TD) symbols. The TD symbols are input to a fast Fourier transform (FFT) module 405, which outputs frequency-domain (FD) symbols. The FD symbols are input to a zero-padding module 407, wherein the output of the zero-padding module 407 is input into an inverse FFT (IFFT) 409. An output from the IFFT 409 is an upsampled TD signal. The upsampled TS signal is input into a crest factor reduction (CFR) module 411. An output from the CFR 411 is input into a cyclic prefix / windowing module 413. A TD signal based on an output from the cyclic prefix / windowing module 413 is transmitted to the network node. For demodulation, the TD signal is received at the network node. The TD signal in input to a window extraction module 415 which outputs a TD frame. The TD frame is input to an FFT module 417, which outputs FD symbols. The FD symbols are input into an FD equaliser 419. An output from the FD equaliser is provided to an IFFT 421, which outputs TD symbols. The TD symbols are input into a demapper 423, which outputs log-likelihood ratios (LLRs). The LLRs are input into a channel decoder 425. The output from the channel decoder 425 is an estimate of the bits (that were transmitted by the UE). The mapper 403 maps a fixed number of bits to a selected complex constellation point. The sequence thus generated has good / acceptable PAPR, because the peak amplitude is simply the amplitude of the largest constellation point. For example, when using phase-shift keying (PSK), the PAPR at this point is 0 dB, as all the constellation points have unit magnitude. A depiction of PAPR is shown in FIG. 5. FIG. 5 shows a graphical representation of a sequence of symbols and a resulting time-domain signal after upsampling and channel filtering. In the example of FIG. 5, the information being sent is either a ‘+T or a ‘-T. The ‘+1’ or a ‘-T value is shown on the y-axis while the sample number is shown on the x-axis. The information bit is depicted as a circle, whereas the line shows the TD signal that is transmitted. As shown in FIG. 5, the TD signal peaks at amplitudes much higher than the values of ‘+T or a ‘-T. This difference between the peak and the average is used to calculate a PAPR. It is generally considered beneficial in a system to have a lower PAPR value. An obstacle to efficient communication is a high PAPR ratio in the upsampled time domain signal. The upsampling operation occurs just before digital to analogue (DAC) conversion, or as part of DAC conversion, and determines the signal presented to an amplifier. As shown in FIG. 5, the line curve represents the upsampled signal, which is a smooth bandlimited curve passing through the data symbols. While the data symbols have unit amplitude, the oversampled signal often has much higher peak amplitudes. If not mitigated by CFR, such signals require amplifiers to be operated with a wide linear range, which consumes more power than an operation in a narrower linear range. In the following examples, the term “symbol” is used for a single constellation point and the term “block” is used for a group of data points processed together by OFDM or DFT-s-OFDM. With reference to FIG. 4, in an example, with a block of A / symbols, to limit the bandwidth occupied by the signal, the symbols are upsampled, by applying A / -FFT (see FFT 405), zero padding (see zero-padding 407) the result to length Q / V, and applying a large QN-IFFT (see IFFT 409), where Q is the upsampling factor (typically greater than or equal to 4). If Q is an integer, this may be equivalent to upsampling the TD symbols and convolving with a sine filter. However, the upsampling operation often introduces large peaks and thus increases the PAPR by a large factor (e.g., by about 6 dB). At the receiver, the demodulation process is similar to that of an OFDM receiver, except that there is an additional A / -IFFT before the demapper. The demapper estimates the received constellation points and extracts estimates of the coded bits (soft decision) before passing them to the channel decoder. One way to combat this PAPR increase is to implement a crest-factor reduction (CFR) module after the IFFT module (as seen in FIG. 4, see CFR 411). CFRs typically uses a clip-and-filter approach which requires several Q / V-FFT / IFFT iterations on the oversampled signal. The module reduces the maximum amplitude, while introducing some distortion that can be modelled as additional noise. Because a CFR module is computationally intensive, and mobile devices (e.g., UEs) are often energy-limited, a CFR being used in mobile devices leads to heavy battery usage (i.e., reduced the battery life). For this reason, CFR is more common in downlink communication rather than uplink, as a network node is not limited with regard to energy use. Stated differently, the use of the CFR module for modulation at the UE helps to reduce PAPR, but reduces the battery life the of the UE. In order to improve the PAPR in DFT-s-OFDM, frequency-domain spectral shaping (FDSS) may be utilised at a UE. FDSS is a type of modulation technology which uses a spectrum shaping sequence to effectively shape a waveform in a frequency domain. When FDSS used with spectral extension, this is referred to as FDSS-SE. FDSS-SE is depicted in FIG. 6. FIG. 6 shows a schematic representation of a DFT-s-OFDM modulation process at a UE and a DFT-s-OFDM demodulation process at a network node with FDSS and spectral shaping. In FDSS-SE of FIG. 6, for the modulation process at the UE, zero padding is replaced with cyclic repetition of the frequency domain signal and multiplication by a frequency-domain filter response. The demodulation process at the network node has similar modules to FIG. 4. The top row of FIG. 6 shows a modulation process at the UE, and the bottom row of FIG. 6 shows the demodulation process at the network node (e.g., gNB). For modulation, bits of information are input to a channel encoder 601 which outputs coded (or encoded) bits. The coded bits are input to a mapper 603, which outputs time-domain (TD) symbols. The TD symbols are input to a fast Fourier transform (FFT) module 605, which outputs frequency-domain (FD) symbols. The FD symbols are input to a cyclic repetition module 607, wherein the output of the cyclic repetition module 607 is input into a fixed FD shaping filter 609. The shaping filter 609 provides an output to be input into an inverse FFT (I FFT) 611. An output from the I FFT 611 is an upsampled TD signal. The upsampled TD signal is input into a cyclic prefix / windowing module 613. A TD signal based on an output from the cyclic prefix / windowing module 613 is transmitted to the network node. For demodulation, the TD signal is received at the network node. The TD signal is input to a window extraction module 615 which outputs a TD frame. The TD frame is input to an FFT module 617, which outputs FD symbols. The FD symbols are input into an FD equaliser 619. An output from the FD equaliser is provided to an IFFT 621, which outputs TD symbols. The TD symbols are input into a demapper 623, which outputs log-likelihood ratios (LLRs). The LLRs are input into a channel decoder 625. The output from the channel decoder 625 is an estimate of the bits (that were transmitted by the UE). Conventional DFT-s-OFDM may be thought of as a special case of FDSS in which a rectangular filter is used. By using a filter shape other than rectangular, the time-domain signal is effectively convolved with a time-domain impulse different from a sine function. The filter properties can be chosen to improve PAPR, typically at the cost of some degradation in postequalized SNR. In the case of FDSS-SE, the improved PAPR is at the cost of an increase in the bandwidth occupied by the signal. Conventionally in FDSS-SE, a number of non-zero coefficients in the frequency domain shaping filter (e.g., 609) is (slightly) larger than N (e.g., to limit complexity). In this manner, there are a number of identified problems with modulation schemes used for uplink transmissions. For DFT-s-OFDM, there is an increase in PAPR due to upsampling. For DFT-s-OFDM with crest-factor reduction (CFR), the computational complexity / power consumption of the CFR module is high which means that battery life is reduced for UEs. Using DFT-s-OFDM with FDSS-SE is a way to mitigate the difficulties highlighted above without need for a CFR module. However, FDSS-SE may increase the bandwidth identified by the transmitted signal. One or more of the following examples aim to address or more of the problems identified above. One or more of the examples aim to further enhance performance gains of FDSS-SE in order to provide additional coverage, while maintaining low implementation complexity at the UE (so that battery life is not reduced). The additional coverage is achieved due to the reduction of PAPR during the modulation process. As the PAPR is reduced, the average transmit power of a signal may be increased without saturating the amplifier. This increased transmit power allows a UE to successfully communicate at greater (larger) distances from the network node (e.g., gNB). Therefore, the coverage of the network (i.e., the area for communication with a given network node) increases. In examples, there is provided an apparatus (e.g., a UE) that is configured to obtain a limit for maximum signal amplitude associated with an uplink transmission, and generate a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude. The apparatus is also configured to perform a filtering, based on the first sequence of symbols, to generate a filtered signal, and then transmit, to a network node (e.g., a gNB), a signal based on the filtered signal. One or more of the examples are in the context of wireless communication from a communication device (e.g., a UE) to a network node (e.g., gNB). One or more of the examples allow a UE to transmit information to a gNB, with a low-power consumption, over a bandlimited wireless channel. In other examples, the methods also apply in other types of channels with similar constraints (e.g., point-to-point channels). These examples will be described in more detail below, alongside FIGS. 7 to 18. Before explaining the examples above in greater detail, an example communication device (as shown in FIG. 3) that is capable of performing uplink transmissions to a network is described. The communication device is part of a communication system (as shown in FIG. 1). The communication device is able to communicate with one or more of the entities of the communication system (as shown in FIG. 1) via an apparatus (as shown in FIG. 2), which may be part of / comprised in a network node (e.g., base station). As described above, a communication device and network node may communicate with each other, such that the communication device is able to provide uplink transmissions to the network. Certain general aspects of the communication system and the communication device are briefly explained with reference to FIGS. 1 to 3 to assist in understanding the technology underlying the described examples. FIG. 1 shows a schematic representation of a 5G communication system 100. The wireless communication system 100 comprises one more communication devices 102 such as user equipments (UEs), or terminals. The wireless communication system 100 comprises a 5G system (5GS). The 5GS comprises a 5G radio access network (5G-RAN) 106, a 5G core network (5GC) 104 comprising one or more network functions (NF), one or more application functions (AFs) 108, and one or more data networks (DNs) 110. The 5G-RAN 106 may comprise one or more gNodeB (gNB) distributed unit (DU) functions connected to one or more gNodeB (gNB) centralized unit (CU) functions. The 5GC 104 comprises an access and mobility management function (AMF) 112, a session management function (SMF) 114, an authentication server function (AUSF) 116, a user data management (UDM) 118, a user plane function (UPF) 120, a network exposure function (NEF) 122 and / or other NFs. Some of the examples as shown below may be applicable to 3GPP 5G standards. However, some examples may also be applicable to 5G-advanced, 4G, 3G and other 3GPP standards. In a wireless communication system 100, such as that shown in FIG. 1, communication devices 102, such as for example, terminals, user apparatuses, user equipments (UE), and / or machine-type communication devices are provided with wireless access via at least one base station or similar wireless transmitting and / or receiving node or point. The communication device 102 is provided with an appropriate signal receiving and transmitting apparatus for enabling communications, for example enabling access to a communication network or communications directly with other devices. The communication device 102 may access a carrier provided by a base station or access point, and transmit and / or receive communications on the carrier. FIG. 2 illustrates an example of an apparatus 200. The apparatus 200 may be for the 5G communication system of FIG. 1. The apparatus 200 may be for controlling a function of one or more network entities and / or network functions, such as the entities of the 5G-RAN or the 5GC as illustrated on FIG. 1. The apparatus 200 comprises at least one random access memory (RAM) 211a, at least one read only memory (ROM) 211b, at least one processor 212, 213 and an input / output interface 214. The at least one processor 212, 213 is coupled to the RAM 211a and the ROM 211b. The at least one processor 212, 213 may be configured to execute an appropriate software code 215. The software code 215 may for example allow to perform one or more steps to perform one or more of the present aspects or examples. The software code 215 may be stored in the ROM 211b. The apparatus 200 may be interconnected with another apparatus 200 controlling another entity / function of the 5G-AN or the 5GC. . In some examples, apparatus 200 may be configured to provide one or more functions of the 5G-AN or the 5GC. For example, apparatus 200 may be configured to perform at least some functionality of a particular function of the 5G-AN or the 5GC. For example, apparatus 200 may be configured to operate as a particular function of the 5G-AN or the 5GC. In alternative examples, apparatus 200 may be configured to perform at least some functionality of two or more functions of the 5G-AN and / or the 5GC. For example, apparatus 200 may be configured to operate as two or more functions of the 5G-AN and / or the 5GC. The apparatus 200 may comprise one or more circuits, or circuitry (not shown) which may be configured to perform one or more of the present aspects or examples. FIG. 3 illustrates an example of a communication device 300. The communication device 300 may be similar to the communication device 102 illustrated in FIG. 1. The communication device 300 may be provided by any device capable of sending and receiving radio signals. Non-limiting examples of a communication device 300 are a user equipment, a terminal, a mobile station (MS) or mobile device such as a mobile phone or what is known as a ’smart phone’, a computer provided with a wireless interface card or other wireless interface facility (e.g., USB dongle), a personal data assistant (PDA) or a tablet provided with wireless communication capabilities, a machine-type communications (MTC) device, a Cellular Internet of things (CloT) device, or a terrestrial / maritime / aerial vehicle such as a car, a truck, a boat, an air plane, or a drone, or any combinations of these or the like. The communication device 300 may provide, for example, communication of data for carrying communications. The communications may be one or more of voice, electronic mail (email), text message, multimedia, data, machine data and so on. The communication device 300 may receive signals over an air or radio interface 307 via appropriate apparatus for receiving and may transmit signals via appropriate apparatus for transmitting radio signals. In FIG. 3, a transceiver apparatus is designated schematically by block 306. The transceiver apparatus 306 may be provided for example by means of a radio part and associated antenna arrangement. The antenna arrangement may be arranged internally or externally to the mobile device. The communication device 300 may be provided with at least one processor 301, at least one memory ROM 302a, at least one RAM 302b and other possible components 303 for use in software and hardware aided execution of tasks it is designed to perform, including control of access to and communications with access systems and other communication devices. The at least one processor 301 is coupled to the RAM 302b and the ROM 302a. The at least one processor 301 may be configured to execute an appropriate software code 308. The software code 308 may for example allow to perform one or more of the present aspects. The software code 308 may be stored in the ROM 302a. The communication device 300 may comprise one or more circuits, or circuitry (not shown) which may be configured to perform one or more of the present aspects or examples. The processor, storage and other relevant control apparatus may be provided on an appropriate circuit board and / or in chipsets. This feature is denoted by reference 304. The communication device may optionally have a user interface such as keypad 305, touch sensitive screen or pad, combinations thereof or the like. Optionally one or more of a display, a speaker and a microphone may be provided depending on the type of the device. In order to mitigate a high PAPR, as discussed above, a modulation scheme is provided wherein the high PAPR is addressed earlier in the transmit chain, when coded bits are mapped to time-domain symbols. In examples, trellis coding (e.g., using a module for trellis coding, which may be referred to as a trellis encoder) is used ata communication device (e.g., a UE) as part of the modulation and coding of data for uplink transmission. In the following, the terms ‘trellis coding’ and ‘trellis encoding’, and ‘trellis coder1 and ‘trellis encoder’ may be used interchangeably. Conventional trellis coded modulation (TCM) is a modulation scheme that transmits information with high efficiency over band-limited channels. TCM is the combination of convolutional (or trellis) coding and modulation into a single step. For example, a 1 / 2 convolutional code takes one bit and codes it into two bits. Modulation is the process of converting a signal into analog form via a sinusoidal carrier. During TCM, both encoding and modulating occur simultaneously. A trellis encoder may be used in (conventional) TCM. The constraints introduced by the trellis encoder in TCM increases a minimum distance between sequences of modulated symbols, making the scheme more resistant to noise. In examples, trellis coding (e.g., using a trellis encoder) is used as part of a modulation process and is used as an efficient way of mapping information bits to a sequence of modulated symbols while constraining the set of possible sequences. In a demodulation process, a trellis decoding is performed (e.g., using a trellis decoder) which is an efficient way to estimate information bits from a noisy encoded sequence of modulated symbols. In examples, a module for performing trellis coding (e.g., a trellis-encoder) is configured, at the mapping stage of the modulation, in order to limit a maximum signal amplitude occurring at the upsampling stage of the modulation. In this manner, the trellis-encoder according to some of the following examples may be referred to as a ‘peak-limiting trellis encoder’, an ‘amplitudelimiting trellis encoder1, or the like. The peak-limiting trellis encoder is used to avoid generating sequences of symbols that would lead to large peak amplitudes in the later upsampling step of the modulation. A reduction in the peak amplitudes thus eliminates the need for a CFR module in the modulation. A block diagram of an end-to-end scheme using the trellis encoder is depicted in FIG. 7. FIG. 7 shows a schematic representation of an example modulation process at a communication device and demodulation process at a network node. The top row of FIG. 7 shows a modulation performed by a communication device (e.g., a UE), and the bottom row of FIG. 7 shows a demodulation performed by the network node (e.g., gNB). The features / operations performed by the UE for the modulation may be performed by one or more means comprised in the UE. The features / operations performed by the gNB for the demodulation may be performed by one or more means comprised in the gNB. For example, the “means” may include one or more of: at least one processor, at least one memory, transceiver circuitry, antenna circuitry, etc. It should be understood that these are provided as non-limiting examples. For the modulation, k (number of) data bits (e.g., information to be transmitted) is input to a module for performing channel encoding (herein referred to as a channel encoder 701). The channel encoder 701 encodes the k data bits and outputs n coded (or encoded) bits. In some examples, the channel encoder 701 takes the k data bits and maps them to the n coded bits, wherein n >k. This may be referred to as adding redundancy. The purpose of adding redundancy is so that when the k data bits are affected by the channel, and the channel decoder receives imperfect estimates of the n coded bits, the decoder is still able to determine the original k data bits, with a high probability of success. In this context, the "channel", from the point of the view of the channel encoder 701, is modules from the output of the channel encoder 701 to the input of a decoder. An example of a channel code is a repetition code. Here, the channel encoder 701 maps k data bits to n = 3k bits by repeating each data bit 3 times. Then, if data bits are erased in the channel, as long as at least 1 of the 3 bits in each group is not erased, the decoder is able to recover the original k bits. The n coded bits are input to a module for performing trellis coding (herein referred to as a trellis-encoder 703) (or ‘peak-limiting trellis encoder’). The trellis-encoder maps the n coded bits to a first sequence of symbols. The first sequence of symbols is in the time domain (TD). As part of the mapping, the trellis-encoder 703 maps at least one vector (or each of a plurality of vectors) of n coded bits to a sequence of symbols. In this manner, the trellisencoder 703 outputs time-domain (TD) symbols. The trellis-encoder 703 is configured with a limit for maximum signal amplitude. The encoding and mapping performed by the trellisencoder 703 is based on the limit for maximum signal amplitude. This will be discussed in more detail below. In this manner, the trellis encoder 703 maps the n coded bits into a sequence of complex numbers (modulated symbols) which have a physical meaning in terms of carrier phase and amplitude, and which will then be turned into a physical signal in the following steps, and lastly processed by a digital to analogue converter (DAC) (not shown). The first sequence of symbols are then input to a module for performing FFT (herein referred to as an FFT module 705), which performs at least one FFT operation on the input and outputs frequency-domain (FD) symbols. The output from the FFT module 705 may be referred to as a second sequence of symbols. The FD symbols are input to a module for performing cyclic repetition (herein referred to as a cyclic repetition module 707). The cyclic repetition module 707 performs a cyclic repetition operation on the input, wherein an output of the cyclic repetition module 707 is input into a module for performing a filtering (herein referred to as a filter 709). The filter 709 may be in the FD, and be associated with a fixed value, and therefore referred to as a ‘fixed FD shaping filter 709’. The filter 709 performs a filtering operation on the input from the cyclic repetition module 707, and provides an output to be input into a module for performing IFFT (herein referred to as an IFFT 711). The IFFT 711 performs at least one IFFT operation on the input to output an upsampled signal in the TD. The operation performed by the combination of modules 705, 707, 709, and 711 may be referred to as upsampling. The upsampled TD signal is input into a module for performing cyclic prefixing / windowing (herein referred to as a cyclic prefix / windowing module 713). A TD signal based on an output from the cyclic prefix / windowing module 713 is transmitted by the UE to the gNB. The operations of the FFT 705, the cyclic repetition module 707, the filter 709 and the IFFT 711 may be referred to as a upsampling and filtering (or filtering and upsampling). Upsampling indicates that the number of samples has increased (by a factor). Filtering indicated that the bandwidth occupied by the signal occupied has not increased or only increased in a controlled way. This (digital) upsampling and filtering prepares the signal to go into a DAC (not shown). For the demodulation, a TD signal (transmitted by the UE) is received at the gNB. The TD signal is provided as an input into a module for performing window extraction (herein referred to as a window extraction module 715). The window extraction module 715 performs a window extraction operation and outputs a frame in the TD. The TD frame is input to a module for performing FFT (herein referred to as an FFT module 717). The FFT module 717 performs an at least one FFT operation on its input and outputs symbols in the FD (the symbols in the FD may be referred to as a third sequence of symbols). The third sequence of symbols are input into a module for performing FD equalising (herein referred to as an FD equaliser 719). The FD equaliser 719 performs an equalising operation in the FD, wherein an output from the FD equaliser 719 is provided as an input to a module for performing IFFT (herein referred to as an IFFT 721). The IFFT 721 performs at least one IFFT operation on its input and outputs symbols in the TD (the symbols in the TD may be referred to as a fourth sequence of symbols). The fourth sequence of symbols is input into a module for performing trellis decoding (herein referred to as a trellis-decoder 723). The trellis-decoder 723 may be configured with a Bahl, Cocke, Jelinek and Raviv (BCJR) algorithm. The BCLR algorithm in the trellis-decoder 723 is utilised to de-map the fourth sequence of symbols. The trellisdecoder 723 outputs n log-likelihood ratios (LLRs) corresponding to the n coded bits. The LLRs are input into a module for performing channel decoding (herein referred to as a channel decoder 725). The output from the channel decoder 725 is an estimate of the k data bits (that were transmitted by the UE). As trellis encoding is utilised at the transmit side (e.g., at the UE), the receiver side (e.g., at the gNB) is modified (compared to FIG. 6) by replacing the demapper with the trellis decoder 723 (e.g. using the BCJR algorithm). In comparison to the modulation in FIG. 4, the use of the trellis encoder allows the CFR module to be removed, which has the effect of significantly reducing the complexity of the transmitter (e.g., the UE). This helps to extend battery life at the UE. The addition of a trellis decoder increases computational complexity at the gNB, but the limitation on the use of energy at the network-side is often less important as the gNB is not a mobile device. Therefore, the modulation shown in FIG. 7 shifts complexity from the UE to the gNB. In comparison to the modulation in FIG. 6, the modulation in FIG. 7 further improves the spectral efficiency and reach relative to FDSS-SE. In some examples, at the UE side, a wide frequency-domain filter (e.g., filter 709) is used for modulation (compared to a narrower filter used in FDSS-SE). The wide frequencydomain filter may have as many as QN non-zero coefficients. This contrasts FDSS-SE whereby the width of a frequency-domain filter is typically larger than N by a small fraction. Use of the wide frequency-domain filter in the transmit chain is to shorten the time span of the equivalent time-domain upsampling filter. Having a shorter time-domain response facilitates the construction of the peak-limiting trellis encoder. For example, in FDSS, a block of N time domain symbols may be mapped to N frequency domain symbols. The symbols are zero extended to QN symbols, for example with Q= 4. An IFFT of size QN is then used to map back to time domain. The N non-zero values are multiplied by a N filter coefficients. This is an example of a narrow frequency domain filter. In FDSS-SE, N frequency domain symbols may be cyclically extended to a longer length, for example to 1.25 N (i.e., a 25% increase), and then zero-extended to QN. The non-zero symbols are multiplied by 1.25 N filter coefficients. This is another example of a narrow frequency domain filter. In some examples (e.g., using the system of FIG. 7), N frequency domain symbols may be cyclically extended to the (full) QN (e.g., 4N). These QN symbols are then multiplied by QN filter coefficients. This may be considered to be a wide frequency-domain filter. The filter is wide relative to the filters of an FDSS and FDSS-SE modulation as described above. An advantage of using a filter that is wide in the frequency domain is that such a filter may then be narrow in the time domain. For example, having 2LQ coefficients with L = 4. As shown in FIG. 7, a trellis encoder (e.g., 703) is used in conjunction with an upsampling filter to control a peak amplitude of a signal after upsampling. The upsampling filter(s) (e.g., 711) may have a time-domain impulse response that is relatively narrow, when compared with DFT-s-OFDM, or FDSS, or FDSS-SE. As part of the mapping performed by the trellis encoder (e.g., 703), a number of symbols encoded by at least one vector of n coded bits may be different than a number of symbols encoded by at least one other vector of n coded bits. Stated differently, the trellis encoder is configured to use a variable number of bits per symbol in the (peak-controlling) trellis encoder. This may maximize the average number of bits carried, relative to a trellis encoder with a fixed number of bits per symbol. The variable bits per symbol will be described in more detail below. As part of the mapping performed by the trellis encoder (e.g., 703), a first vector of n coded bits and a second vector of n coded bits may be mapped to the first sequence of symbols, and a sequence of symbols of the first sequence of symbols obtained based on the first vector is the same as a sequence of symbols of the first sequence of symbols obtained based on the second vector. Stated differently, there is a mapping with erasures in the trellis encoder. This may maximize the average number of bits carried, relative to a trellis encoder with a fixed number of bits per symbol. This erasures operation will be described in more detail below. In some examples, a cyclic sequence is generated using a trellis (e.g., a sequence that starts and ends in the same trellis state). This facilitates the use of end-to-end scheme of FIG. 7 with a cyclic prefix. This will be described in more detail below. In some examples, a configuration for a trellis encoder (e.g., 703) is determined. This may comprise determining an algorithm for designing a peak-limiting trellis encoder of that has peak reduction properties and good / high bit rate. This will be described in more detail below. FIGS. 8a to 8d show graphical representations of simulation data of the trajectory of upsampled signals in the complex plane over a number of symbols using: DFT-s-OFDM, DFT-s-OFDM FDSS, DFT-s-OFDM FDSS-SE, and a modulation process with a trellis-encoder, respectively. FIG. 8a shows a graphical representation of simulation data for DFT-s-OFDM. FIG. 8b shows a graphical representation of simulation data for DFT-s-OFDM FDSS. FIG. 8c shows a graphical representation of simulation data for DFT-s-OFDM FDSS-SE. FIG. 8d shows a graphical representation of simulation data for a modulation process with a trellis-encoder. As seen in FIG. 8d, the signal amplitude in the complex plane has been limited to 1.4. In this manner, none or the signals has an amplitude above 1.4. In FIGS. 8a to 8c, for DFT-s-OFDM, DFT-s-OFDM FDSS, DFT-s-OFDM FDSS-SE there are signals that have peaks above 1.4. In this manner, the PAPR in FIGS. 8a to 8c is higher than FIG. 8d. With ordinary 4-PSK modulation, the oversampled signal has excursions in the complex plane as high as magnitude 2 (as shown in FIGS. 8a to 8c). For FIG. 8d, the peaklimiting trellis is designed to ensure that the amplitude of the oversampled signal does not exceed 1.4. This ideal crest-factor control is accomplished with low complexity at the UE, at the cost of some reduction in the information carrying capacity of the signal per unit power. The tight control of the signal peaks allows the signal to be transmitted with increased power (reduced backoff). The net effect of increased power but decreased capacity per unit power, can result in a net increase in capacity. FIG. 9 shows an example signalling and operations diagram for a communication device and a network node. At S901a, the communication device (e.g., a UE) determines a modulation and coding scheme (MCS) for an uplink transmission. The UE may select the MOS from a set of MCSs. The set of MCSs may be pre-agreed between UE and network. The selection by the UE may be based on one or more requirements associated with the uplink transmission. For example, the UE may select the MCS based on a requirement associated with PAPR, for the uplink transmission. The MCS comprises: a configuration for a trellis-encoder, a set of constellation points, a configuration for at least one filter, and a forward error correction code. In some examples, the forward error correction code comprises at least one of the following: a low-density parity check code, a turbocode, or a polarcode. The configuration for the trellis encoder may be associated with a limit for a maximum signal amplitude. The limit for a maximum signal amplitude may be referred to as a ‘limit for a maximum magnitude’, or ‘peak-limiting factor’ in some examples. In other examples, any suitable name is used. The limit for a maximum signal amplitude is representative of a maximum value (or limit) of the magnitude of a signal (or sequence) output by a filter for an uplink transmission. For example, the limit may be a value of 1.4, which means that magnitudes of signals output by a filter (as part of modulation, e.g., output by IFFT 711) have a maximum amplitude / maximum magnitude of 1.4. As seen in FIG. 8d, the limit (of 1.4) may be selected such that the magnitude of the signals does not exceed the maximum value of 1.4. At S902a, the UE provides (or sends), to the network node (e.g., a gNB) an indication of the MCS that has been selected by the UE. The gNB will use the indication to demodulate and decode any future transmissions received from the UE. As an alternative to S901a and S902a, there are S901b and S902b. At S901b, the gNB determines an MCS to be used for uplink transmissions from a UE. The gNB may select the MCS from a set of MCSs. The selection by the gNB may be based on one or more requirements associated with uplink transmissions. For example, the gNB may select the MCS based on a requirement associated with PAPR. The MCS comprises: a configuration for a trellis-encoder, a set of constellation points, a configuration for at least one filter, and a forward error correction code. In some examples, the forward error correction code comprises at least one of the following: a low-density parity check, a turbo-code, or a polar-code. The configuration for the trellis encoder may be associated with a limit for a maximum signal amplitude. At S902b, the gNB provides (or sends), to the UE, an indication of the MCS that has been selected by the gNB. The UE will use the indication to modulate data for an uplink transmission to the gNB. At S903, for the uplink transmission, the UE performs a modulation of data bits to be transmitted, wherein the modulation is based on the MCS. The modulation may utilise one or more of the functional modules depicted in FIG. 7. The modulation may comprise obtaining a limit for maximum signal amplitude associated with the uplink transmission, and then generating, using trellis coding, a first sequence of symbols based on the limit for maximum signal amplitude. The modulation may comprise performing a filtering, based on the first sequence of symbols, to generate a filtered signal. For example, the UE may obtain k data bits to be transmitted. Based on the MCS, the UE encodes the k data bits and performs a mapping using trellis coding to generate the first sequence of symbols, wherein the first sequence of symbols is in the time-domain. The encoding comprises: encoding the k data bits to form n coded bits. The encoding may be performed using a channel encoder (e.g., channel encoder 107). Once encoded, there may be a mapping of the n coded bits to the first sequence of symbols, using a trellis encoder (e.g., the trellis encoder 703). In some examples, the trellis coding is associated with a number of states. When in a first state of the trellis coding, the UE determines a next state from a first set of next states that are allowed for the trellis coding based on a first group of n coded bits. When in a second state of the trellis coding, the UE also determines a next state from a second set of next states that are allowed for the trellis coding based on a second group of n coded bits. The first set of next states has a different number of states than the second set of next states. In this manner, the trellis is output-irregular. Foran output-regular trellis, all nodes have the same number of output edges. For output-irregular, the output has a different number of output edges. Thus, in examples, the trellis is output-irregular, such that different nodes in the trellis have a different number of output edges. For the trellis coding according to examples, either a variable number of bits per symbol is used, or multiple inputs map to the same symbol (e.g., an erasure scheme, discussed in more detail below). In some examples, at least one of the first state or the second state has a number of next states in the first set or the second set respectively that has an integer factor that is odd and greater than 1 (i.e., the number of next states in the first set or the second set is not a power of two). In some examples, for at least one of the first state or the second state, a number of n coded bits in the first group or the second group respectively is different when determining different next states from the first set or the second set respectively. Stated differently, a number of symbols encoded by at least one vector of n coded bits is different than a number of symbols encoded by at least one other vector of n coded bits. In this manner, a variable number of bits per symbol is used for the trellis coding. In some examples, for at least one of the first state or the second state, two different groups of n coded bits determine the same next state from the first set or the second set respectively. Stated differently, a first vector of n coded bits and a second vector of n coded bits are mapped to the first sequence of symbols, wherein a sequence of symbols of the first sequence of symbols that is obtained based on the first vector is the same as a sequence of symbols of the first sequence of symbols that is obtained based on the second vector. In this manner, an erasure scheme is used. This will be described in more detail below. The first sequence of symbols is then filtered by the UE based on the MCS, to form the filtered signal. For example, the first sequence of symbols is filtered based on the configuration for the at least one filter comprised in the MCS. The filtering may utilise at least one of: the FFT 705, the cyclic repetition 707, the filter 709, or the IFFT 711. At S904, the UE transmits, to the gNB, a signal based on the filtered signal. At S905, the gNB demodulates the signal received from the UE based on the MCS. For examples, the demodulation may utilise one or more of the functional modules depicted in FIG. 7. For example, the gNB receives, from the UE, the signal, and then performs a demodulation, based on the signal that has been received, using trellis-decoding (e.g., using the trellis decoder 723). The trellis decoder may be configured with a BCJR algorithm. The gNB then estimates kdata bits comprised within the signal based on the demodulation. Examples for trellis determination (or configuration) processes and subsequent use of the trellis for modulation is now described as follows. In some examples, the trellis may be determined in an ‘off-line’ process together with a configuration for an associated upsampling filter, as described below. A) Model and notation for upsampling process: For a direct sequence transmission, a transmitter (e.g., a UE) prepares a block of N complex symbols UUnZo to be transmitted. The symbols are upsampled and filtered to create a second discrete time complex sequence, with a higher sampling rate and a controlled occupied bandwidth. The upsampling factor is denoted by fl, whereby typical values for fl range from 4 to 8, for example. Properties that are tracked include an amplitude distribution (including the peak value and average value) and a power spectral density (e.g., in particular, how much energy is present outside the frequencies allocated for information transmission). In the following example, it is assumed that the upsampling factor fl is an integer. In other examples, the upsampling factor is a non-integer fl and will be described in more detail below. As depicted in FIG. 4, conventionally in DFT-s-OFDM, the upsampling operation is performed using an JV-FFT, zero padding to size LIN, and then applying a flJV-IFFT. As indicated in FIG. 6, a more general approach is to apply an N-FFT, cyclically extend the result to length Q.N, multiply by a frequency domain filter, and then apply a fl / V-IFFT. If the frequency domain filter is denoted Hk, for k = 0,..., Q.N - 1, then this process is equivalent to the time domain operation of taking the initial sequence xn, upsampling it to obtain the sequence xt defined by: - _ fxn t = nQ. 10 otherwise and then circularly convolving the upsampled sequence with the time domain filter ht = IFFT(Hk). In this manner, xt is obtained by taking the time-domain sequence of length N, denoted xn, and expanding it to size AN by inserting fl -1 zeros between each pair of symbols xn and xn+1. For example, with fl = 4, there is x„ followed by 3 zeros, followed by xn+1, then 3 more zeros, etc. This upsampled sequence is convolved with the filter ht. The symbols xn may be the time domain symbols produced by the trellis encoder 703 in FIG. 7. In conventional DFT-s-OFDM, the frequency domain filter is a rectangular filter with N ones and fl(N - 1) zeros. This results in a time-domain filter approximately equal to a sine function with a wide time-domain response. In some examples, for a UE performing a modulation (e.g., according to FIG. 9) it is advantageous to use / select a filter that has a more concentrated time-domain response. The response in the frequency domain may also be concentrated. In order to achieve this response, in examples, a truncated sine function in the time domain, or a sine function multiplied by a raised cosine window, is used. In some examples, the number of non-zero elements in the filter is a number 2flL that is smaller than NO.. In this manner, the UE and gNB performing modulation and demodulation (e.g., according to FIG. 9) may be considered to be a system performing (conventional) convolution rather than circular convolution. In this manner, the more concentrated time domain response is a filter having only 2flL non-zero coefficients, compared with a conventional time-domain response that has Nfl non-zero coefficients. For example, L may be 4 and N may be 256 and fl = 4, and so NL = 1024 which is longer than 2Lfl = 32. In general there may be a trade-off between a length of the filter, L, in the time domain and a bandwidth occupied by the transmitted signal. In examples, it is useful to design a filter that expands bandwidth to a limited degree in order to keep L small. The bandwidth of the filter can be defined as a central range of frequencies outside of which the frequency response is below a specified threshold. The upsampled sequence with a filter h of length 2flL may be expressed as: yt = / , Mir T=n(i—l) Given the structure of xt, ht may be described as comprising of fl different filters of length 2L where = hak+j. The values yt that are produced may be the upsampled time domain symbols produced by the IFFT 711 of FIG. 7. The upsampled sequence may also be expressed as: yt = L S. ,(t mod fl) 7 hk X\L k=l-L That is, ynil is obtained by convolving xn with h^, ynSl+1 is obtained by convolving xn with hm, and so on. Given a filter ht, and assuming that complex symbols have bounded magnitude \xn\ <M, the maximum possible magnitude of the output may be: ly,l< £ k=l-L (t mod O) ‘ IAI-* A ‘worst case’ amplitude may be achieved when the symbols xn have a maximum amplitude and have phases aligned with corresponding elements of filter coefficients. B) Design of a ‘peak-limiting’ trellis encoder: The ‘peak-limiting’ trellis encoder is configured to identify (or determine) sequences of complex symbols that lead to upsampled amplitudes above a threshold magnitude, and prevent them from being generated. Firstly, identify problematic sequences. Given a length 2L subsequence xn := {xn+1_L,...,xn,...,xn+L}, the resulting fl upsampled values {ynn,ynn+i, ...,ynn+n-i } may be computed as well as their associated magnitudes. Associated with each subsequence a maximum resulting magnitude (or peak amplitude) may be calculated with: < / >(xn) = max^y^^l}^1 For a system with C constellation points, there are C2L possible sequences of length 2L, each of which typically occurs with equal probability. The distribution of output amplitudes of the filter may be determined by calculating 0(xn) for each possible input sequence. A trellis graph (e.g., configuration for trellis encoder) is determined, for use in modulation, that ensures that sequences with >A cannot occur. The limit, A, is a limit on the magnitude of sequences / signals. The limit, A , may be referred to as a limit for maximum signal amplitude. To aid in the graph construction the notation x„ = {xn, xn+L} is defined where x„ denotes the first 2L-1 elements of x„ and xn+L is the last element. A trellis graph enforcing these constraints may be constructed as follows: 1. Choose a limit A . 2. For each of the C2L possible sequences x of length 2L, consider it valid if < / >(x) <A and invalid otherwise. 3. Construct a modulation trellis graph, as follows: a. For time n, there are C2Li nodes representing each possible value of x„. b. For time n + 1, there are C21^1 nodes representing each possible value of xn+1 c. For each node at time n, for each of C possible values of xn+L, add an edge connecting node {xn+1_L, ...,%^^} at time n with node {xn+2-L, ...,xn+L} at time n + 1 , only if the full sequence {xn+1_L,..., xn+L_1, xn+L} is valid. In this graphical representation, the trellis states are the 2L - 1 elements xn and each edge represents a valid final element xn+L. Any path through the graph represents a sequence of complex symbols {%„}, such that the upsampled sequence {yt} does not exceed the limit A. Given the graph used for modulation, a receiver may use the Viterbi algorithm to find a maximum likelihood estimate of the transmitted sequence (this may assuming an ideal Gaussian noise model). In other examples, a BCJR algorithm is used to find log likelihood ratios for each transmitted bit. As part of the identification of ‘problematic’ sequences, the limit, A, should be chosen to optimize trade-offs. The limit may be small enough to give significant peak reduction. However, if the limit is too small, the number of bits that can be carried per symbol will go down. This trade-off (between peak reduction and bits-per-symbol) may be optimized with trial and error in an outer optimization loop, or any other suitable method. In some examples, the limit is within the range of 1.4 to 1.7. For example, the limit is one of: 1.4, 1.45, 1.5,1.55, 1.6, or 1.65. In other examples, the limit is chosen to be a value greater than 1.7, or smaller than 1.4. As an example of the design of the trellis encoder, C = 2, L = 2, fl = 2, is considered, 13 3 11 with constellation points {-1,1}, and a filter h = {0,--,0,-,1,-,0,which breaks down into two sub-filters h(0) = {0,0,1,0} and = [-1 i i -11 In order to determine the magnitude for each possible output, C2L = 16 sequences is listed and then the magnitude <p(x) is calculated to obtain Table 1 as follows. x[n-2] x[n-1] x[n] x[n+1] y[2n] y[2n+1] ^(x) 1 1 1 1 1 0.5 1 1 1 1 -1 1 1.5 1.5 1 1 -1 1 -1 -1 1 1 1 -1 -1 -1 0 1 1 -1 1 1 1 -1 1 1 -1 1 -1 1 0 1 1 -1 -1 1 -1 -2.5 2.5 1 -1 -1 -1 -1 -1.5 1.5 -1 1 1 1 1 1.5 1.5 -1 1 1 -1 1 2.5 2.5 -1 1 -1 1 -1 0 1 -1 1 -1 -1 -1 1 1 -1 -1 1 1 1 0 1 -1 -1 1 -1 1 1 1 -1 -1 -1 1 -1 -1.5 1.5 -1 -1 -1 -1 -1 -0.5 1 Table 1: Different combinations of constellation points +1 and -1 as input sequences and corresponding peak magnitudes. As seen in Table 1, while 10 of the 16 sequences have a peak magnitude of 1, there are 4 sequences that have peak magnitudes of 1.5, and 2 sequences that have a peak magnitude of 2.5. As an example, if the chosen limit is 1.5 (e.g., A=1.5), then the two sequences {1,-1,-1,1} and {-1,1,1,-1} that lead to peaks of 2.5 are invalid. A trellis graph is determined accordingly, and is depicted in FIG. 10. FIG. 10 shows a schematic representation of an example trellis graph with a binary modulation, C = 2, and a filter half-length, L = 2. FIG. 10 is illustrating the example whereby a limit of 1.5 is chosen. In this example, the eight nodes 1001 on the left represent the eight possible values of the sequence x„ = {xn_!, x„, xn+1} and the eight nodes 1003 on the right represent the eight possible values of the sequence x„+1 = {xn, xn+1, xn+2]. Each edge represents a valid sequence x„ = {%„-!,xn,xn+1,xn+2}. An edge is represented with an arrow (or line) 1005, which is either solid or dashed. The nodes 1001, which are represented by circles, denote the different states of the trellis, wherein the arrows / lines represent the branches corresponding to state transitions. In this manner, a node represents one of plurality (encoder) states, while a branch connecting two nodes represents the encoder output associated to the transition between the corresponding encoder states. Edges with xn+2 = 1 are drawn as solid, and edges with xn+2 = -1 are drawn as dashed. Six of the nodes in the first column have out-degree of two, and hence can modulate 1 bit. Two of the nodes (labelled 1007 and 1009 respectively) in the first column have out-degree of one, because two edges that would represent invalid sequences have been removed. A property of this trellis is that a sequence of constellation values generated by traversing the trellis will not exceed an amplitude of A = 1.5 after upsampling with the filter h. The trellis graph constructed has C2L-1 nodes and for many combinations of C and L, the number of nodes may be too large to be used (in some systems). In order to improve efficiency, the size of the trellis may be reduced in some examples. This may be done in at least three ways including: merging parallel nodes removing edges extracting a single strongly-connected components A trellis reduction procedure may be carried out by iterating through these steps. As the trellis size decreases, the number of bits per symbol carried by the trellis also reduces. From the various designs thus obtained, a solution with good trade-off between complexity and performance may be selected. The trellis reduction is described in more detail below. An examples of merging parallel nodes is depicted in FIG. 11. FIG. 11 shows a schematic representation of an example trellis graph with merged pairs of parallel nodes. When there are two nodes whose outgoing edges connect to the same set of neighbours with edges of the same “type” (here solid or dashed), the possible sequences generated, starting from those two nodes, are identical. Due to this, the two nodes may be merged together. The result of the merging is that there is a reduction in the number of nodes in the graph without changing the set of sequences generated. As shown in FIG. 11, the second node 1101, {1,1,-1), and the sixth node 1103, {-1,1,-1), both connect to the third node with a solid edge and to the fourth node with a dashed edge. The second 1101 and sixth nodes 1103 are merged to create a new node 1105 labelled {?, 1 ,-1}. The third node 1107 and the seventh node 1109 are also merged to create a new node 1111 labelled {7,-1,1}. The simplified graph (on the right hand side of FIG. 11) has six nodes but generates the same sequences of constellation points as the original graph (on the left hand side of FIG. 11) which has eight nodes. Alternatively, or additionally, to the node merging, to (further) reduce the size of a trellis, edges may be removed. The act of removing an edge reduces the set of possible sequences that can be generated, which can reduce the information carried per symbol. However, it has the advantage of helping to simplify the graph. In particular edges may be removed to make nodes that are nearly parallel exactly parallel, so that they can be merged. An example of removing edges is depicted in FIG. 11, which follows on the from example of FIG. 10. In the example of FIG. 11 there is a combination of merging parallel nodes and removing edges. In other examples, one of: merging nodes, and removing edges is utilised. FIG. 12 shows a schematic representation of an example trellis graph with edges being removed to facilitate node merging. In the example of FIG. 12, a first edge 1201 and a second edge 1203 are removed. Thus, the second 1205 and sixth nodes 1207 in the trellis become parallel, and so they are merged to create the simpler trellis 1211 (the right hand side trellis of FIG. 12). Before removing the edges 1201, 1203, the second 1205 and sixth nodes 1207 are not parallel because they connect to at least one node that is not in common. The first edge 1201 is removed because it connects the second node 1205 to a node that the sixth node 1207 does not connect to. The second edge 1203 is removed because it connects the sixth node 1207 to a node that the second node does not connect to. Once the first 1201 and second edges 1203 are removed, the second node 1205 and the sixth node 1207 (only) connect to the same set of nodes, namely a third node 1209. Thus, they are parallel and may be merged. Using conventional theory of Markov processes, the probabilities of occurrence of each edge in the trellis can be calculated. This information may be used in the edge removal process, for example by removing edges that occur with low probability. Alternatively, or additionally to removing edges, there may be a removal of nodes that occur with low probability as a method of trellis reduction. A directed graph, such as the trellis 1211 of FIG. 12, may have multiple strongly connected components (SCO). An SCC is a set of nodes such that each node in the set is reachable from each other node in the set. The final trellis should only have a single SCC. Thus, as part of a reduction process, all SCCs are determined. The SCCs may be determined using any suitable method. Then, one of the SCCs is selected with desirable properties, and the other SCCs are discarded. This is depicted in FIG. 13. As an example, any node that has no ingoing edges, or a node that has no outgoing edges is an SCC of size 1, and may be removed from a trellis graph. Detecting and removing such SCCs is a low complexity operation that may be interleaved with multiple iterations of edge removal and removing parallel nodes, in some examples. FIG. 13 shows a schematic representation of an example trellis graph with a strongly connected component being extracted. A trellis graph 1301 on the right hand side of FIG. 13 is the same as the trellis 1211 of FIG. 12. The trellis graph 1301 has two strongly connected components: one being the fourth node 1303 (by itself), and the other being the remaining four nodes (on the n+1 column of trellis 1301). The fourth node 1303 is a ‘trivial’ trellis with no edges. The fourth node 1303 is therefore removed. This leaves a trellis of four nodes (on the n+1 column) forming a single SCC, as shown on the right side trellis 1305 of the figure. C) Using the peak-limiting trellis for modulation: Once the trellis has been configured (or designed), the trellis may be used for modulation of data. Stated differently, the trellis is used to take a sequence of coded bits and map them to a sequence of constellation points. Conventionally, in TCM, a trellis is designed to be regular (all nodes have the same out-degree) and the out-degree is typically a power of two, e.g., 2b. Conventional TCM then operates as follows: 1) Start in a known trellis node s0, and letn = 0. 2) Extract b bits from the bit sequence, and use them to select of one of the 2b outgoing edges of node sn. 3) Set xn to be the constellation point associated with the selected edge, and let the new state sn+1 be the destination node of the selected edge. 4) Set n <- n + 1 and repeat from 2). This scheme carries exactly b bits per symbol, and thus can be called a fixed rate scheme. For the trellis graphs determined according to examples (e.g., as depicted in FIGS. 10 to 13), the modulation scheme may be modified in one of two ways. These modifications may comprise either: using a variable rate modulation scheme, or using an erasure scheme. For the variable rate modulation scheme, a node s with out-degree d(s) is assigned a binary prefix code with d(s) code words. For example, if the out degree is d(s) = 3, the prefix code could consist of the three code words {0}, {10}, {11}. If d(s) = 2, the code could be {0}, {1}. When the out degree is d(s) = 1, there is a single empty code word {}. A prefix code may be fed 1 bit at a time, returning the index of the first code word that matches. For example, in the case d(s) = 3, if the first bit received is “0”, this matches the first codeword, and index 0 is immediately returned. If the first bit received is “1”, then a second bit is required to determine whether the index 1 or 2 should be returned. In the trivial case d(s) = 1, no bits are consumed and the index 0 is returned. A trellis modulation (with variable rate) may operate as follows: 1) Start in a known trellis node s0, and letn = 0. 2) Using the prefix code assigned to node sn, extract 0 or more bits from the bit sequence until a codeword is identified. Select the corresponding edge from among the d(sn) outgoing edges of node sn. 3) Set xn to be the constellation point associated with the selected edge, and let the new state sn+1 be the destination node of the selected edge. 4) Set n <- n + 1 and repeat from 2). For this method, the number of bits extracted in 2) is variable, instead of being exactly b bits. For this reason, this scheme may be referred to as a variable rate scheme, or variable bits per symbol. For example, using the variable rate scheme, a number of symbols encoded by at least one vector of n coded bits may be different to a number of symbols encoded by at least one other vector of n coded bits. A trellis decoder (e.g., 723 of FIG. 7) processes received symbols conventionally to estimate the most likely path through the trellis. The sequence of code words associated with the edges in this path are concatenated to form estimated coded bits. A number of coded bits used to create a block of N transmitted symbols will vary from block to block, depending on the path through the trellis. Using minimum depth prefix codes, the average number of bits consumed to identify one of d(s) edges in 2) may be: d _ 2 Liogz (d(s))J [log,(d(s))J -I--n—,.,...—. 62 V V J JI 2 U°g2 An average number of bits per symbol modulated by the trellis may be obtained by averaging this value over the probability of occurrence of each of the node degrees. An alternative to the variable rate method is a so-called ‘erasure’ method. The ‘erasure’ method has a fixed number of coded bits per symbol and so this method works efficiently with conventional block-based error correction schemes. In the erasure method, a number of bits per symbol b is chosen large enough so that 2b >d(s) for all nodes in the trellis. A code is generated for each node, as in the variable rate method, but then each code word is of length b and may contain symbols “0”, “1”, or “e”. “e” is used for erasure. For example, if b = 2, and when the out degree is d(s) = 3, the code may comprise the three code words {Oe}, {10}, {11}. If d(s) = 2, the code is {Oe}, {1e}. When the out degree is d(s) = 1, there is a single code word {ee}. In this case, a fixed number of bits is extracted in 2), and a unique codeword matching the bits is selected, wherein the symbol “e” matches a zero or one. The bits matched by an “e” symbol are considered erased (hence the ‘erasure’ method). The bits are considered erased as they do not affect the choice of codeword and hence do not convey information. One way to create a suitable code for each node is to first create a prefix code, and then extend it with “e” as needed to obtain words of length b. A preferred alternative is to assign a Gray code of length b to each possible constellation point. When d(s) = b, the Gray code is directly used. When d(s) <b, the code is obtained by taking any codeword assigned to an excluded constellation point (e.g., 1007, 1009 in FIG. 10), and merging the code with a codeword assigned to a valid constellation point. For example, for QPSK, there are codes {00}, {01}, {11}, {10} assigned to constellation points 1, j, -1, -j, respectively. From a given node, it is prohibited to send the constellation point j. The code normally assigned to j, namely {01}, may be merged with the code assigned to 1, namely {00}, to obtain a merged code {0e}. The symbol “e” is used at any bit position where the merged codes do not agree. A final code obtained for the node s of degree 3 is then {0e}-> 1, {11} -> -1, and {10} -> -j. A code constructed in this way has the property that each binary sequence of length b which matches exactly one code word. A trellis modulation (with the erasure-based method) may operate as follows: 1) Start in a known trellis node s0, and letn = 0. 2) Extract b bits from the bit sequence, and apply to code assigned to node sn to find the unique code word that matches these bits. Select the corresponding edge from among the d(sn) outgoing edges of node sn. 3) Set xn to be the constellation point associated with the selected edge, and let the new state s„+1 be the destination node of the selected edge. 4) Set n <- n + 1 and repeat from 2). For this method, the number of bits extracted in 2) is fixed to b bits. For example, using the erasure-based method, a first vector of n coded bits and a second vector of n coded bits are mapped to a first sequence of symbols, wherein a sequence of symbols of the first sequence of symbols obtained based on the first vector is the same as a sequence of symbols of the first sequence of symbols obtained based on the second vector. As another examples, using the erasure-based method, a sequence of symbols encoded by at least one vector of n coded bits is the same as a sequence of symbols encoded by at least one other vector of n coded bits. In some examples, a trellis decoder comprising a BCJR decoder is applied to received symbols to estimate the LLR for each of the bN transmitted bits, conditioned on the received symbol values. Alternatively, a trellis decoder comprising a Viterbi decoder processes received symbols to estimate the most likely path through the trellis. The sequence of code words associated with the edges in this path are concatenated to form the estimated coded bits of length bN (after N symbols). The estimated coded bit sequence will comprise values 0, 1, and e. These are converted to estimate log likelihood values v, -v, and 0, respectively, with the value v being selected based on the estimated signal to noise ratio (SNR). A channel decoder (e.g., 725 of FIG. 7) receives LLRs from the trellis decoder and estimates the original information bits. A channel code and an associated rate is configured to be able to correct for the effects of noise in the channel as well as the effects of erasures in the modulation scheme. In either the variable rate or the erasure-based method, an average number of information bits that is carried in the absence of noise is the same. For example, in the variable rate scheme, a node with three outgoing edges may have the code {0}, {10}, {11}, while the same node might have the code {0e}, {10}, {11} in the erasure scheme. Assuming that information bits are equally probable, in the variable rate scheme, the code {0} is used with probability ½, while the codes {10} and {11} are used with probability % each. The number of bits consumed is thus 1-- + 2- -+ 2- -= 1.5. In the erasure-based scheme, two bits will be 2 4 4 consumed, with the sequences 00, 01,10, and 11 all occurring with probability %. Sequences 00 and 01 match {0e} and result in one erasure, while sequences 10 and 11 match {10} and {11} respectively and result in no erasures. Thus the average number of non-erased bits isl • -+1-- + 2 -- + 2-- = 1.5 . 4 4 4 4 When the variable rate scheme is used, the channel decoder and de-mapping algorithms are configured to be able to work with variable length code words. When the erasure scheme is used, the channel code may be configured to correct the erasures that are introduced by the modulation. D) Decoding of large (sparse) trellises: Trellises of different sizes may be constructed. As a trellis may be reduced in complexity as discussed in detail above, the number of bits per symbol carried reduces. Thus, to achieve the highest bit-rates, it may be advantageous to use ‘peak-limiting’ trellises that are larger than the graphs conventionally used for TOM. At a transmitter (e.g., a UE), the trellis size mainly affects storage space rather than complexity. Modulation is often considered to be a computationally simple process which includes decoding a prefix code and looking up the next node and corresponding constellation point index in a table. The time complexity scales with the number of bits consumed per symbol, and not with the size of the trellis. At a receiver (e.g., gNB), the time complexity of a decoder utilising BCJR or Viterbi algorithms would scale with the size of the trellis. The time complexity may scale with the product of the size of the trellis and the average ‘in-degree’ of the nodes. As a gNB is typically less constrained by size and power compared to UEs, some additional complexity at the receiver-side may not have a negative impact on performance. In order to reduce the complexity of a BCJRA / iterbi decoder, the decoder may be modified to have a configurable parameter S which is a maximum number of high-likelihood states that are maintained in the decoding process. In a conventional Viterbi decoder, the decoder maintains an estimate of the likelihood of each trellis state. In some examples, a trellis decoder is configured so that (only) the S most likely states are estimated. In this manner, the complexity scales with the product of S with the typical out-degree. Different implementations of the decoder may be used at the receiver side, wherein different values of S are used to obtain different complexity-performance trade-offs. In some examples, a soft-output Viterbi algorithm (SOVA) is used in a decoder. The SOVA is a useful alternative, that is intermediate in terms of complexity between Viterbi and BCJR decoding. E) Generating cyclic sequences: Using a trellis encoder (according to examples) to generate a sequence of N symbols ensures that upsampling the sequence of symbols does not generate peak magnitudes above a selected limit (e.g., A = 1.5) when using linear convolution. The trellis encoder will function without further modification when using single carrier modulation, for example. DFT-s-OFDM and related methods use a cyclic convolution of the sequence with an upsampling filter. Since cyclic convolution with a sequence may be equivalent to linear convolution with a periodically extended sequence, the peak magnitude may be controlled at a boundary when the sequence is periodically extended. For a periodically extended sequence, as an example, it is assumed that a trellis has a state s* which may be reached in k steps, starting at any node in the trellis graph. For example, for a 4-node trellis (e.g., the trellis graph 1305 of FIG. 13), the nodes may be labelled from top to bottom as 0, 1, 2, and 3 (not shown). This trellis has the property k=3. That is, starting from any node, node 0 may be reached in (a maximum of) 3 steps. This is shown by the following sequences of nodes: [0,0,0,0], [1,2,3,0]. [2,3, 0,0], [3,0,0,0], each of which ends up at node 0 after 3 steps. As this example suggests, this property will hold for a value of k if the trellis is a single connected component and s* has a self-edge. In this context, a self-edge is a “horizontal” edge from s* to itself. To generate a cyclic sequence of N symbols, start in state s’ and use a sequence of coded bits to follow an arbitrary path through the trellis for N - k symbols. Then, stop consuming bits and follow a preplanned path of length k to return to symbol s’. The sequence of N symbols thus created may be cyclically extended using edges in the trellis and thus will not violate amplitude constraints when oversampled. This approach reduces the number of modulated bits by the fraction k / N, compared to methods not utilising a cyclic sequence. To minimize this overhead, it may be beneficial to configure / design the trellis to have a small value of k. This property (value of k) may be considered when selecting edges to remove in the trellis design process, as described above. For example, the 4-node trellis 1305 of FIG. 13 may be used to modulate a block of 9 bits onto a block of N = 9 symbols, using the erasure scheme. The trellis 1305 is reproduced in FIG. 14, with labels added to the edges showing the code associated with each edge, either {0}, {1}, or{e}. FIG. 14 shows a schematic representation of the trellis graph of FIG. 13 with edge labels corresponding to an erasure modulation process. As shown in FIG. 14, edges are represented with arrows, wherein an arrow is either solid or dashed. The edges generating output symbol ‘1’ are drawn with solid lines 1401, and the edges generating output symbol ‘-T are drawn with dashed lines 1403. As this example is utilising the erasure method (as described above), the codes associated with each edge are given as {0}, {1}, or {e} (i.e., ‘e’ for erasure). For the following example, it is assumed that cyclic convolution is not utilised. Starting in state 0, the sequence of 9 input bits is 001001011 (which is shown in row 3 of Table 2 below). Table 2 below shows the modulation resulting from this sequence. Time (n) 0 1 2 3 4 5 6 7 8 9 State 0 1 2 3 0 1 2 1 2 3 Input bit 0 0 1 0 0 1 0 1 1 Edge label {0} {e} {1} {e} {0} {e} {0} {e} {1} Output symbol -1 1 1 1 -1 1 -1 1 1 Table 2: Example of input bits being mapped to output symbols using a trellis encoder that is implementing an erasure method The first row of Table 2 shows the time index n. The second row shows the initial trellis state for each time slot. The third row shows the input bit received in the slot. The fourth row shows the edge label that matches the input bit and determines the outgoing edge. The choice of outgoing edge determines the initial state for the next time slot, (visible in the second row, subsequent column), wherein the output symbol is shown in the fifth row of Table 2. For example, in slot 0, the initial trellis state is node 0. The input bit 0 is matched to code word {0}. The corresponding edge leads to the next trellis state, 1, and results in a transmitted symbol -1. After 9 inputs are processed, 9 symbols have been transmitted, and the trellis ends up in state 3 at time n = 9. As described above, in relation to Table 1, the trellis was designed to avoid the sequences (-1,1,1,-1) and (1,-1,-1,1) as they were associated with peak amplitudes of 2.5. The other sequences of four transmitted symbols in Table 1 are permissible. As expected, the sequence of output symbols in Table 2 does not contain either of these ‘forbidden’ sequences. Stated differently, there is no subsequence in the output symbols in Table 2 that match (-1,1,1,-1) or (1,-1,-1,1). In DFT-s-OFDM transmission, the sequence of output symbols may be cyclically convolved with the upsampling filter in the upsampling process. Thus, to avoid incurring large peak amplitudes, it may be determined whether cyclic repetition of the output symbol sequence also does not result in a forbidden sequence. In this example, if the output symbol sequence were to be cyclically repeated, the last three symbols (-1,1,1), which are associated with time slots 6, 7 and 8, would be followed by the first symbol (-1). This cycle results in the forbidden sequence (-1,1,1,-1). Stated differently, if the upsampling filter h = {13 3 11 0,--,0,-,1,-,0,--) was cyclically convolved with the output symbol sequence of Table 2, then a peak amplitude / magnitude of 2.5 would occur at time 7.5. In order to avoid this problem, as described above, the number of bits may be reduced in a block from N = 9 to (N - fc) = (9 - 3) = 6 bits (wherein k=3 due to the number of nodes in the trellis). In this manner, 6 bits is to be used, rather than 9 bits. The last k = 3 slots are used so that the trellis state returns to the initial state 0 at the end of the block. When the state at time (n) = 9 is the same as the state at time (n) = 0, this means that the sequence of symbols may be cyclically repeated using the trellis. Therefore, the cyclic repetition of the sequence will not contain any forbidden sequences (e.g., does not output (-1,1,1,-1) or (1,-1,-1,1)). This is illustrated in Table 3. Time (n) 0 1 2 3 4 5 6 7 8 9 State 0 1 2 3 0 1 2 3 0 0 Input bit 0 0 1 0 0 1 - - - Edge label {0} {e} {1} {e} {0} {e} {1} {e} {1} Output symbol -1 1 1 1 -1 1 1 1 1 Table 3: Example of input bits being mapped to output symbols using a trellis encoder that is implementing an erasure method that is modified for cyclical convolving Table 3 is the same as Table 2, up to slot 6. For slots, 6, 7, and 8, no bits are consumed by the trellis. Here, the trellis follows a pre-planned feasible path (which is this example is [2,3,0,0]) to get from trellis state 2 back to the original state 0 in k = 3 steps. The sequence of output symbols in Table 3 contains no forbidden sequences, even when the output symbols are cyclically repeated. Therefore, cyclic convolution with the upsampling filter would not result in any peak amplitudes larger than the limit A = 1.5. F) Higher dimensional constellation points: For TCM, a complex constellation point may be considered to be a two-dimensional point, with the two dimensions being the real and imaginary component. A pair of complex values transmitted on consecutive symbols may be considered to be a four-dimensional constellation point. Designing sets of constellation points in higher dimensions may increase the design space allowing for better performing constellations. For example, when modulating one bit per symbol, two complex constellation (2D) points may be used, namely {-1} and {1} (referred to as a first scheme). The minimum distance between these two points is 2. Alternatively, one can design a constellation of four pairs of complex values. Each pair of complex values is considered to be a single constellation point in 4D space. For example, the four pairs {1,1}, {j,j}, {-1,-1}, and {-j,-j} may be used (referred to as a second scheme). Geometrically, these are points in a four-dimensional space. Operationally, an interpretation may be that 2 bits are used to choose a 4-PSK value, and then repeat it twice. This second scheme carries 1 bit per symbol. However, upsampled sequences using this second scheme have lower peak values than sequences using the first scheme, even though the minimum distance between constellation points is the same. As this example shows, it can sometimes be advantageous from a peak control perspective to work with higher-dimensional constellations. Stated differently, the first scheme and the second scheme have the same minimum distance between symbols (which means they should have similar noise robustness), but the second scheme may have lower peaks after upsampling. Therefore, for a trellis coding operation based on the second scheme, fewer edges would need to be removed compared to the first scheme. Therefore, more bits may be carried when using the second scheme (and have less erasures). In some examples, a modulation performed using a trellis encoder may be modified to deal with higher dimensional constellations. If each constellation point consists of M consecutive symbols, then the computation of magnitude 0 may consider all sequences of [2L / M] + 1 points, over \2L / M]M + M symbols. For a given sequence of \2L / M]M + M symbols thus generated, the maximum upsampling amplitude over all subsequences of 2L symbols may be considered. For example, if £ = 2 and M = 2, each constellation point pn = [x2n-i,x2n] consists of two consecutive complex values. For each sequence of \2L / M] + 1 = 3 points [pn_i, Pn, Pn+ll We Obtain six complex symbols {%2n—3>x2n—2> x2n — l> x2n> x2n+lf x2n+2^' To compute the oversampling amplitude for this sequence of 3 points and 6 symbols, the maximum amplitude is determined after upsampling each of the sub-sequence of 2L symbols, namely {x2n3> x2n-2>x2n-l>x2n} >{x2n2>'^ and {x2„-i, x2n, x2n+1, x2n+2}- This value ^Pn) is then used to determine whether the edge from [Pn-i,Pn] to {Pn,Pn+i] should be included in the trellis graph. In this representation, each edge represents transmission of a particular high dimensional constellation point, using M consecutive symbols. G) Simulation results: Simulations have been performed based on different modulation schemes / methods described in one or more of the examples above. For each scheme, there is a configuration for communication with fixed spectral efficiency over an additive white Gaussian noise channel, using 1024 channel uses. The block error rate (a first metric) is measured as a function of the SNR, and the peak-to-average power ratio (PAPR) (a second metric) is measured for each scheme. These two metrics are combined to provide an overall performance metric, as described in more detail below. The six methods that were simulated were: 1. DFT-s-OFDM 2. DFT-s-OFDM with FDSS, using truncated RRC filter with p = 0.5, p = -0.65 3. DFT-s-OFDM with FDSS-SE, using 25% extension and same truncated RRC filter as for FDSS 4. Modulation using a trellis-encoder with a limit A = 1.45 5. Modulation using a trellis-encoder with a limit A = 1.55 6. Modulation using a trellis-encoder with a limit A = 1.65 A result of the simulations was that, when using a conservative back-off rule, based on a ‘worst-case’ peak amplitude, at least one of the methods 4-6 demonstrated a coverage advantage of 0.66 dB for 4-QAM and 0.3 dB for 8-PSK modulation. This is compared to the next-best scheme of method 3, with FDSS-SE. This is described in more detail below. FIG. 15 shows a graphical representation of instantaneous peak-to-average power ratio distribution for different modulation processes. The instantaneous PAPR for a signal x(t) is defined as 101og10 ...........) where crj jS the average power of the signal. Both FDSS (method 2) and FDSS-SE (method 3) achieve significantly improved PAPR compared with ordinary DFT-s-OFDM (method 1, which is labelled as “no CFR” in FIG. 15). The methods 4 to 6 achieve a deterministic limit / cap on peak amplitude, relative to the unit magnitude constellation points, as designed, at 10 log10(1.452) = 3.22 dB or 10 log10(1.552) = 3.51 dB, or 101og10(1.652) = 4.35 dB, respectively. The PAPR of each trellis method is slightly higher than these values because average power is also reduced by the trellis modulation. As seen in FIG. 15, method 4, which has a limit A = 1.45, has the lowest instantaneous PAPR of all of the method simulated. All three of methods 4 to 6 show a sharp drop-off in PAPR as each method reaches its peak PAPR. Methods 1 to 3 show a more gradual drop-off towards their respective peak PAPR. H) Additional variations: Single carrier modulation: In one or more of the examples above, there have been modifications / changes as applied to DFT-s-OFDM modulation. However, it should be understood that utilising a trellis encoder for modulation (according to the examples above) may be applied to single carrier modulation as well, in which a discrete sequence of symbols are modulated by convolution with a pulse-shaping filter. The trellis may be configured (or designed) in the same way as described above, but using the pulse shaping filter (or an oversampled representation of a pulse shaping filter) as a filter (e.g., 709 in FIG. 7) in the trellis design. For example, for a timedomain filter implementation there may be one pulse shaping filter module after the trellis encoder 703 (in FIG. 7), such that the pulse shaping filter module replaces modules 705 through 713. In another example, a frequency domain overlap-add implementation is similar to FIG. 7 except the cyclic prefix and windowing module 713 is replaced by an overlap-add module. Stated differently, in some examples, the system of FIG. 7 is modified to remove modules 705 through 713 (inclusive) and are replaced by a pulse shaping filter. The pulse shaping filter may be implemented by convolution or by overlap-add. In some examples, when using a pulse shaping filter, a modulation and a demodulation would proceed continuously rather than a block-by-block process. In such examples, there would not be any cyclic modulation. Non-integer and variable upsampling: In some examples described above, it was the assumption that the upsampling factor 0 was an integer. Stated differently, the number of time samples being output by the IFFT, N' = nN should be an integer multiple of the number of symbols in the block, N. In other examples, upsampling factor n may not be an integer. For example, there is a DFT-s-OFDM system with given N' and N, such that fl = N’ / N is not an integer. To design a trellis, an integer factor n is determined / chosen and corresponding N' = Q.N. The factor fl should be sufficiently high, e.g., n >4, or higher. The factor fl is chosen as a suitable value to make sure that time-domain samples are sampled regularly enough to ensure that amplitude peaks are determined (e.g., each ‘dot’ in FIG. 5 between the circles is representative of a time-domain sample. As there are 7 dots between each circle in FIG. 5, the factor fl is 8). Then, a trellis may be configured as described previously, to control the peak amplitude for a virtual DFT-s-OFDM system with dimensions N' and N with associated upsampling filter ht and Hk in time and frequency domain, respectively. The time domain filter ht has 2Lfl non-zero coefficients. Also, as before, the frequency domain filter is designed to be a low pass filter to minimize bandwidth expansion. Returning from the virtual system with upsampling factor fl to an actual system with upsampling factor fl, this may be performed by first applying the virtual system to obtain a block of nN samples, and then resampling by a factor fl / fl to obtain a block of N' = nN samples as desired. As smooth, oversampled signals are used, a trellis that controls peak amplitudes for the virtual system will thus also control peak amplitudes in the actual system, which is a resampled version of the virtual system. Rather than sequentially doing this resampling, the actual system may be implemented with a frequency domain filter of length nN that captures the effect of both upsampling and resampling. If fl >fl, the filter is obtained by zero-padding Hk at the high frequencies. If fl <fl, it is obtained by removing the (fl - n)N highest frequencies from Hk. As the filter is low-pass, these removed coefficients may very low amplitudes, and thus the resampling by a factor n / n introduces very little aliasing. Thus, in examples, when a suitable oversampling factor fl is used (e.g., a sufficiently high integer oversampling factor fl is used) for the trellis design, the trellis may be used in conjunction with any desired oversampling factor fl. This may be particularly advantageous in DFT-s-OFDM as the allocation size N may vary over time, while the overall FFT size N' is typically constant. Thus, the upsampling factor fl = N' / N varies. Hierarchical modulation: One or more of the examples above have described that a trellis design may begin with the generating of a table of C2L possible sequences of length 2L. The sequence length 21 cannot be made too short without incurring significant frequency expansion and loss of spectral efficiency. As a result, the table size grows exponentially with the number of constellation points C in the modulation scheme. It is manageable for 4-QAM or 8-PSK, for example, but it becomes challenging to design trellises for C >16 in this way. Larger constellations may also result in larger trellises sizes after one or more trellis reduction steps are performed. In order to improve scalability of the trellis configurations that are determined, hierarchical modulation may be used. For example, a constructed 16-QAM constellation is depicted in FIG. 16. FIG. 16 shows a schematic representation of hierarchical construction of a 16-QAM constellation from two 4-QAM constellations. As shown in FIG. 16, two bits are used to select a 4-QAM constellation point q 1601, two more bits are used to select a second 4-QAM 2 1 constellation point c2 1603. A 16-QAM constellation point is constructed as c =-q +-c2. This generates a 16-QAM constellation 1605. By generating a sequence of values q from a trellis designed for peak limit Ai and generating a sequence of values q from a trellis designed for a peak limit A2, the resulting sequence of values c with have peak limit A = ^A1 + |a2. FIG. 17 shows the result of using two 4-QAM trellis, using the method depicted in FIG. 16, to generate a sequence of 16-QAM constellation points with peak amplitude A = 1.4. FIG. 17 shows graphical representations of time-domain trajectories of upsampled 16-QAM sequences using DFT-s-OFDM and using hierarchical modulation based on two 4-QAM sequences modulated according to a modulation process with a trellis-encoder. A first graph 1701 shows time-domain trajectories of upsampled 16-QAM sequences using DFT-s-OFDM. A second graph 1703 shows time-domain trajectories of upsampled 16-QAM sequences using hierarchical modulation based on two 4-QAM sequences modulated according to a modulation process with a trellis-encoder. The peak amplitudes of many of the samples in the first graph 1701 are above 1.5. This is illustrated with a first circle 1705 around the peak samples. The peak amplitudes of many of the samples in the second graph 1703 are smaller than in the first graph 1701. The peak amplitudes in the second graph 1703 do not exceed 1.4. This is illustrated with a second circle 1707. An end-to-end signal flow for a system according to FIGS. 16 and 17 is depicted below in FIG. 18. FIG. 18 shows a schematic representation of a system for hierarchical modulation of a 16-QAM signal. A channel code (e.g. LDPC code) 1801 maps a block of information bits to block of coded bits . To generate each symbol, two bits are fed into a first trellis encoder 1803 to obtain constellation point q and two bits are fed into a second trellis encoder 1805 to obtain 2 1 constellation point c2. The two points are combined as c = -q +-c2 to form a time-domain 3 3 symbol 1807. Once TV such time-domain symbols 1807 have been generated, other operations of DFT-s-OFDM modulation and demodulation (e.g., as shown in FIG. 7) are performed resulting in a noisy time-domain symbols 1809 at the receiver. A symbol probability estimate module 1811 uses: i) the received values, ii) knowledge of a hierarchical modulation scheme, and iii) an estimated noise level, to estimate (a posteriori) probabilities of the various constellation points q and c2. The sequence of N a posteriori distributions of q values are fed into a first trellis decoder 1813, to obtain log-likehood ratios for the bits used to drive the first trellis encoder 1803. Likewise, the sequence of N a posteriori distributions of c2 values are fed into the second trellis decoder 1815, to obtain log-likelihood ratios for the bits used to drive the second trellis encoder 1805. Finally, all of the log-likelihood ratios for the block are fed to a channel decoder 1817 to determine estimates of the original information bits. In this way, large constellations can be used to operate with high spectral efficiency, while at the same time, the complexity of designing and decoding trellises may be kept manageable. In the decoding step, various alternatives may be used to improve decoding performance. For example, the decoders 1813, 1815 may be used sequentially, with the output of the first trellis decoder 1813 being used as input to the second trellis decoder 1815, or the trellis decoders 1813, 1815 could be applied iteratively. In some examples, both a transmitter and a receiver would be aware of the trellis configuration that is being used for modulation. For example, the transmitter and receiver may use control signalling to agree on a modulation and coding scheme (MCS) for each transmission. In other examples, the MCS to be used is pre-configured at the transmitter and receiver. In some examples, there are a number of pre-configured schemes designed to operate a different SNR levels and with different spectral efficiencies. Each scheme may include a specification of the constellation to use as well as the LDPC code rate and specific LDPC code used. In some examples, different MCS ‘levels’ (or a set of MCSs comprising a plurality of different MCS) are defined, wherein each MCS specifies: the constellation to use, the forward error correction code (e.g., LDPC code) to use, and configuration of the (peak-limiting) trellis to use. For example, for an UL transmission, the MCS may be selected from a discrete set of peak-limiting trellises that are determined in advance of the UL transmission. Each trellis may be configured / designed to be in conjunction with a filter for the modulation. Thus, in examples, the transmitter may use that filter together with the trellis, in order to achieve optimal peak control. A configuration of the filter may be provided as part of the MCS, in some examples. One or more of the examples provide a modulation and coding scheme: with low complexity at the transmitter, and reasonable complexity at the receiver, with low peak to noise ratio, and with high spectral efficiency for a given noise level. To achieve high spectral efficiency, a transmitted signal is confined to an allocated bandwidth. The modulation for the transmitted signal has a low peak to average power ratio (PAPR) in the time domain and constrains the signal bandwidth in frequency domain, while carrying a (large) amount of useful information. One or more of the examples provide additional coverage (compared to FDSS-SE), while maintaining low implementation complexity at the UE (so that battery life is not reduced). The use of a trellis encoder for the modulation of data means that a CFR module is not needed. This has the advantage of significantly reducing the complexity of the transmitter (e.g., the UE). This has the advantage of reducing battery / power usage when modulating data for uplink transmissions. FIG. 19 shows an example method flow performed by an apparatus. The apparatus may be a communication device. For example, the communication device may be one of: a UE, a terminal, a mobile device, etc. The apparatus may comprise one or more means for performing the features of FIG. 19. For example, the one or more means may comprise: circuitry configured for performing the features of FIG. 19, or at least one processor, and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to perform the features of FIG. 19. In some examples, the apparatus may be configured with one or more of the modules depicted in FIG. 7 for modulation. In S1901, the method comprises obtaining a limit for maximum signal amplitude associated with an uplink transmission. In S1903, the method comprises generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude. In S1905, the method comprises performing a filtering, based on the first sequence of symbols, to generate a filtered signal. In S1907, the method comprises transmitting, to a network node, a signal based on the filtered signal. FIG. 20 shows an example method flow performed by an apparatus. The apparatus may be a network node. For example, the network node may be one of: a base station, a gNB, a network function, a network entity, etc. The apparatus may comprise one or more means for performing the features of FIG. 20. For example, the one or more means may comprise: circuitry configured for performing the features of FIG. 20, or at least one processor, and at least one memory storing instructions that, when executed by the at least one processor, cause the apparatus to perform the features of FIG. 20. In some examples, the apparatus may be configured with one or more of the modules depicted in FIG. 7 for demodulation. In S2001, the method comprises receiving, from a communication device, a signal; In S2003, the method comprises performing a demodulation, based on the signal that has been received, using a trellis decoding. In S2005, the method comprises determining an estimate of k data bits comprised within the signal based on the demodulation. FIG. 21 shows a schematic representation of non-volatile memory media 2100a (e.g. Blu-ray disc (BD), computer disc (CD) or digital versatile disc (DVD)) and 2100b (e.g. flash memory, solid state memory, universal serial bus (USB) memory stick) storing instructions and / or parameters 2102 which when executed by a processor allow the processor to perform one or more of the steps of the methods of FIGS. 19 to 20. It is noted that while the above describes example embodiments, there are several variations and modifications which may be made to the disclosed solution without departing from the scope of the present invention. The examples may thus vary within the scope of the attached claims. In general, some embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although embodiments are not limited thereto. While various embodiments may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as nonlimiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof. The examples may be implemented by computer software stored in a memory and executable by at least one data processor of the involved entities or by hardware, or by a combination of software and hardware. Further in this regard it should be noted that any procedures may represent program steps, or interconnected logic circuits, blocks and functions, or a combination of program steps and logic circuits, blocks and functions. The software may be stored on such physical media as memory chips, or memory blocks implemented within the processor, magnetic media such as hard disk or floppy disks, and optical media such as for example DVD and the data variants thereof, CD. The term “non-transitory”, as used herein, is a limitation of the medium itself (i.e. tangible, not a signal) as opposed to a limitation on data storage persistency (e.g. RAM vs ROM). As used herein, “at least one of the following:” and “at least one of: ” and similar wording, where the list of two or more elements are joined by “and”, or “or”, mean at least any one of the elements, or at least any two or more of the elements, or at least all of the elements. The memory may be of any type suitable to the local technical environment and may be implemented using any suitable data storage technology, such as semiconductor-based memory devices, magnetic memory devices and systems, optical memory devices and systems, fixed memory and removable memory. The data processors may be of any type suitable to the local technical environment, and may include one or more of general purpose computers, special purpose computers, microprocessors, digital signal processors (DSPs), application specific integrated circuits (ASIC), gate level circuits and processors based on multi core processor architecture, as non-limiting examples. As used herein, the terms “means for”, “means for performing operations including”, “means configured to perform operations including”, or “means configured to perform” (or similar) may be any means that are suitable for performing the feature(s). The “means” may be configured to perform one or more of the functions and / or method steps previously described. For example, the “means” may include one or more of: at least one processor, at least one memory, transceiver circuitry, antenna circuitry, etc. It should be understood that these are provided as non-limiting examples. Alternatively, or additionally some examples may be implemented using circuitry. The circuitry may be configured to perform one or more of the functions and / or method steps previously described. That circuitry may be provided in the base station and / or in the communications device. As used in this application, the term “circuitry” may refer to one or more or all of the following: (a) hardware-only circuit implementations (such as implementations in only analogue and / or digital circuitry); (b) combinations of hardware circuits and software, such as: (i) a combination of analogue and / or digital hardware circuit(s) with software / firmware and (ii) any portions of hardware processor(s) with software (including digital signal processor(s)), software, and memory(ies) that work together to cause an apparatus, such as the communications device or base station to perform the various functions previously described; and (c) hardware circuit(s) and or processor(s), such as a microprocessor(s) or a portion of a microprocessor(s), that requires software (e.g., firmware) for operation, but the software may not be present when it is not needed for operation. This definition of circuitry applies to uses of the term “means” in this application, including in any claims. As a further example, as used in this application, the term circuitry also covers an implementation of merely a hardware circuit or processor (or multiple processors) or portion of a hardware circuit or processor and its (or their) accompanying software and / or firmware. The term circuitry also covers, for example integrated device. The term circuitry also covers, for example and if applicable to the particular claim element, a baseband integrated circuit or processor integrated circuit for a mobile device or a similar integrated circuit in a server, a cellular network device, or other computing or network device. The foregoing description has provided by way of exemplary and non-limiting examples a full and informative description of some embodiments. However, various 5 modifications and adaptations may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings and the appended claims. However, all such and similar modifications of the teachings will still fall within the scope as defined in the appended claims.

Claims

1. An apparatus comprising:means for obtaining a limit for maximum signal amplitude associated with an uplink transmission;means for generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude;means for performing a filtering, based on the first sequence of symbols, to generate a filtered signal; andmeans for transmitting, to a network node, a signal based on the filtered signal.

2. The apparatus according to claim 1, wherein the means for obtaining comprises: means for determining the limit for the uplink transmission based on an uplink transmission peak-to-average power ratio, ormeans for receiving, from the network node, information associated with the limit.

3. The apparatus according to claim 1 or claim 2, wherein the uplink transmission is associated with a first modulation and coding scheme, the first modulation and coding scheme comprising: a configuration for the trellis coding, a set of constellation points, a configuration for the filtering, and a forward error correction code.

4. The apparatus according to claim 3, wherein the apparatus comprises:means for selecting the first modulation and coding scheme from a set of modulation and coding schemes; andmeans for providing, to the network node, an indication of the first modulation and coding scheme to be used by the apparatus for the uplink transmission.

5. The apparatus according to claim 3, wherein the apparatus comprises: means for receiving, from the network node, an indication of the first modulation and coding scheme to be used for the uplink transmission.

6. The apparatus according to any of claims 1 to 5, wherein the means for generating comprises:means for obtaining k data bits as an input; andmeans for encoding the k data bits using the trellis coding to generate the first sequence of symbols, wherein the first sequence of symbols is in the time-domain,wherein the trellis coding is associated with a number of states, and the encoding comprises:when in a first state of the trellis coding, determining a next state from a first set of next states that are allowed for the trellis coding based on a first group of n coded bits,when in a second state of the trellis coding, determining a next state from a second set of next states that are allowed for the trellis coding based on a second group of n coded bits,wherein the first set of next states has a different number of states than the second set of next states.

7. The apparatus according to claim 6, wherein at least one of the first state or the second state has a number of next states in the first set or the second set respectively that has an integer factor that is odd and greater than one.

8. The apparatus according to claim 7, wherein for at least one of the first state or the second state, a number of n coded bits in the first group or the second group respectively is different when determining different next states from the first set or the second set respectively.

9. The apparatus according to claim 7, wherein for at least one of the first state or the second state, two different groups of n coded bits determine the same next state from the first set or the second set respectively.

10. The apparatus according to any of claims 7 to 9, wherein the means for encoding comprises:means for encoding the k data bits to form the n coded bits; andmeans for mapping the n coded bits to the first sequence of symbols using the trellis coding.

11. The apparatus according to any of claims 1 to 10, wherein the apparatus comprises: means for modulating the first sequence of symbols to generate a second sequence of symbols, wherein the second sequence of symbols is in the frequency domain.

12. The apparatus according to claim 11, wherein the means for performing a filtering comprises:means for performing a filtering of the first sequence of symbols using an upsampling filter in the time domain to generate a filtered signal.

13. The apparatus according to any of claims 3 to 5,wherein the generating, performing and transmitting are based on the first modulation and coding scheme.

14. An apparatus comprising:means for receiving, from a communication device, a signal;means for performing a demodulation, based on the signal that has been received, using trellis decoding; andmeans for determining an estimate of k data bits comprised within the signal based on the demodulation.

15. The apparatus according to claim 14, wherein the apparatus comprises:means for determining a limit for maximum signal amplitude associated with an uplink transmission for the communication device; andmeans for providing, to the communication device, information associated with the limit.

16. The apparatus according to claim 14 or claim 15, wherein the signal received from the communication device is associated with a first modulation and coding scheme, the first modulation and coding scheme comprising: a configuration for the trellis coding, a set of constellation points, a configuration for the filtering, and a forward error correction code.

17. The apparatus according to claim 16, wherein the apparatus comprises:means for selecting the first modulation and coding scheme from a set of modulation and coding schemes; andmeans for providing, to the communication device, an indication of the first modulation and coding scheme to be used for uplink transmissions.

18. The apparatus according to claim 16, wherein the apparatus comprises:means for receiving, from the communication device, an indication of the first modulation and coding scheme to be used for uplink transmissions by the communication device.

19. The apparatus according to any of claims 14 to 18, wherein the means for performing the demodulation comprises:means for performing a demodulation of the signal that has been received using trellis decoding, wherein the trellis decoding utilises a Bahl, Cocke, Jelinek and Raviv, BCJR, algorithm or a Viterbi algorithm.

20. The apparatus according to any of claims 14 to 18, wherein the means for performing the demodulation comprises:means for performing a window extraction based on the signal, in the time-domain, to determine a time-domain frame;means for performing a fast Fourier transform of the time-domain frame to determine a third sequence of symbols, wherein the third sequence of symbols are in the frequency domain;means for performing an inverse fast Fourier transform of the third sequence of symbols to determine a fourth sequence of symbols, wherein the fourth sequence of symbols are in the time-domain;means for performing the trellis decoding of the fourth sequence of symbols to determine n log-likelihood ratios, LLRs, corresponding to n coded bits, wherein the trellis decoding utilises a Bahl, Cocke, Jelinek and Raviv, BCJR, algorithm or a Viterbi algorithm.

21. The apparatus according to 20, wherein the means for estimating comprises:means for estimating the k data bits based on the n LLRs corresponding to the n coded bits.

22. A method comprising:obtaining a limit for maximum signal amplitude associated with an uplink transmission;generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude;performing a filtering, based on the first sequence of symbols, to generate a filtered signal; andtransmitting, to a network node, a signal based on the filtered signal.

23. A method comprising:receiving, from a communication device, a signal;performing a demodulation, based on the signal that has been received, using trellis decoding; anddetermining an estimate of k data bits comprised within the signal based on the demodulation.

24. A computer program comprising instructions, which when executed by an apparatus,5 cause the apparatus to perform at least the following:obtaining a limit for maximum signal amplitude associated with an uplink transmission;generating a first sequence of symbols using trellis coding based on the limit for maximum signal amplitude;performing a filtering, based on the first sequence of symbols, to generate a filtered10 signal; andtransmitting, to a network node, a signal based on the filtered signal.

25. A computer program comprising instructions, which when executed by an apparatus, cause the apparatus to perform at least the following:15 receiving, from a communication device, a signal;performing a demodulation, based on the signal that has been received, using trellis decoding; anddetermining an estimate of k data bits comprised within the signal based on the demodulation.

Citation Information

Patent Citations

  • Communication System And Method With PAPR And Backoff Configured For Equilibrium

    US20140226747A1

  • Trellis coded DFTS-ofdm

    US20240178937A1