通信专业综合课程设计_第1页
通信专业综合课程设计_第2页
通信专业综合课程设计_第3页
通信专业综合课程设计_第4页
通信专业综合课程设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、专业综合课程设计指导书班 级通信D101指导教师董自健淮海工学院电子工程学院通信工程系2013年10月18日一、课程设计的目的和任务本次课程设计是根据“通信工程专业培养计划”要求而制定的。综合课程设计是通信工程专业的学生在学完所有专业课后进行的综合性课程设计。其目的在于使学生在课程设计过程中能够理论联系实际,在实践中充分利用所学理论知识分析和研究设计过程中出现的各类技术问题,巩固和扩大所学知识面,为以后走向工作岗位进行设计打下一定的基础。课程设计的任务是: ( 1)掌握一般通信系统设计的过程、步骤、要求、工作内容及设计方法;掌握用计算机仿真通信系统的方法。( 2)训练学生综合运用专业知识的能力

2、,提高学生进行通信工程设计的能力。二、教学要求由于是专业综合性课程设计,因此设计的内容应该围绕主干专业课程,如:通信原理、程控交换技术、传输设备,通信网点等。课程设计要求的主要步骤有:1、 明确所选课题的设计目的和任务,对设计课题进行具体分析,充分了解系统的性能、指标、内容等。2、 进行方案选择。根据掌握的知识和资料,针对系统提出的任务、要求和条件,完成系统的功能设计。从多个方案中选择出设计合理、可靠、满足要求的一个方案。并且对方案要不断进行可行性和优缺点的分析,最后设计出一个完整框图。3、原理设计;4、调试阶段;5、说明书编制。本次课程设计在校内完成,主要方式是以理论设计为主,进行实验或计算

3、机仿真,得出结论。三、设计内容本次综合课程设计内容为数字通信系统的性能分析与仿真。应该包括以下设计内容:1、使用一种分组码或者卷积码进行信道纠错编码。2、使用格雷码对数据进行映射。3、使用 MQAMI行调制,M可选择 8、16、32、64、128、25&4、选择合适的升余弦参数,使用升余弦对基带信号举行滤波。5、在解调端,进行滤波、MQAM6解调、格雷码逆映射、纠错解码。6、改变信噪比,分析系统性能。四、设计内容介绍:MQAM 是一种基本的相位幅度联合调制方式。研究这种基本的数字调制信号的性能可以帮助学生理解数字通信的基本特点。本次课程设计,学生可以自己选择符合要求的技术,如信道纠错编

4、码可以是分组码或者卷积码, M 必须选择数字8、 16、 32、 64、 128、 256 中的至少 3个,以分析各种 M 下的 QAM 系统性能。应用 Matlab 进行仿真,仿真采用蒙特卡罗模型。仿真基本框图是:其中:信号源:基本的二进制数据流。信道编码:可以选择分组码、卷积码等。调制:MQAM , M必须选择数字8、16、32、64、128、256中的至少3个。在 调制前使用格雷码进行映射。信道:信号经过调制以后,通过信道。信道可以选择高斯加性白噪声信道、 二进制对称信道、多径瑞利(Rayleigh)衰落信道、莱斯(Rician) 衰落信道等。设置不同的信道信噪比,对系统进行仿真,分析不

5、同 信噪比情况下的系统性能。解调:根据调制方式,选择对应的解调方式。译码:根据信道编码方式,选择对应的信道解码方式。性能分析:信号经过调制、信道、解调过程。在接收端,将得到的数据与 原始信号源数据比较,得到在特定信噪比下的误码率。改变系统信 噪比,从而得到系统的误码率曲线图。五、设计过程:1仿真模型(1)根据选择的调制信号形式,确定仿真框图。(2)设置模型中各模块的具体参数。2软件设计编写M文件。在程序中,依次改变信噪比,得到在特定信噪比下的误码率。 信噪比范围是可以是-10dB20dB之间,步长为2dB。根据得到的误码率数据, 绘出误码率一信噪比曲线图。3仿真调试在完成设计草案后可进行仿真,

