




























































































Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
Study Material. Communication systems play an exciting role in our increasingly interconnected society. Digital communication systems form the heart of computer data networks, satellite communications, mobile telephones, and wireless hand-held devices. All electrical and computer engineering programs emphasize communication systems as part of the core curriculum. cid_Demodulator.vi, Connexions Web site. http://cnx.org/content/m18638/1.1/, Nov 24, 2008. Communication,
Typology: Study notes
1 / 144
This page cannot be seen from the preview
Don't miss anything!
This selection and arrangement of content as a collection is copyrighted by Ed Doering. It is licensed under the Creative Commons Attribution 2.0 license (http://creativecommons.org/licenses/by/2.0/). Collection structure revised: December 15, 2009 PDF generated: February 5, 2011 For copyright and attribution information for the modules contained in this collection, see p. 131.
1
This module refers to LabVIEW, a software development environment that features a graphical programming language. Please see the LabVIEW QuickStart Guide^2 module for tutorials and doc- umentation that will help you:
Welcome to Communication Systems Projects with LabVIEW, a multimedia-enhanced series of projects that explore digital communication systems through LabVIEW simulations, visualizations, and implementations of practical systems. Communication systems play an exciting role in our increasingly interconnected society. Digital commu- nication systems form the heart of computer data networks, satellite communications, mobile telephones, and wireless hand-held devices. All electrical and computer engineering programs emphasize communication systems as part of the core curriculum. Communication systems analysis and design requires a rm grasp of mathematical models, and demands mathematical skill with signals, systems, probability, and random variables. Insight and intuition, also important for the successful study of communication systems, do not always follow immediately from the mathematical presentations of traditional textbooks, however. Hands-on construction of real communication systems and interactive simulations that supplement the mathematics help to more quickly achieve insightful understanding of the myriad details involved in designing and optimizing a communications link for a given application. Communication Systems Projects with LabVIEW features ten laboratory projects based on the LabVIEW graphical dataow programming environment. LabVIEW oers an unparalleled way to directly translate communication system diagrams and mathematical descriptions into a LabVIEW program called a block diagram. The LabVIEW front panel GUI (graphical user interface) that emerges automatically as part of the programming activity enables real-time interaction with the communication system and visual- ization of the signals as waveforms, binary patterns, and text. This real-time interaction reveals connections, patterns, and often unexpected relationships the basis of strong intuition and insight. Many of the projects emphasize listening to the signals as sound, further enhancing one's insight. Some of the laboratory projects simulate and visualize fundamental concepts such as baseband modulation, pulse shaping, intersymbol in- terference (ISI) and eye diagrams, while other projects result in fully-operational systems such as a Caller ID decoder and a text messaging system between a speaker and a microphone. (^1) This content is available online at http://cnx.org/content/m18826/1.2/. (^2) "NI LabVIEW Getting Started FAQ" http://cnx.org/content/m15428/latest/
Each project begins with an explanation of the background theory necessary to complete the project. These introductions feature narrated videos called screencasts that simulate a classroom lecture with a whiteboard visual aid. Continue by constructing a set of subVIs (LabVIEW reusable function blocks) ac- cording to precise specications. Each subVI includes a screencast video that demonstrates the LabVIEW tool in operation to introduce and explain relevant LabVIEW programming techniques for the given subVI. Once the subVIs have been built and tested individually, assemble them into a working "top-level" VI (lit- erally a Virtual Instrument, the name of a LabVIEW program). The project directions provide guidance through the complete development process, each step of the way.
Communication Systems Projects with LabVIEW has been designed to augment existing commu- nication systems laboratory projects, or to serve as the complete laboratory component of an introductory engineering communication systems course. Seven guiding principles motivate the design and organization of Communication Systems Projects with LabVIEW:
Each project requires four activities on the part of the student: (1) Study the introductory material that explains theory and concepts, (2) implement several subVIs as low-level building blocks, (3) assemble the subVIs into an application VI, and (4) interact with the nished VI to explore the theory and concepts. Constructing the subVIs helps students to develop skills with a wide variety of LabVIEW programming techniques, and also helps them to establish a rm grasp on the various LabVIEW data types. The subVIs are carefully specied around standard datatypes, i.e., Boolean array for bitstreams, waveform data type for "analog" signals; successful completion of the subVIs reduces the debugging eort required for the application VIs. Many of the subVIs are reused across multiple projects. The modularity of the projects 10 projects total with a library of over 40 subVIs allows the projects to be easily customized as necessary. An instructor's manual and complete set of application VIs and subVIs is available; please contact the author for details.
note: You can easily export LabVIEW front-panel waveform plots directly to your report. Right- click on the waveform indicator and choose "Export Simplied Image."
Refer to the following textbooks for additional background on the binary symmetric channel (also known as the discrete memoryless channel) used in this project; see the "References" section below for publi- cation details:
If you are relatively new to LabVIEW, consider taking the course LabVIEW Techniques for Audio Signal Processing^4 which provides the foundation you need to complete this project activity, including: block diagram editing techniques, essential programming structures, subVIs, arrays, and audio.
Figure 1.1 illustrates a generic communication system (transmitter, channel, and receiver) and a comparator to compare the original source bitstream to the output bitstream and report bit errors.
(^4) Musical Signal Processing with LabVIEW Programming Techniques for Audio Signal Processing http://cnx.org/content/col10440/latest/
Figure 1.1: Generic communication system with comparator
This project implements Figure 1.1 at an elementary level:
1.1.8.1 Build the subVIs
Build the subVIs listed below. You may already have some of these available from previous projects. Demonstrate that each of these subVIs works properly before continuing to the next part.
1.1.8.2 Construct base system
while-loop structure to operate the system continually, and then modify your application VI accordingly to produce SystemThree.vi.
Figure 1.4: [video] Modify base system to run continually
Experiment with SystemThree.vi:
Discuss your results:
1.1.8.5 Visualize the bitstreams as images
Visualizing the error bitstream as 2-D image develops a qualitative feel for the impact of bit error rate on the data output of a binary communication system. That is, what value of BER corresponds to a "high quality" image transmission? Or, what value of BER makes the received image "poor quality"? View the Figure 1.5 screencast video to learn how to reshape the error bitstream into a two-dimensional array suitable for display as a binary (2-level) image using the LabVIEW subVIs "Flatten Pixmap" and "Draw Flattened Pixmap." In addition, learn how to programmatically control the size of the front-panel image indicator using a "property node." Modify your application VI accordingly to produce SystemFour.vi.
Figure 1.5: [video] Visualize the error bitstream as a binary image
Experiment with SystemFour.vi to study the relationship between BER and image size. To begin, set the bitstream length to 1,024 to produce a 32x32 image. Set the bit error rate to 0.0001. Describe the appearance of the error bitstream as an image, and state the relative "quality" of the image (remember that an ideal error image would always be uniformly black). Now, gradually increase the bitstream length to 200,000 while watching the image. Would you still consider the image to be at the same quality level as before? What BER value do you need to obtain the same quality level you stated for the short bitstream length? Explain why a specic BER value can be considered acceptable for some types of transmitted messages and not for others.
1.1.8.6 Listen to the error bitstream as sound
"Auralizing" the error bitstream as sound also develops your qualitative feel for bit error rate.
Download and run bit_errors_as_sound.vi^5. This application VI continually generates "the sound of silence" (bitstream of 0s) at the source with channel bit errors inserted according to the "BER" slider. Sound is generated in blocks (frames), and total errors within a frame are reported. The average bit errors per second is also reported. Note that the circular panel indicators use logarithmic mapping.
6
This module refers to LabVIEW, a software development environment that features a graphical programming language. Please see the LabVIEW QuickStart Guide^7 module for tutorials and doc- umentation that will help you: continued on next page
(^5) See the le at http://cnx.org/content/m18660/latest/bit_errors_as_sound.vi (^6) This content is available online at http://cnx.org/content/m18662/1.1/.
If you are relatively new to LabVIEW, consider taking the course LabVIEW Techniques for Audio Signal Processing^9 which provides the foundation you need to complete this project activity, including: block diagram editing techniques, essential programming structures, subVIs, arrays, and audio.
Introductory digital logic courses present digital waveforms as essentially rectangular pulses. Indeed, the internal signals of a digital integrated circuit ideally exist at one of two voltage levels (high and low), with minimal time spent changing from one state to the other. Waveform displays from digital circuit simulators further emphasize the two-level rectangular shape of ideal digital signals. Rectangular pulses are not ideal for transmission through communication links, however, since commu- nication channels always restrict the bandwidth available between the transmitter and the receiver. Rectan- gular signaling pulses contain signicant spectral energy across a wide frequency range due to the step-like transition between levels, and yet most communication systems do not allocate nearly enough bandwidth to faithfully transmit these abrupt changes. Passing a rectangular pulse through a limited-bandwidth channel distorts the pulse by "smearing" it that is, the pulse stretches out in time. The transmitter sends a series of pulses to convey the message, therefore this time smearing causes interference between adjacent time slots (or bit slots). This intersymbol interference (abbreviated ISI) adds extraneous signal energy at the exact moments when a receiver's bit sampler decides whether a received bit should be called a logic "1" or a logic "0." ISI is not the same as additive random noise, but plays a similar role by reducing the noise margin, i.e., the room for error before the receiver's bit sampler makes an error. This project studies intersymbol interference in an intuitive way by using a LabVIEW VI to simulate a pulse transmitter, nite bandwidth channel, and received signaling waveform. Rectangular pulses are considered rst to demonstrate the ISI problem, and then two alternative pulse shapes are explored as a way to minimize ISI. The eye diagram is also introduced in this project as a visual aid to present the time-domain signal- ing waveform to promote understanding of the ISI phenomenon. The eye diagram also reveals other key performance measures such as noise margin, timing jitter, and timing sensitivity.
Download the LabVIEW VI ISI_and_EyeDiagram.vi^10 , an interactive tool to study various pulse shapes as they pass through a band-limited channel. Open the VI which starts running automatically, and then view the Figure 1.6 screencast video for a short orientation tour of the VI. (^9) Musical Signal Processing with LabVIEW Programming Techniques for Audio Signal Processing http://cnx.org/content/col10440/latest/ (^10) http://cnx.org/content/m18662/latest/ISI_and_EyeDiagram.vi
Figure 1.6: [video] Orientation tour of the "ISI_and_EyeDiagram.vi" LabVIEW VI
Restore the front panel controls of "ISI_and_EyeDiagram.vi" to their default values by selecting "Edit | Reinitialize Values to Defaults." Set the symbols control to 1 to produce a single rectangular pulse. The channel bandwidth should already be set to its maximum value of 0.49, which corresponds to essentially unlimited bandwidth. Note that this VI uses normalized frequency, therefore the sampling frequency corresponds to 1 and the Nyquist frequency is 0.5. Compare the "transmitted waveform" and the "received waveform" plots in the lower-right front panel. How well does the received pulse match the transmitted pulse? Also, to what extent does the received pulse "spill out" of its designated time slot? Decrease the channel bandwidth until you begin to observe noticeable pulse shape distortion. At what bandwidth does this occur? Continue decreasing the channel bandwidth. What eects do you begin to observe? Make a series of plots that show the progressive degradation of the rectangular pulse shape as the channel bandwidth is restricted. Right-click on the plot and choose "Export Simplied Image" to copy the graph to the clipboard for pasting into your report. Be sure to indicate the channel bandwidth for each plot.
Restore the front panel controls of "ISI_and_EyeDiagram.vi" to their default values. Set the symbols control to 1 to produce a single pulse, and set the bandwidth control to 0.02. The received pulse should show noticeable distortion. Now set the pulse shape control to "Sinc." How much distortion is evident at the receiver? How much lower can you restrict the bandwidth while still preserving the basic sinc waveform shape? The sinc function's ability to maintain its basic shape through a restricted channel bandwidth is impor- tant, but its true signicance extends beyond this fact, as explored in the next section.
A transmitter converts a message, or sequence of bits, into a series of analog pulses to create the signaling waveform. A receiver recovers the bitstream by periodically sampling the signaling waveform and comparing the sample to a threshold value to decide "1" or "0." Sinc-shaped pulse do not interfere with adjacent bit slots, provided that the bit slots are sampled at the correct instant in time. To see this, reinitialize the front panel control values to their default settings, choose the "Sinc" pulse shape, and choose 2 symbols. Look carefully at the transmitted and received pulses on the lower-left front panel plots. The white trace shows the rst pulse in the sequence, while the red trace shows the second pulse in the sequence. The rst pulse has an amplitude of +1, while the second pulse has an amplitude of -1, corresponding to a bit sequence "10"; refer to the message bitstream indicator to conrm that the rst bit is T (green LED indicator active) and the second bit is F (inactive LED indicator). The waveform plots on the lower-right front panel show the actual transmitted and received waveforms, which superimpose (i.e., add) the individual pulses together. The plots on the lower-left front panel illustrate the contribution of each individual pulse.
Figure 1.8: [video] Measuring noise margin, ISI, timing sensitivity, zero-crossing jitter, and optimum sampling time using an eye diagram
Figure 1.9 illustrates a generic eye pattern superimposed on a measured eye diagram plot and summarizes the denition of the various performance metrics discussed earlier. Use these denitions for the following measurements.
Figure 1.9: Generic eye pattern and denition of performance metrics
1.2.13.1 Rectangle Pulse
Restore the front panel controls of "ISI_and_EyeDiagram.vi" to their default values, and set the symbols control to 40. Vary the channel bandwidth and observe its eect on the eye diagram plot, and then set the channel bandwidth to 0.05. Increase the eye diagram start time to 245 samples to center the eye in the plot window. Export the eye diagram plot to a piece of paper, and then use the eye diagram cursor as a tool to measure the following (show and label the relevant distances you measured on your hardcopy plot):
1.2.13.2 Sinc Pulse
Ensure that the front panel controls of "ISI_and_EyeDiagram.vi" are the same as in the previous step, and then select the "Sinc" pulse shape. Adjust the eye diagram start time and time span to maximize the number of displayed bit intervals and also to avoid the initial startup transient that causes lines to cross through the center of the eye; also make adjustments to place the maximum eye opening at the center of the plot window. As in the previous step, export the eye diagram plot to a piece of paper, and then use the eye diagram cursor as a tool to measure the following (show and label the relevant distances you measured on your hardcopy plot):
1.2.13.3 Raised Cosine Pulse
Keep the front panel controls of "ISI_and_EyeDiagram.vi" at the same settings you used for the previous "Sinc" pulse measurements, and then select the "Raised Cosine" pulse shape. You should expect to see the maximum eye opening remain centered in the eye diagram plot. As in the previous steps, export the eye diagram plot to a piece of paper, and then use the eye diagram cursor as a tool to measure the the same ve metrics as for the "Sinc" pulse. Show and label the relevant distances you measured on your hardcopy plot. Compare your results for the raised cosine pulse and the sinc pulse. What appears to be advantageous about the raised cosine pulse shape? See the video screencast in pam_RaisedCosinePulse.vi (Section 5.2.1.1) for more background about the raised cosine pulse, the most widely-used pulse shape in digital communication systems.
Add random channel noise to the received waveform by moving the noise standard deviation control away from zero. Note how the eye pattern begins to close as the noise level increases. Report the noise standard deviation value at which the eye just begins to close completely for each of the three pulse shapes. Make hardcopy plots of the eye diagram for each value that you report.