## 2 Proposed Method
### Feedback-Controlled Signal Detection  
Let \(\hat{T}_{d}(k)\) (\(k=0,\cdots,M-1\)) be the estimated detection time for the \(k\)-th information of \(d_{i}\) in \(T_{s}\). The receiver samples the concentration level at every \(T_{p}\), i.e., \(T_{p}=\frac{T_{p}}{N_{s}}\), where \(N_{s}\) is the number of sampling during \(T_{e}\). Among the samples, the receiver measures the peak concentration level at time \(t_{d}(k)\), which is defined as the peak time of the sampled molecule for the \(k\)-th information. The transmitter emits an impulse of molecules according to binary information sequence \(d_{i}\). \(H\) is assumed as the maximal length of ISI, and \(L\) (\(<\)\(H\)) is introduced as the maximal number of historical estimation errors to be reflected for adjustment in the subsequent detection time. Then, the receiver estimates the signal detection time of the \((k+1)\)-th bit (\(0\leq k<M-1\)), \(\hat{t}_{d}(k+1)\), which is determined as follows:  
\[\hat{t}_{d}(k+1) = \hat{t}_{d}(k)+\alpha_{k}\sum_{j=0}^{\min(k,L)}\alpha_{j}(t_{d}(k -j)-\hat{T}_{d}(k-j))\] \[\hat{T}_{d}(k+1) = \hat{t}_{d}(k+1)+kT_{e}, \tag{3}\]  
where \(\hat{t}_{d}(0)=\hat{T}_{d}(0)=t_{m}\) when the system parameters are known to the receiver. Otherwise, the values of \(\hat{t}_{d}(0)\) and \(\hat{T}_{d}(0)\) are set to random values. The values of \(\alpha_{k}\) and \(\alpha_{j}\) were set as \(\alpha_{k}=\frac{2}{L^{+}+1}\) and \(\alpha_{j}=\frac{L^{*}-j+1}{L}\), respectively, where \(L^{*}=\min(k,L)\). In accordance with (3), the estimated detection time for the subsequent bit is adapted according to the weighted feedback errors \((t_{d}-\hat{T}_{d})\). The receiver measures the initial molecular concentration at \(\hat{T}_{d}(0)\) and decides the bit by comparing the measured concentration using decision-making threshold \(c_{r}\). The receiver measures the initial peak time of the molecular concentration among the samples, i.e., \(t_{d}(0)\), and uses it to estimate next detection time \(\hat{t}_{d}(1)\) using previously estimated value \(\hat{T}_{d}(0)\). Thus, the detection time for the next bit is adjusted in the direction to minimize the estimation error. Eventually, according to (3), this control process causes the detection time to converge to an accurate time for maximal molecular concentration, i.e., \(\hat{T}_{d}=t_{d}\). Note that only when the concentration level is higher than \(c_{r}\), the peak time information is used for estimation of the next detection time. If it is less than \(c_{r}\), the previous estimated detection time is used as is to reduce the effect of the detection time under a rapid change in concentration or dynamic channel condition. Algorithm 1 presents the detailed procedure of the proposed method. Figure 2 shows a numerical example of the proposed method using the measured molecular concentration at the receiver when \(d_{1}=\{1,0,1,0\}\), \(i=1\), and \(M=4\). Both \(\hat{t}_{d}(0)\) and \(\hat{T}_{d}(0)\) are considered random values. When the molecules reach the receiver, \(t_{d}(k)\) (\(k=0,1,2,3\)) is measured by the receiver. The next detection time \(\hat{T}_{d}(k)\) (\(k=1,2,3\)) is estimated using (3). Threshold \(c_{r}\) is made proportional to peak \(f_{\max}\), i.e., \(c_{r}=\gamma f_{\max}\), where \(0<\gamma<1\). Hence, the receiver decides for the subsequent bit by comparing the measured concentration at \(\hat{T}_{d}\) with \(c_{r}\). Figure 2 shows that if the received molecular concentration at each \(\hat{T}_{d}(k)\) (\(k=0,1,2,3\)) exceeds the threshold \(c_{r}\), the proposed method decides for bit-1; otherwise, the decision is bit-0. Figure 2 shows that the actual maximal  
Figure 1: Concentration \(c(t)\) over time with varying (**a**) \(r\) and (**b**) \(Q\). molecular concentration points are indicated by the filled circles, whereas those of the received molecular concentrations at the proposed signal detection times are denoted by asterisks. Figure 2 shows a gradual decrease in estimation error \(|t_{d}(k)-\hat{T}_{d}(k)|\), which enables accurate data decoding.