当前位置:文档之家› 课程设计论文

课程设计论文

淮海工学院课程设计报告书课程名称:综合专业课程设计题目:数字通信系统的性能分析与仿真系(院):电子工程系学期:2011-2012-1专业班级:D通信081姓名:彭欢学号:510822108评语:成绩:签名:日期:数字通信系统的性能分析与仿真一课程设计的目的和任务本次课程设计是在学完所有专业课程后进行的综合性课程设计。

其目的是让我们在课程设计过程中能够理论联系实际,在实践中充分利用所学理论知识分析和研究设计过程中出现的各类技术问题,巩固和扩大所学知识面,为以后走向工作岗位进行设计打下一定的基础。

任务:(1)掌握一般通信系统设计的过程、步骤、要求、工作内容及设计方法;(2)训练学生综合运用专业知识的能力,提高学生进行通信工程设计的能力。

二设计步骤课程设计要求的主要步骤有:1、明确所选课题的设计目的和任务,对设计课题进行具体分析,充分了解系统的性能,指标,内容等。

2、进行方案选择。

根据掌握的知识和资料,针对系统提出的任务,要求和条件,完成系统的功能设计。

从多个方案中选择出设计合理,可靠,满足要求的一个方案。

并且对方案要不断的进行可行性和优缺点的分析,最后设计一个完整框图。

3、原理设计。

4、调试阶段。

5、说明书编制。

本次课程设计在校内完成,主要方式是以理论为主,进行实验或计算机仿真,得出结论。

三设计内容数字通信系统的性能分析与仿真。

应该包括以下设计内容:1.使用一种分组码或者卷积码进行信道纠错编码。

2.使用格雷码对数据进行映射。

3.使用MQAM进行调制,M可以是8,16,32,64,128,256.4.选择合适的升余弦函数,使用升余弦对基带信号进行滤波。

5.在解调端,进行滤波,MQAM的解调,格雷码的逆映射,纠错解码。

6.改变信噪比,分析系统性能。

四设计内容介绍MQAM是一种基本的相位----幅度联合调制方式。

研究这种基本的数字调制信号的性能可以帮助学生理解数字通信的基本特点。

如信道纠错编码使用分组码,M 必须选择数字8,16,32,64,128,256中的至少3个,以分析各种M 下的QAM 系统性能。

应用Matlab 进行仿真,仿真采用蒙特卡罗模型。

仿真的基本框图是:信号源---信道编码---映射---调制---滤波—高斯信道---滤波---解调-----逆映射-----译码---信宿信号源:基本的二进制数据流。

信道编码:可以选择卷积码,分组码。

调制:MQAM 。

M 可选择数字8,16,32,64、128、256。

在调制前使用格雷码进行映射。

信道:信号经过调制后。

通过信道。

信道可以选择高斯加性白噪声信道。

设置不同的信道信噪比,对系统进行仿真,分析不同信噪比之下的系统性能。

解调:根据调制方式,选择对应的解调方式。

译码:根据信道编码方式,选择对应的信道解码方式。

性能分析:信号经过调制,信道,解调过程。

在接受端,将得到的数据于旧的信号源数据比较,得到在特定信噪比的误码率。

改变系统信噪比,从而得到系统的误码率曲线图。

五 设计过程1.仿真模型(1)根据选择的调制信号方式,确定仿真流程及框图。

(2)确定仿真中所用的函数,模块的具体参数。

2.软件设计编写M 文件,在程序中依次改变信噪比,得到在特定信噪比下的误码率。

信噪比范围是-10dB---30dB 之间,根据得到的误码率数据,给出误码率---信噪比的曲线图。

3.仿真调试在完成设计草案后可以进行仿真,并且对所设计的系统进行修改,并同理论数据进行比较。

完成以下内容:1、选择一种在具体的信道编码,信道类型下的MQAM 的数字调制方式。

2、结合具体数字调制方式,选择四种MQAM 进行系统仿真。

3、绘出没有信道编码情况下的该数字调制系统下的误码率---信噪比曲线图。

信号源 信道编码 调制 解调 信道 译码 性能分析4、绘出有信道编码情况下的该数字调制系统下的误码率---信噪比曲线图。

5、对有无信道编码情况下的系统误码率---信噪比曲线图进行比较,并分析。

5.3.1、分组信道编码、高斯白噪声信道下的8QAM数字调制方式程序:%产生二进制整数流(图1)M=8(‘信号星座图大小为8’); %调制系数k=log2(M);n=3e4; %数据流长度nsamp=1; %采样率data=randint(n,1); %产生随机二进制数据流figure; %绘出前40个点的柱状图stem(x(1:40),'filled'); %选择向量中1到40的数据title('随机二进制数'); %标题xlabel('Bit Index'); %横坐标ylabel('Binary Value'); %纵坐标图1 随机产生的前四十个二进制数字信号产生的随机信号作为信号源的信号用于数字通信的仿真与性能分析。

