资源描述:
《实验04 分复用与解复用.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、HUNANUNIVERSITY通信原理实验报告题目:实验四学生姓名谢韬韬学生学号20110803509专业班级通信五班小型数字电话复用与解复用模块设计参照E1标准,设计一个将3路64kbps信息流合成一个基群的复用模块和相应的解复用模块,要能观察合成或分解后信息流的一致性,演示的最小时间刻度为时隙(一次采样,即1/8000秒)。由于采样频率8000太大,合成后频谱范围更大,matlab计算频谱的运算量很大,故减小采样频率为400,3路合成。代码:clearfs=400;M=3;col=['b','r','g
2、','c','m','y','k'];ts1=1/fs;t1=ts1:ts1:1;ts2=1/(fs*M);t2=ts2:ts2:1;a=[];fori=1:Mforj=1:fsb(i,j)=rand(1,1)*1024;endendforj=1:fsfori=1:Ma=[b(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(
3、0fs*M-22);%axisauto;title('样本频谱图');figure(3);fori=1:Mplot(t1,b(i,:));holdon;endtitle('基群时域图');f2=0:fs-1;figure(4);fori=1:MB=fft(b(i,:));plot(f2,B);holdon;endtitle('基群频域图')得到的时域频域图如下::在本实验中,我们以30路信号复用为例,进行复用与解复用的matlab的仿真实验主函数代码:TFS=96;%总帧数;也即每路话音采样点的数量;30路
4、话音每秒共有30*8000/16=15000个E1帧%TFS=16*N,N=1,2,3,4,5......audiovalues_in=randint(30,TFS,254);%产生30路话音信号的TFS个样本e1frames=zeros(30,16);%30*16的话音数据矩阵e1streams=[];%E1帧数据流%****************************************************************************%%E1复用器fori=1:TFS/1
5、6forj=1:30fork=1:16e1frames(j,k)=audiovalues_in(j,(i-1)*16+k);endende1streams=[e1streams,e1mux(e1frames)];end%****************************************************************************%%E1解复用器audiovalues_out=[];%用于存储E1解复用后的30路话音数据;便于与原始输入数据进行比较iflength(e
6、1streams)/512>=1%16(帧/E1帧)*32(时隙/帧)*1(字节/时隙)=512字节/E1帧fori=1:length(e1streams)/512audiovalues_out=[audiovalues_out,e1demux(e1streams((i-1)*512+1:i*512))];endend%****************************************************************************%%复用器、解复用器输入/输出信号显示
7、figure(1)x1=1:1:length(audiovalues_in);subplot(2,3,1);plot(x1,audiovalues_in);%axis([1,length(audiovalues_in)+10,-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))
8、;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=1000*(0:512)/1024;subplot(2,3,5);plot(ff,pyy(1