demod
통신 시뮬레이션의 복조
설명
예제
주파수 변조 및 복조
1초 동안 8kHz로 샘플링된 150Hz 정현파를 생성합니다. 변조된 신호에 분산이 0.1²인 백색 가우스 잡음을 포함시킵니다.
fs = 8e3; t = 0:1/fs:1-1/fs; s = cos(2*pi*150*t) + randn(size(t))/10;
변조 상수 0.1을 사용하여 반송 주파수 3kHz에서 신호를 주파수 변조합니다.
fc = 3e3;
rx = modulate(s,fc,fs,'fm',0.1);
동일한 반송 주파수와 변조 상수를 사용하여 신호를 주파수 복조합니다. 전송된 신호, 수신된 신호, 복조된 신호의 파워 스펙트럼 추정값을 계산하고 플로팅합니다.
y = demod(rx,fc,fs,'fm',0.1); pspectrum([s;rx;y]',fs,'Leakage',0.85) legend('Transmitted signal','Received signal','Demodulated signal','Location','best')
입력 인수
y
— 변조된 신호
실수형 벡터 | 실수 행렬
변조된 메시지 신호로, 실수형 벡터 또는 실수 행렬로 지정됩니다. 방법 pwm
과 ppm
의 경우를 제외하고, y
는 x
와 크기가 동일합니다.
fc
— 반송 주파수
양의 실수형 스칼라
메시지 신호를 변조하는 데 사용되는 반송 주파수로, 양의 실수형 스칼라로 지정됩니다.
fs
— 샘플 레이트
양의 실수형 스칼라
샘플 레이트로, 양의 실수형 스칼라로 지정됩니다.
method
— 사용된 변조 방법
'am'
(디폴트 값) | 'amdsb-tc'
| 'amssb'
| 'fm'
| 'pm'
| 'pwm'
| 'ppm'
| 'qam'
사용된 변조 방법으로, 다음 중 하나로 지정됩니다.
am
또는amdsb-sc
— 진폭 복조, 양측파대, 억압 반송파.y
에 주파수가fc
인 정현파를 곱하고,filtfilt
를 사용하여 5차 버터워스 저역통과 필터를 적용합니다.x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
amdsb-tc
— 진폭 복조, 양측파대, 전송 반송파.y
에 주파수가fc
인 정현파를 곱하고,filtfilt
를 사용하여 5차 버터워스 저역통과 필터를 적용합니다.x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
opt
를 지정하면demod
는x
에서 스칼라opt
를 뺍니다.opt
의 디폴트 값은 0입니다.amssb
— 진폭 복조, 단측파대.y
에 주파수가fc
인 정현파를 곱하고,filtfilt
를 사용하여 5차 버터워스 저역통과 필터를 적용합니다.x = y.*cos(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x = filtfilt(b,a,x);
fm
— 주파수 복조.y
의 힐베르트 변환을 주파수가-fc
Hz인 복소수 지수로 변조하여 FM 파형을 복조하고 결과의 순시 주파수를 구합니다.y=cos(2*pi*fc*t + opt*cumsum(x))
cumsum
은x
의 적분에 대한 사각 근삿값입니다.modulate
는opt
를 주파수 변조의 상수로 사용합니다.opt
파라미터를 지정하지 않으면modulate
는opt = (fc/fs)*2*pi/(max(max(x)))
의 디폴트 값을 사용하며, 따라서fc
의 최대 주파수 편위는fc
Hz가 됩니다.pm
— 위상 복조.y
의 힐베르트 변환을 주파수가-fc
Hz인 복소수 지수로 변조하여 PM 파형을 복조하고 결과의 순시 위상을 구합니다.y=cos(2*pi*fc*t + opt*x)
modulate
는opt
를 위상 변조 상수로 사용합니다.opt
파라미터를 지정하지 않으면modulate
는opt = pi/(max(max(x)))
의 디폴트 값을 사용하며, 따라서 최대 위상 편위는 π라디안이 됩니다.pwm
— 펄스 폭 복조. 펄스 폭 변조 신호y
의 펄스 폭을 구합니다.demod
는 요소가 각 펄스의 폭을 한 주기에 대한 비율로 지정하는 벡터를x
에 반환합니다.y
의 펄스는 각 반송파 주기의 시작 부분에서 시작해야 합니다. 즉, 왼쪽으로 정렬되어야 합니다.modulate(x,fc,fs,'pwm','centered')
는 중심이 각 주기의 시작 부분에 맞춰진 펄스를 생성합니다.y
의 길이는length(x)*fs/fc
입니다.ppm
— 펄스 위치 복조. 펄스 위치 변조 신호y
의 펄스 위치를 구합니다. 복조가 올바르게 수행되려면 펄스가 중첩되면 안 됩니다.x
는 길이length(t)*fc/fs
입니다.qam
— 직교 진폭 복조.[x1,x2] = demod(y,fc,fs,'qam')
은y
에 주파수가fc
인 코사인과 사인을 곱하고,filtfilt
를 사용하여 5차 버터워스 저역통과 필터를 적용합니다.x1 = y.*cos(2*pi*fc*t); x2 = y.*sin(2*pi*fc*t); [b,a] = butter(5,fc*2/fs); x1 = filtfilt(b,a,x1); x2 = filtfilt(b,a,x2);
입력 인수
opt
는y
와 크기가 동일해야 합니다.
opt
— 일부 방법에 대한 선택적 입력값
실수형 벡터
선택적 입력값으로, 일부 방법에 대해 지정됩니다. opt
를 사용하는 방법에 대한 자세한 내용은 method
를 참조하십시오.
출력 인수
x
— 복조된 메시지 신호
실수형 벡터 | 실수 행렬
복조된 메시지 신호로, 실수형 벡터 또는 실수 행렬로 반환됩니다.
버전 내역
R2006a 이전에 개발됨
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)