ScopeDSP™ provides a powerful set of features for DSP data manipulation.
ScopeDSP allows you to define “data ranges” if you want to work with only a portion of a data file. A data range is just a subset of data that has been read from a file or generated by ScopeDSP. Of course, a data range can also be the entire data set, if desired. The Time Data manipulations below, as well as the Time-to-Frequency transform operate on the selected range. The Ranges can be specified in terms of sample indices (e.g., point 100 to 356 out of 512), time unit (e.g., milliseconds 5 to 12 out of 17), or can be set with the mouse using the zoom feature. Data ranges are useful when you want to examine or manipulate only a portion of a data set.
“Windowing”, in the DSP sense, involves scaling each data sample in a set by a value which is a function of the data’s index. Typically, Time Data is windowed prior to doing an FFT. A variety of windows (really window shapes) have been analyzed, and each window has its own tradeoffs. ScopeDSP provides all of the common windows:
- Kaiser-Bessel (with choice of Alpha)
- Hanning* (a.k.a. Cosine)
Scaling, Saturation, Quantization
ScopeDSP can scale Time Data by a floating point value. It can saturate at separate upper and lower limits. It can quantize to an integer value by truncation or rounding. A common use of scaling/saturation/quantization is to convert floating point data in the range +/- 1.0 to a fixed-point representation such as, for example, -32768 to +32767 which corresponds to a 16-bit fractional, two’s complement representation. Internally, ScopeDSP represents data in IEEE 32-bit (“float”) format, but these capabilities allow data to be analyzed as if it were in a fixed point representation. The use of fixed point arithmetic is one of the significant reasons why the actual performance of practical DSP system often do not initially perform according to “textbook” expectations.