Você está na página 1de 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.

Você também pode gostar