www.gusucode.com > MATLAB仿真技术与应用__的配套例题和习题的matlab源代码 > 第五章/example9.m

    %MATLAB program 5-9
% Produce eye diagram
clear all;
clc;
% 定义所采用的进制数和采样率
M = 16; Fd = 1; Fs = 10; 
Pd = 100; % 计算所采用的点数
% 在[0,M-1]区间产生随机整数
msg_d = randint(Pd,1,M); 
%用矩形星座QASK方法进行调制
msg_a = modmap(msg_d,Fd,Fd,'qask',M);
%将信道近似为升余弦滤波器,且升余弦滤波器的延迟时间定为3秒
delay = 3;
rcv = rcosflt(msg_a,Fd,Fs,'fir/normal',.5,delay);
%截去升余弦滤波器输出的尾部响应
propdelay = delay .* Fs/Fd + 1; 
rcv1 = rcv(propdelay:end-(propdelay-1),:); 
N = Fs/Fd;
%绘出信号的眼图并显示出没有偏移的情况
offset1 = 0;
h1 = eyediagram(rcv1,N,1/Fd,offset1);
set(h1,'Name','Eye Diagram Displayed with No Offset');
%绘出信号的眼图并显示出有偏移的情况
offset2 = 2;
h2 = eyediagram(rcv1,N,1/Fd,offset2,'r-');
set(h2,'Name','Eye Diagram Displayed with Offset of Two');