주요 콘텐츠

dpskmod

차분 위상 편이 변조

설명

y = dpskmod(x,M)은 변조 차수 M의 차분 위상 편이 변조(DPSK)를 사용하여 입력 신호를 변조합니다.

예제

y = dpskmod(x,M,phaserot)는 DPSK 변조의 위상 회전을 지정합니다.

y = dpskmod(x,M,phaserot,symorder)는 심볼 순서도 지정합니다.

예제

모두 축소

위상 변위가 발생하는 통신 채널에서 DPSK 데이터를 복조합니다.

4진 데이터 벡터를 생성하고 DPSK를 사용하여 변조합니다.

M = 4;                          % Alphabet size
dataIn = randi([0 M-1],1000,1); % Random message
txSig = dpskmod(dataIn,M);      % Modulate

송신 과정으로 인해 발생하는 임의의 위상 변위를 적용합니다.

rxSig = txSig*exp(2i*pi*rand());

수신된 신호를 복조합니다.

dataOut = dpskdemod(rxSig,M);

변조기와 복조기는 초기 조건이 동일합니다. 그러나 수신된 신호에만 위상 변위가 발생합니다. 그 결과 첫 번째 복조된 심볼은 오류를 가질 가능성이 높습니다. 따라서 DPSK를 사용할 때에는 항상 첫 번째 심볼을 버려야 합니다.

심볼 오류의 개수를 구합니다.

errs = symerr(dataIn,dataOut)
errs = 
1

하나의 심볼에 오류가 있습니다. 첫 번째 심볼을 버린 후 오류 계산을 반복합니다.

errs = symerr(dataIn(2:end),dataOut(2:end))
errs = 
0

입력 인수

모두 축소

입력 신호로, 양의 정수로 구성된 벡터나 행렬로 지정됩니다. x의 요소는 [0, M – 1] 범위의 값을 가져야 합니다.

데이터형: double

변조 차수로, 2의 정수 거듭제곱으로 지정됩니다.

예: 2 | 4 | 16

데이터형: double

DPSK 변조의 위상 회전으로, 실수형 스칼라로 지정됩니다(단위: 라디안). 심볼당 총 위상 변위는 차분 변조에 의해 생성된 위상과 phaserot의 합입니다.

phaserot를 빈 값으로 지정하면 dpskmod는 0도의 위상 회전을 사용합니다.

예: pi/4

데이터형: double

심볼 순서로, 'bin' 또는 'gray'로 지정됩니다. 이 인수는 함수가 이진 벡터를 대응하는 정수에 할당하는 방법을 지정합니다.

  • symorder'bin'인 경우 함수는 이진 코드 순서를 사용합니다.

  • symorder'gray'인 경우 함수는 그레이 코드 순서를 사용합니다.

데이터형: char

출력 인수

모두 축소

DPSK 변조 출력 신호의 복소 기저대역 표현으로, 복소수 값의 벡터 또는 행렬로 반환됩니다. 열은 독립적인 채널을 나타냅니다.

참고

차분 알고리즘에는 두 개의 연속적인 요소가 필요하므로 출력값 y의 첫 번째 요소(또는 행이 여러 개인 행렬인 경우 y의 첫 번째 행)는 초기 위상 회전 0을 사용하여 정해집니다.

확장 기능

모두 확장

C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |

도움말 항목