FSK 복조, 비트 타이밍 복구


10

현재 음향 FSK 변조 및 복조를 구현하고 있습니다. 나는 신호 처리 전문가가 아니기 때문에 비트 타이밍 복구에 대한 도움을 주시면 감사하겠습니다. 현재는 I (위상의 차이가 각각의 톤에 대한 두 개의 정합 필터를 사용하여 구현 된 복조기 비 코 히어 런트 검출을위한). 기본적으로 각 필터의 ​​출력은 진폭이 다른 피크입니다. 두 가지 질문이 있습니다.90

  • 비트 타이밍 복구를 어떻게 수행 할 수 있습니까?
  • 패킷 동기화 프리앰블 (처프, 바커 코드, 골든 코드 등)에 권장하는 것은 무엇입니까?

Gardner 알고리즘을 검색했지만 적용 가능한지 여부와 방법을 잘 모르겠습니다. 현재 사운드 카드를 사용하여 800bps의 비트 전송률로 2 개의 주파수로 작업하고 있다고 가정하십시오.

답변:


8

현재 음향 FSK 변조 및 복조를 구현하고 있습니다. 나는 신호 처리자가 아닙니다…

필터가 일치한다고 말하고 비 일관성 감지에 대해 언급 했으므로 이미 디지털 커뮤니케이션 담당자라고 생각합니다. DSP 담당자가되는 단계는 매우 작습니다. :)

본격적인 동기화 기 SDR 접근 방식

2fsymbol,max

나는 빠른 실수 값 대역 통과 신호 FSK demod를 만들었다. (이를 다시 수행하면 두 개의 대역 통과 필터를 하나의 결합 된 주파수 변환과 하나의 저역 통과 필터로 교체하여 복잡한 기저 대역을 제공하거나 다상 필터 뱅크를 던졌다 고 생각한다 GNU Radio 컴패니언의 도움을 받아 GNU Radio에서 문제가 발생했습니다 ( 여기에서 플로우 그래프 파일 ).

FSK recv

요점은 아마도 분할과 임계 값 블록 사이에서 심볼 타이밍 동기화를 원한다는 것입니다. 우리는 나중에 고전적인 "마이크로 컨트롤러 및 디지털 하드웨어 디자인"접근 방식이 실제로 뮬러 앤 뮬러 클록 싱크 (Muller & Mueller clock sink)가 될 수 있으며, 그 기능도 마찬가지로 작동하지만 슬로프 정보를 낭비하지는 않겠습니다.

여기에 다상 클럭 동기화를 추가하겠습니다. 나는 해리스의 제자 인 톰 이 시조 GNU 라디오 블록 의 문서에서했던 것보다 더 잘 공식화 할 수 없다는 것을 인정해야한다 .

다상 필터 뱅크를 사용하는 타이밍 동기화 기.

이 블록은 필터링 된 신호의 미분을 최소화하여 PAM 신호에 대한 타이밍 동기화를 수행하며, 이는 SNR을 최대화하고 ISI를 최소화합니다.

sincsinc(0)=1,sinc(0)=0

di[n]ixi[n]

e[n]={xi[n]}{di[n]}+{xi[n]}{di[n]}2.0 .

xi[n]xi[n]xi[n]부호 대신 SNR이 낮은 신호에 특히 좋습니다.

e[n]dkdratedratedratedkdratedkdαdβdαdβgain24

이것이 오디오 주파수임을 인식

그래서, 제대로이 블록을 매개 변수화 (그리고 아마도 감소 bpf_decimlpf_decim변화 단계에 더 많은 헤드 룸 싱크로 나이저를 제공하는) 당신은 매우 안정적인 심볼 타이밍 복구를 만들 수, 그 응용 프로그램에 대한 완전히 잔인한 것 😁

양쪽 끝에 사운드 카드를 사용하여 샘플링을 수행하고 도플러를 처리 할 필요가 없다고 가정하기 때문에 심볼 속도는 반송파 주파수와 고정 된 관계를 갖습니다 (예 : 전송 측의 반송파는 8 개의 사운드 카드 샘플 기간이 있고 심볼에는 항상 128 샘플이 있다고 가정하므로 고정 비율이 있습니다)) 바로 가기를 취할 수 있습니다.

darctandt[n]

패킷 동기화에 대하여

신호가 없을 때 동기화가 너무 많이 실행되는 복조기가 작동하므로 알려진 고정 데이터 시퀀스를 사용하여 패킷을 찾으십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.