문제

얼마 전 나는 12 비트 바이너리 '키'를 보낸 리모컨을 무차별하려고 노력했습니다.

내가 만든 장치는 작동했지만 초당 약 50 비트로 모든 조합을 시도하면서 매우 느 렸습니다 (4096 코드 = 49152 비트 = ~ 16 분)

수신기를 열었고 시프트 레지스터를 사용하여 코드를 확인하고 시도 사이에 지연이 필요하지 않았습니다. 이것은 수신기가 단순히 키와 일치하는지 확인하기 위해 마지막 12 비트를보고 있다는 것을 의미했습니다.

이것은 스트림이라는 것을 의미했습니다 111111111111000000000000 이 모든 코드를 효과적으로 시도했습니다.

111111111111    111111111110    111111111100    111111111000
111111110000    111111100000    111111000000    111110000000
111100000000    111000000000    110000000000    100000000000
000000000000

이 경우 24 비트를 사용하여 13 12 비트 조합 (> 90% 압축)을 시도했습니다.

누구든지 이것을 활용하여 보낸 49152 비트를 줄일 수있는 알고리즘을 아는 사람이 있습니까?

도움이 되었습니까?

해결책

당신이 말하는 것은 de bruijn 시퀀스. 어떻게 작동하는지 신경 쓰지 않으면 결과 만 원합니다. 여기있어.

다른 팁

내 머리 꼭대기에서 각 12 비트 시퀀스에서 하나의 비트를 뒤집는 것과 같은 13 개의 조합, 예를 들어 11111111111010000000010, 1111111111111100000000000000100 등을 처리한다고 생각하지만 여전히 1 비트를 사용해야합니다. 여전히 1111111111101000000000100 등을해야한다고 생각하십시오. 그런 다음 한쪽에 두 개의 비트를 뒤집고 다른쪽에 1 개의 비트를 뒤집습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top