Communications | Digital Signal Processing (DSP ) | Radio Propagation k
Capsim can simultaneously simulate the physical and link layers. This is accomplished using Capsim buffers which can input and output samples asynchronously. Also it is very easy to specify the buffer data units to be bits, vectors, floating point samples or any data structure. This is done without any modification of the Capsim kernel.
A further requirement in the combined asynchronous and synchronous data flow simulation of the link and physical layers, is that the number of data units on buffers is random and in fact are a function of bit errors generated by noise in the physical layer.
Thus, if 4096 bits are transmitted and received in an error free protocol, the buffers in the Capsim® simulation may have generated many times that number of bits which depends on re-transmissions due to noise.
The purpose of the following application note is to illustrate the above concepts with the Capsim® simulation of an error free data transmission system with HDLC frames and ARQ.
The topology of an error free digital transmission system is shown in the Figure. The idea is to generate digital data, form HDLC frames, transmit the frames over a physical layer, receive the HDLC frames, check for errors and acknowledge or request retransmission of the frame.
The datagen star generates a fixed number of bits upon request. That is, if the input buffer, marked request to send in the topology, has a sample then the star generates N bits where N is the number of bits in the HDLC payload.
The N bits are packaged into an HDLC frame with the txhdlc star. However, this star checks the ACK/NAK buffer to determine if it needs to retransmit a frame or send a new frame. It also gets the sequence number mod 8 of the frame in error. Thus, it buffers up to 8 frames. The HDLC frame is sent through the physical layer which is always a galaxy(hierarchical block). The received decoded bits, with possible bit errors, are received by the rxhdlc star. This complex star checks for frame check errors and generates negative acknowledgments(NAK) with sequence numbers or positive acknowledgments(ACK). The star also must check for errors in the start and ending frame flags, and also for abort conditions. Every possible scenario must be checked by this star. The rxhdlc star outputs vectors of bytes as data structures. The data structure contains the length of the payload and a pointer to the bytes of data. The star v2b converts the vectors to a bit stream. The desired format of the received data depends on the application.
In the topology the fxdelay star has auto fan-out so its outputs are replicates of the delayed input. However, the delay in this case is set to zero. Note that both integer and floating point and vector buffers are simultaneously used in the simulation.
The star rts filters the ACK signals from the NAK and passes them to the datagen star. This effectively achieves data flow control. Since, datagen should only generate N bits of payload data on positive acknowledgments. For negative acknowledgments, the txhdlc star retransmits queued frames.
A number of results for analysing the effects of payload length on system performance are provided. These results are from Capsim® simulations. Simulation results were entered into Excel spread sheets and the charts are actually Excel charts.
Total frames transmitted and correct frames received versus payload size in bits.
Total transmitted bits versus payload size in bits.
Efficiency versus versus payload size in bits no noise.
Efficiency versus payload size in bits noisy channel.
The following is a plot of the acknowledgment signal directly from CAPSIM and IIP. The plot was stored as a TIFF image on the workstation. Values above 140 indicate negative ack. The payload was 256 bits, the BER=0.0038 and the total number of information bits transmitted was 12000. Note the modulo 8 frame number. From this plot it is clear that the number of samples on the buffers is random and depends on the physical layer noise level. This is only possible with asynchronous data flow. In synchronous data flow, the number of samples on the buffers is deterministic and can be calculated using the number of generated samples.
Receiver Acknowledgment, 12000 information bits, 256 bit Payload
Capsim V.29 Constellation Physical Layer