## 2 Related Work
### FM Demodulator Based on MSD Algorithm  
The intermediate frequency (IF) FM signal can be expressed as  
\[r_{IF}(t)=\cos(2\pi f_{c}t+k_{f}\sum_{0}^{n}s(k)t+\theta_{0}) \tag{8}\]  
where \(f_{c}\) is the carrier frequency, \(\theta_{0}\) is the initial phase, and \(k_{f}\) is the modulation factor.  
By down-converting the received signal, the baseband signal can be expressed as  
\[r_{base}(t)=\cos(k_{f}\sum_{0}^{n}s(k)t+\theta_{e})+j\sin(k_{f}\sum_{0}^{n}s( k)t+\theta_{e}) \tag{9}\]  
where \(\theta_{e}\) is the phase error between the received signal and the local carrier.  
The local signal in the receiver can be expressed as  
\[m(t)=\cos(k_{f}\sum_{0}^{n}m(k)t)-j\sin(k_{f}\sum_{0}^{n}m(k)t) \tag{10}\]  
Performing correlation operations between the down-converted baseband signal and the local signal, the result can be expressed as  
\[r_{base}(t)\times m(t)=\cos(k_{f}\sum_{0}^{n}s(k)t-f\sum_{0}^{n}m(k)t+\theta_{ e})+j\sin(k_{f}\sum_{0}^{n}s(k)t-f\sum_{0}^{n}m(k)t+\theta_{e}) \tag{11}\]  
Considering that the subsequent decoding module requires soft information from the demodulation results, the soft output can be represented as  
\[llr(t)=\max_{\mathbf{m}=0}|r_{base}(t)\times m(t)|^{2}-\max_{\mathbf{m}=1}|r_ {base}(t)\times m(t)|^{2} \tag{12}\]  
Figure 2 illustrates the fundamental structure of the FM signal demodulator based on the MSD algorithm. The entire receiver requires \(2^{L}\) local signals to perform the correlation calculation with the received signal, where \(L\) is the symbol length within the MSD observation window.  
Figure 2: FM demodulator based on MSD algorithm.  
Assume that the received signal consists of \(N\) symbols, where the number of sampling points per symbol is \(N_{s}\). Therefore, for one symbol demodulated by the MSD algorithm, \(N_{s}\times L\) sampling points must be used in the computational process.  
When demodulating one symbol using the MSD algorithm, the number of real multiplications that are required to be executed in the correlation calculation is  
\[Mul_{1}=4\times L\times N_{s}\times 2^{L} \tag{13}\]  
As both the received signal and the local signal are complex data, and one complex multiplication requires four real multiplications, a factor of four is used in Equation (13).  
In the correlation calculation, the number of real additions that must be executed is  
\[\begin{split} Add_{1}&=2\times L\times N_{s} \times 2^{L}+2\times(L\times N_{s}-1)\times 2^{L}\\ &=(4\times L\times N_{s}-2)\times 2^{L}\end{split} \tag{14}\]  
Note that completing one complex multiplication requires not only four real multiplications but also two real additions, and the summation of \(N_{s}\times L\) complex data necessitates \(N_{s}\times L-1\) complex additions. Moreover, one complex adder requires two real additions. Thus, Equation (14) is obtained.  
Similarly, in the symbol decision, the number of real multiplications that are required to be executed is  
\[Mul_{2}=2\times 2^{L} \tag{15}\]  
and the number of real additions that need to be executed is  
\[Add_{2}=2^{L} \tag{16}\]  
Therefore, the number of real multiplications required for demodulating one transmitted symbol using MSD is  
\[Mul=Mul_{1}+Mul_{2}=(4\times L\times N_{s}+2)\times 2^{L} \tag{17}\]  
The number of real additions is  
\[Add=Add_{1}+Add_{2}=(4\times L\times N_{s}-1)\times 2^{L} \tag{18}\]  
The symbol length \(L\) of the MSD algorithm is generally set to three, five, or seven. Table 1 demonstrates the computational complexity of the MSD algorithm, where \(N_{s}\) is set to four. As the observation window of the MSD algorithm increases, its computational complexity grows exponentially.