вторник, 2 марта 2010 г.

Signals Analyzer: update.

SA Update to version v

We complete the main changes linked with loading of files of various formats in SA.

Two new elements are inserted:

1 - the area of graphic's construction of a loaded file.
2 - the Switcher with which help the choice of how to interpret the loaded file is realized.

The graphic is constructing for the whole file, that is, the large-scale image by time is output, without possibilities of detailing.

The main objective of mapping of this graphic, is the preliminary scaling of signal's amplitude, tentative estimation of the signal and etc. In many cases it is the extremely useful function. However it demands time, and although speed of construction of the graphic is high enough, about 30-40 mbytes per second, on the big files (20-30) mbytes 5-10 second of time can be demanded, it is linked with features of Windows platform. But basically, all works quickly enough. If the file size exceeds ~157 mbytes (the limit of the loaded data in SA) the graphic is constructing only for this value.
Instead of doubtful function Hot track, much more useful function Auto preview is entered. At it’s activation, the graphic is constructed for any selected file automatically (in case if it possible). Files with zero length, or size shorter then 4 kilobyte are not considered as the data source by SA.
The switcher "Use options" is always switched off by default, and can be activated only for the concrete selected file/record. In this case, the graphic is constructed, pre-scaler becomes accessible, and at loading, the record will be interpreted according to those parameters, which are installed in options.

Such mechanism provides support of 24 and 32 bit records, support of multi-channel wav files, loading of any data within the limits of those formats, which supports SA. In the current version 8, 16, 24 and 32 bit integer data are supported.

24 and 32 bit data have some bytes-representations. SA supports two most wide-spread such as: little-endian used by default and designated as 24A-32A, and big-endian designated as 24B and 32B. Indirectly, the correct choice can be defined by the record graphic, it certainly does not give guarantees in separate special cases, and exhaustive search of variants can be demanded, but such happens seldom enough.

Actually speaking about integer representation, it is necessary to have in view, that numbers with the so-called fixed point are also included into this category and are supported by SA in full volume.

The records in a format with floating point and 64 bit formats, SA does not support. It is not basic limitation, and we do not enter support of these types, only because of big doubts in such necessity. If for someone it is essentially important and necessary, please contact us msm_team[at]live.ru with letter subject 64bit support, and I think the question will easily solved.

Some features and nuances.

The graphic is always is constructed from the supposition that the file is considered as the data, and it is not dependent on a real format. It means, if the file mp3 or wav or what another the graphic it is not the signal/record, which can have a compression, but it is the data in that format, which is exposed/selected in the field "Bits". This data coincides with contents of wav files with Wave tag = 1. This data can also coincide for wav files with other tags, because many programs put their own tags, and write not compressed data, but all this is not guaranteed and does not correspond to contents of mp3 files and to various sound codecs.

Usually multi-channel, not compressed wav files have Wave Tag, which is not equal 1, that locks possibility of their playing with standard resources, for SA however it does not represent a problem as the current loader allows to select any of 16 channels, from any multi-channel standard wav records.

The field "Data start" in sets offset from the file beginning, to the data which will be read by the program at loading. For some, incorrectly issued I/Q records it allows to be placed exactly on the beginning of countings, we have met a lot of such records unfortunately.

Pre-scaler is accessible only in a mode of activated function "Use options", it sets the common coefficient of scaling at file loading. Pre-scaler allows to lift signal level on weak records or, that is more important, to neglect strong interferences, by having lifted an average level of record to the normal. Typical enough problem at conversion of 24 or 32 bit records. Pre-scaler is dumped in an initial state, every time at change of the channel, data format, or the record.

Good Luck~