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