현재 음향 FSK 변조 및 복조를 구현하고 있습니다. 나는 신호 처리자가 아닙니다…
필터가 일치한다고 말하고 비 일관성 감지에 대해 언급 했으므로 이미 디지털 커뮤니케이션 담당자라고 생각합니다. DSP 담당자가되는 단계는 매우 작습니다. :)
본격적인 동기화 기 SDR 접근 방식
2fsymbol,max
나는 빠른 실수 값 대역 통과 신호 FSK demod를 만들었다. (이를 다시 수행하면 두 개의 대역 통과 필터를 하나의 결합 된 주파수 변환과 하나의 저역 통과 필터로 교체하여 복잡한 기저 대역을 제공하거나 다상 필터 뱅크를 던졌다 고 생각한다 GNU Radio 컴패니언의 도움을 받아 GNU Radio에서 문제가 발생했습니다 ( 여기에서 플로우 그래프 파일 ).
요점은 아마도 분할과 임계 값 블록 사이에서 심볼 타이밍 동기화를 원한다는 것입니다. 우리는 나중에 고전적인 "마이크로 컨트롤러 및 디지털 하드웨어 디자인"접근 방식이 실제로 뮬러 앤 뮬러 클록 싱크 (Muller & Mueller clock sink)가 될 수 있으며, 그 기능도 마찬가지로 작동하지만 슬로프 정보를 낭비하지는 않겠습니다.
여기에 다상 클럭 동기화를 추가하겠습니다. 나는 해리스의 제자 인 톰 이 시조 GNU 라디오 블록 의 문서에서했던 것보다 더 잘 공식화 할 수 없다는 것을 인정해야한다 .
다상 필터 뱅크를 사용하는 타이밍 동기화 기.
이 블록은 필터링 된 신호의 미분을 최소화하여 PAM 신호에 대한 타이밍 동기화를 수행하며, 이는 SNR을 최대화하고 ISI를 최소화합니다.
sincsinc(0)=1,sinc′(0)=0
di[n]ixi[n]
e[n]=R{xi[n]}⋅R{di[n]}+I{xi[n]}⋅I{di[n]}2.0 .
xi[n]xi[n]xi[n]부호 대신 SNR이 낮은 신호에 특히 좋습니다.
e[n]dkdratedratedratedkdratedkdαdβdαdβgain24
이것이 오디오 주파수임을 인식
그래서, 제대로이 블록을 매개 변수화 (그리고 아마도 감소 bpf_decim
및 lpf_decim
변화 단계에 더 많은 헤드 룸 싱크로 나이저를 제공하는) 당신은 매우 안정적인 심볼 타이밍 복구를 만들 수, 그 응용 프로그램에 대한 완전히 잔인한 것 😁
양쪽 끝에 사운드 카드를 사용하여 샘플링을 수행하고 도플러를 처리 할 필요가 없다고 가정하기 때문에 심볼 속도는 반송파 주파수와 고정 된 관계를 갖습니다 (예 : 전송 측의 반송파는 8 개의 사운드 카드 샘플 기간이 있고 심볼에는 항상 128 샘플이 있다고 가정하므로 고정 비율이 있습니다)) 바로 가기를 취할 수 있습니다.
darctandt[n]
패킷 동기화에 대하여
신호가 없을 때 동기화가 너무 많이 실행되는 복조기가 작동하므로 알려진 고정 데이터 시퀀스를 사용하여 패킷을 찾으십시오.