This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Phase modulation


y = pmmod(x,Fc,Fs,phasedev)
y = pmmod(x,Fc,Fs,phasedev,ini_phase)


y = pmmod(x,Fc,Fs,phasedev) modulates the message signal x using phase modulation. The carrier signal has frequency Fc (hertz) and sampling rate Fs (hertz), where Fs must be at least 2*Fc. The phasedev argument is the phase deviation of the modulated signal in radians.

y = pmmod(x,Fc,Fs,phasedev,ini_phase) specifies the initial phase of the modulated signal in radians.


collapse all

Set the sample rate. To plot the signals, create a time vector.

fs = 50; 
t = (0:2*fs+1)'/fs;

Create a sinusoidal input signal.

x = sin(2*pi*t) + sin(4*pi*t);

Set the carrier frequency and phase deviation.

fc = 10; 
phasedev = pi/2;

Modulate the input signal.

tx = pmmod(x,fc,fs,phasedev);

Pass the signal through an AWGN channel.

rx = awgn(tx,10,'measured');

Demodulate the noisy signal.

y = pmdemod(rx,fc,fs,phasedev);

Plot the original and recovered signals.

figure; plot(t,[x y]);
legend('Original signal','Recovered signal');
xlabel('Time (s)')
ylabel('Amplitude (V)')

Introduced before R2006a

Was this topic helpful?