## 5 DASH7 Communication System Implementation
### The Transmitting Process
#### 5.1.3 Baseband Modulation  
To implement the GFSK modulation in the digital domain, the integration in Equation (8) will be substituted by a summation of calculations as follows:  
\[\int_{0}^{t}\alpha(\tau)d\tau\approx\sum_{k=0}^{n}\alpha(kT)T, \tag{11}\]  
where \(T\) is the sampling interval, i.e., the reciprocal of the sampling rate. If we consider the following:  
\[\beta(nT)=\sum_{k=0}^{n}\alpha(kT)T, \tag{12}\]  
then  
\[\beta(nT)-\beta((n-1)T)=\sum_{k=0}^{n}\alpha(kT)-\sum_{k=0}^{n-1}\alpha(kT)= \alpha(kT)T \tag{13}\]  
Figure 8: The upsampling process and shape filter process in GNU Radio, which is achieved with an interpolating FIR filtering.  
Figure 9: The upsampled and pulse-shaped waveform as seen in the time domain.  
leads to  
\[\beta(nT)=\beta(nT-T)+\alpha(nT)T. \tag{14}\]  
The Z-transform of Equation (14) can be expressed as follows:  
\[\beta(z)=\beta(z)z^{-1}+\alpha(z)T, \tag{15}\]  
which leads to the transfer function,  
\[\frac{\beta(z)}{\alpha(z)}=T\frac{1}{1-z^{-1}}. \tag{16}\]  
Equation (16) is the single-pole difference equation of an Infinite Impulse Response (IIR) filter, which can be implemented in a straightforward manner in GNU Radio.  
Figure 10 shows the FSK modulation flowgraph. First, the signal is multiplied by the \(2\pi\) factor and the modulation index. Afterwards, the integration process will be conducted using the IIR filter. The Feedforward and the Feedback Taps control the behavior of the IIR filter. For the single-pole IIR filter, the feedback taps need to be (1, \(-\)1), as shown in Equation (16). However, the Feedforward Taps can vary based on the deployed integrator type. Several integration types can be performed: (1) rectangular integration, where the area under the curve is assumed to be flat; (2) trapezoidal integration, where the area under the curve is assumed to be triangular; and (3) the [PERSON]'s rule integration, where the area under the curve is assumed to be an arc [25]. To implement this rectangular integration, we use taps that are equal to 1. For trapezoidal integration, the taps will change to \(\frac{1}{2}\) and \(\frac{1}{2}\). Finally, for [PERSON]'s rule integration, it becomes more complex, and the taps will be set to \(\frac{1}{3}\), \(\frac{4}{3}\), and \(\frac{1}{3}\).  
\[H_{R}(z)=T\frac{1}{1-z^{-1}} \tag{17}\]  
\[H_{T}(z)=\frac{T}{2}\frac{1+z^{-1}}{1-z^{-1}} \tag{18}\]  
\[H_{S}(z)=\frac{T}{3}\frac{1+4z^{-1}+z^{-2}}{1-z^{-2}} \tag{19}\]  
The Feedback Taps should be (1, \(-\)1) for the rectangular and trapezoidal integration. However, for the [PERSON] rule, this will be (1, 0, \(-\)1). In general, if the SPS factor is high, the rectangular integration will suffice. The baseband-modulated signal is sent to the SDR front-end. On that front-end, the signal will be sent through a DAC and eventually mixed to the needed RF frequency, followed by an amplification stage. Figure 10 depicts the implementation of the rectangular integration in GNU Radio, which generates a modulated baseband signal. The output of this flowgraph in the frequency domain is shown in Figure 11. In the plot, there are two distinct peaks noticeable at \(-\)4.8 kHz and 4.8 kHz, which are the \"space\" and \"mark\" tones used by the Lo-Rate DASH7 channel class.  
The upsampling process and shape filter process in GNU Radio are achieved with an interpolating FIR filtering.