이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
pskmod
M-PSK 방식을 사용하여 신호 변조
구문
설명
은 M-PSK 성상도의 위상 오프셋을 지정합니다.Y
= pskmod(X
,M
,phaseoffset
)
는 M-PSK 성상도의 심볼 순서를 지정합니다.Y
= pskmod(X
,M
,phaseoffset
,symorder
)
는 위에 열거된 구문 중 하나를 사용하여 선택적 이름-값 인수를 지정합니다. 예를 들어, Y
= pskmod(X
,M
,Name=Value
)pskmod(Y,M,PlotConstellation=true)
는 변조 차수 M
을 사용하여 변조를 수행하고 성상도를 플로팅합니다. 이름-값 인수는 다른 모든 입력 인수 다음에 지정하십시오.
예제
PSK 신호 변조하기
QPSK 신호와 16-PSK 신호를 변조하고 이들 신호의 성상도를 플로팅합니다.
QPSK
변조 차수를 4로 설정합니다.
M = 4;
랜덤 데이터 심볼을 생성합니다.
data = randi([0 M-1],1000,1);
데이터 심볼을 변조합니다.
txSig = pskmod(data,M,pi/M);
신호를 백색 잡음에 통과시키고 그 성상도를 플로팅합니다.
rxSig = awgn(txSig,20); scatterplot(rxSig)
16-PSK
변조 차수를 4에서 16으로 변경합니다.
M = 16;
랜덤 데이터 심볼을 생성합니다.
data = randi([0 M-1],1000,1);
데이터 심볼을 변조합니다.
txSig = pskmod(data,M,pi/M);
신호를 백색 잡음에 통과시키고 그 성상도를 플로팅합니다.
rxSig = awgn(txSig,20); scatterplot(rxSig)
AWGN에서 QPSK 신호를 변조 및 복조하기
랜덤 심볼을 생성합니다.
dataIn = randi([0 3],1000,1);
데이터에 대해 QPSK 변조를 수행합니다.
txSig = pskmod(dataIn,4,pi/4);
신호를 AWGN 채널에 통과시킵니다.
rxSig = awgn(txSig,10);
수신된 신호를 복조하고 심볼 오류 수를 계산합니다.
dataOut = pskdemod(rxSig,4,pi/4); numErrs = symerr(dataIn,dataOut)
numErrs = 3
PSK 심볼 매핑
변조 차수를 설정한 후 전체 성상도 점 세트를 포함하는 데이터 시퀀스를 생성합니다.
M = 8; data = (0:M-1); phaseoffset = 0;
그레이 코드와 이진 코드로 변조하고 복조한 데이터에 대해 8-PSK 심볼 매핑의 성상도 플롯을 시각화합니다.
symgray = pskmod(data,M,phaseoffset,'gray',PlotConstellation=true, ... InputType='integer');
mapgray = pskdemod(symgray,M,phaseoffset,'gray',OutputType='integer'); symbin = pskmod(data,M,phaseoffset,'bin'); mapbin = pskdemod(symbin,M,phaseoffset,'bin',PlotConstellation=true, ... OutputType='bit');
입력 인수
X
— 입력 신호
스칼라 | 벡터 | 행렬
입력 신호로, 양의 정수의 스칼라, 벡터, 또는 행렬로 지정됩니다. X
의 요소는 [0, M
– 1] 범위 내에 있는 이진 또는 정수 값을 가져야 하며, 여기서 M
은 변조 차수입니다.
참고
입력 신호를 이진 요소로 처리하려면 InputType
이름-값 인수를 'bit'
로 설정하십시오. 이진 입력값의 경우 행 개수는 log2(M
)의 정수 배수여야 합니다. 이 함수는 log2(M
)비트의 그룹을 하나의 심볼에 매핑합니다. 여기서 첫 번째 비트는 MSB를 나타내고 마지막 비트는 LSB를 나타냅니다.
종속 관계
입력 신호의 데이터형이 logical
인 경우 InputType
을 'bit'
로 설정해야 합니다.
데이터형: double
| single
| int8
| int16
| int32
| uint8
| uint16
| uint32
| logical
M
— 변조 차수
양의 정수
변조 차수로, 1보다 큰 정수 값으로 지정됩니다.
데이터형: double
phaseoffset
— 위상 오프셋
0
(디폴트 값) | 스칼라
PSK 성상도의 위상 오프셋(단위: 라디안)으로, 스칼라로 지정됩니다.
데이터형: double
symorder
— 심볼 순서
'gray'
(디폴트 값) | 'bin'
| 벡터
심볼 순서로, 'gray'
, 'bin'
또는 벡터로 지정됩니다. 이 인수는 함수가 이진 벡터를 대응하는 정수에 할당하는 방법을 지정합니다.
'gray'
— 그레이 코드 순서를 사용합니다.'bin'
— 이진 코드 순서를 사용합니다.벡터 –– 사용자 지정 심볼 순서를 사용합니다. 벡터는 [0,
M
– 1] 범위 내의 고유 값을 포함하고 길이가M
인 벡터입니다. 첫 번째 요소는 각도phaseoffset
에 상응하는 성상도 점을 의미하며, 그 다음 요소들은 반시계 방향으로 진행됩니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: Y = pskmod(X,M,phaseoffset,symorder,InputType='bit')
InputType
— 입력 유형
'integer'
(디폴트 값) | 'bit'
입력 유형으로, 'integer'
또는 'bit'
로 지정됩니다.
'integer'
–– 입력 신호는 [0,M
– 1] 범위 내에 있는 정수로 구성됩니다.'bit'
–– 입력 신호는 이진 값으로 구성되며 행 개수는 log2(M
)의 정수 배수여야 합니다.
OutputDataType
— 출력의 데이터형
'double'
(디폴트 값) | 'single'
출력의 데이터형으로, 'double'
또는 'single'
로 지정됩니다.
PlotConstellation
— 성상도를 플로팅하는 옵션
false
또는 0
(디폴트 값) | true
또는 1
성상도를 플로팅하는 옵션으로, 논리값 0
(false
) 또는 1
(true
)로 지정됩니다. PSK 성상도를 플로팅하려면 'PlotConstellation'
을 true
로 설정하십시오.
데이터형: logical
출력 인수
참고 문헌
[1] Proakis, John G. Digital Communications. 4th ed. New York: McGraw Hill, 2001.
확장 기능
C/C++ 코드 생성
MATLAB® Coder™를 사용하여 C 코드나 C++ 코드를 생성할 수 있습니다.
버전 내역
R2006a 이전에 개발됨R2022a: 함수에 대한 새로운 개선 사항
이제 다음과 같은 작업을 수행할 수 있습니다.
InputType
인수를 사용하여 이진 입력값을 지정할 수 있습니다.symorder
인수를 사용하여 사용자 지정 심볼 매핑을 지정할 수 있습니다. 이제 디폴트 값은'gray'
심볼 매핑입니다.비트별 로그 가능도 또는 근사 로그 가능도 알고리즘을 사용하여 연판정 복조를 수행할 수 있습니다.
OutputDataType
인수를 사용하여 모든 내장 숫자 데이터형을 지정할 수 있습니다.PlotConstellation
인수를 사용하여 기준 성상도를 시각화할 수 있습니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)