6、并对所设计的系统进行修改。并同理论数 据进行比较。要求完成:1、选择一种具体的数字调制方式。2、结合具体数字调制方式,分别选择三种 MQAM进行系统仿真。3、绘出没有信道编码情况下的数字调制系统误码率一信噪比曲线图。4、绘出有信道编码情况下的数字调制系统误码率一信噪比曲线图。5、对有和无信道编码情况下的系统误码率一信噪比曲线图进行比较,并 分析。六、设计提交的成果材料提交设计说明书一份,内含任务中涉及的各种仿真框图、参数数据、有关 程序,仿真曲线图。并就设计过程做出总结。七、教学时间安排根据课程大纲要求 60学时计划,本设计安排如下:时间安排:1719周(2011年1月6日2014年1月24日

7、)教学内容学时地点备注集中学习、布置任务0. 5天教室授课1教室资料查阅、分析讨论, 确定方案3.5天图书馆、实验室、教室设计系统仿真模型4天图书馆、实验室、教室编程及调试3天实验室写设计报告2天图书馆、教室设计验收、总结1天教室选题要求:应该包含上述设计要求的全部步骤。作息时间:上午8: 3011: 30下午2: 004: 30设计地点: 图书馆、电子系实验室、教室答疑地点: M-409八、成绩考核通信专业综合课程设计综合以下几个方面进行考核:1)、平时表现;2)、答辩及课题完成情况;3)、说明书(设计报告)完成情况;参考分数比例:(1)平时表现:35分(2)答辩及课题完成情况:30分(3)

8、设计报告:30分附:通信专业综合课程设计指导讲稿Modulating a Random Signal(BER)。下面是仿真过程中所遇到的问题和相应的函数。系统使用(AWGN )信道产生随机二进制数据流使用16-QAM调制加性高斯白噪声产生数据分布图使用16-QAM解调计算误码率16-QAM(正教幅度) 和高斯randint qammodawgn scatterplot qamdemod biterr问题:二进制数据流通过一个包含基带调制、信道、解调的系统,计算误码率1.产生随机二进制数据流.在MATLAB中,一般用向量(vector )或者矩阵(matrix)来表示数据.下面使用randint

9、函数产生一个列向量来表示数据流。数据流 长度选择为30,000。注意:在MATLAB中并没有严格的时间概念。下面的代码还产生数据流中部分数据的柱状图。由于产生数据的随机性,一般你们每个人运行结果有可能不一样。注意使用(:)操作符来选择向量中的部分数据。% Define parameters.M = 16; % Size of signal constellationk = 10g2(M); % Number of bits per symboln = 3e4; % Number of bits to processnsamp = 1; % Oversampling ratex = randin

10、t(n,1); % Random binary data stream% Plot first 40 bits in a stem plot.stem(x(1:40),'filled');title('Random Bits');xlabel('Bit Index'); ylabel('Binary Value');2.准备调制. 准备使用qammod函数来进行 16-QAM 调制.但是qammod接收的是015之间的整 数,而不是4bits。因此在进行调制前必须对二进制数据进行处理。使用 MATLAB 中 reshape函数,然

11、后使用 bi2de函数来转换4bits到一个整数。% Bit -to-Symbol Mapping% Convert the bits in x into k-bit symbols. xsym = bi2de(reshape(x,k,length(x)/k).','left -msb');% Stem Plot of Symbols% Plot first 10 symbols in a stem plot.figure; % Createnew figure window. stem(xsym(1:10);title('Random Symbols'

12、);xlabel('Symbol Index'); ylabel('Integer Value'); IE x|File Fehr 廿 is 网 Jncerir t门口k 口 pwkrcp wnndnv HelpIs 5号JtefE3 . 进彳T 16-QAM调制. % Modulation % Modulate using 16-QAM. y = qammod(xsym,M);结果是有个复向量,是 16点QAM星座图中的一个。下面的出现会绘出星座图。To learn more about modulation functions, see Modulation

13、. Also, note that the qammod function does not apply any pulse shaping. To extend this example to use pulse shaping, see Pulse Shaping Using a Raised Cosine Filter. For an example that uses rectangular pulse shaping with PSK modulation, see basicsimdemo.4 .加入高斯白噪声。使用 awgn函数。比特能量和噪声的功率谱比值Eb/N0定为10dB.

14、% Transmitted Signal ytx = y;% Send signal over an AWGN channel.EbNo = 10; % In dBsnr= EbNo + 10*log10(k) - 10*log10(nsamp);ynoisy = awgn(ytx,snr,'measured');% Received Signal yrx = ynoisy;5 .产生分布图. 使用scatterplot函数来显示接收信号,并显示噪声对信号分布的影响。图中,行坐标为信号的同相位分量( n-phasecomponent),纵坐标为正交分量% Scatter Plo

15、t% Create scatter plot of noisy signal and transmitted% signal on the sameaxes.h = scatterplot(yrx(1:nsamp*5e3),nsamp,0,'g.'); hold on;scatterplot(ytx(1:5e3),1,0,'k*',h);title('Received Signal');legend('Received Signal','Signal Constellation');axis( -5 5 -5 5)

16、; % Set axis ranges. hold off;Ficjure 3; Scattrr Plothie tdn insert Tools Desktop wintfow HelpReceived SignalalnlEIr-Phate6. 16-QAM 解调。% Demodulation% Demodulate signal using 16-QAM.zsym = qamdemod(yrx,M);7. 把整数信号转换为二进制,使用de2bi函数以及reshape函数% Symbol-to-Bit Mapping% Undo the bit-to-symbol mapping perf

