Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> A new class of convolutional codes called turbo-codes, whose performances in terms of bit error rate (BER) are close to the Shannon limit, is discussed. The turbo-code encoder is built using a parallel concatenation of two recursive systematic convolutional codes, and the associated decoder, using a feedback decoding rule, is implemented as P pipelined identical elementary decoders. > <s> BIB001 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> Molecular communications emerges as a promising scheme for communication between nanoscale devices. In diffusion-based molecular communications, molecules as information symbols are released by transmitters and diffuse in the fluid or air environments to transmit messages. Under the diffusion channel modeled by Brownian motion, information sequences suffer from molecule crossovers, i.e., molecules released at an earlier time may arrive later, causing intersymbol interference (ISI). In this paper, we investigate practical channel codes for combating ISI. An ISI-free coding scheme is proposed to increase the communication reliability while keeping the encoding/decoding complexity reasonably low. We exemplify an ISI-free code and theoretically approximate its bit error rate (BER) performance. In addition, repetition codes are revisited out of the complexity concern and proved to be desirable. The BER approximations of the repetition code family are given as well. Compared with convolutional codes, the proposed ISI-free code and repetition codes offer comparable performance with much lower complexity for diffusion-based molecular communication systems. <s> BIB002 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> Communication between nanoscale devices is an area of considerable importance as it is essential that future devices be able to form nanonetworks and realise their full potential. Molecular communication is a method based on diffusion, inspired by biological systems and useful over transmission distances in the nm to m range. The propagation of messenger molecules via diffusion implies that there is thus a probability that they can either arrive outside of their required time slot or ultimately, not arrive at all. Therefore, in this paper, the use of a error correcting codes is considered as a method of enhancing the performance of future nanonetworks. Using a simple block code, it is shown that it is possible to deliver a coding gain of ∼ 1.7dB at transmission distances of 1 m. Nevertheless, energy is required for the coding and decoding and as such this paper also considers the code in this context. It is shown that these simple error correction codes can deliver a benefit in terms of energy usage for transmission distances of upwards of 25 m for receivers of a 5 m radius. <s> BIB003 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> Molecular communications emerges as a promising scheme for communications between nanoscale devices. In diffusion-based molecular communications, molecules as information symbols diffusing in the fluid environments suffer from molecule crossovers, i.e., the arriving order of molecules is different from their transmission order, leading to intersymbol interference (ISI). In this paper, we introduce a new family of channel codes, called ISI-free codes, which improve the communication reliability while keeping the decoding complexity fairly low in the diffusion environment modeled by the Brownian motion. We propose general encoding/decoding schemes for the ISI-free codes, working upon the modulation schemes of transmitting a fixed number of identical molecules at a time. In addition, the bit error rate (BER) approximation function of the ISI-free codes is derived mathematically as an analytical tool to decide key factors in the BER performance. Compared with the uncoded systems, the proposed ISI-free codes offer good performance with reasonably low complexity for diffusion-based molecular communication systems. <s> BIB004 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> In this paper, we investigate the performance of convolutional coding techniques in an ideal diffusion-based concentration-encoded molecular communication (CEMC) channel with pulse amplitude modulation (PAM) transmission scheme. Convolutional codes have shown to provide a significant amount of gain in the signal-to-interference strength (energy) ratio between a pair of communicating nanomachines and thus help increase the communication range and improve the end-to-end system performance. We have also determined the impact of convolutional codes for several key performance factors, e.g. transmission data rate, communication range, and the constraint length of the convolutional code in the context of diffusion-based CEMC. In addition, we have compared the PAM system with the impulse modulation system in CEMC. We have found that the use of a multilevel (M-ary) signalling scheme in the CEMC system provides a degraded bit error rate performance even in short communication ranges. Therefore, a convolutional coded scheme with larger alphabet size should not be recommended for a CEMC system because of the stronger intersymbol interference produced within symbols. As an alternative, a convolutional coded scheme with binary alphabet and higher symbol rate was evaluated and found to provide a gain in the signal-to-interference energy ratio of the system and is therefore recommended for short- to medium-range CEMC. For long communication ranges, an uncoded system can rather be preferred to convolutional coded schemes. <s> BIB005 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> Owing to the limitations of molecular nanomachines, it is essential to develop reliable, yet energy-efficient communication techniques. Two error correction coding techniques are compared under a diffusive molecular communication mechanism, namely, Hamming codes and minimum energy codes (MECs). MECs, which previously have not been investigated in a diffusive channel, maintain the desired code distance to keep reliability while minimising energy. Results show that MECs outperform the Hamming codes, both in aspects of bit error rate and energy consumption. <s> BIB006 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> Enhancing the communications performance of diffusion based molecular communications system whilst being considerate about the energy requirements is an ever present problem for researchers. Here it is proposed for the first time, that self-orthogonal convolutional codes (SOCCs) might be a candidate solution moving forward. Analysis is conducted that shows the performance comparisons between both un-coded systems and those which employ Hamming codes. The specific metrics used herein are with respect to coding gain and critical distance. The results show that a (3,2,13) SOCC provides the largest coding gain compared with all Hamming codes over a BER range of 10−5 to 10−9 and furthermore, also has the shortest critical distance. <s> BIB007 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> Future applications for nano-machines, such as drug-delivery and health monitoring, will require robust communications and nanonetworking capabilities. This is likely to be enabled via the use of molecules, as opposed to electromagnetic waves, acting as the information carrier. To enhance the reliability of the transmitted data, Euclidean geometry low density parity check (EG-LDPC) and cyclic Reed-Muller (C-RM) codes are considered for use within a molecular communication system for the first time. These codes are compared against the Hamming code to show that an $\boldsymbol{s}=4$ LDPC (integer $\boldsymbol{s}\ge 2$ ) has a superior coding gain of 7.26 dBs. Furthermore, the critical distance and energy cost for a coded system are also taken into account as two other performance metrics. It is shown that when considering the case of nano–to nano-machines communication, a Hamming code with $\boldsymbol{m}=4$ , (integer $\boldsymbol{m}\ge 2$ ) is better for a system operating between $10^{-6}$ and $10^{-3}$ bit error rate (BER) levels. Below these BERs, $\boldsymbol{s}=2$ LDPC codes are superior, exhibiting the lowest energy cost. For communication between nano–to macro-machines, and macro–to nano-machines, $\boldsymbol{s}=3$ LDPC and $\boldsymbol{s}=2$ LDPC are the best options respectively. <s> BIB008 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> Molecular Communications is a promising area with significant potential applications. To enhance the reliability of the transmission process, self-orthogonal convolutional codes (SOCCs) are proposed and investigated with respect to both bit error rate (BER) and energy efficiency. The codes are compared to both an un-coded system and one that employs Hamming codes to show that they can provide a benefit for molecular communication systems. The influence of the channel memory is also analysed in this paper. In addition, taking into account the extra energy required to implement the coding, the critical distance is investigated as another performance metric for nano-to-nano device communication, nano-to-macro device communication and macro-to-nano device communication. Considering the transmission distance and the operating BER of the designed system, the designer can determine whether the use of coding is beneficial or which code better suits the system. <s> BIB009 </s> Transmitter and Receiver Architectures for Molecular Communications: A Survey on Physical Design with Modulation, Coding and Detection Techniques <s> D. Coding Techniques for MC <s> Synthetic biology, through genetic circuit engineering in biological cells, is paving the way toward the realization of programmable man-made living devices, able to naturally operate within normally less accessible domains, i.e. , the biological and the nanoscale. The control of the information processing and exchange between these engineered-cell devices, based on molecules and biochemical reactions, i.e. , molecular communication (MC), will be enabling technologies for the emerging paradigm of the Internet of Bio-Nano Things, with applications ranging from tissue engineering to bioremediation. In this paper, the design of genetic circuits to enable MC links between engineered cells is proposed by stemming from techniques for information coding and inspired by recent studies favoring the efficiency of analog computation over digital in biological cells. In particular, the design of a joint encoder-modulator for the transmission of binary-modulated molecule concentration is coupled with a decoder that computes the a-posteriori log-likelihood ratio of the information bits from the propagated concentration. These functionalities are implemented entirely in the biochemical domain through activation and repression of genes, and biochemical reactions, rather than classical electrical circuits. Biochemical simulations are used to evaluate the proposed design against a theoretical encoder/decoder implementation taking into account impairments introduced by diffusion noise. <s> BIB010
Encoding of information before transmission is classically done for two reasons, source coding is done for statistically efficient representation of data form a discrete input source, and channel coding is done to control errors that occur due to channel noise via introducing redundant bits. Source coding practices are independent of channel characteristics, and as a result they do not differ for MC with respect to traditional communications from ICT point of view. For this reason, we do not cover source coding in this review. On the other hand, MC channels are typically diffusive, a process which has slow and omnidirectional propagation. As a consequence IMs quickly accumulate in the channel after a series of transmissions, rendering MC extremely noisy and susceptible to ISI. Moreover, as coding has a computational burden on both transmitter and receiver ends, and energy is a scarce resource at nanoscale, energy efficiency of employed channel codes is also a crucially important aspect. This calls for utilization lower complexity block codes, such as simple parity codes or cyclic codes, e.g., Hamming codes  , instead of the state-of-the-art high complexity codes with high computational burden like Turbo codes BIB001 . On the other hand, the noisy nature of MC channels and over-pronounced effects of ISI renders channel codes developed for conventional EM communications ill-adjusted for MC, calling for invention of novel coding techniques specifically tailored for MC. Table II enlists the channel coding practices so far employed in MC literature. Below, we summarize these works and highlight their contributions, where we focus more on codes that have been specifically designed for MC. The first MC specific code in literature aimed at mitigating the effects of ISI in MC, as it is the main source of high BERs. In BIB002 authors introduce the ISI-free coding scheme under MoSK modulation, where two distinguishable molecules encode for bit 0 and bit 1, respectively. The receiver is absorbing, i.e., detects everything that hits, and it immediately receives bit 0 or bit 1 upon detection depending on the type of detected molecule. The authors work with the example of a (4, 2, 1) ISI-free code, where an (n, k, l) ISIfree code is an (n, k) block code, i.e., maps k-bit information into n-bit codewords, and is error-free provided that there are no more than level-l crossovers. Here, crossover is the phenomenon of late detection of a molecule belonging to previously transmitted symbols, and a level-l crossover means that the detected molecule was transmitted l symbols ago. ISI-free code is a fixed code, in that, it is invariant with respect to change in channel parameters. The (4,2,1) code implemented in BIB002 is based on the idea of finding a codebook with codewords, whose level-1 permutation sets, i.e., possible detection sequences under maximum level-1 crossover assumption, are disjoint. However, level-1 permutation sets of codewords depend on values of neighboring bits at the boundary of contiguous codewords, where if they are same, crossovers between contiguous codewords do not contribute new elements to the level-1 permutation set, making finding codewords with disjoint permutation sets easier. To achieve this, authors devise a two state encoder architecture, whose codeword assignments and state diagram are illustrated in Fig.  5 together with an example encoding. Note that contiguous codewords have neighboring bits always same. The receiver decodes the information bits from the codeword received by adding the number of 1's modulo n = 4, and converting the result to binary, which is a fairly simple decoding rule, and therefore favorable for MC. The authors also compare the ISI-free (4, 2, 1) code with convolutional and repetition codes, and verify comparable BER performance with much less computational burden. In their following work BIB004 , authors extend the ISI-free (n, k, l) codes to account for higher level crossovers, namely, for levels l = 2, 3, 4, 5. Furthermore, they introduce the ISI-free (n, k, l, s) codes, in which the codewords have at least l final and s initial identical bits, instead of the symmetric at least l identical bits at both ends of ISI-free (n, k, l) codes, and show that they significantly outperform (n, k, l) codes under similar computational burdens. In essence, the motivation for (n, k, l, s) codes comes from the asymmetry of inter-codeword error probabilities arising from crossover at the start of a codeword and at the end of a codeword. More specifically, if one compares the probability of a given molecule having level-l crossover forwards via arriving later than the l molecules released after it, to the probability of having level-l crossover backwards via the preceding l molecules arriving after the given molecule, one finds latter to fall far more rapidly with increasing l. Thus, to reduce computational burden s is typically chosen lower than l signifying the low probability of backwards crossover errors. Finally, the authors demonstrate that ISI-free (n, k, l, s) codes can deliver better BERs than convolutional codes with less computational resources. As its weaknesses, the work considers a very simple one dimensional diffusive channel model with positive drift velocity, which lacks many phenomena diffusive MC enjoys in three dimensions. In particular, transmitted IMs are doomed to hit the receiver, which is very different from the three dimensional case, where there is always the probability that no molecules will reach the receiver. The extent of this simplification reveals itself in the assumption that the transmitter releases a single molecule per symbol, which, thanks to the drift in channel and the absorbing nature of receiver, is always detected. MC-adapted version of classical Hamming codes were introduced in  , where the traditional Hamming distance metric on the codeword space, given by the number of bit differences between two binary codewords, is replaced by the so-called molecular coding distance function (MoCo). In its essence, MoCo is defined in terms of the negative logarithms of probabilities P r({x → y}) of receiving codeword y when x was transmitted, and the code aims at generating a codebook with maximal minimum pairwise MoCo distance between constituent codewords. MoCo distance is not a metric, as it is not symmetric, and the triangular inequality is not verified by the authors. This work, too, considers a one dimensional diffusive channel with drift and an absorbing receiver, however, in contrast to BIB002 , BIB004 , it uses synchronized time slotted OOK modulation scheme with only a single type of IM and the receiver is additive with a threshold equal to 1, i.e., it counts the number of hits in a period and claims high logic reception with a single hit. In case of (4, 2) block BIB002 codes, the authors demonstrate that the code generated using MoCo performs superior to Hamming code by carrying out an error rate analysis for both codes. However, as shortcomings, MoCo depends on detection probabilities that are sensitive to variations in channel properties, and are in general unknown to Tx and Rx. Moreover, even if adaptive techniques may be envisioned, calculation of MoCo-based codebook (at Tx) and decoding region partition (at Rx) require significant computational resources at Tx and Rx, respectively, and overhead communication would have to be considered for synchronized code updating. The authors of BIB003 propose classical Hamming codes to introduce error correction in MC, where they consider a three-dimensional diffusive channel with time slotted OOK modulation scheme in a channel with finite memory. The receiver is modeled as a non-absorbing sphere which immediately detects molecules that arrive to it, and reception is decided upon additive count of arriving molecules during transmission period. Hamming codes are error correcting block codes with coding ratio k/n = ( , where m is the number of parity check bits, and BIB003 considers Hamming codes for m = 3, 4, 5. Their results show that Hamming codes can deliver coding gains up to ≈ 1.7dB at transmission distances of 1µm and for low BERs. Here, coding gain is defined as the gain the code introduces in required number of IMs per transmission to achieve a given BER. At high BERs, i.e., low quantities of transmitted IMs, extra ISI introduced by parity bits overweighs error correction, and uncoded transmission performs better. The authors also incorporate an energy model for transmission, where energy is taken to be proportional to the number of transmitted IMs, and show that the energy required to transmit the extra parity bits causes coded transmission to be energy inefficient at small communication distances, however coding becomes more efficient for larger distances. Later on, over the same channel model a Hamming minimum energy code (MEC) scheme was proposed in BIB006 . In a trade off of having larger codeword lengths against generating codewords with lower average weights by using more 0-bits, the authors trade between rate and energy efficiency of communication. In subsequent works BIB007 , BIB009 , again over the same channel except with an absorbing receiver in BIB009 , self-orthogonal convolutional codes (SOCCs) are proposed, and their performance against Hamming MECs and uncoded transmissions are investigated with respect to both BER and energy efficiency. Both works conclude that, in nanoscale MC SOCCs have higher coding gains, i.e., they are more energy efficient, compared to uncoded transmission, and to the Hamming MECs when low BER (10 −5 -10 −9 ) region. Moreover, SOCCs are also reported to have shorter critical distances than Hamming MECs, where the critical distance is defined as the distance at which extra energy requirements of employing coding are compensated by the coding gain. BIB009 additionally explores the energy budget of nano-to-macro and macro-to-nanomachine MC, and arrive at the conclusion that in MC involving macro-machines the critical distance of the codes decrease. Yet in another work BIB008 , Hamming codes are evaluated against cyclic 2 dimensional Euclidean geometry low density parity check (EG-LDPC) and cyclic Reed-Muller codes by considering the same channel model as in BIB009 . Again, the comparison of codes is carried out for different MC scenarios involving nano and macro-machines, and it reveals in the case of nano-tonanomachine MC that, in BER region 10 −3 − 10 −6 Hamming codes with m = 4 are superior, and at lower BER regions LDPC codes with s = 2 exhibit the lowest energy cost. Here, s ≥ 2 is the density parameter in LDPC codes, where coding density increases to 1 monotonically as s → ∞. Moreover, in macro-to-nano and nano-to-macro MC the results indicate that LDPC codes with s = 2 and s = 3 are the best options, respectively. The performance of convolutional coding techniques in diffusive MC systems has been investigated by BIB005 utilizing PAM with M = 1, 2, 4 pulse amplitude levels for varying key factors such as transmission rate and communication range (0.8µm-1mm). The findings indicate that, while convolutional coding with high transmission rate and M = 1, i.e., OOK modulation, does outperform the uncoded transmission in short-and medium-range communications, no coding does better than convolutional codes in long range MC. Furthermore, increase in the number of pulse amplitude levels causes deterioration in achieved BERs, which is attributed to increased ISI, implying that, OOK modulation is better suited to MC than PAM. All the aforementioned works apply various channel coding techniques for error correction in MC, however they do not provide any details into mechanisms of implementation of these codes from device architecture perspective. In [155] , authors devise a molecular single parity check (SPC) encoder with OOK modulation for an MC design based on genetically engineered bacteria, which are assumed to network with each other via signaling molecules, e.g., N-acyl homoserine lactones (AHLs). The implementation of joint encoder-modulator module is achieved via design of genetic circuits that regulate gene expression levels, and the transmission materializes from ensuing biomolecule concentrations dictated by biochemical reactions. Developed SPC encoder, which appends to 2 bits information a parity check bit via biological XOR gate based on designed genetic circuits, provides an error detection mechanism, however with no correction. Still, the introduced design serves as a basis for genetic circuit based designs of more complex block codes with error correction capabilities. In this paper, there is no evaluation of the proposed coding scheme as the paper considers only the transmitter side of MC. A year later, in BIB010 , authors extended their work in [155] by introducing biological analog decoder circuit, which computes the a-posteriori log-likelihood ratio (LLR) of transmitted bits from observed transmitter concentrations. LLR is defined as the gain of probability of detection over non-detection in dB. This enabled them to analyze the whole end-to-end MC over a diffusive channel. Via simulations they manage to verify intended operation of designed modulated SPC encoder and the analog decoder, and observe network performance close to an electrical network operating in high noise.