Main Content

comm.QPSKModulator

(제거될 예정임) QPSK 방법을 사용하여 변조

comm.QPSKModulator 함수는 향후 릴리스에서 제거될 예정입니다. pskmod를 대신 사용하십시오. 코드 업데이트에 대한 자세한 내용은 버전 내역 항목을 참조하십시오.

설명

comm.QPSKModulator 객체는 QPSK(직교 위상 편이 변조) 방법을 사용하여 신호를 변조합니다. 출력값은 변조된 신호의 기저대역 표현입니다.

QPSK 방법을 사용하여 변조하려면 다음을 수행하십시오.

  1. comm.QPSKModulator 객체를 만들고 속성을 설정합니다.

  2. 함수를 호출하듯이 인수를 사용하여 객체를 호출합니다.

System object의 작동 방식에 대한 자세한 내용은 System object란? 항목을 참조하십시오.

생성

설명

qpskmod = comm.QPSKModulator는 QPSK 방법을 사용하여 입력 신호를 변조하기 위한 System object™를 만듭니다.

예제

qpskmod = comm.QPSKModulator(Name,Value)는 하나 이상의 이름-값 인수를 사용하여 속성을 설정합니다. 예를 들어 'OutputDataType'='single'은 변조된 신호 값의 출력값을 단정밀도 데이터형으로 지정합니다.

qpskmod = comm.QPSKModulator(phase,Name,Value)PhaseOffset 속성을 phase로 설정하고 선택적 이름-값 인수를 설정합니다. phase는 라디안을 단위로 사용하여 지정하십시오.

속성

모두 확장

달리 나타내지 않는 이상 속성은 조정 불가형입니다. 즉, 객체를 호출한 후에는 그 값을 변경할 수 없습니다. 호출하면 객체가 잠기며 release 함수를 사용하여 잠금을 해제할 수 있습니다.

속성이 조정 가능형인 경우 언제든지 해당 값을 변경할 수 있습니다.

속성값 변경에 대한 자세한 내용은 MATLAB에서 System object를 사용하는 시스템 설계를 참조하십시오.

신호 성상도에서 0번째 점의 위상(단위: 라디안)으로, 스칼라로 지정됩니다.

예: 'PhaseOffset',0은 좌표축 {(1,0), (0,j), (-1,0), (0,-j)}에 QPSK 신호 성상도 점을 정렬합니다.

데이터형: double

입력값을 비트 단위로 제공하는 옵션으로, 논리값 0(false) 또는 1(true)로 지정됩니다.

  • 이 속성이 false로 설정된 경우 입력값은 범위 [0, 3] 내에 있는 2비트 입력 세그먼트의 정수 표현이어야 합니다.

  • 이 속성이 true로 설정된 경우 입력값은 짝수 길이의 이진 벡터여야 합니다. 요소 쌍은 정수의 이진 표현입니다.

데이터형: logical

성상도 비트의 심볼 인코딩 매핑으로, 'Gray' 또는 'Binary'로 지정됩니다.

설정정수 성상도 매핑비트 성상도 매핑설명

Gray

Integer order Q1: 0, Q2: 1, Q3: 3, and Q4: 2

Bit order Q1: 00, Q2: 01, Q3: 11 and Q4: 10

그레이 코드 순서를 사용하여 심볼을 매핑합니다.

Binary

Integer order Q1: 0, Q2: 1, Q3: 2, and Q4: 3

Bit order Q1: 00, Q2: 01, Q3: 10 and Q4: 11

자연 이진 코드 순서를 사용하여 심볼을 매핑합니다. 신호 성상도는 복소수 값 ej(PhaseOffset + (2πm/4))에 매핑됩니다. 여기서 m은 범위 [0, 3] 내에 있는 정수입니다.

데이터형: char

출력값에 할당된 데이터형으로, 'double', 'single' 또는 'Custom'으로 지정됩니다.

데이터형: char

고정소수점 속성

출력값의 고정소수점 데이터형으로, 부호의 유무가 Auto로 설정된 numerictype (Fixed-Point Designer) 객체로 지정됩니다.

종속 관계

이 속성은 OutputDataType 속성을 'Custom'으로 설정한 경우에 적용됩니다.

사용

설명

y = qpskmod(x)는 기저대역 변조 출력값을 반환합니다.

입력 인수

모두 확장

입력 신호로, 정수나 비트로 구성되고 요소를 NS개 가진 열 벡터로 지정됩니다. 여기서 NS는 샘플 개수입니다.

BitInput 속성의 설정에 따라 입력 벡터의 해석이 결정됩니다.

데이터형: double | int8 | logical | fi

출력 인수

모두 확장

QPSK 변조 출력 신호로, 복소수 값 벡터로 반환됩니다.

객체 함수

객체 함수를 사용하려면 System object를 첫 번째 입력 인수로 지정합니다. 예를 들어 이름이 obj인 System object의 시스템 리소스를 해제하려면 다음 구문을 사용하십시오.

release(obj)

모두 확장

constellationCalculate or plot ideal signal constellation
stepSystem object 알고리즘 실행
release리소스 해제 및 System object 속성값과 입력 특성 변경 허용하기
resetSystem object의 내부 상태 재설정

예제

모두 축소

AWGN 채널을 통해 필터링된 QPSK 변조 신호의 비트 오류율을 추정합니다.

비트에 대해 연산을 수행하는 QPSK 변조기와 복조기 쌍을 생성합니다.

qpskModulator = comm.QPSKModulator('BitInput',true);
qpskDemodulator = comm.QPSKDemodulator('BitOutput',true);

AWGN channel 객체와 오류율 카운터를 생성합니다.

channel = comm.AWGNChannel('EbNo',4,'BitsPerSymbol',2);
errorRate = comm.ErrorRate;

임의의 이진 데이터를 생성하고 QPSK 변조를 적용합니다.

data = randi([0 1],1000,1);
txSig = qpskModulator(data);

신호를 AWGN 채널에 통과시킨 다음 복조합니다.

rxSig = channel(txSig);
rxData = qpskDemodulator(rxSig);

오류 통계량을 계산합니다. BER을 표시합니다.

errorStats = errorRate(data,rxData);

errorStats(1)
ans = 0.0100

확장 기능

버전 내역

R2012a에 개발됨

모두 축소

R2023a: 제거될 예정임

comm.QPSKModulator는 향후 릴리스에서 제거될 예정입니다. 입력 신호에 대해 QPSK 변조를 수행하려면 pskmod 함수를 사용하고 변조 차수를 4로 설정하십시오.