通信原理仿真实验

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验报告实验名称通信原理仿真实验课程名称通信原理姓名成绩班级学号日期2011/12/11地点电子楼、综合实验楼备注:1.实验目的学生通过自己设计及建立通信系统,掌握通信系统的构成原理、信号传输的概念,加深对通信系统及信号的认识,提高学生的实际应用、动手能力。要求学生经过课程设计这一教学环节学会应用MATLAB软件来实现信号传输中的各个基本环节。学会利用TX-6型通信原理教学实验系统对各种通信过程进行仿真,加深对通信技术的理解。2.实验环境(软件、硬件及条件)Windows2000/XP;MATLAB6.xorabove;TX-6型通信原理教学实验系统3.实验方法一、MatLab仿真部分1、计算出以下信号的幅度谱与相位谱,并比较它们的差异。答:对两幅图像分别进行离散傅立叶变换(FFT),然后画出其频域图和相位图,并进行比较。注意进行傅立叶变换时在频域上补零。2、某一信源的字符集为X={x1、x2、……、x9},对应的概率向量为p=(0.2、0.15、0.13、0.12、0.1、0.09、0.08、0.07、0.06)。为该信源设计一Huffman码,并计算其平均码长,并与该信源的熵做比较。答:哈夫曼编码的一般步骤如下:(1)首先统计信源中各符号出现的概率,按符号出现的概率从大到小排序。(2)把最小的两个概率相加合并成新的概率,与剩余的概率组成新的概率集合。(3)对新的概率集合重新排序,再次把其中最小的两个概率相加,组成新的概率集合,如此重复-111121进行,直到最后两个概率的和为1。(4)分配码字。码字分配从最后一步开始反向进行。平均码长l=sum(p.*ll);其中p为各码字出现概率,ll为编码后的码字长度;信源熵hh=sum(p.*(-log2(p)));;编码效率t=hh/l。3、利用FIR线性相位滤波器模拟一低通带限信道。该信道在|f|≤3000Hz通带内有1/2dB的起伏,在|f|≥3500Hz内有-40dB的衰减。画出其冲激响应和频率响应。答:本题采用FIR滤波器的切比雪夫近似(Remez算法)实现。4、综合实验(1)给出一长度为N(自定义),0、1等概率出现的数字序列a。(2)将序列a转化为码元速率为10bps的单极性归零、单极性不归零,双极性归零、双极性不归零四种二进制基带波形,并绘出四种波形的频谱。(3)将序列a转化为AMI与HDB3编码。(4)利用(2)的结论,将序列a分别转化为ASK、FSK和PSK调制波形,并绘出相应的频谱。(其中,ASK、PSK的载波频率为100Hz。FSK的载波频率分别为100Hz,200Hz。PSK相位、采样频率自选)。(5)利用非相干解调方式,解调(4)中的ASK、FSK信号。利用相干解调方式,解调(4)中PSK信号,同时调整本地载波初始相位,观察“π相位模糊”现象。(6)在调制信号中混入可控的白噪声,重新观察(5)的解调结果。答:(1)利用unidrnd函数即可实现;(2)单/双极性码:单极性码是用电平1来表示二元信息中的‘1’,用电平0来表示二元信息中的0,电平在整个码元的持续时间里保持不变,记做NRZ码。双极性码与单极性码的区别仅在于它用电平-1来表示二元信息中的‘0’;非归零/归零码:归零码与非归零码的区别仅在于,非归零码在整个码元持续时间内保持电平值不变,而归零码的码元持续时间的前一半时间内保持,而后一半时间内回到0.对变换后的子图进行FFT即可得到频谱图。(3)AMI码、HDB3码:AMI码是传号交替反转码。其编码规则是将消息码中的“1”交替变成“+1”和“-1”,将消息码中的“0”仍保持为“0”。HDB3码的全称是3阶高密度双极性码。首先将信息码变换成AMI码,然后检查AMI码中连0的情况,没有发现4个以上连0的码元串时码型不需变换,仍为AMI码的形状。若发现4个以上连0的码元串时,则根据相应规则把第四个0变换成相应符号。(4)2ASK信号的产生方法通常有两种:模拟调制和键控法。解调有相干解调和非相干解调。P=1时f(t)=Acoswt;p=0时f(t)=0;其功率谱密度是基带信号功率谱的线性搬移一个2FSK信号可以看成是两个不同载波的2ASK信号的叠加。其解调和解调方法和ASK差不多。2FSK信号的频谱可以看成是f1和f2的两个2ASK频谱的组合。2PSK以载波的相位变化作为参考基准的,当基带信号为0时相位相对于初始相位为0,当基带信号为1时相对于初始相位为180°。(5)PSK信号解调应该是根据已调制信号的相位信息来恢复调制波,要得到信号的准确相位信息,就必须用与载波同频率的参考信号解调,如果参考信号的频率和载波频率存在频率误差△f,由于相位是频率的积分,那么解调时累积的相位误差△θ会随时间的变化越来越大,产生严重的π相位模糊,直到不可接受。(6)利用randint函数加入高斯噪声。4.实验分析1、两图的频谱图一致,如下图:图1而时域上的平移会造成相位谱的差异,如下图:图2时域上平移1t,相应的相位会乘上一个1jwte,故会产生如上图所示差异。2、运行结果:pleaseinputanumber:[0.20.50.3]p=0.20000.50000.3000q=0.20000.30000.5000l=132a=132000q=0.50000.50001.0000l=123a=132120c=001c=0001c=00001c=000101c=0001101h=00ll=2h=001ll=21h=00101ll=212huffmancode:h=00101thehuffmaneffciency:t=0.9903l=1.5000%平均码长hh=1.4855%信源熵平均码长十分接近信源熵,编码效率t=hh/l=0.9903。3、冲击响应:图3频率响应:图4在|f|≤3000Hz通带内有1/2dB的起伏,在|f|≥3500Hz内有-40dB的衰减。4、单极性不归零波:图5单极性归零波:图6双极性不归零波:图7双极性归零波:图8AMI码的实现:functiony=AMI(x)grid=300;t=0:1/grid:length(x);i=1;if(x(i)==1)forj=1:gridy(j)=1;h=1;endelseforj=1:gridy(j)=0;endendfori=2:length(x)if(x(i)==1)ifh==1forj=1:gridy(grid*(i-1)+j)=-1;h=-1;endelseifh==-1forj=1:gridy(grid*(i-1)+j)=1;h=1;endendendelseforj=1:gridy(grid*(i-1)+j)=0;endendendy=[y,x(i)];M=max(y);m=min(y);plot(t,y);axis([0,i,m-0.1,M+0.1]);图93HDB码的实现:a=10;rn=r-1;%每个元素减1变为(0,1)二值随机数列rn=[1,rn];%跟书上一致,从1开始随机产生离散均匀二值分布(1,2),共a个ori=rn;%将原序列保存起来,便于后面解码后比较oril=1;fork=1:a-3ifabs(rn(k))==1m=rn(k);%m记录可能存在的连续4个0前面非零码元的符号endifrn(k)==0ifrn(k+1)==0ifrn(k+2)==0ifrn(k+3)==0%检测是否连续4个码元都是0rn(k+3)=2*m;%用2表示书上的Vendendendendendrn;%插入V(2)后checkedl=1;%l=1表示两个V之间有偶数个非零码,0是偶数,所以初始为1,l=-1表示两个V之间有奇数个非零码fors=1:aifabs(rn(s))==2ford=s+1:aifabs(rn(d))==1%V之间的非零码只有+1,-1遇到一个一使l变一次号,表示偶数或奇数l=-l;endifabs(rn(d))==2ifl~=1l=1;%不需要插入B时若检测到V也应把计数器清零%最初版本的升级处1else%检测到下一个V时,若为偶数个,则插入Brn(d-3)=3*(-(rn(d-4))/(abs(rn(d-4))));%3代表B,插入不带符号的Brn(d:a)=-rn(d:a);end%V后的符号再交替endendendendrn%到此处完成了插入不带符号的B%fors=1:a%ifabs(rn(s))==3%找到B%rn(s)=rn(s)*(-(rn(s-1))/(abs(rn(s-1))));%B(3)与前一个位置的带符号的归一值相乘再取反,实现符号B(3)的极性与前一非符号的相反%B后面第三个就是接下来的V,从它开始非零码正负号交替变化%end%endHDB=rn;%给B(3)添加了符号,并且实现了V后的符号再交替HDB%以上便实现了HDB3的编码ori=100-1-10-10-1-10rn=100-1-10-10-1-10HDB=100-1-10-10-1-10ASK调制与解调:图10FSK调制与解调:图11PSK调制与解调:图125.实验结论二、硬件仿真部分硬件仿真部分实验波形图①数字基带信号②数字调制③模拟锁相环与载波同步④数字解调与眼图⑤帧同步S-INGAL÷24FS-OUT帧同步器信号波形⑥数字锁相环与位同步数字鉴相器波形uiu1u2u3NOu4u5NC-2u6uOu’ONONO+1NONONO2NON’dNd18254B0开始计数NC-38254B1开始计数NO/2+Nd-11NONO捕获过程波形⑦时分复用通话与抽样原理时分复用数字基带通信系统附(软件仿真相关代码):1.function[M,m,df]=fftseq(m,ts,df)fs=1/ts;ifnargin==2n1=0;elsen1=fs/df;endn2=length(m);n=2^(max(nextpow2(n1),nextpow2(n2)));M=fft(m,n);m=[m,zeros(1,n-n2)];df=fs/n;df=0.01;fs=10;ts=1/fs;t=[-5:ts:5];x1=zeros(size(t));x1(41:51)=t(41:51)+1;x1(52:61)=ones(size(x1(52:61)));x2=zeros(size(t));x2(51:71)=x1(41:61);[X1,x11,df1]=fftseq(x1,ts,df);[X2,x21,df2]=fftseq(x2,ts,df);X11=X1/fs;X21=X2/fs;f=[0:df1:df1*(length(x11)-1)]-fs/2;plot(f,fftshift(abs(X11)))figureplot(f(500:525),fftshift(angle(X11(500:525))),f(500:525),fftshift(angle(X21(500:525))),'--')2.p=input('pleaseinputanumber:')%提示输入界面n=length(p);fori=1:nifp(i)0fprintf('\nTheprobabilitiesinhuffmancannotlessthan0!\n');p=input('pleaseinputanumber:')%如果输入的概率数组中有小于0的值,则重新输入概率数组endendifabs(sum(p)-1)0fprintf('\nThesumoftheprobabilitiesinhuffmancanmorethan1!\n');p=input('pleaseinputanumber:')%如果输入的概率数组总和大于1,则重新输入概率数组endq=p;a=zeros(n-1,n);%生成一个n-1行n列的数组fori=1:n-1[q,l]=sort(q)%对概率数组q进行从小至大的排序,并且用l数组返回一个数组,该数组表示概率数组q排序前的顺序编号a(i,:)=[l(1:n-i+1),zeros(1,i-1)]%由数组l构建一个矩

1 / 35
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功