06.06.2022 Views

B. P. Lathi, Zhi Ding - Modern Digital and Analog Communication Systems-Oxford University Press (2009)

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

7. l O MATLAB Exercises 387

The first program (binary _eye . m) uses the four different pulses to generate eye

diagrams of binary polar signaling.

% (binary_eye .m)

% generate and plot eyediagrams

%

clear;clf;

data = sign ( randn(l,400) ); % Generate 400 random bits

Tau=64;

% Define the symbol period

dataup=upsample (data, Tau) ; % Generate impulse train

yrz=conv ( dataup,prz (Tau ) ); % Return to zero polar signal

yrz=yrz (l:end-Tau+l);

ynrz=conv (dataup ,pnrz (Tau ) ); % Non-return to zero polar

ynr z =ynrz (l:end-Tau+l) ;

ysine=conv ( dataup,psine (Tau) ); % half sinusoid polar

ysine=ysine (l:end-Tau+l) ;

Td=4 ;

% truncating raised cosine to 4 periods

yrcos=conv ( dataup ,prcos (0.5,Td,Tau) ); % rolloff factor = 0.5

yrcos=yrcos (2*Td*Tau : end-2*Td*Tau+l) ; % generating RC pulse train

eyel=eyediagram (yrz,2*Tau,Tau,Tau/2) ;title ('RZ eye-di agram' );

eye2=eyediagram (ynrz ,2*Tau,Tau,Tau/2) ;title ('NRZ eye-diagram' );

eye3=eyediagram (ysine ,2*Tau,Tau,Tau/2);t itle('Half-sine eye-diagram' );

eye4=eyediagram (yrcos ,2*Tau,Tau) ; title ('Raised-cosine eye-diagram' );

The second program (Mary _eye . m) uses the four different pulses to generate eye

diagrams of four-level PAM signaling.

% (Mary_eye .m)

% generate and plot eyediagrams

%

%

clear;clf;

data = sign ( randn (l,400) )+2* sign ( randn(l,400) ); % 400 PAM symbols

Tau=64 ;

% Define the symbol period

dataup=upsample(data, Tau) ; % Generate impulse train

yrz=conv ( dataup,prz (Tau ) ); % Return to zero polar signal

yrz=yrz (l:end-Tau+l) ;

ynrz=conv (dataup ,pnrz (Tau) ); % Non-return to zero polar

ynr z =ynrz (l:end-Tau+l) ;

ysine=conv ( dataup,psine (Tau) ); % half sinusoid polar

ysine=ysine (l:end-Tau+l) ;

Td=4 ;

% truncating raised cosine to 4 periods

yrcos=conv ( dataup ,prcos (0.5,Td,Tau) ); % rolloff factor = 0.5

yrcos=yrcos (2*Td*Tau :end-2*Td*Tau+l) ; % generating RC pulse train

eyel=eyediagram (yrz,2*Tau,Tau,Tau/2) ;title ('RZ eye-diagram' );

eye2=eyediagram (ynrz ,2*Tau,Tau , Tau/2) ;title ('NRZ eye-diagram' );

eye3=eyediagram (ysine ,2*Tau,Tau,Tau/2);t itle ('Half-sine eye-diagram' );

eye4=eyediagram (yrcos ,2*Tau,Tau) ; title ('Raised-cosine eye -diagram' );

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!