@@ -454,62 +454,70 @@ The Python utility [**SDS-Check**](https://github.com/ARM-software/SDS-Framework
454454
455455The following checks are performed:
456456
457- - [ Size consistency check] ( #size-consistency-check ) : data size of all records should match the size of the SDS file.
458- - [ Timestamp consistency check] ( #timestamp-consistency-check ) : verify that timestamps of the records are in ascending order.
459- - [ Jitter check] ( #jitter-check ) : print the record with the largest deviation from the average timestamp interval.
460- - [ Delta time check] ( #delta-time-check ) : find the record with the largest timestamps difference from the following record.
461- - [ Duplicate timestamp check] ( #duplicate-timestamp-check ) : find records that have identical timestamps.
457+ - [ Size consistency check] ( #size-consistency-check ) : The data size of all records should match the size of the SDS file.
458+ - [ Timestamp consistency check] ( #timestamp-consistency-check ) : Verifies that the timestamps of the records are in ascending order.
459+ - [ Jitter check] ( #jitter-check ) : Prints the record with the largest deviation from the average timestamp interval.
460+ - [ Delta time check] ( #delta-time-check ) : Finds the record with the largest timestamp difference from the following record.
461+ - [ Duplicate timestamp check] ( #duplicate-timestamp-check ) : Finds records with identical timestamps.
462462
463463### Usage
464464
465465- [ Setup] ( #setup ) the Python environment.
466466- Invoke the tool as explained below.
467467
468468``` txt
469- usage: sds-check.py [-h] -s <sds_file>
469+ usage: sds-check.py [-h] -s <sds_file> [-t <tick_rate>]
470470
471471SDS data validation
472472
473473options:
474- -h, --help show this help message and exit
474+ -h, --help show this help message and exit
475475
476476required:
477- -s <sds_file> SDS data recording file
477+ -s <sds_file> SDS data recording file
478+
479+ optional:
480+ -t <tick_rate> Timestamp tick rate in Hz (default: 1000 for 1 ms tick interval)
478481```
479482
480483** Example:**
481484
482485``` txt
483486python sds-check.py -s Accelerometer.0.sds
484- File : Accelerometer.0.sds
485- DataSize : 156.020 bytes
486- Records : 289
487- BlockSize: 532 bytes
488- Largest : 552 bytes
489- Smallest : 462 bytes
490- Interval : 50 ms
491- DataRate : 10.640 byte/s
492- Jitter : 0 ms
487+ File Name : Accelerometer.0.sds
488+ File Size : 156.020 bytes
489+ Number of Records : 289
490+ Recording Time : 14 s
491+ Recording Interval: 50 ms
492+ Data Size : 153.748 bytes
493+ Largest Block : 552 bytes
494+ Smallest Block : 462 bytes
495+ Average Block : 532 bytes
496+ Data Rate : 10.640 byte/s
497+ Jitter : Not detected
493498Validation passed
494499```
495500
496501!!! Note
497- The time values assume an tick frequency of 1000 Hz.
502+ The default tick frequency is 1000 Hz.
498503
499504### Summary Report
500505
501506After processing the SDS data file, the SDS-Check utility prints a summary report with statistics:
502507
503- - ** DataSize** : total size of the data in bytes
504- - ** Records** : total number of records
505- - ** BlockSize** : average block size of a data record
506- - ** Largest** : largest block size, if different from the average block size
507- - ** Smallest** : smallest block size, if different from the average block size
508- - ** Interval** : time interval of the recording in milliseconds
509- - ** DataRate** : recorded data rate in bytes per second
510- - ** Jitter** : deviation from the expected timestamps
511- - ** DeltaTime** : largest difference of the neighboring timestamps, if deviating from the recording interval (optional)
512- - ** DupStamps** : number of duplicated timestamps, if found
508+ - ** File Name** : Name of the SDS data file
509+ - ** File Size** : Size of the file in bytes
510+ - ** Number of Records** : Total number of records
511+ - ** Recording Time** : Duration of the recording in seconds or milliseconds
512+ - ** Recording Interval** : Time interval of the recording in milliseconds
513+ - ** Data Size** : Size of the data w/o record headers in bytes
514+ - ** Largest Block** : Largest block size, if different from the average block size
515+ - ** Smallest Block** : Smallest block size, if different from the average block size
516+ - ** Average Block** : Average block size of a data record
517+ - ** Data Rate** : Recorded data rate in bytes per second
518+ - ** Max Jitter** : Maximum deviation from the expected timestamps, if detected (optional)
519+ - ** Max Delta Time** : Largest difference of the neighboring timestamps, if deviating from the recording interval (optional)
520+ - ** Duplicate Tstamps** : Number of duplicated timestamps, if found
513521
514522### Size consistency check
515523
@@ -535,69 +543,76 @@ Error: Timestamp not in ascending order in record 23.
535543
536544### Jitter check
537545
538- This check processes the SDS data records and searches for a maximum deviation of the recorded
539- timestamps from the expected ones. If the deviation is found, the maximum deviation is
540- evaluated as ** jitter** and together with record number printed out in the summary report.
546+ This check processes the SDS data records and searches for the maximum deviation of the recorded
547+ timestamps from the expected ones. If a deviation is found, the maximum deviation is
548+ evaluated as ** jitter** and, together with the record number, is printed in the summary report.
541549
542550``` txt
543- File : Gyroscope.0.sds
544- DataSize : 153.334 bytes
545- Records : 284
546- BlockSize: 532 bytes
547- Largest : 606 bytes
548- Smallest : 444 bytes
549- Interval : 50 ms
550- DataRate : 10.640 byte/s
551- Jitter : 0 ms
551+ File Name : Gyroscope.0.sds
552+ File Size : 153.334 bytes
553+ Number of Records : 284
554+ Recording Time : 14 s
555+ Recording Interval: 50 ms
556+ Data Size : 151.088 bytes
557+ Largest Block : 606 bytes
558+ Smallest Block : 444 bytes
559+ Average Block : 532 bytes
560+ Data Rate : 10.640 byte/s
561+ Jitter : Not detected
552562Validation passed
553563```
554564
555565### Delta time check
556566
557- This check processes the SDS records and tries to find the largest difference in timestamps
558- between two neighboring records, called ** DeltaTime ** .
567+ This check processes the SDS records and finds the largest difference in timestamps
568+ between two neighboring records, called ** Max Delta Time ** .
559569
560570For normally recorded files, the delta time and the recording interval are identical, so no information
561571about the delta time status is printed. If the delta time and the recording interval are not identical,
562- i.e. a difference is detected, the ** DeltaTime** together with record number is printed out in the summary report.
572+ that is, a difference is detected, the ** Max Delta Time** together with the record number is printed
573+ in the summary report.
563574
564575``` txt
565- File : Temperature.0.sds
566- DataSize : 360 bytes
567- Records : 30
568- BlockSize: 4 bytes
569- Interval : 1.024 ms
570- DataRate : 4 byte/s
571- Jitter : 59 ms, record 19
572- DeltaTime: 1.050 ms, record 2
576+ File Name : Temperature.0.sds
577+ File Size : 360 bytes
578+ Number of Records : 30
579+ Recording Time : 30 s
580+ Recording Interval: 1.024 ms
581+ Data Size : 120 bytes
582+ Data Block : 4 bytes
583+ Data Rate : 4 byte/s
584+ Max Jitter : 59 ms, in record 19
585+ Max Delta Time : 1.050 ms, in record 2
573586Validation passed
574587```
575588
576589This is not an error, but a report of an anomaly. If the time delta is significantly larger than the
577- sampling interval, e.g. many times longer, this may indicate that one or more data records are missing
578- from the recorded file.
590+ sampling interval, for example many times longer, this may indicate that one or more data records are
591+ missing from the recorded file.
579592
580593### Duplicate timestamp check
581594
582- This check processes the SDS records in search of duplicated timestamps.
583- This means that the same timestamp is used in several consecutive data records.
595+ This check processes the SDS records to identify duplicated timestamps. This means that the same timestamp
596+ is used in several consecutive data records.
584597
585598This may indicate that the recording loop in an embedded application is not set up correctly. It is also
586599possible that duplicate timestamps are caused by unexpected thread delays in the embedded application.
587600
588601Duplicate timestamps are unusual in typical recording files. If multiple timestamps with the same value
589- are found in the SDS file, ** DupStamps ** will be added in the summary report.
602+ are found in the SDS file, ** Duplicate Tstamps ** will be added to the summary report.
590603
591604``` txt
592- File : DataInput.0.sds
593- DataSize : 17.509.440 bytes
594- Records : 47.580
595- BlockSize: 360 bytes
596- Interval : 1 ms
597- DataRate : 360.000 byte/s
598- Jitter : 4 ms, record 4
599- DeltaTime: 5 ms, record 5
600- DupStamps: 4, record 1
605+ File Name : DataInput.0.sds
606+ File Size : 164.075.008 bytes
607+ Number of Records : 445.856
608+ Recording Time : 446 s
609+ Recording Interval: 1 ms
610+ Data Size : 160.508.160 bytes
611+ Data Block : 360 bytes
612+ Data Rate : 360.000 byte/s
613+ Max Jitter : 26 ms, in record 273.884
614+ Max Delta Time : 35 ms, in record 277.863
615+ Duplicate Tstamps : 4, found at record 1
601616Validation passed
602617```
603618
0 commit comments