0% found this document useful (0 votes)
103 views11 pages

Digital Modulation Schemes

The document discusses evaluating the performance of different digital modulation schemes using MATLAB. It provides code to simulate QAM, QPSK, MFSK, and MSK modulation. For each scheme, it generates a message signal, modulates it, adds noise, demodulates the noisy signal, and calculates the bit error rate. Performance is evaluated by comparing the practical BER from simulation to the theoretical BER. The results show MSK had the best performance with no errors, followed by MFSK, QPSK, and QAM.

Uploaded by

deepanece
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)
103 views11 pages

Digital Modulation Schemes

The document discusses evaluating the performance of different digital modulation schemes using MATLAB. It provides code to simulate QAM, QPSK, MFSK, and MSK modulation. For each scheme, it generates a message signal, modulates it, adds noise, demodulates the noisy signal, and calculates the bit error rate. Performance is evaluated by comparing the practical BER from simulation to the theoretical BER. The results show MSK had the best performance with no errors, followed by MFSK, QPSK, and QAM.

Uploaded by

deepanece
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/ 11

Expt No:

PERFORMANCE EVALUATION OF DIGITAL MODULATIONS SCHEMES

AIM: To write MATLAB code for various digital modulation schemes and to evaluate their performance

SOFTWARE REQUIRED: MATLAB 7.0 (or higher versions)

THEORY: The choice of digital modulation scheme affects the characteristics, performance and resulting physical realisation of a communication system. There is no best choice of scheme, but depending on the physical characteristics of the channel, required levels of performance and target hardware tradeoffs. QAM: QAM is both an analogue and digital modulation scheme. It conveys two message signals or two digit bit streams by changing the amplitude of two carrier waves using ASK digital modulation schemes or amplitude modulation analogue modulation schemed. These two waves usually sinusoids and out of phase by 90 and are called is the resulting waveform. QPSK: Quadrature Phase Shift Keying is a phase modulation scheme. QPSK refers to the use of phase shift keying. It is a form of phase modulation which is accomplished by the use of discrete number of states QPSK refers to PSK with 4 states. MFSK: Multiple Frequency Shift Keying is a variation of frequency shift keying that uses more than two frequencies. MFSK is the form of orthogonal modulation, where each symbol consists of one element from an alphabet of orthogonal waveforms. MSK: In digital modulation, minimum phase shift keying is a type of continuous frequency shift keying. Similar to OQPSK, MSK is encoded with bits alternating between quaternary

components, with the Q component delayed by the half symbol period. MSK encodes bits as a half sinusoid.

PROCEDURE: 1. 2. 3. 4. 5. Generate message signal Modulate the message signal Add noise to the modulated signal and produce the noisy signal Demodulate the signal Run and analyse the result

PROGRAM :
%QAM clc; clear all; close all; %Initialising variables M=16; snr=0.2; numsymb=20; nsamp=10; msg_orig= randsrc(numsymb,1,0:M-1); figure; stem(msg_orig); xlabel ('Time'); ylabel('Amplitude'); title('Original msg');

mod_sig= qammod(msg_orig,M); figure; stem(mod_sig); xlabel('time'); ylabel('amplitude'); title('modulated signal'); y=awgn(mod_sig,snr); figure; stem(y); xlabel('time'); ylabel('amplitude'); title('noisy signal'); z=qamdemod(y,M); figure; stem(z); xlabel('time'); ylabel('amplitude'); title('demodulated signal'); [no_of_errors,ber] = biterr(msg_orig,z) bertheory = berawgn(snr,'qam',M); num = ones(nsamp,1)/nsamp; den = 1; EbNo = [0:20]; ber = semianalytic(mod_sig,y,'qam',M,nsamp,num,den,EbNo); bertheory=berawgn(EbNo,'qam',M); figure; semilogy(EbNo,ber,'k*'); hold on; semilogy(EbNo,bertheory,'ro'); title('semianalytic BER compared with Theoritical BER'); legend('practical ber ','theoritical ber'); xlabel('Eb/N0 (dB)'); ylabel('Probability of Error');

