资源描述
设计报告
23
2020年4月19日
文档仅供参考,不当之处,请联系改正。
长 沙 学 院
课程设计说明书
题目二进制数字调制技术以及扩频通信系统的仿真研究
系(部) 电子与通信工程系
专业(班级) 通 信 工 程
姓名 李 勇
学号 043212
指导教师 陈威兵 冯璐 张刚林 黄飞江
起止日期 5月30日-6月10日
长沙学院课程设计鉴定表
姓名
李勇
学号
专业
通信工程
班级
09通信2班
设计题目
二进制数字调制技术以及扩频通信系统的仿真研究
指导教师
陈威兵、冯璐、张刚林、黄飞江
指导教师意见:
评定等级: 教师签名: 日期:
答辩小组意见:
评定等级: 答辩小组长签名: 日期:
教研室意见:
教研室主任签名: 日期:
系(部)意见:
系主任签名: 日期:
说明
课程设计成绩分“优秀”、“良好”、“及格”、“不及格”四类;
目录
一、课程设计的目的 4
二、设计的主要内容 5
1.二进制数字调制技术原理 5
2.扩频通信系统 5
3.二进制数字调制技术及扩频通信系统的仿真实现 6
三、设计步骤 6
四、2ASK、2FSK、2PSK实验结果如下 8
1.2ASK(二进制振幅键控)仿真源文件 8
2.2FSK(二进制频移键控)仿真源文件 10
3.2PSK(二进制相移键控)仿真源文件 12
五、扩频通信系统的仿真研究 15
1.仿真原理图: 15
六、课程设计心得体会: 17
七、参考文献: 18
二进制数字调制技术以及扩频通信系统的仿真研究
一、课程设计的目的
经过本课程设计,提高学生所学通信原理、电子技术、计算机等方面知识的综合运用能力,巩固所学知识,同时培养学生初步的创新能力、二次开发能力以及科研能力。本课程设计重点是使学生掌握运用MATLAB软件进行通信仿真的方法,而且加深通信原理中数字调制、扩频通信技术的理解和运用。
利用MATLAB完成直接序列扩频通信电路的搭建及ASK、FSK、PSK信号的产生、调制及解调等;根据课堂讲授内容,做相应的自主练习,进一步消化巩固课堂所学的内容;经过编写与调试典型信号积累经验;经过完成编程题,逐渐培养自己的编程能力,用MATLAB解决实际问题的动手能力。
二、设计的主要内容
1.二进制数字调制技术原理
数字信号的传输方式分为基带传输和带通传输,在实际应用中,大多数信道具有带通特性而不能直接传输基带信号。为了使数字信号在带通信道中传输,必须使用数字基带信号对载波进行调制,使信号与信道的特性相匹配。这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。一般使用键控法来实现数字调制,比如对载波的振幅、频率和相位进行键控。
2.扩频通信系统
扩频是指将信号的频谱扩展至占用很宽的频带。扩展频谱通信系统是将基带信号的频谱经过某种调制扩展到远大于原基带信号带宽的系统。扩频技术分为三类:(1)直接序列扩频,一般采用一段伪随机序列表示一个信息码元,对载波进行调制。(2)跳频扩频,它使发射机的载频在一个信息码元的时间内,按照预定的规律,离散地快速跳变。(3)线性调制,载频在一个信息码元时间内在一个宽的频段中线性地变化。
3.二进制数字调制技术及扩频通信系统的仿真实现
MATLAB是一种功能强大的科学计算和工程仿真软件,它的交互式集成界面能够帮助用户快速的完成数值分析、数字信号处理、仿真建模、和优化等功能。本课程设计需要运用MATLAB编程实现2ASK,2FSK,2PSK,2DPSK调制解调过程,而且输出其调制后的波形,画出频谱、功率谱密度图,比较各种调制的误码率情况。
运用SIMULINK仿真工具搭建直接扩频通信系统。系统中应包括信元产生模块,伪随机码产生,进行直接序列扩频,使用BPSK调制方法调制后,分别运用高斯信道和瑞利衰落信道传输,再在接收端进行解调解码,并用示波器观察其输出波形以及频谱,比较扩频前后的频谱特性。
三、设计步骤
1.根据题目,查阅有关资料,掌握数字带通调制技术以及扩频通信原理。
2.学习MATLAB软件,掌握MATLAB各种函数以及SIMULINK仿真软件的使用。
3.根据数字带通调制原理,运用MATLAB进行编程,仿真调制过程,记录并分析仿真结果。
4.利用SIMULINK通信仿真工具箱,搭建直接序列扩频通信系统,记录仿真原理图以及示波器输出波形,并观察频谱扩展情况。
5.形成设计报告。
四、2ASK、2FSK、2PSK实验结果如下
1.2ASK(二进制振幅键控)仿真源文件
clc;
clear;
N=10;
xn=[];
x=[1 0 1 1 0 0 1 0 1 0];
t=0.0125:0.0125:N
y=cos(2*pi*5*t);
for i=1:N
if x(i)==1
xn(i*80-79:i*80)=ones(1,80);
else
xn(i*80-79:i*80)=zeros(1,80);
end
end
subplot(3,2,1)
plot(xn)
title('输入码元')
axis([0 800 -1 2])
z=xn.*y;
subplot(3,2,2)
plot(z)
title('调制信号')
axis([0 800 -2 2])
ba=fft(z,512);
ba=abs(ba);
subplot(3,2,3)
plot(ba);
title('加入噪声前的频谱')
%加入高斯噪声
a=0.1;%noise 系数,控制噪声功率
noise=a*(2*rand(1,80*N)-1);
z1=z+noise;
ba=fft(z1,512);
ba=abs(ba);
subplot(3,2,4)
plot(ba);
title('加入噪声后的频谱')
%低通滤波器设计
%设计一个低通滤波器
Wp =50/80; Ws = 70/80;
[n,Wn] = buttord(Wp,Ws,1,5)
[b,a] = butter(n,Wn);
x_fir=filter(b,1,z1); %对加入噪声的信号进行滤波
%解调
x2=x_fir.*y;
x3=filter(b,1,x2); %对加入噪声的信号进行滤波
subplot(3,2,5)
plot(x3);
title('解调后的信号')
%抽样判决
for i=1:N
if abs(x3(i*80-25))>=0.5;
xn2(i*80-79:i*80)=ones(1,80);
else
xn2(i*80-79:i*80)=zeros(1,80);
end
end
subplot(3,2,6);
plot(xn2);
title('恢复信号')
axis([0 800 -1 2])
仿真图如下:
2.2FSK(二进制频移键控)仿真源文件
s=[1 0 1 1 0 0 1 0 1 0];
t=0:2*pi/99:2*pi;
m1=[];c1=[];b1=[];
for n=1:10
if s(n)==0 ;
m=ones(1,100);
c=sin(4*t);
b=zeros(1,100);
else s(n)==1;
m=ones(1,100);
c=sin(2*t);
b=ones(1,100);
end
m1=[m1 m];
c1=[c1 c];
b1=[b1,b];
end
f=c1.*m1;
subplot(3,2,1);
plot(b1)
title ('原始信号');
axis([0 1000 -1.0 1.5]);
subplot(3,2,2);
plot(c1)
title ('载波信号');
axis([0 1000 -1.5 1.5]);
subplot(3,2,3);
plot (f);
title ('调制信号');
axis([0 1000 -1.5 1.5]);
%加入高斯噪声
a=0.1;%noise 系数,控制噪声功率
noise=a*(2*rand(1,100*N)-1);
f1=f+noise;
subplot(3,2,4)
plot(f1);
title ('加入噪声后的信号');
%低通滤波器设计
Oder=30; %滤波器阶数
f=[0 0.20 0.24 1];
m=[1 1 0 0 ];
b=firls(Oder,f,m);
[h,w]=freqz(b);
s_fir=filter(b,1,f1); %对加入噪声的信号进行滤波
%解调
s2=s_fir.*c1;
s3=filter(b,1,s2); %对加入噪声的信号进行滤波
subplot(3,2,5)
plot(s3);
title ('加入噪声信号的频谱');
for n=1:length(s)
if s(n)==0 ;
m=ones(1,100);
b=zeros(1,100);
else s(n)==1;
m=ones(1,100);
b=ones(1,100);
end
m1=[m1 m];
b1=[b1,b];
end
subplot(3,2,6);
plot(b1);
axis([0 1000 -1 1.5])
title ('解调后的信号');
仿真图如下:
3.2PSK(二进制相移键控)仿真源文件
N=10;
xn=[];
x=[1 0 1 1 0 0 1 0 1 0];
t=0.0125:0.0125:N;
for i=1:N
if x(i)==1
xn(i*80-79:i*80)=ones(1,80);
else
xn(i*80-79:i*80)=-ones(1,80);
end
end
subplot(2,1,1)
plot(xn)
title('输入码元')
axis([0 800 -1.5 1.5])
z=xn.*y;
subplot(2,1,2)
plot(z)
title('调制信号')
axis([0 800 -1.5 1.5])
figure
ba=fft(z,512);
ba=abs(ba);
subplot(2,1,1)
plot(ba);
title('加噪声前频谱')
axis([-100 600 0 150])
%加入高斯噪声
a=0.1;%noise 系数,控制噪声功率
noise=a*(2*rand(1,80*N)-1);
z1=z+noise;
ba=fft(z1,512);
ba=abs(ba);
subplot(2,1,2)
plot(ba);
title('加噪声后频谱')
axis([-100 600 0 150])
figure
Wp =30/80; Ws = 50/80;
[n,Wn] = buttord(Wp,Ws,1,5)
[b,a] = butter(n,Wn);
x_fir=filter(b,1,z1); %对加入噪声的信号进行滤波
%解调
x2=x_fir.*y;
x3=filter(b,1,x2); %对加入噪声的信号进行滤波
subplot(2,1,1)
plot(x3);
title('滤波后的频谱')
axis([0 800 -2 2])
for i=1:N
if x3(i*80-20)>=0;
xn2(i*80-79:i*80)=ones(1,80);
else
xn2(i*80-79:i*80)=zeros(1,80);
end
end
subplot(2,1,2);
plot(xn2);
title('恢复波形')
axis([0 800 -0.2 1.2])
仿真图如下:
五、扩频通信系统的仿真研究
1.仿真原理图:
示波器的处的频谱图:
信源频谱图
误码数及误码率:
图可知,总码元数为81,误码5,误码率为6.173%。
原始码元及经过扩频后的码元图如下:
六、课程设计心得体会:
经过两个星期的课程设计,让我明白了在平时课堂上没有明白的2ASK(二进制振幅键控)、2FSK(二进制频移键控)、2PSK(二进制相移键控)的基本调制及解调原理,而且能够自己观测出结果,这在一定的程度上增加了学好通信工程接下来课程的信心。经过观察扩频通信系统,能够得出这种方式能够减小误码率。
另外,在这么短的时间内,要学习一种软件,而且要经过它做一些实验,在平时看来是一件难事,甚至在课程设计开始的一两天都觉得不可能,可是在接下来的实验中,在老师的指导下,在同学的帮助下以及查看一些书籍,我还是完成了课程设计,我觉得,一些在我们看来很难的事上,只要我们努力去做,用心去学习,最终还是会取得成功的!!
七、参考文献:
《通信原理》樊昌信主编 电子工业出版社 1月
《从MATLAB/Simlink模型到代码实现》陈永春编著 清华大学出版社
《Matlab教程》张志涌等编著 北京航空航天大学出版社
《现代通信系统分析与仿真-Matlab通信工具箱》 李建新等编著 西安电子科技大学出版社
《通信原理学习指导》杨盛编著 湖南人民出版社
展开阅读全文