课程设计
课程设计名称: 通信综合 专 业 班 级 : 学 生 姓 名 : 学 号 :
指 导 教 师 : 朱春华 课程设计时间:
通信原理 专业课程设计任务书
学生姓名 题 目 课题性质 指导教师 专业班级 电信1102 学号 2ASK信号的仿真设计 仿真 课题来源 同组姓名 自拟课题 主要内容 1、设计一个2ask信号; 2、绘2ASK信号的频谱。 任务要求 1. 生成2ask的信号,并把图像画出,以及做出他二进制序列; 2. 绘制其功率谱密度图像; 3. 分析功率谱。 [1] 数字通信-基础与应用,徐平平等译,电子工业出版社,2002年 [2] 无线通信原理与应用,蔡涛等译,电子工业出版社,1999 [3] 通信系统仿真原理与无线应用,肖明波等译,机械工业出版社,2005 参考文献 [4] 现代通信原理,曹志刚,清华大学出版社,1992 [5] 信息论与编码理论,李斗等译,电子工业出版社,2004 [6] 郭文彬,桑林编著,通信原理-基于Matlab的计算机仿真,北京邮电大学出版社,2006 指导教师签字: 审查意见 教研室主任签字: 年 月 日
一、课程设计的目的和意义:
1、学会Matlab的使用,并熟练掌握Matlab的程序设计 2、掌握数字信号处理的基本的概念、理论和方法 3、熟悉2ASK的调制原理 4、熟悉2ASK的调制原理
5、学会并熟练运用Matlab来编写2ASK的程序 6、学会用MATLAB对信号进行分析
二、基本原理介绍:
2ASK是利用代表数字信息“0”或“1”的基带矩形脉冲去键控一个连续的载波,使载波时断时续的输出 。有载波输出时表示发送“1”,无载波输出时表示发送“0”。根据幅度调制的原理,2ASK信号可表示为
e0(t)=s(t)ccoswt)中wc ,(式
为载波角频率,
h(t)=coswc(t)为载波信号,二进制基带信号s(t)为随机的单极性NRZ矩形脉冲序列 。
112S(t)的功率谱密度为 Ps(f)?TbSa(?fTb)??(f)。2ASK
44信号的功率谱密度是基带信号功率谱密度Ps(f)的线性搬移,2ASK
1信号的功率谱密度为Pe(f)?[Ps(f+fc)?Ps(f?fc)]。
4
三、仿真流程、仿真结果图形及调试分析。
在实际操作中,有很多不明白的地方,在网上找了一些2ASK信号的仿真设计的相关程序,问了一些相对精通这方面的同学,下面大概介绍各个变量的意思,和自己不太熟悉的函数及公式
主要调用的公式:
function [f,sf]=Fun1(t,st)
dt=t(2)-t(1); % 时间距 T=t(end); % 时间总长 df=1/T; % 频率间隔 N=length(t); % 间隔个数
f=[-N/2:N/2-1]*df; % 求出 f频率的向量形式 sf=fft(st); % 快速傅里叶变换 sf=T/N*fftshift(sf); % 线性搬移
信号功率谱密度Ps(f)的线性搬移,和快速傅里叶变换。
function [out]=Fun2(d,M) N=length(d); out=zeros(1,M*N); For i=0:N-1;
out(i*M+1)=d(i+1); End
生成不归零码的预处理,先生成一个dd向量其中很多的0,是为了卷积的时候产生很多连起来的幅值一样的不归零码。
f %载波频率2Hz N %码元数 Ts 设置波特率 and/s
Dt %波形采样间隔
d=sign(randn(1,N)); %随机产生d其中的的元素是-1 和 1 gt %单极性NRZ波形
signal=conv(dd,gt); %卷积生成NRZ码,如果在这里直接随机生成
则使出现过多的0、1交替,图形看着不好看
[f,signalf]=Fun1(t,signal(1:length(t)));
signalf(signalf==0)=10^(-8); %避免log(0) 的情况,令log(0)=10^(-8)将0设置成一个很小的正数
plot(f,10*log10(abs(signalf).^2/T)); %根据功率谱密度函数的公式,画出不归零码功率谱密度图像。
ht=cos(2*pi*f*t); %载波信号
Dask=signal(1:Lt).*ht; *sk信号 [f,Daskf]=Fun1(t,Dask);
plot(f,10*log10(abs(Daskf).^2/T)); %根据功率谱密度函数的公式,画出2ask的功率谱密度图像。
在调试分析中,遇到很多函数和细节性的规则不会使用,在同学的帮助下,以及参考网上的代码,搞懂了不少以前学过的matlab的知识。
除去知识性问题外,还遇到了有关原始信号的生成问题。一开始想自己设定一个向量 如g[1 0 1 1 1 1...] ,直接自己写出,但是这样的写法不具有一般性,遂参考网上的随机生成法,通过卷积和Fun2函数生成signal即不归零码。随后的问题是函数的公式,转换基本上照应着书上的例子:如.*和.^都是很基本的运算,以及生成全1向量的ones和全零的zeros。
图像的绘制,出现了信号的顶层顶着图像的最高处,这样观察的时候不够清晰明了,遂查找资料,自己没有使用axis函数,之后定义完以后就可以清晰的看到图像了。
当然,还有很多不可避免的调试错误,但是问了同学后,在同学
的帮助了,逐渐的消除了这些错误。