Tôi đang đọc luồng bit mất dữ liệu và tôi cần một cách để khôi phục càng nhiều dữ liệu có thể sử dụng càng tốt. Có thể có 1 ở vị trí của 0 và 0 trong palce của 1, nhưng độ chính xác có thể là hơn 80%.Thuật toán dự phòng để đọc bitstream ồn ào
Tiền thưởng sẽ là nếu thuật toán có thể bù đắp cho việc thiếu/quá nhiều bit.
Nguồn tôi đọc là tương tự với tiếng ồn (micrô qua FFT) và thời gian đọc có thể khác nhau tùy thuộc vào tốc độ máy tính.
Tôi nhớ đọc về các thuật toán được sử dụng trong CD-ROM đang thực hiện việc này trong 3? lớp, vì vậy tôi đoán sử dụng một số lớp là một lựa chọn tốt. Tôi không nhớ chi tiết mặc dù, vì vậy nếu có ai có thể chia sẻ một số ý tưởng đó sẽ là tuyệt vời! :)
Edit: gia tăng dữ liệu mẫu
Best case data: in: 0000010101000010110100101101100111000000100100101101100111000000100100001100000010000101110101001101100111000101110000001001111011001100110000001001100111011110110101011100111011000100110000001000010111 out: 0010101000010110100101101100111000000100100101101100111000000100100001100000010000101110101001101100111000101110000001001111011001100110000001001100111011110110101011100111011000100110000001000010111011 Bade case (timing is off, samples are missing): out: 00101010000101101001011011001110000001001001011011001110000001001000011000000100001011101010011011001 in: 00111101001011111110010010111111011110000010010000111000011101001101111110000110111011110111111111101
Edit2: tôi có thể để điều khiển các dữ liệu được gửi đi. Hiện đang cố gắng thực hiện kiểm tra XOR đơn giản (mặc dù nó sẽ không đủ).
Bạn có thể kiểm soát nội dung được ghi vào luồng không? Nếu không thì ví dụ CD của bạn không áp dụng vì nó yêu cầu dữ liệu được viết cùng với mã sửa lỗi. – CodesInChaos
Tôi không hiểu câu hỏi này. Bạn đang cố gắng thực hiện một số loại giao thức truyền thông trên kênh không đáng tin cậy? Hoặc cố gắng tìm một loại thuật toán ma thuật nào đó, có thể, từ không khí mỏng, đoán xem có gì sai hay đúng không? – Euphoric
Tôi đang cố gắng giao tiếp qua âm thanh (loa + micrô). Tôi đang sử dụng một tần số cụ thể để gửi bit, vì vậy ứng dụng đang tìm kiếm tần số cụ thể này. –