Saturday, September 25, 2010

Symbols-to-Words (Receiver) (LabVIEW)

Summary: Once we've obtained our complex baseband data and recovered the subcarriers, it's time to make a decision. We have knowledge of what the potential values of the complex amplitudes are allowed to be, and we must fit what we receive to the closest value in the list. Therefore, an estimate of the transmitted symbol is ultimately the output. Embedded is a tutorial video on the construction of the sub-VI, as well as an example video on how to use the function. The file is available for download below.
Figure 1: This is the LabVIEW help and block description for the Symbols-to-Words sub-VI.
Input/Outputs and Help
Symbols-to-Words Inputs/Outputs and Help in LabVIEW
Above is the sub-VI we intend to build in this module. This is the first module where we've attempted to address the stochastic nature of our received data. We'll take each received symbol and compare it with our word-to-symbol map. The closest match is determined to be the most likely transmitted symbol.
The reason the incoming signals may not perfectly match our transmitted symbols is because realistically, computational artifacts from the FFT operation, noise, dispersive channels, quantization, and imperfect coherent carrier recovery are just a handful of the potential sources that can cause our data to change from the transmitter to the receiver.
Figure 2: This is the LabVIEW block diagram for the Symbols-to-Words sub-VI.
Block Diagram Layout
Symbols-to-Words Layout Block Diagram in LabVIEW
Above, Figure 2 shows a LabVIEW implementation of our slicer. As alluded to, we essentially compute minimum Euclidean distance between all allowed values of our symbols (from our known map) and our received data one subcarrier at a time. It's important to note indexing is enabled for our incoming data to perform our operation one data carrier at a time, but the word-to-symbol map is not, as we want to compare each incoming data symbol with all symbols in the map.
Once we take advantage of LabVIEW's max/min function, we desire only the index as this corresponds to the decimal equivalent of our binary word. Remember LabVIEW's convention that the first element in the output array corresponds to the least significant bit. Because the number of bits varies depending on the size of the map, the truncation shown at the end is necessary to remove excess leading zeros. For all general questions,

Content actions


No comments:

Post a Comment

Related Posts Plugin for WordPress, Blogger...

Popular Projects

My Blog List

Give support

Give support
Encourage Me through Comments & Followers