Main Content

pamdemod

펄스 진폭 복조

설명

예제

Z = pamdemod(Y,M)은 차수가 M인 펄스 진폭 변조 신호 Y에 펄스 진폭 복조를 적용하고 복조된 입력 신호를 반환합니다.

Z = pamdemod(Y,M,initphase)는 변조된 신호의 초기 위상(단위: 라디안)을 지정합니다.

예제

Z = pamdemod(Y,M,initphase,symorder)는 복조를 위한 심볼 매핑 순서를 지정합니다.

예제

모두 축소

차수가 8인 잡음 없는 펄스 진폭 변조 신호를 복조합니다. 입력 데이터 심볼이 복조된 심볼과 일치하는지 확인합니다.

랜덤 8진 데이터 심볼을 생성합니다.

M = 8;
dataIn = randi([0 M-1],100,1);

생성된 데이터에 펄스 진폭 변조(PAM)를 적용합니다.

modData = pammod(dataIn,M);

변조된 데이터에 펄스 진폭 복조를 적용합니다.

demodData = pamdemod(modData,M);

처음 5개의 심볼을 비교합니다.

[dataIn(1:5) demodData(1:5)]
ans = 5×2

     6     6
     7     7
     1     1
     7     7
     5     5

복조된 데이터의 심볼 오류 개수를 확인합니다.

symErrors = symerr(dataIn,demodData)
symErrors = 0

차수가 8인 잡음 있는 펄스 진폭 변조 신호를 복조합니다.

M = 8;
dataIn = randi([0 M-1],1000,1);

생성된 데이터에 펄스 진폭 변조(PAM)를 적용합니다. 변조에 그레이 코드 심볼 매핑 순서를 사용합니다.

modData = pammod(dataIn,M,0,"gray");

변조된 데이터를 가산성 백색 가우스 잡음(AWGN) 채널에 통과시킵니다. 신호 대 잡음비를 8dB로 설정합니다.

noisyData = awgn(modData,M);

잡음 있는 PAM 성상도를 표시합니다.

scatterplot(noisyData)

잡음 있는 변조된 데이터에 펄스 진폭 복조를 적용합니다.

demodData = pamdemod(noisyData,M,0,"gray");

복조된 데이터의 심볼 오류 개수를 확인합니다.

symErrors = symerr(dataIn,demodData)
symErrors = 1

입력 인수

모두 축소

펄스 진폭 변조 신호로, 스칼라, 벡터 또는 행렬로 지정됩니다. Y가 행렬인 경우 함수는 열을 개별적으로 처리합니다.

데이터형: single | double
복소수 지원 여부:

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

데이터형: single | double

변조된 신호의 초기 위상(단위: 라디안)으로, 스칼라로 지정됩니다.

데이터형: single | double

복조를 위한 심볼 매핑 순서로, 다음 옵션 중 하나로 지정됩니다.

  • "bin" — 이진 코드 매핑 순서를 사용합니다.

  • "gray" — 그레이 코드 매핑 순서를 사용합니다.

symorder 인수는 함수가 이진 벡터를 대응하는 정수에 할당하는 방법을 지정합니다.

데이터형: char | string

출력 인수

모두 축소

복조된 입력 신호로, [0, M–1] 범위의 정수로 구성된 스칼라, 벡터 또는 행렬로 반환됩니다. Z의 길이는 Y와 같습니다.

데이터형: double | single

확장 기능

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

버전 내역

R2006a 이전에 개발됨