数 理 信 息 学 院
课 程 设 计 报 告 书
题目 数字信号的基带传输验证
姓 名
学 号
专业班级
指导教师
时 间
课程设计任务书
班 级 | 姓 名 | |||
题 目 | 数字信号的基带传输验证 | |||
技术参数、设计要求、 检测数据等 | ●了解数字基带信号的数学表示及其功率谱密度形式,数字信号接收原理,误码率的计算方法;眼图中参数定义及其含义; ●运行Matlab软件建立数字信号基带传输系统的仿真程序,主要包括:发送信号的波形及其功率谱计算;接收信号(加白噪声)经过滤波器输出后信号的波形; ●验证眼图程序,要求能够根据眼图形状分析信号受干扰程度; ●根据课题结果对传输系统性能进行评估; ●接受课题指导老师的提问和质疑。 | |||
设计进度安排或工作计划 | 2015.1.4 ~2015.1.5: 熟悉课题,查询相关资料,完成方案选择; 2015.1.6~2015.1.9: 设计模块划分、实现及各模块调试、验证; 2015.1.10~2015.1.11:设计整体实现、调试及验证,并开始撰写报告; 2015.1.12~2015.1.13:设计完成,课程设计报告撰写并定稿,上交。 | |||
其 它 | 认真阅读MATLAB语言课程设计报告撰写规范;课题小组经协商好要指定组长并明确分工,形成良好团队工作氛围;基于课题基本要求,各小组课再细化、增加要求;课题小组每成员均需各自撰写一份课程设计报告。 |
摘 要
随着计算机技术的快速发展,新一代仿真软件随之产生,这些软件拥有强大的仿真运算能力,使得通信系统的设计和仿真变得非常简单便捷,进一步促进; 现代通信系统仿真技术的发展。
本文主要研究通信系统中的关键技术——数字基带传输,组要包括基带系统的组成、传输的方式和无码间串扰条件的特性研究,研究基于Matlab语言的数字基带传输特性,通过Matlab设计基带系统,加深对基带传输系统的理解。同时,利用Matlab强大的仿真功能,运用奈奎斯特第一准则进行仿真分析,滚降因子分别取不同数值时,仿真分析时域的波形和眼图。清晰的表现出带限系统特性参数的不同,对信号传输的影响。
关键词 MATLAB; 数字信号; 基带传输
1设计概述
1.1设计背景
来自数据终端的原始数据信号,如计算机输出的二进制序列,电传机输出的代码,或者是来自模拟信号经数字化处理后的PCM码组,M序列等都是数字信号。这些信号往往包含丰富的低频分量,甚至直流分量,因而称之为数字基带信号。在某些具有低通特性的有线信道中,特别是传输距离不太远的情况下,数字基带信号可以直接传输,我们称之为数字基带传输[1]。
目前,虽然在实际应用场合,数字基带传输不如频带传输的应用那样广泛,但对于基带传输系统的研究仍是十分有意义的。一是因为在利用对称电缆构成的近距离数据通信系统广泛采用了这种传输方式,例如以太网;二是因为数字基带传输中包含频带传输的许多基本问题,也就是说,基带传输系统的许多问题也是频带传输系统必须考虑的问题,例如传输过程中的码型设计与波形设计;三是因为任何一个采用线性调制的频带传输系统均可以等效为基带传输系统来研究。
1.2设计目的
《MATLAB课程设计》课程是信息工程类专业的重要实践性课程,主要通过MATLAB实践设计的训练,提高我们对已学相关专业知识的掌握和应用水平。通过学习侧重培养我们树立如何运用所学的专业基础课程来选择设计题目,并培养我们合理安排实现设计的基本程序流程,利用强大的仿真功能与丰富的工具箱来制作、调试、评价自己设计的作品。通过课程实践教学,培养我们将已学课程基础理论与实践环节实际相结合。提高我们实践动手能力,为日后参加工作奠定一定的实践基础。
本次设计主要运用MATLAB软件验证数字信号的基带传输特性。
1.3设计内容及要求
通过本实验,观察到失真信号的表现形式,了解不同编码在基带传输系统中的影响的主要因素;理解消除码间串扰需要满足奈奎斯特第一准则的原因。实验要求如下:
1.了解数字基带信号的数学表示及其功率谱密度形式,数字信号接收原理,误码率的计算方法;眼图中参数定义及其含义;
2.运行Matlab软件建立数字信号基带传输系统的仿真程序,主要包括:发送信号的波形及其功率谱计算;接收信号(加白噪声)经过滤波器输出后信号的波形;
3.验证眼图程序,要求能够根据眼图形状分析信号受干扰程度;
4.认真填写实验预习报告,填写实验结果,根据实验结果对传输系统性能进行评估。
5.接受实验指导老师的提问和质疑。
2设计方案及实现
2.1总体设计方案
运用Matlab软件编程实现数字PAM信号的产生,并计算其功率谱密度;接收数字基带信号,设计一个与输入信号相匹配的滤波器,经过该滤波器后,仿真其输出波形,计算器误码率,并与理论结果相比较分析;设计一个无码间串扰的升余弦滚降系统,仿真出在接收端的基带数字信号波形;在基带信号中加入高斯白噪声,观察其眼图并进行分析[2]。
2.2设计原理
在数字通信系统中,需要将输入的数字序列映射为信号波形在信道中传输,此时信源输出数字序列,经过信号映射后成为始于信道传输的数字调制信号。数字序列中每个数字产生的时间间隔成为马元间隔,单位时间内产生的符号数成为符号速率,它反映了数字符号产生的快慢程度。由于数字符号是按马元间隔不断产生的,经过将数字符号一一映射为相应的信号波形后,就形成了数字调制信号。根据映射后信号的频谱特性,可以分成基带信号和频带信号。通常基带信号指信号的频谱为低通型,而频带信号的频谱为带通型。
2.3具体设计
2.3.1产生数字PAM信号
利用波形的不同幅度表示不同数字的信号称为脉冲幅度调制(PAM)信号,可以将产生的PAM信号的幅值用下式表示:
其中,g(t)是该数字信号的波形信号,其取值与第n时刻的数字符号取值一一映射。
2.3.2数字PAM信号的功率谱密度
如果输入的数字序列是平稳的,则PAM信号的功率谱密度可以通过下式计算得到:
其中,是序列的自相关函数,G(f)是g(f)的频谱, 是码元间隔。由上式可知,PAM信号的功率谱密度不仅受信号波形的影响,同时受序列的自相关特性的影响。因此,可以利用构造不同的自相关特性序列来改变数字信号的功率谱形状,即基带信号的码型,适应信道的频率特性[3]。
2.3.3数字基带接接收
数字基带信号接收经过滤波后,输出信号为:
其中
因此, 是一个均值为0,方差为的高斯随机变量。
基带信号的接收可以等效成离散模型进行分析,正如上式所示,接收信号在k时刻的抽样值取决于当前输入码元值、前后码元对其的干扰(码间干扰)和加性高斯白噪声。
如果整个基带传输系统的冲激响应应能满足,则称该系统是无码间干扰的系统。此时接收端第k时刻时刻抽样值为
2.3.4匹配滤波器
第k时刻抽样时的信噪比为
当时等式成立,为常数,称此滤波器为波形的匹配滤波器,此时在抽样点得到的信噪比最大,具有最佳的误码性能[4]。因此在匹配接收滤波器情况下有:
其中,。
2.3.5带限系统下的基带信号
效基带成行应该满足的时间特性,这两者是等价的,又称为奈奎斯特抽样无码间干扰定理。当抽样点无码间干扰时,整个基带系统需要满足的条件,包括了发送基带成形和接收滤波器,无码间干扰的基带系统的频率响应特性应该满足特定的条件[5]。
2.3.6 升余弦滚降系统
一类常用的无码间干扰几代传输系统为升余弦滚降系统,即
其中a称为滚降系数,频带利用率为。升余弦灌浆系统的时域波形为
2.3.7最佳基带系统
由于收发波形匹配使抽样时的信噪比最大,因此带限情况下的最佳基带系统设计应该既保证无码间干扰,同时收发匹配,此时的基带系统成为最佳基带系统设计。通常,满足最佳基带系统设计的发送滤波器和接收滤波器的幅度谱可以采用升余弦滚降系统的根号函数,即根号升余弦,其相移特性是线性的[6]。
2.3.8 基带信号眼图
在数字基带系统的接收端用示波器观察接收信号,将接受信号输入示波器的垂直放大器,同时调整示波器的水平扫描周期为码元间隔的整数倍,则示波器上
显示的波形形如一只只“眼睛”,成为基带信号的眼图。其实,基带信号的眼图形成原因是因为示波器的荧光显示屏光迹在信号小时候需要一段时间才能消失,因此显示在示波器上的是若干段的数字基带波形的叠加,呈现出眼图的形状[7]。
3设计结果分析
3.1数字基带信号波形及功率谱密度
用Matlab软件仿真出如下数字基带信号的波形及其功率谱密度:
(1)输入二进制序列取值为0,1(且等概率出现),此波形称单极性非归零(NRZ)波形。
(2)若输入二进制序列取值0,1(且等概率出现),此波形称为单极性归零(RZ)波形。
(3)若输入二进制序列取值-1,+1(且等概率出现)。
代码如下:
%数字基带信号的功率谱密度
clear all;
close all;
Ts=1;
N_sample = ; %每个码元的抽样点数
dt = Ts/N_sample; %抽样时间间隔
N = 1000; %码元数
t = 0:dt:(N*N_sample-1)*dt;
T = N*N_sample*dt;
gt1 = ones(1,N_sample); %NRZ非归零波形
gt2 = ones(1,N_sample/2); %RZ归零波形
gt2 = [gt2 zeros(1,N_sample/2)];
mt3 = sinc((t-5)/Ts); % sin(pi*t/Ts)/(pi*t/Ts)波形,截段取10个码元
gt3 = mt3(1:10*N_sample);
d = ( sign( randn(1,N) ) +1 )/2;
data = sigexpand(d,N_sample); %对序列间隔插入N_sample-1个0
st1 = conv(data,gt1);
st2 = conv(data,gt2);
d = 2*d-1; %变成双极性序列
data= sigexpand(d,N_sample);
st3 = conv(data,gt3);
[f,st1f] = T2F(t,[st1(1:length(t))]);
[f,st2f] = T2F(t,[st2(1:length(t))]);
[f,st3f] = T2F(t,[st3(1:length(t))]);
figure(1)
subplot(321)
plot(t,[st1(1:length(t))] );grid
axis([0 20 -1.5 1.5]);
ylabel('单极性NRZ波形');
subplot(322);
plot(f,10*log10(abs(st1f).^2/T) );grid
axis([-5 5 -40 10]);
ylabel('单极性NRZ功率谱密度(dB/Hz)');
subplot(323)
plot(t,[st2(1:length(t))] );
axis([0 20 -1.5 1.5]);grid
ylabel('单极性RZ波形');
subplot(324)
plot(f,10*log10(abs(st2f).^2/T));
axis([-5 5 -40 10]);grid
ylabel('单极性RZ功率谱密度(dB/Hz)');
subplot(325)
plot(t-5,[st3(1:length(t))] );
axis([0 20 -2 2]);grid
ylabel('双极性sinc波形');xlabel('t/Ts');
subplot(326)
plot(f,10*log10(abs(st3f).^2/T));
axis([-5 5 -40 10]);grid
ylabel('sinc波形功率谱密度(dB/Hz)');xlabel('f*Ts');
仿真波形图如下:
3.2对加入高斯白噪声的基带信号滤波处理
设二进制数字基带信号 ,其中 ,,加性高斯白噪声的双边功率频谱密度为 。
(1)若接收滤波器的冲激响应函数h(t)=g(t),画出经过滤波器后的波形图。
(2)(2)若 ,画出经过滤波器后的波形图。
代码如下:
%数字基带信号接收示意 digit_receive.m
clear all;
close all;
N =100;
N每码元抽样点数
Ts=1;
dt = Ts/N_sample;
t=0:dt:(N*N_sample-1)*dt;
g数字基带波形
d输入数字序列
a = sigexpand(d,N_sample);
s数字基带信号
ht1 = gt;
rt1 = conv(st,ht1);
ht2 = 5*sinc(5*(t-5)/Ts);
rt2 = conv(st,ht2);
figure(1)
subplot(321)
plot( t,st(1:length(t)) );
axis([0 20 -1.5 1.5]); ylabel('输入双极性NRZ数字基带波形');
subplot(322)
stem( t,a);
axis([0 20 -1.5 1.5]); ylabel('输入数字序列')
subplot(323)
plot( t,[0 rt1(1:length(t)-1)]/8 );
axis([0 20 -1.5 1.5]);ylabel('方波滤波后输出');
subplot(324)
dd = rt1(N_sample:N_sample:end);
ddd= sigexpand(dd,N_sample);
stem( t,ddd(1:length(t))/8 );
axis([0 20 -1.5 1.5]);ylabel('方波滤波后抽样输出');
subplot(325)
plot(t-5, [0 rt2(1:length(t)-1)]/8 );
axis([0 20 -1.5 1.5]);
xlabel('t/Ts'); ylabel('理想低通滤波后输出');
subplot(326)
dd = rt2(N_sample-1:N_sample:end);
ddd=sigexpand(dd,N_sample);
stem( t-5,ddd(1:length(t))/8 );
axis([0 20 -1.5 1.5]);
xlabel('t/Ts'); ylabel('理想低通滤波后抽样输出');
仿真波形图如下:
可以看出,相同的基带信号,可以用不同的接收方法。因此引出了如何才是最优的接收方法这个问题,即最佳接收问题。通常,数字通信中的性能以误码率为判断标准,相同的信噪比下,能达到最小的误码率被视为最佳的。
3.3加入高斯白噪声后的基带系统误码率
设发送的数字基带信号为,其中,,为同分布,+1和-1的发送概率相同,信道中加性高斯白噪声的双边功率谱密度为,接收机如图5-3所示,接收滤波器为的匹配滤波器,求:
(1)该数字基带系统的误码率;
(2)通过Matlab仿真该通信系统的性能,并与理论结果对照。
代码如下:
% 数字基带接收机的性能,digit_ber.m
clear all
close all
EbN0dB = 0:0.5:10;
N0 = 10.^(-EbN0dB/10);
sigma = sqrt(N0/2);
% 理论计算的误码率
Pb = 0.5*erfc(sqrt(1./N0));
% 仿真误码率
for n = 1:length(EbN0dB)
a产生等概信源 +1、-1
r离散等效接收模型
d判决
ber(n) = sum( abs(a - dec_a)/2 )/length(a); % 计算误码率
end
semilogy(EbN0dB,Pb);
hold;
semilogy(EbN0dB,ber,'rd - ');
legend('理论值','仿真结果');
xlabel('Eb/N0(dB)');ylabel('Pb');
title('二进制匹配接收机的性能');
仿真波形图如下:
不同的基带成形,最终得到的数字基带信号的频谱特性不同,有的频谱带宽无限,有的频带受限。在实际系统中,信道经常是带限的,因此频带无限的数字基带信号经过这样的信道会造成接收信号的失真。为了避免信号功率损失,必须设计频带受限的数字基带信号。
3.4升余弦滚降系统
用Matlab画出a=0,0.5,1的升余弦滚降系统频谱,并画出其各自对应的时域波形。
代码如下:
%升余弦滚降系统示意图,raise_cos.m
clear all;
close all;
Ts=1;
N_sample = 17;
dt = Ts/N_sample;
df = 1.0/(20.0*Ts);
t = -10*Ts:dt:10*Ts;
f = -2/Ts:df:2/Ts;
alpha = [0,0.5,1];
for n=1:length(alpha)
xt(n,:) = sinc(t/Ts).*(cos(alpha(n)*pi*t/Ts))./(1- 4*alpha(n)^2 *t.^2 / Ts^2 + eps);
end
figure(1)
plot(f,Xf);
axis([-1 1 0 1.2]);xlabel('f/Ts');ylabel('升余弦滚降频谱');
figure(2)
plot(t,xt);
axis([-10 10 -0.5 1.1]);xlabel('t/Ts');ylabel('升余弦滚降波形');
仿真波形图如下:
由升余弦滚降系统波形图可知,其能量主要集中在-1至1之间,当t=0时波形的幅值最大;升余弦滚降系数越大,其波形的幅值下降速率越快。
3.5数字基带信号的波形和眼图
设计带传输系统响应是a=1的升余弦滚降系统,画出在接收端的基带数字信号波形及其眼图。
代码如下:
%基带信号眼图,yt.m
clear all; close all;
Ts=1;
N_sample=17;
eye_num = 7;
alpha=1;
N_data=1000;
dt = Ts/N_sample;
t = -3*Ts:dt:3*Ts;
%产生双极性数字信号
d = sign(randn(1,N_data));
dd= sigexpand(d,N_sample);
%基带系统冲击响应(升余弦)
ht=sinc(t/Ts).*(cos(alpha*pi*t/Ts))./(1-4*alpha^2*t.^2/Ts^2+eps);
st=conv(dd,ht);
st = conv(dd,ht);
tt = -3*Ts:dt:(N_data+3)*N_sample*dt-dt;
figure(1)
subplot(211);
plot(tt,st);
axis([0 20 -1.2 1.2]);xlabel('t/Ts');ylabel('部分响应基带信号');
subplot(212)
%画眼图
ss=zeros(1,eye_num*N_sample);
ttt = 0:dt:eye_num*N_sample*dt-dt;
for k=3:50
ss = st(k*N_sample+1:(k+eye_num)*N_sample);
drawnow;
plot(ttt,ss); hold on;
end
%plot(ttt,ss);
xlabel('t/Ts');ylabel('部分响应信号眼图');
仿真波形图如下:
设二进制数字基带信号,,设加性高斯白噪声的双边功率谱密度为,画出眼图。
经过理想低通滤波器后的眼图。
代码如下:
%示意双极性NRZ基带信号经过带宽受限信号造成的码间干扰影响及其眼图,文件mjgr.m
clear all;
close all;
N =1000;
N_sample=8; %每码元抽样点数
Ts=1;
dt = Ts/N_sample;
t=0:dt:(N*N_sample-1)*dt;
gt = ones(1,N_sample); %数字基带波形
d = sign(randn(1,N)); %输入数字序列
a = sigexpand(d,N_sample);
st = conv(a,gt); %数字基带信号
ht1 = 5*sinc(5*(t-5)/Ts);
rt1 = conv(st,ht1);
ht2 = sinc((t-5)/Ts);
rt2 = conv(st,ht2);
eyediagram(rt1+j*rt2,40,5); %调用Matlab画眼图的函数,行40点,表示5只眼
仿真波形图如下:
对比未加入高斯白噪声和加入高斯白噪声后的数字基带信号眼图可知,加入高斯白噪声后观察到的眼图的线迹变得模糊。经过低通滤波器后,产生码间串扰 ,“眼睛”张开得更小。与无码间串扰时的眼图相比,原来清晰端正的细线迹,变成了比较模糊的带状线,而且不端正。噪声越大,线迹越宽,越模糊;码间串扰越大,眼图越不端正。
4总结
4.1存在的问题
本次课程设计主要是Matlab软件来进行数字基带通信系统的仿真。在整个实验过程中,存在着以下几个问题:
1.刚开始对系统的整体架构不是很熟悉,思维比较模糊,后来和小组同学进行了交流,明白了整个系统的构成,知道了设计的步骤和流程。
2.由于对Matlab软件使用得不够熟练,所以并没有采用Simulink仿真,这个问题我会继续努力研究的。
3.鉴于我们是每个组员编写一段代码,故在整个程序的运行过程中总会存在一点问题,导致结果运行不出来,一开始我们采用分步运行的方法,逐次更改错误,掌握了使用断点来查找错误的方法。
4.在开始设计之前,我们对整个设计的仿真结果只有一个大体的概念,导致我们面对仿真结果难以作出正确的分析判断,在编程过程中出现了理解的偏差。
4.2心得体会
知识是靠平时积累的,能力是在实践过程中培养的。在设计的过程中发现自己存在的不足,使我明白了自己你的动手能力有待提高,思维方式还需转变,相关的知识仍需拓展。设计过程中还发现自己对以前所学过的知识理解的不够深刻,掌握的不够牢固,要做好一个课程设计并非一件简单的事,需要我们平时知识和经验的积累。所以今后一定要注意在平时多思考相关问题,多接触这种设计性的课题,以增强自己的动手实践和思考能力。这样做不仅可以巩固所学的知识,同时丰富课本上没有的知识。通过这次的课程设计,进一步加深了对Matlab的了解和掌握,对这款软件产生了浓厚的兴趣,以后将继续运用其解决一些问题。通过小组成员的共同努力和老师的讲解,最终还是成功的完成了设计,我由衷感谢老师在这十天中的悉心指导。
参考文献
[1]宋文涛,移动通信.上海交通大学出版社,1996:8~15
[2]陈刚 于丹 吴迪,《Matlab基础与实例进阶》,清华大学出版社, 2012.1
[3]郑阿奇,《MATLAB实用教程》,电子工业出版社,2007
[4]曹弋,《MATLAB教程及实例》,机械工业出版社,2008
[5]刘保柱,苏彦华,张宏林. MATLAB 7.0从入门到精通(修订版) . 人民邮电出版社,2010: 80~100
[6]陈萍. 《现代通信实验系统的计算机仿真》,国防工业出版社,2003
[7],基带信号眼图,http://wenku.baidu.com/view/b2d198c38bd63186bcebbc1e.html