《方俊实验04 时分复用与解复用.docx》由会员分享,可在线阅读,更多相关《方俊实验04 时分复用与解复用.docx(9页珍藏版)》请在三一办公上搜索。
1、HUNAN UNIVERSITY通信原理实验报告题目:实验四学生姓名方俊学生学号20110803502专业班级通信五班小型数字电话复用与解复用模块设计参照E1标准,设计一个将3路64kbps信息流合成一个基群的复用模块和相应的解复用模块, 要能观察合成或分解后信息流的一致性,演示的最小时间刻度为时隙(一次采样,即1/8000 秒)。由于采样频率8000太大,合成后频谱范围更大,matlab计算频谱的运算量很大,故减小采 样频率为400,3路合成。代码:clearfs=400;M=3;col-L b , r , g , c , m , y , k;ts1=1/fs;t1-ts1:ts1:1;ts
2、2=1/(fs*M);t2=ts2:ts2:1;a-L;for i=1:Mfor j=1:fsb(i,j)=rand(1,1)*1024;endendfor j=1:fsfor i=1:Ma=Lb(i,j),a;endendlength(a)length(t2)figure(1);plot(t2,a);title(样本时域图);A=fft(a);f1=0:fs*M-1;figure(2);plot(f1,A);%axis(0 fs*M -2 2);%axis auto;title(样本频谱图);figure(3);for i=1:Mplot(t1,b(i,:);hold on;endtitle
3、(基群时域图);f2=0:fs-1;figure(4);for i=1:MB=fft(b(i,:);plot(f2,B);hold on;endtitle(基群频域图)得到的时域频域图如下::在本实验中,我们以30路信号复用为例,进行复用与解复用的matlab的仿真实验 主函数代码:TFS=96;%总帧数;也即每路话音采样点的数量;30路话音每秒共有30*8000/16=15000个E1帧 %TFS=16*N,N=1,2,3,4,5audiovalues_in=randint(30,TFS,254);% 产生 30 路话音信号的 TFS 个样本 e1frames=zeros(30,16);%3
4、0*16 的话音数据矩阵e1streams=;%E1 帧数据流/0个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个个/0%E1复用器for i=1:TFS/16for j=1:30for k=1:16e1frames(j,k)=audiovalues_in(j,(i-1)*16+k);endende1streams=e1streams,e1mux(e1frames);end%*%E1解复用器audiovalues_out=;%用于存储E1解复用后的30路话音数据;便于与原始输入数据进行比较 i
5、f length(e1streams)/512=1%16 (帧/E1帧)*32 (时隙/帧)*1 (字节/时隙)=512字节/E1 帧for i=1:length(e1streams)/512audiovalues_out=audiovalues_out,e1demux(e1streams(i-1)*512+1:i*512);endend%*%复用器、解复用器输入/输出信号显示figure(1)x1=1:1:length(audiovalues_in);subplot(2,3,1);plot(x1,audiovalues_in);%axis(1,length(audiovalues_in)+1
6、0,-1,260);grid;title(30路话音信号时域波形);yy1=fft(audiovalues_in,1024);pyy=yy1.*conj(yy1)/1024;ff=1000*(0:512)/1024;subplot(2,3,4);plot(ff,pyy(1:513);grid;title(30路话音信号的功率谱);x2=1:1:length(e1streams);subplot(2,3,2);plot(x2,e1streams);grid;title(E1基群信号时域波形);yy2=fft(e1streams,1024);pyy=yy2.*conj(yy2)/1024;ff=1
7、000*(0:512)/1024;subplot(2,3,5);plot(ff,pyy(1:513);axis(-10,520,-1,100000);grid;title(E1基群信号的功率谱);x3=1:1:length(audiovalues_out);subplot(2,3,3);plot(x3,audiovalues_out);grid;title(解复用信号时域波形);yy3=fft(audiovalues_out,1024);pyy=yy3.*conj(yy3)/1024;ff=1000*(0:512)/1024;subplot(2,3,6);plot(ff,pyy(1:513);
8、grid;title(解复用信号的功率谱);%*%验证复用、解复用前后数据是否一致a1_in =audiovalues_in(1,:);%第一路话音的原始输入数据a1_out=audiovalues_out(1,:); %解复用后的第一路话音数据a111=1:1:TFS;%获取复用后的E1基群信号中的第一路话音数据for k=1:TFSa111(k) =e1streams(k-1)*32+2);endxx=1:TFS;%画图比较复用、解复用前后数据figure(2);%plot(xx,a1_in_out);plot(xx,a1_in,- ,xx,a1_out, * ,xx,a111,or);t
9、itle(解复用数据与复用数据、原始数据的比较图);xlabel(-:原始话音数据*:解复用后的话音数据o: E1基群信号中的话音数据);复用器函数代码:function frameout=e1mux(audioin)for i=1:16 %每个E1帧有16帧数据,即30路话音的16个采样点数据;30路话音每秒共有 30*8000/16=15000个E1帧if mod(i,2)=0 %判断奇偶帧frameout(i-1)*32+1)=12;% 给时隙 TS0 加上标志frameout(i-1)*32+17)=255;%给信令时隙TS16加上信令数据,这里固定为255;产 生仿真数据的时候使话音
10、数据小于255即可for j=2:16frameout(i-1)*32+j)=audioin(j-1,i);endfor j=18:32frameout(i-1)*32+j)=audioin(j-2,i);endelseframeout(i-1)*32+1)=95;frameout(i-1)*32+17)=255;for j=2:16frameout(i-1)*32+j)=audioin(j-1,i);endfor j=18:32frameout(i-1)*32+j)=audioin(j-2,i);endendendframeout=frameout解复用函数代码:function audio
11、out=e1demux(e1framein)if mod(length(e1framein),16*32)=0for i=1:16 %每个E1帧有16帧数据,即30路话音的16个采样点数据;30路话音每 秒共有 30*8000/16=15000 个 E1 帧for j=2:16audioout(j-1,i)=e1framein(i-1)*32+j);endfor j=18:32audioout(j-2,i)=e1framein(i-1)*32+j);endendendaudioout=audioout复用信号的时域图和功率谱图:时域波形图中,用不同的颜色表示了不同的信号,中间的时域图就是合成后
12、的波形图。 从图中可以看到,复用前的30路话音信号波形图与解复用之后的一模一样,也就是说,这是无失真的接调。从功率谱图中看,复用后的功率谱长度是复用前某一信号的功率谱长度约 30倍,这与我们的理论知识相符。实验结论:TDM和FD虬甚至是CDM是当今通信的核心技术,其中的OFD虬GS虬CDMA等技 术都将各种技术结合起来,甚至与用到伪随机序列通信。这次实验是模拟TDM,得到了复用 信号的时域频域图,可以想见复用信号的频域更宽,这是传输速率和带宽矛盾的体现同理, FDM即是在频域将信号分开,而TDM是将信号在时域分开,从中可看出FDM和TDM的某些对 称性。此次实验让我再一次认识了一些通信方面的知识,当然是最基础的最理论方面和最简 单的知识,实际上没什么用处,通过它也对matlag再次熟悉熟悉,从中也看出了 matlab 基于矩阵运算而在数字信号处理方面的力量,学习matlab还是挺重要的。