数字基带信号的眼图实验——matlab 仿真
一、实验目的
1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法;
2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度;
3、熟悉MATLAB 语言编程。
二、实验预习要求
1、复习《数字通信原理》第七章7.1节——奈奎斯特第一准则内容;
2、复习《数字通信原理》第七章7.2节——数字基带信号码型内容;
3、认真阅读本实验内容,熟悉实验步骤。
三、实验原理和电路说明
1、基带传输特性
基带系统的分析模型如图3-1所示,要获得良好的基带传输系统,就应该
图3-1
基带系统的分析模型
抑制码间干扰。设输入的基带信号为()n
s
n
a t nT δ-∑,s
T 为基带信号的码元周期,则经过
基带传输系统后的输出码元为
()n
s
n
a h t nT -∑。其中
1()()2j t h t H e d ωωωπ
+∞
-∞
=
?
(3-1)
理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足:
10()0,s k h kT k =?=?
?
,
为其他整数 (3-2)
频域应满足:
()0,s
s T T H πωωω?
≤?=?
??
,其他 (3-3)
图3-2 理想基带传输特性
此时频带利用率为2/Baud Hz ,这是在抽样值无失真条件下,所能达到的最高频率利用率。
由于理想的低通滤波器不容易实现,而且时域波形的拖尾衰减太慢,因此在得不到严
格定时时,码间干扰就可能较大。在一般情况下,只要满足:
222(),s i s s s s
i H H H H T T T T T πππ
π
ωωωωω??????
+=-+++
=≤
? ? ???????
∑ (3-4)
基带信号就可实现无码间干扰传输。这种滤波器克服了拖尾太慢的问题。
从实际的滤波器的实现来考虑,采用具有升余弦频谱特性()H ω时是适宜的。
(1)(1)1sin (),2(1)()1,0(1)
0,s s s s s s T T T T H T T ππαπαωωαπαωωπαω???-+--≤≤???
???
?-?
=≤≤??
?+>?
??
(3-5)
这里α称为滚降系数,01α≤≤。
所对应的其冲激响应为:
()222sin cos()
()14s s s s
t
T t T h t t t T T παππα=
-
(3-6)
此时频带利用率降为2/(1)Baud/Hz α+,这同样是在抽样值无失真条件下,所能达到的
最高频率利用率。换言之,若输入码元速率'
1/s s R T >,则该基带传输系统输出码元会产
生码间干扰。
2、眼图
所谓眼图就是将接收滤波器输出的,未经再生的信号,用位定时以及倍数作为同步信号在示波器上重复扫描所显示的波形(因传输二进制信号时,类似人的眼睛)。干扰和失真所产生的畸变可以很清楚的从眼图中看出。眼图反映了系统的最佳抽样时间,定时的灵敏度,噪音容限,信号幅度的畸变范围以及判决门限电平,因此通常用眼图来观察基带传输系统的好坏
。
图3-3
眼图示意图
四、仿真环境
Windows NT/2000/XP/Windows 7/VISTA ; MATLAB V6.0以上。
五、仿真程序设计
1、程序框架
图3-4 程序框架
首先,产生M进制双极性NRZ码元序列,并根据系统设置的抽样频率对该NRZ码元序列进行抽样,再将抽样序列送到升余弦滚降系统,最后画出输出码元序列眼图。
2、参数设置
该仿真程序应具备一定的通用性,即要求能调整相应参数以仿真不同的基带传输系统,并观察输出眼图情况。因此,对于NRZ码元进制M、码元序列长度Num、码元速率Rs,采样频率Fs、升余弦滚降滤波器参考码元周期Ts、滚降系数alpha、在同一个图像窗口内希望观测到的眼图个数Eye_num等均应可以进行合理设置。
3、实验内容
根据现场实验题目内容,设置仿真程序参数,编写仿真程序,仿真波形,并进行分析给出结论。
4、仿真结果参考
参考例程参数设置如下:
无码间干扰时:
Ts=1e-2; %升余弦滚降滤波器的理想参考码元周期,单位s Fs=1e3; %采样频率,单位Hz。注意:该数值过大将
%严重增加程序运行时间
Rs=50; %输入码元速率,单位Baud
M=2; %输入码元进制
Num=100; %输入码元序列长度。注意:该数值过大将
%严重增加程序运行时间
Eye_num=2; %在一个窗口内可观测到的眼图个数。
图3-5(a) 仿真参考结果图(1)
图3-5(b) 仿真参考结果图(2)
图3-5(c) 仿真参考结果图(3)
从眼图张开程度可以得出没有发生码间干扰,这是因为基带信号的码元速率Rs为50Baud,而升余弦滚降滤波器和FIR滤波器的等效带宽B=60Hz(Ts=10ms),Rs<2B,满足了奈奎斯特第一准则的条件。
有码间干扰时:
Ts=5*(1e-2); %升余弦滚降滤波器的参考码元周期,单位s Fs=1e3; %采样频率,单位Hz。注意:该数值过大将
%严重增加程序运行时间
Rs=50; %输入码元速率,单位Baud
M=2; %输入码元进制
Num=100; %输入码元序列长度。注意:该数值过大将
%严重增加程序运行时间
Eye_num=2; %在一个窗口内可观测到的眼图个数。
图3-5(d)
仿真参考结果图(4)
眼图基本闭合,存在较为严重的码间干扰,这是因为码元速率Rs 虽然仍为50Baud ,但滤波器等效带宽已经变为12Hz (Ts=50ms ),Rs>2B 不再满足奈奎斯特第一准则。
多进制码元情况:
图3-6 四进制NRZ码元眼图
六、实验报告要求
1、整理实验数据,画出相应的波形。
2、结合奈奎斯特第一准则,分析波形,表述出码间干扰ISI现象与滤波器的等效带宽设定值之间的关系,给出原因。
3、结合奈奎斯特第一准则,分析波形,表述出码间干扰ISI现象与滤波器的滚降系数设定值之间的关系,给出原因。
七、思考题
1、自行编写升余弦滚降滤波器冲激响应函数,特别注意当公式中分子分母均为0时的特殊情况。
2、采用MATLAB自带眼图函数eyediagram来观察眼图。
八、参考程序
close all;
alpha=0.2; %设置滚降系数,取值范围在[0,1]
Ts=1e-2; %升余弦滚降滤波器的参考码元周
%期, Ts=10ms,无ISI。
% Ts=2*(1e-2); %Ts=20ms,已经出现ISI(临界点)
% Ts=5*(1e-2); %Ts=50ms,出现严重ISI
Fs=1e3; %采样频率,单位Hz。注意:该数
%值过大将严重增加程序运行时间
Rs=50; %输入码元速率,单位Baud
% M=2;
M=4; %输入码元进制
Num=100; %输入码元序列长度。注意:该数值
%过大将严重增加程序运行时间。Samp_rate=Fs/Rs %采样率,应为大于1的正整数,即
%要求Fs,Rs之间呈整数倍关系
% Eye_num=2; %在一个窗口内可观测到的眼图个数。Eye_num=4; %在一个窗口内可观测到的眼图个数。%产生双极性NRZ码元序列
NRZ=2*randint(1,Num,M)-M+1;
figure(1);
stem(NRZ);
xlabel('时间');
ylabel('幅度');
hold on;
grid on;
title('双极性NRZ码元序列');
%对双极性NRZ码元序列进行抽样
k=1;
for ii=1:Num
for jj=1:Samp_rate
Samp_data(k)=NRZ(ii);
k=k+1;
end
end
%基带升余弦滚降系统冲激响应
[ht,a] = rcosine(1/Ts,Fs,'fir',alpha);
%画出基带升余弦滚降系统冲激响应波形
subplot(2,1,1);
plot(ht);
xlabel('时间');
ylabel('冲激响应');
hold on;
grid on;
title('升余弦滚降系统冲激响应,滚降因子\alpha=0.2'); %将信号送入基带升余弦滚降系统,即做卷积操作
st = conv(Samp_data,ht)/(Fs*Ts);
subplot(2,1,2);
plot(st);
xlabel('时间');
ylabel('信号幅度');
hold on;
grid on;
title('经过升弦滚降系统后的码元')
%画眼图,在同一个图形窗口重复画出一个或若干个码元figure(3);
for k = 10:floor(length(st)/Samp_rate)-10
%不考虑过渡阶段信号,只观测稳定阶段
ss = st(k*Samp_rate+1:(k+Eye_num)*Samp_rate);
plot(ss);
hold on;
end
xlabel('时间');
ylabel('信号幅度');
hold on;
grid on;
title('基带信号眼图');
% eyediagram(st,Samp_rate);
% xlabel('时间');
% ylabel('信号幅度');
% grid on;
% title('基带信号眼图');