《通信原理课程设计报告(共14页).doc》由会员分享,可在线阅读,更多相关《通信原理课程设计报告(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上 鲁东大学信息与电气工程学院通信原理课程设计报告 设计题目 连续信道的仿真 班级 电信1201 姓名 张丽英 学号 指导教师 谢艳辉 摘要本次课程设计介绍了移动通信信道的基本理论,对移动通信中的衰减信道,如线性非时变信道、多径时变信道和多径非时变信道进行了分析和建模,并讨论了随参信道和恒参信道的传输特性以及对传输信号的影响。在此基础上通过MATLAB仿真软件使信号经幅频失真信道、相频失真信道和多径信道后得到输出的波形和频谱。通过MATLAB搭建仿真平台,对线性非时变信道、多径时变信道和多径非时变信道的基本方法进行了研究,就幅频响应和相频响应的变化为出发点,对比输入与输
2、出信号波形以分析总结。就幅频响应而言,是否是常数,输入信号经过信道后,频率分量衰减如何变化,输出信号是否有幅度失真。就信道的相频响应而言,相频响应是否是 ,信号经过信道后的时延性如何变化,输出信号是否产生相位失真。一、 课程设计的目的与意义(1) 理解连续信道建模仿真的原理及实验流程(2) 掌握matlab连续信道建模仿真编程并理解语句含义(3) 输出仿真图像并分析其幅频响应的变化二、 课程设计的内容(一)、线性非时变信道 1、线性非时变信道的定义 发送信号经过一个线性非时变系统 图1 线性非时变信道模型 (1) 信道的频率响应函数为 (2) 其中是信道的幅频响应,是相频响应。 当幅频响应不是
3、常数时,输入信号经过信道后,不同的频率分量衰减 不同,输出信号有幅度失真。当信道的相频响应时,信号经过信道后的时延不同,信道输出信号产生相位失真,称为信道的时延性。 2、线性非时变信道的建模仿真输入信号:,其中,。经过的信道:(1)(2);(3)当时,当时,。(相位失真 信道);(4) 3、MATLAB 程序实现:%信道失真示意clear all; %清除了所有的变量,包括全局变量close all; %关闭所有窗口 Ts=1; N_sample = 8; %每个码元的抽样点数dt = Ts/N_sample; %抽样时间间隔N = 1000; %码元数t = 0:dt:(N*N_sample
4、-1)*dt; gt1 = ones(1,N_sample); %NRZ非归零波形 数组产生1行8列的权1矩阵d = ( sign( randn(1,N) ) +1 )/2;% 产生一行1000个随机数 data = sigexpand(d,N_sample); %对序列间隔插入N_sample-1个0st1 = conv(data,gt1); %卷积后长度为8000+8-1 xt = st1; %无失真信道f,xf = T2F(t,xt); 傅里叶变换hf1 = exp(-j*pi*f); 无失真函数yf1 = xf.*hf1;t1,yt1 = F2T(f,yf1); %幅频失真信道hf2
5、= sinc(f).*exp(-j*pi*f);yf2 = xf.*hf2;t2,yt2 = F2T(f,yf2);%相频失真、群时延无失真信道f1 = find(f=0 uu(iii)=f(iii)-1; else if f(iii)0 uu(iii)=f(iii)+1; endendend %相频、群时延失真信道hf4 = exp(-j*pi*f.*f-j*pi*f+j*pi);yf4 = xf.*hf4;t4,yt4=F2T(f,yf4); figure(1)subplot(2,2,1)plotyy(f,abs(hf1),f,pi*f);ylabel(幅频、相频特性);%plot(f,a
6、bs(hf1);ylabel(幅频、相频特性);title(线性无失真信道);grid on; subplot(2,2,2)%plot(f,angle(hf1)/pi);ylabel(幅频、相频特性);plot(t1,real(yt1) );title(经过信道后的输出信号);axis(0,20,-1.2 1.2);grid on; subplot(223)plotyy(f,abs(hf2),f,pi*f);ylabel(幅频、相频特性);title(幅频失真信道);grid on; xlabel(f) subplot(224)plot(t2,real(yt2); axis(0,20,-1.2
7、 1.2);grid on;xlabel(t); figure(2)subplot(221);plotyy(f,abs(hf3),f,uu);ylabel(幅频、相频特性);title(相频失真、群时延无失真信道);grid on;subplot(222);plot(t3,real(yt3);title(经过信道后的输出信号);axis(0,20,-1.2 1.2);grid on; subplot(223)plotyy(f,abs(hf4),f,pi*(f.2+f-1);ylabel(幅频、相频特性);title(相频失真、群时延失真信道);grid on;xlabel(f);subplot
8、(224);plot(t4,real(yt4);axis(0,20,-1.2 1.2);grid on;xlabel(t); 4、仿真结果 5、仿真结果的分析数字信号无论经过幅频失真还是相频失真信道,都会对信号的接收产生影响。幅频失真影响信号中不同频率分量的接收幅度,造成接收信号幅度的畸变;相频失真影响信号中不同频率分量经过信道时的时延,造成接收信号的畸变。(二)、单频信号经过多径时变信道 1、多径时变信道的定义 发送单频信号 (3) 经过多径信道,设信道数为n,则接收信号为: (4) 其中,、是第i径的幅度、相位随时间变化而随机变化,从大 量的结果而言,、变化是缓慢的。 (5) (6)则 (
9、7)从公式(10)和(11)我们可以看出,一个单频信号经过信道数为n的多径信道会变成幅度服从瑞利分布,相位服从均匀分布的信号,且r(t)是一个高斯窄带信号。 2、多径时变信道的建模仿真一个幅度为1v、频率为10Hz的单频信号经过20条路径传输,这20条路径的衰减是一样的,但时延的大小是随机变化的,每径时延的变化规律为正弦型,变化的频率为0-2HZ随机均匀抽取。3、Matlab程序实现: %多径时变 djshb.m clear all; close all; f = 10; %输入的单频信号频率 dt = 0.01; t = 0:dt:1000; %时间 L = 20; %径数 taof =2*
10、rand(1,L); %时延变化频率变化的频率为0-2HZ随机均匀抽取。 fai0 = rand(1,L)*2*pi; %路径的初始相位 st = cos(2*pi*f*t); for i=1:L %当1至L间取值 进行循环 fai(i,: ) = sin(2*pi*taof(i)*t); s(i, : ) = cos(2*pi*f*t-fai(i,: )+fai0(i); end rt = sum(s) /L; %将信号经过20径的结果相加 igure(1) subplot(211) plot(t, st); xlabel(t); ylabel(s(t); title(输入单频信号); ax
11、is(0 2 -2.5 2.5); subplot(212) plot(t,rt); xlabel(t); ylabel(s(t); title(经过20径后接收信号); axis(0 15 -0.5 0.5); figure(2) ff sf=T2F(t,st); ff rf=T2F(t,rt); subplot(211); plot(ff,abs( sf ) ); xlabel(f); ylabel(s(f); title(输入单频信号频谱); axis(-20 20 0 5); subplot(212); plot(ff,abs( rf ) ); xlabel(f); ylabel(r(
12、f); axis(-20 20 0 30);title(多径信道输出信号频谱); 4、仿真结果5、 仿真结果的分析通过图我们可以看到,一个单频信号经过20径时变路径后,输出信号的包络会随机发生变化,但是信号的频谱会从原来在10HZ的冲击频谱变为在10HZ处的窄带频谱。6、 比较分析改变程序中的时延变化频率参数taof来改变衰落的速度,观察输出信号的变化。当taof=0.1时,MATLAB程序如下%多径时变 djshb.mclear all;close all; f = 10; %输入的单频信号频率 dt = 0.01; t = 0:dt:1000; %时间 L = 20; %径数 taof =
13、0.1*rand(1,L); %时延变化频率 fai0 = rand(1,L)*2*pi; %路径的初始相位 st = cos(2*pi*f*t); for i=1:L fai(i,: ) = sin(2*pi*taof(i)*t); s(i, : ) = cos(2*pi*f*t-fai(i,: )+fai0(i); end rt = sum(s) /L; %将信号经过20径的结果相加 figure(1) subplot(221) plot(t, st); xlabel(t); ylabel(s(t); title(输入单频信号); axis(0 2 -2.5 2.5); subplot(2
14、23) plot(t,rt); xlabel(t);ylabel(s(t);title(经过20径后接收信号); axis(0 6 -0.5 0.5); ff sf=T2F(t,st); ff rf=T2F(t,rt); subplot(222); plot(ff,abs( sf ) ); xlabel(f); ylabel(s(f); title(输入单频信号频谱); axis(-20 20 0 5); subplot(224); plot(ff,abs( rf ) ); xlabel(f); ylabel(r(f); axis(-20 20 0 30);title(多径信道输出信号频谱);
15、 输出信号的波形仿真结果分析 此时衰落的时变频率最大为0.1Hz,载频为10Hz,因此相对于输入信号而言是慢衰落情况,可以看到,此时接收信号的包络起伏是缓慢变化,但由于路径数够多,因此从长时间来看信号包络仍呈随机起伏的特点;当路径数为2时,且时延变化频率taof=100时。MATLAB程序如下:%多径时变 djshb.mclear all;close all; f = 10; %输入的单频信号频率 dt = 0.01; t = 0:dt:1000; %时间 L = 2; %径数 taof =100*rand(1,L); %时延变化频率 fai0 = rand(1,L)*2*pi; %路径的初始
16、相位 st = cos(2*pi*f*t); for i=1:L fai(i,: ) = sin(2*pi*taof(i)*t); s(i, : ) = cos(2*pi*f*t-fai(i,: )+fai0(i); end rt = sum(s) /L; %将信号经过20径的结果相加 figure(1) subplot(221) plot(t, st); xlabel(t); ylabel(s(t); title(输入单频信号); axis(0 2 -2.5 2.5); subplot(223) plot(t,rt);xlabel(t); ylabel(s(t);title(经过20径后接收
17、信号); axis(0 3 -0.5 0.5); ff sf=T2F(t,st); ff rf=T2F(t,rt); subplot(222); plot(ff,abs( sf ) ); xlabel(f); ylabel(s(f); title(输入单频信号频谱); axis(-20 20 0 5); subplot(224); plot(ff,abs( rf ) ); xlabel(f); ylabel(r(f); axis(-20 20 0 30);title(多径信道输出信号频谱); 输出信号的波形 仿真结果分析 接收包络快速起伏,但由于路径数不多,接收信号的包络呈现出周期性。(三)
18、数字信号经过多径非时变信道 1、多径非时变信道的定义 信号输入一个非单频信号时,经多径传输,输出信号为 (8)频域上看 (9)信道输入信号的不同频率分量遭受了不同的衰落,即频率选择性。 2、多径非时变信道的建模仿真三径信道: 。输入信号:,其中。 3、Matlab程序实现:%数字信号经过多径信道clear all;close all; Ts=1;N_sample = 8; %每个码元的抽样点数dt = Ts/N_sample; %抽样时间间隔N = 1000; %码元数t = 0:dt:(N*N_sample-1)*dt;dLen = length(t); gt1 = ones(1,N_sam
19、ple); %NRZ非归零波形d = ( sign( randn(1,N) ) +1 )/2;data = sigexpand(d,N_sample); %对序列间隔插入N_sample-1个0st1 = conv(data,gt1);f sf1 = T2F(t,st1(1:dLen);%3径信道m=0.5 0.707 0.5; %衰减tao = 0 1 2; %时延hf = m(1)*exp(-j*2*pi*f*tao(1) +m(2)* exp(-j*2*pi*f*tao(2)+. m(3)* exp(-j*2*pi*f*tao(3);%信号经过3径信道yt1 = m(1)*st1(1:d
20、Len)+m(2)*zeros(1,N_sample), st1(1:dLen-N_sample)+. m(3)*zeros(1,2*N_sample), st1(1:dLen-2*N_sample);f yf1 = T2F(t,yt1);figure(1)subplot(221)plot(t,st1(1:dLen),LineWidth,2);axis(20 40 0 1.2);title(输入信号);subplot(223)plot(t,yt1,LineWidth,2);axis(20 40 0 2);title(经过信道输出信号);xlabel(t);subplot(222);plot(f
21、,abs(sf1),LineWidth,2);axis(-5 5 0 300);title(输入信号幅度谱);subplot(224);plot(f,abs(yf1),LineWidth,2);axis(-5 5 0 300);title(输出信号幅度谱);xlabel(f);figure(2)subplot(211)plot(f,abs(hf),LineWidth,2);axis(-2 2 0 2);title(信道幅频特性);xlabel(f);subplot(212)plot(f,angle(hf)/pi);title(信道相频特性);xlabel(f);axis(-2 2 -1 1);
22、 4、仿真结果 5、仿真结果的分析 我们可以得出,由于是多径信道,信道幅频特性不是常数,在某些频率处会产生较大的衰落,但是对某些频率会产生较小的衰落,由此我们得出信道具有频率选择性。 三、课程设计小结本次课程设计的目的在于使我们学以致用,在学习了通信原理理论课程的基础上,结合以往的matlab编程知识,理解原程序,继而得到仿真结果。 一次成功的课程设计源于对仿真系统原理的认识,因此,仅仅在课堂上听过见过是不够的,查阅资料是本次课程设计中不可或缺的一环。我们应该选择合适的多本资料,比较相同原理的不同解释从而达到理解并应用的目的。在理解原理的基础上,对照既有的主程序和程序框图,我们应该将各个成分的
23、作用在脑海里回忆梳理,深化对连续信道建模仿真运作过程的了解,为接下来的编码做铺垫。在编码过程中,遇到错误先检查是否是拼写错误,再检查是否是函数选择错误以及是否有没有定义的参数,最后检查主程序和加入程序间的关系。在这个过程中,原本学习matlab时的微薄经验简直微不足道,很多函数的用法都是临时搜索才知道的。 本次课程设计并非同以往一样仅仅只是照书编程,而是面对几个不熟悉的题目,一开始就要做出选择,一周的时间从查资料到梳理出自己的思路,制定计划。最难的就是编程和修改,在时限内完成编程,实现仿真。有些时候,即使仿真能够进行,也不能确定程序是否按照原先的构想完成了执行。最后,我能交上一份答卷,着实不易
24、。这次课程设计的经验为最终的毕业设计做了一次模拟。 经过这次的小试炼,相信在面对今后的挑战时,我能多一分从容,少一分忐忑;多一分冷静,少一分焦躁;多一分熟练,少一分生涩。附:程序中用得到的子函数%将输入的序列扩展成间隔为M-1个0的序列function out=sigexpand(d,M)N = length(d);out = zeros(M,N);out(1,:) = d;out = reshape(out,1,M*N);function f,sf= T2F(t,st)%This is a function using the FFT function to calculate a sign
25、als Fourier Translation%Input is the time and the signal vectors,the length of time must greater than 2%Output is the frequency and the signal spectrumdt = t(2)-t(1);T=t(end);df = 1/T;N = length(st);f=-N/2*df:df:N/2*df-df;sf = fft(st);sf = T/N*fftshift(sf);function t st=F2T(f,sf)%This function calculate the time signal using ifft function for the input signals spectrumdf = f(2)-f(1);Fmx = ( f(end)-f(1) +df);dt = 1/Fmx;N = length(sf);T = dt*N;t = 0:dt:T-dt;sff = ifftshift(sf);st = Fmx*ifft(sff);专心-专注-专业
限制150内