손실이 많은 비트 스트림을 읽었으므로 최대한 많은 사용 가능한 데이터를 복구해야합니다. 0의 자리에 1이 있고 1의 자리에 0이있을 수 있지만 정확도는 아마도 80 %를 넘을 것입니다.잡음이 많은 비트 스트림을 읽는 이중화 알고리즘
알고리즘이 누락되거나 너무 많은 비트를 보충 할 수 있다면 보너스가됩니다.
내가 읽는 소스는 잡음 (아날로그 FFT를 통한 마이크)이며 읽기 타이밍은 컴퓨터 속도에 따라 다를 수 있습니다.
CD-ROM에서 사용되는 알고리즘에 대해 3 장에서 읽은 것을 기억하십니까? 레이어, 그래서 여러 레이어를 사용하여 추측하고있어 좋은 옵션입니다. 나는 세부 사항을 기억하지 않는다. 그래서 누군가가 위대한 것이 될 몇 가지 아이디어를 공유 할 수 있다면! :)
편집 : 추가 샘플 데이터
Best case data: in: 0000010101000010110100101101100111000000100100101101100111000000100100001100000010000101110101001101100111000101110000001001111011001100110000001001100111011110110101011100111011000100110000001000010111 out: 0010101000010110100101101100111000000100100101101100111000000100100001100000010000101110101001101100111000101110000001001111011001100110000001001100111011110110101011100111011000100110000001000010111011 Bade case (timing is off, samples are missing): out: 00101010000101101001011011001110000001001001011011001110000001001000011000000100001011101010011011001 in: 00111101001011111110010010111111011110000010010000111000011101001101111110000110111011110111111111101
Edit2가
: 나는 데이터가 전송되는 설정 제어 할 수 있어요. 현재 간단한 XOR 검사를 구현하려고 시도하고 있습니다 (충분하지는 않지만).
스트림에 기록 된 내용을 제어 할 수 있습니까? 그렇지 않은 경우 데이터가 오류 정정 코드와 함께 기록되어야하므로 CD 예가 적용되지 않습니다. – CodesInChaos
나는이 질문을 이해하지 못한다. 신뢰할 수없는 채널을 통해 일종의 통신 프로토콜을 만들려고하십니까? 또는 어떤 종류의 마법 알고리즘을 찾으려고 노력할 때, 허술한 공기로부터 무엇이 잘못되었거나 옳은 것인지 추측 할 수 있습니까? – Euphoric
나는 소리를 통해 대화하려고한다. (스피커 + 마이크). 특정 주파수를 사용하여 비트를 전송하므로 응용 프로그램이이 특정 주파수를 찾고 있습니다. –