A zero-cost, real-time, Windows signal laboratory

International Journal of Electrical Engineering Education, Jan 2009 by Leis, John, Snook, Chris

1 Better utilization of limited laboratory time, by preparing students beforehand.

2 Emphasis on the commonly used but difficult to grasp concept of the 'frequency domain', which is central to signal and communications engineering.

3 Nil cost and wide availability make it attractive to all students, but especially those in developing countries where resourcing is a problem.7,8

Design aspects

As mentioned, the program is capable of both sampling audio and generating (synthesizing) predetermined waveforms. The sampling rate is 22 kHz; this being a compromise between temporal quantization and processor loading. The sample buffers are chosen as a compromise between acceptable screen update rates and processor loading; 4 k sample buffers are used in the present implementation, with 16 bit per sample resolution. Although the student need not be aware of these parameters, it should be borne in mind by the instructor that this is a necessary limitation of all digital sampling systems. Indeed, once students are familiar with the package, the inherent limitations of digital sampling may be introduced in the context of everyday devices such as portable MP3 players and mobile phones.

The program, written in C using standard Windows Application Programming Interface (API) system calls, occupies less than 80 kb when compiled into a single stand-alone executable. It is compiled using a Windows port of the well-established 'lcc' compiler available from Virginia Tech.9,10

A deliberate decision was made to have only one user-interface screen. There are no hidden configuration or setup screens. More importantly, both the measured time waveform and corresponding frequency components are displayed simultaneously, in real-time.

The application is able to be used with relatively modest computer facilities. On a 2 GHz Pentium, the CPU usage of Win-eLab is typically less than 40-50%, with around 2 Mb of physical memory used. This allows for plenty of overhead for the real-time sampling and display. On Windows XP, a CPU usage graph is available, although since the kernel-level sampling services for processor utilization are not available on Windows 2000, this feature is not available on systems prior to XP. The reason for including a realtime CPU usage estimator was to facilitate error reporting on older systems with lower clock rates, which may not be able to cope with the computational demands.

Availability, hardware requirements, installation and use

Although CPU clock speeds have increased significantly in recent times, the computational burden of the program is considerable. In order to function effectively without introducing screen update flicker or perceptible gaps in the audio waveform generation, a number of code optimization and synchronization techniques are employed. The processing requirements include:

1 Sampling the input waveform.

2 Calculating the Fourier transform for spectral analysis.

3 Generating the desired waveform without any perceptible gaps.

4 Seamlessly updating the display whilst avoiding flicker.


 

BNET TalkbackShare your ideas and expertise on this topic

Please add your comment:

  1. You are currently: a Guest |
  2.  

Basic HTML tags that work in comments are: bold (<b></b>), italic (<i></i>), underline (<u></u>), and hyperlink (<a href></a)

advertisement
CXO UnpluggedSmart Business interviews on BNET

See and hear how senior level executives across the Asia Pacific are developing smart business ideas across a variety of sectors. The focus is on the future, and on how businesses need to evolve.

advertisement
  • Click Here
  • Click Here
  • Click Here
advertisement

Content provided in partnership with ProQuest