17、ormed earlier.z= de2bi(zsym,'left -msb'); % Convert integers to bits.% Convert z from a matrix to a vector.z= reshape(z.',prod(size(z),1);8. 计算系统BER。% BER Computation% Compare x and z to obtain the number of errors and % the bit error rate.number_of_errors,bit_error_rate = biterr(x,z)这些数

18、值可以在MATLAB的命令窗口中显示出来。number_of_errors = 71 bit_error_rate = 0.0024Plotting Signal Constellations上面的例子虽然表示了信号的坐标,但是并没有直接表示QAM的系统星座图应该是什么形式。下面的程序完成这项任务。M = 16; % Number of points in constellationintg = 0:M -1.' % Vector of integers between 0 and M-1 pt = qammod(intg,M); % Vector of all points in c

19、onstellation scatterplot(pt);引-Fiqure 1: Scatter PlotFilr Edit Vievw Tn-seirt Took Desktop Wiridow HelpK(_mi piut-3-2-1 n »23卜i1-Fh口堂已3.对上图中的点进行命名来反映映射。也就是反映intg和pt之间的关系,命名的显示坐标紧靠星座图点,但稍有点偏移以免重叠。(dec2bin函数产生数字信号的二进制字符串,而de2bi函数产生一个数字信号的二进制向量)% Include text annotations that number the points.tex

20、t(real(pt)+0.1,imag(pt),dec2bin(intg);axis(-4 4-4 4); % Change axis so all labels fit in plot.刈口即 中Fiqiure 1: 6cdtt:er PlotFile Ede view insert Tool? Desktop 惘口寸匿EEMEnoa*0100-10007 3*001*0101*100111D1-noiaoi ioio inII IO011L*cmW11.*1111-20JA曰Etw pintin-Pha 5 e检查这个图,可以发现:0001和0010是相邻的星座图点,它们之间的汉明距离为2

21、。可以使用格雷码进行处理,使得相邻星座图点的汉明距离为1。-|D1 xjGray-Coded 16-QAM Signal ConstellationFigure ?:弓币It产r PlnfFile Ed:t View Ins&rt T 廿 N* DeekJtcp Window HalpScatter plot 格雷码(又叫循环二进制码或反射二进制码)介绍-1,mo01001100looim*010115 QI41(301001101111111“31001 口1*01101*1110n*1010-20In-Phase在数字系统中只能识别 0和1,各种数据要转换为二进制代码才能进行处理,

22、格雷码 是一种无权码,采用绝对编码方式,典型格雷码是一种具有反射特性和循环特性的单步自 补码,它的循环、单步特性消除了随机取数时出现重大误差的可能,它的反射、自补特性 使得求反非常方便。格雷码属于可靠性编码,是一种错误最小化的编码方式,因为,自然 二进制码可以直接由数/模转换器转换成模拟信号,但某些情况,例如从十进制的3转换成4时二进制码的每一位都要变,使数字电路产生很大的尖峰电流脉冲。而格雷码则没有这 一缺点,它是一种数字排序系统,其中的所有相邻整数在它们的数字表示中只有一个数字 不同。它在任意两个相邻的数之间转换时,只有一个数位发生变化。它大大地减少了由一 个状态到下一个状态时逻辑的混淆。

23、另外由于最大数与最小数之间也仅一个数不同,故通 常又叫格雷反射码或循环码。下表为几种自然二进制码与格雷码的对照表:十进制数 自然二进制数 格雷码 十进制数 自然二进制数 格雷码0 0000 00001 0001 00012 0010 00113 0011 00104 0100 01105 0101 01116 0110 01017 0111 01008 1000 110091001 110110 1010 111111 1011 111012 1100101013 1101 101114 1110100115 1111 1000不二次制格西口为 JtG-q555其对应的自然二进制理为 旦i-l

24、区17 - - -异或运算.J相同为。具小 晨昌I粒保留47 =相异为1其也各假 培7 =07 由耳,fl-1例 一进制格田码为自然一进制码为int x)static unsigned int DecimaltoGray(unsigned returnxA(x>>1);/以上代码实现了 unsigned int 型数据到格雷码的转换,最高可转换32位自然二进制码,超出 32位将溢出。static int DecimaltoGray(int x)31位自然二 return xA(x>>1); 以上代码是用C实现了 int型数据到格雷码的转换,最高可转换进制码,超出 31

25、位将溢出。% Modified Plot, With Gray CodingM = 16; % Number of points in constellationintg = 0:M -1.'mapping = 0 1 32457612 1315 148911 10.'intgray = mapping(intg+1);pt = qammod(intgray,M); % Vector of all points in constellation scatterplot(pt); % Plot the constellation.% Include text annotation

26、s that number the points.text(real(pt)+0.1,imag(pt),dec2bin(intg);axis( -4 4 -4 4); % Change axis so all labels fit in plot.Incorporating Gray Coding1. 修改比特到符号的映射,对上面的例子的相关代码使用下面的代码代替:% Bit -to -Symbol Mapping% Convert the bits in x into k-bit symbols, using% Gray coding.% A. Define a vector for map

27、ping bits to symbols using% Gray coding. The vector is specific to the arrangement% of points in a 16-QAM constellation.mapping =0 1 32457612 13 15 1489 11 10.'% B. Do ordinary binary -to-decimal mapping.xsym = bi2de(reshape(x,k,length(x)/k).','left -msb');% C. Map from binary coding

28、 to Gray coding.xsym = mapping(xsym+1);2. 修改符号到比特的映射使用下列代码代替上面例子中相应的代码。% Symbol -to -Bit Mapping% Undo the bit-to -symbol mapping performed earlier.% A. Define a vector that inverts the mapping operation.dummy demapping = sort(mapping);%sort 对 mapping 排序,排序结果存在dummy 中,并把dummy 中的数值在 mapping 中的索引给出,存在

29、 demapping中!% Initially, demapping hasvalues between 1 and M.% Subtract 1 to obtain values between 0 and M-1.demapping = demapping - 1;% B. Map between Gray and binary coding.zsym = demapping(zsym+1);% C. Do ordinary decimal -to-binary mapping.z = de2bi(zsym,'left -msb');% Convert z from a m

30、atrix to a vector. z= reshape(z.',prod(size(z),1);帕 1ngMnapping(3)_ 口/佃。, 二3denappgC4 丁 d且m邛ptng |2sym+l) a J*iPulse Shaping Using a Raised Cosine Filter问题:修改格雷码调制例子,使用平方根升余弦滤波器对基带信号滤波。1 .定义滤波器参数在初始化阶段,使用下列彳t码替换过采样率nsamp:nsamp = 4; % Oversampling rate同时定义滤波器的阶数,滤波器的传输延迟,滚降系数等% Filter Definition%

31、 Define filter - related parameters.filtorder = 40; % Filter orderdelay = filtorder/(nsamp*2); % Group delay (# of input samples)rolloff = 0.25; % Rolloff factor of filter2 .产生一个平方根升余弦滤波器。% Createa squareroot raised cosine filter.rrcfilter = rcosine(1,nsamp,'fir/sqrt',rolloff,delay);% Plot i

32、mpulse response.figure; impz(rrcfilter,1);3 .对调制信号进行滤波。使用下列代码取代上例中相应的代码:% Transmitted Signal% Upsample and apply square root raised cosine filter.ytx = rcosflt(y,1,nsamp,'filter',rrcfilter);% Create eye diagram for part of filtered signal.eyediagram(ytx(1:2000),nsamp*2);rcosflt函数对调制信号进行过采样,过

33、采样比例为nsamp下图是对滤波以后无噪信号的眼图,这张图可以表示脉冲成型滤波对信号的影响。这张图中可以明显看出存在码间干扰(ISI),因为滤波器是严格平方根升余弦,而不是一个升余弦滤波器4 .接收信号的滤波% Received Signal% Filter received signal using squareroot raised cosine filter.yrx = rcosflt(ynoisy,1,nsamp,'Fs/filter',rrcfilter);yrx = downsample(yrx,nsamp); % Downsample.yrx = yrx(2*de

34、lay+1:end -2*delay); % Account for delay.使用相同的平方根升余弦函数对接收信号进行滤波,然后对信号继续欠采样。最后严格命 令去掉开始的2*delay个符号和最后的2*delay个符号5 .重新画分布图。把滤波前后的接收信号进行比较。使用下列代码进行代替原来的代码% Scatter Plot % Createscatterplot of received signal before and% after filtering.h = scatterplot(sqrt(nsamp)*ynoisy(1:nsamp*5e3),nsamp,0,'g.'

35、;);hold on;scatterplot(yrx(1:5e3),1,0,'kx',h);title('Received Signal, Before and After Filtering');legend('Before Filtering','After Filtering');axis(-5 5 -5 5); % Set axis ranges.注意第一个画图命令使用了sqrt(nsamp),这是因为滤波命令改变了信号的功率。d Figure 5: Scatter Plot-Iqi x|Rie Edt View Insert Took &esidtop Window Help 工Reteived Signal,日4。伯 and Mar Filtering巴3EPEncsIn-PhareUsing a Convolutional Code下面的例子在信号发送前进行卷积编码使用convene和vitdec函数来分别进行卷积和解卷积。同时使用 poly2trellis函数来定义一 个迹 (trellis)来表示卷积编码器 下面的例子是对升余弦滤波器例子的修改1 .增加符号的个数由于卷积编码在这个水平的EbNo值时显著减少了 BER,因此为了活动足够多

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论