%定义滤波参数(图2)nsamp=4; %采样率filtorder=40; %滤波次顺序delay=filtorder/(nsamp*2); %时延rolloff=0.25; %滚降系数rrcfilter=rcosine(1,nsamp,'fir/sqrt',rolloff,delay); %升余弦平方根滤波figure; %产生一个新窗体 impl(rrcfilter,1);图2 信号经过格雷映射之后形成的十进制数值图%分组码纠错编码genmat=[[1 0 1;0 1 1;0 1 0],eye(3)];bianma=encode(x,6,3,'linear',genmat);%准备调制,格雷码映射mapping=[0 1 3 2 4 5 7 6 12 13 15 14 8 9 11 10].';xsym=bi2de(reshape(bianma,k,length(bianma)/k).','left-msb'); xsym=mapping(xsym+1);figure; (图3)stem(xsym(1:10),'filled');title('随机符号');xlabel('符号的值');ylabel('整数值');图3 随机符号%进行8QAM调制(图4)y=qammod(xsym,M);%进行平方跟升余弦滤波ytx=rcosflt(y,1,nsamp,'filter',rrcfilter); %yj表示传送的信号eyediagram(ytx(1:2000),nsamp*2); %产生眼图图4滤波后无噪信号的眼图%加入高斯白噪声EbNo=10; % 比特信噪比snr=EbNo+10*log10(k)-10*log10(nsamp);ynoisy=awgn(ytx,snr,'measured'); %yn表示加入高斯白噪声的传送信号%滤波yrx=rcosflt(ynoisy,1,nsamp,'Fs/filter',rrcfilter);yrx=downsample(yrx,nsamp); %%欠采样函数yrx=yrx(2*delay+1:end-2*delay);%产生分布图(图5)h=scatterplot(sqrt(nsamp)*ynoisy(1:nsamp*5e3),nsamp,0,'g.');hold on;scatterplot(yrx(1:5e3),1,0,'k*',h);title('接收信号滤波');legend('滤波之前','滤波之后');axis([-5 5 -5 5]);hold off;图5 信号通过高斯滤波前后接收信号比较分布图可以看到信号在经过滤波器之后码间距离增大、性能提高。

%8QAM解调niyings=qamdemod(recive,M);%格雷码逆映射[dummy demapping]=sort(mapping);%sort对mapping排序,排序结果存在dummy中,并把dummy中的数值在mapping 中的索引给出,存在demapping中demapping=demapping-1;niyings=demapping(niyings+1);l=de2bi(niyings,'left-msb');%进制转换l=reshape(l.',prod(sile(l)),1);%分组码纠错解码l=defen(l,6,3,'linear',genmat);figure;% 产生一个新窗体stem(l(1:40),'filled');title('Random Bits'); %标题xlabel('Bit Index'); %横坐标ylabel('Binary Value');%纵坐标图 6 终端接收端得到的信号与图 1产生的随机输入信号相同,即没有误码。

%计算BER[errors,error_rate]=biterr(x,l)b.运行结果:errors =25error_rate =8.3333e-0045.3.2 使用(M=16、32、64、128)MQAM进行数字仿真。

代码:Mvec = [16 32 64 128];EbNovec = [0:2:20]; %%信噪比范围0-20,步长2 number_of_errors = zeros(length(Mvec),length(EbNovec)); bit_error_rate = zeros(length(Mvec),length(EbNovec)); %产生二进制整数流for idxM = 1:length(Mvec)for idxEbNo = 1:length(EbNovec)M = Mvec(idxM);k=log2(M);n=4.2e4;nsamp=4;x=randint(n,1);%定义滤波参数nsamp=4;filtorder=40;delay=filtorder/(nsamp*2);rolloff=0.25;rrcfilter=rcosine(1,nsamp,'fir/sqrt',rolloff,delay);%分组码纠错编码genmat=[[1 0 1;0 1 1;0 1 0],eye(3)];bianma=encode(x,6,3,'linear',genmat);%准备调制,格雷码映射Msize = Mvec(idxM);mapping = zeros(Msize);xx=0:Msize-1;yy=bitshift(xx,-1);mapping = bitxor(xx,yy);xsym = bi2de(reshape(bianma,k,length(bianma)/k).','left-msb'); xsym = mapping(xsym+1);%进行16QAM调制y=qammod(xsym,M);%进行平方跟升余弦滤波ytx=rcosflt(y,1,nsamp,'filter',rrcfilter);%加入高斯白噪声EbNo = EbNovec(idxEbNo);snr=EbNo+10*log10(k)-10*log10(nsamp);ynoisy=awgn(ytx,snr,'measured');yrx=ynoisy;%滤波yrx=rcosflt(ynoisy,1,nsamp,'Fs/filter',rrcfilter);yrx=downsample(yrx,nsamp);yrx=yrx(2*delay+1:end-2*delay);%16QAM解调zsym=qamdemod(yrx,M);%格雷码逆映射[dummy demapping]=sort(mapping);demapping=demapping-1;zsym=demapping(zsym+1);z=de2bi(zsym,'left-msb');z=reshape(z.',prod(size(z)),1);%分组码纠错解码z=decode(z,6,3,'linear',genmat);%计算BER[number_of_errors(idxM,idxEbNo),bit_error_rate(idxM,idxEbNo)] = ...biterr(x,z);endmarkerchoice = '.*oP';plotsym = [markerchoice(idxM) '-'];semilogy(EbNovec,bit_error_rate(idxM,:),plotsym);drawnow;hold on;endtitle('不同M值的M-QAM');xlabel('EbNo (dB)'); ylabel('误码率');legend('M = 16','M = 32','M = 64','M = 128','Location','SouthWest');5.3.3 对有和无信道编码情况下的系统误码率—信噪比曲线图进行比较,并分析。

相关主题