0% found this document useful (0 votes)
95 views3 pages

Demonstrate Simple Phase Demodulation Using Hilbert Transform

The document demonstrates simple phase demodulation using the Hilbert transform. It generates a phase modulated signal with a carrier frequency of 240 Hz, modulating signal frequency of 10 Hz, and additive white Gaussian noise. The received noisy signal is demodulated by forming the analytical signal, extracting the instantaneous phase, and subtracting the carrier offset term. The demodulated signal is then plotted.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views3 pages

Demonstrate Simple Phase Demodulation Using Hilbert Transform

The document demonstrates simple phase demodulation using the Hilbert transform. It generates a phase modulated signal with a carrier frequency of 240 Hz, modulating signal frequency of 10 Hz, and additive white Gaussian noise. The received noisy signal is demodulated by forming the analytical signal, extracting the instantaneous phase, and subtracting the carrier offset term. The demodulated signal is then plotted.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

>> %Demonstrate simple Phase Demodulation using Hilbert transform

>> fc = 240; %carrier frequency

fm = 10; %frequency of modulating signal

alpha = 1; %amplitude of modulating signal

theta = pi/4; %phase offset of modulating signal

beta = pi/5; %constant carrier phase offset

receiverKnowsCarrier= 'False'; %If receiver knows the carrier frequency & phase offset

fs = 8*fc; %sampling frequency

duration = 0.5; %duration of the signal

t = 0:1/fs:1-1/fs; %time base

%Phase Modulation

m_t = alpha*sin(2*pi*fm*t + theta); %modulating signal

x = cos(2*pi*fc*t + beta + m_t ); %modulated signal

figure(); subplot(2,1,1)

plot(t,m_t) %plot modulating signal

title('Modulating signal'); xlabel('t'); ylabel('m(t)')

subplot(2,1,2)

plot(t,x) %plot modulated signal

title('Modulated signal'); xlabel('t');ylabel('x(t)')

%Add AWGN noise to the transmitted signal

nMean = 0; %noise mean

nSigma = 0.1; %noise sigma

n = nMean + nSigma*randn(size(t)); %awgn noise

r = x + n; %noisy received signal

%Demodulation of the noisy Phase Modulated signal


z= hilbert(r); %form the analytical signal from the received vector

inst_phase = unwrap(angle(z)); %instaneous phase

%If receiver don't know the carrier, estimate the subtraction term

if strcmpi(receiverKnowsCarrier,'True')

offsetTerm = 2*pi*fc*t+beta; %if carrier frequency & phase offset is known

else

p = polyfit(t,inst_phase,1); %linearly fit the instaneous phase

estimated = polyval(p,t); %re-evaluate the offset term using the fitted values

offsetTerm = estimated;

end

demodulated = inst_phase - offsetTerm;

figure()

plot(t,demodulated); %demodulated signal

title('Demodulated signal'); xlabel('n'); ylabel('\hat{m(t)}');

Warning: Unable to interpret TeX string "\hat{m(t)}".


Modulating signal
1

0.5
m(t)

-0.5

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t
Modulated signal
1

0.5
x(t)

-0.5

-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
t

Demodulated signal
1.5

0.5
\hat{m(t)}

-0.5

-1

-1.5
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
n

You might also like