Arpiben
100+ Head-Fier
- Joined
- Apr 25, 2016
- Posts
- 489
- Likes
- 192
Since this thread is now in sound science let me try to correct a few things even if I risk to confuse some a bit more.
Bit Perfect:
In Digital Audio terminology it is only meaning that the original audio file data bits have not been modified by any process (EQ/Volume/Up or Down sampling/Etc...).
It does not mean or guarantee that the original digital audio file is delivered to DAC without any bit corruption at all.
USB Digital Transmission:
When transfering non real time digital files from A to B bulk transfer with CRC check is used. In case of true or false error detection the packet is resent.
With such the probability to have a corrupted bit is extremely low let us say around 1 out of 10exp15.
When transfering real time digital files isochronous transfers are used. In case of true or false error detection the packet is not resent.
With such the probability to have a corrupted bit is still extremely low but higher compared to bulk transfer.
When dealing with USB compliant cables, at worst (with minimum specifications) the probability to have a corrupted bit at maximum rate is around 1 out of 10exp12 (Terabit).
In conclusion no use to worry at all with data integrity whatever protocol is used for transfering. But in absolute there are differences how data is treated.
Bit Perfect:
In Digital Audio terminology it is only meaning that the original audio file data bits have not been modified by any process (EQ/Volume/Up or Down sampling/Etc...).
It does not mean or guarantee that the original digital audio file is delivered to DAC without any bit corruption at all.
USB Digital Transmission:
When transfering non real time digital files from A to B bulk transfer with CRC check is used. In case of true or false error detection the packet is resent.
With such the probability to have a corrupted bit is extremely low let us say around 1 out of 10exp15.
When transfering real time digital files isochronous transfers are used. In case of true or false error detection the packet is not resent.
With such the probability to have a corrupted bit is still extremely low but higher compared to bulk transfer.
When dealing with USB compliant cables, at worst (with minimum specifications) the probability to have a corrupted bit at maximum rate is around 1 out of 10exp12 (Terabit).
- A bulk transfer is used to reliably transfer data between host and device. All USB transfers carry a CRC (checksum) that indicates whether an error has occurred. On a bulk transfer, the receiver of the data has to verify the CRC. If the CRC is correct the transfer is acknowledged, and the data is assumed to have been transferred error-free. If the CRC is not correct, the transfer is not acknowledged and will be retried.
- Isochronous transfers are used to transfer data in real-time between host and device. When an isochronous endpoint is set up by the host, the host allocates a specific amount of bandwidth to the isochronous endpoint, and it regularly performs an IN- or OUT-transfer on that endpoint. For example, the host may OUT 1 KByte of data every 125 us to the device. Since a fixed and limited amount of bandwidth has been allocated, there is no time to resend data if anything goes wrong. The data has a CRC as normal, but if the receiving side detects an error there is no resend mechanism.
In conclusion no use to worry at all with data integrity whatever protocol is used for transfering. But in absolute there are differences how data is treated.