나는 작업중인 프로젝트, 즉 간단한 소프트웨어 afsk 모뎀을 위해 bitstuffing을 구현하려고합니다. 단순화 된 프로토콜은 다음과 같은 : 비트 스터핑을 위해 사용해야하는 데이터 구조는 무엇입니까?
0111 1110 # burst sequence
0111 1110 # 16 times 0b0111_1110
...
0111 1110
...
... # 80 bit header (CRC, frame counter, etc.)
...
0111 1110 # header delimiter
...
... # data
...
0111 1110 # end-of-frame sequence
지금 내가 헤더 나 데이터가 모두 6 연속 사람이 포함되어 있는지 확인해야합니다 때문에 수신 된 데이터의 예약 순서
0111 1110
을 찾아야합니다. 비트 스터핑 (bit stuffing) (예 : 5 사람
11111111
converts to
111110111
11111000
converts to
111110000
내가 효율적으로이를 구현하려면 지금, 나는 내가 1과 0에 데이터 바이트를 변환 할 필요가 1과 0의 배열을 사용해서는 안 추측
의 모든 순서 후에 0을 삽입, 그런 다음 배열 등을 채 웁니다. 그러나 정적 크기의 비트 필드는 내용물의 길이가 비트 채우기로 인해 가변적이기 때문에 적합하지 않은 것으로 보입니다.비트 스터핑을보다 효율적으로 수행하는 데 사용할 수있는 데이터 구조는 무엇입니까?
나는 이것을 보았다. 이 작업을 수행하지 않았다면 데이터 구조 나 알고리즘이 필요합니까? –