GnuRadio CC Decoder 또는 FEC Extended Decoder 사용 방법
현재 CCSDS 표준에 따라 인코딩 된 위성 신호를 복구하려고합니다. 여기에는 속도가 1/2이고 제약 길이가 7 인 컨벌루션 코드가 포함됩니다.
나는 동축 케이블과 그 사이의 약간의 감쇠를 사용하여 송신기에 직접 연결된 SDR을 통해 신호를 수신하고 있습니다. 테스트 목적으로 0과 1을 번갈아 보냈습니다. 복조 및 디코딩을 위해 현재이 게시물에 첨부 된 그래프를 사용하고 있습니다.
컨볼 루션 디코더까지 모든 것이 문제없이 작동하는 것 같습니다. 발신자와 수신자 모두에서 코드를 비활성화하면 문제없이 데이터를 디코딩 할 수 있습니다. 컨볼 루션 코드가 활성화되면 디코더가 데이터를 올바르게 디코딩 할 수있는 경우가 있지만 대부분의 경우 출력에 가비지 만 포함됩니다.
따라서 디코더 블록을 잘못된 방식으로 사용하고 있습니까? 이 블록을 올바르게 사용하는 방법에 대한 문서는 찾기가 어렵습니다. 이미 디코더 정의에 대해 다른 설정을 시도했지만 지금까지 아무것도 도움이되지 않았습니다.
누구든지 이것으로 나를 도울 수 있습니까? 발키리에 대해
답변
CCSDS 채널 코딩 표준에는 ASM이라는 동기화 단어가 있습니다.
스트림 내부의 동기화에 사용되는 32, 64 또는 256 비트의 패턴 시퀀스입니다. 아래에서 설명하는 두 가지 사항을 해결하는 것이 유용합니다.
GNU 블록 다이어그램 안에 문제가 될 수있는 두 가지가 있습니다.
위상 모호성 : 복조에서 BPSK의 위상 모호성을 해결할 메커니즘이 없습니다. Viterbi 디코더가 해결되지 않으면 제대로 작동하는지 확실하지 않습니다 (모호함).
CC의 2 비트 모호성 : 1/2 비율의이 유형의 코드는 코딩되지 않은 하나에 대해 2 개의 인코딩 된 비트를 생성합니다. 디코더의 입력에서 몇 개의 첫 번째 인코딩 된 비트와 동기화되어야합니다.
이것은 때때로 시스템을 켜고 끈 후에 작동한다는 것을 설명 할 수 있습니다. 우연히 2 개 또는 4 개 이상 ...
0과 1의 교대 패턴을 사용하면 디버깅을 놓칠 수 있습니다. 32 비트 패턴을 사용해보십시오.
뭔가를 찾았다면 알려주세요