title('Semianalytic BER compared with Theoretical BER') hold off;

%QPSK clc; clear all; close all; %Initialising variables M=4; snr=0.2; numsymb=20; nsamp=10; msg_orig= randsrc(numsymb,1,0:M-1); figure; stem(msg_orig); xlabel ('Time'); ylabel('Amplitude'); title('Original msg'); mod_sig= pskmod(msg_orig,M); figure; stem(mod_sig); xlabel('time'); ylabel('amplitude'); title('modulated signal'); y=awgn(mod_sig,snr,'measured',[],'db'); figure; stem(y); xlabel('time'); ylabel('amplitude'); title('noisy signal'); z=pskdemod(y,M); figure; stem(z); xlabel('time'); ylabel('amplitude'); title('demodulated signal'); [no_of_errors,ber] = biterr(msg_orig,z) EbNo = [0:20]; bertheory = berawgn(EbNo,'psk',M,'diff'); num = ones(nsamp,1)/nsamp; den = 1; ber = semianalytic(mod_sig,y,'psk/diff',M,nsamp,num,den,EbNo); bertheory=berawgn(EbNo,'psk',M,'diff'); figure; semilogy(EbNo,ber,'k*'); hold on; semilogy(EbNo,bertheory,'ro'); title('semianalytic BER compared with Theoritical BER'); legend('practical ber ','theoritical ber'); xlabel('Eb/N0 (dB)'); ylabel('Probability of Error'); title('Semianalytic BER compared with Theoretical BER') hold off;

%MFSK clc; clear all; close all; %Initialising variables snr=0.2; numsymb=20; M = 4; freq_sep = 8; nsamp = 8; Fs = 32; msg_orig= randsrc(numsymb,1,0:M-1); figure; stem(msg_orig); xlabel ('Time'); ylabel('Amplitude'); title('Original msg');

mod_sig= fskmod(msg_orig,M,freq_sep,nsamp,Fs); figure; stem(mod_sig); xlabel('time'); ylabel('amplitude'); title('modulated signal'); y=awgn(mod_sig,snr); figure; stem(y); xlabel('time'); ylabel('amplitude'); title('noisy signal'); z=fskdemod(y,M,freq_sep,nsamp,Fs); figure; stem(z); xlabel('time'); ylabel('amplitude'); title('demodulated signal'); [no_of_errors,ber] = biterr(msg_orig,z) %MSK clc; clear all; close all; %Initialising variables M=2; snr=0.2; nsamp=10; msg_orig= randsrc(1,20,[0,1]); figure; stem(msg_orig); xlabel ('Time'); ylabel('Amplitude'); title('Original msg');

mod_sig = mskmod(msg_orig,nsamp); figure; stem(mod_sig); xlabel('time'); ylabel('amplitude'); title('modulated signal'); y=awgn(mod_sig,snr); figure; stem(y); xlabel('time'); ylabel('amplitude'); title('noisy signal'); z=mskdemod(y,nsamp); figure; stem(z); xlabel('time'); ylabel('amplitude'); title('demodulated signal'); [no_of_errors,ber] = biterr(msg_orig,z) EbNo = [0:20]; num = ones(nsamp,1)/nsamp; den = 1; ber = semianalytic(mod_sig,y,'msk/diff',M,nsamp,num,den,EbNo); bertheory = berawgn(EbNo,'msk','diff'); figure; semilogy(EbNo,ber,'k*'); hold on; semilogy(EbNo,bertheory,'ro'); title('semianalytic BER compared with Theoritical BER'); legend('practical ber ','theoritical ber'); xlabel('Eb/N0 (dB)'); ylabel('Probability of Error'); title('Semianalytic BER compared with Theoretical BER') hold off;

OUTPUT :
QAM no_of_errors = 11 ber = 0.1375

QPSK :
no_of_errors = 7 ber = 0.1750

MFSK : no_of_errors = 1 ber = 0.0250

MSK : no_of_errors = 0 ber = 0

RESULT: Thus the performances of digital modulation schemes were evaluated.

You might also like