学生实验报告书2014年4月27日序号(学号):实验一:AWGN信道中BPSK调制系统的BER仿真计算一、实验目的1.掌握二相BPSK调制的工作原理2.掌握利用MATLAB进行误比特率测试BER的方法3.掌握AWGN信道中BPSK调制系统的BER仿真计算方法二.实验内容利用仿真程序在MATLAB环境下完成AWGN信道中BPSK调制系统的BER仿真计算,得到仿真结果,写出实验小结,完成实验报告。三.实验仪器:计算机matlab软件四、实验原理在数字领域进行的最多的仿真任务是进行调制解调器的误比特率测试,在相同的条件下进行比较的话,接收器的误比特率性能是一个十分重要的指标。误比特率的测试需要一个发送器、一个接收器和一条信道。首先需要产生一个长的随机比特序列作为发送器的输入,发送器将这些比特调制成某种形式的信号以便传送到仿真信道,我们在传输信道上加上一定的可调制噪声,这些噪声信号会变成接收器的输入,接收器解调信号然后恢复比特序列,最后比较接收到的比特和传送的比特并计算错误。误比特率性能常能描述成二维图像。纵坐标是归一化的信噪比,即每个比特的能量除以噪声的单边功率谱密度,单位为分贝。横坐标为误比特率,没有量纲。五.实验步骤①运行发生器:通过发送器将伪随机序列变成数字化的调制信号。②设定信噪比:假定SNR为mdB,则Eb/N0=10,用MATLAB假设SNR单位为分贝。③确定Eb④计算N0⑤计算噪声的方差σn⑥产生噪声:因为噪声具有零均值,所以其功率和方差相等。我们产生一个和信号长度相同的噪声向量,且该向量方差为σn。⑦加上噪声,运行接收器⑧确定时间延迟⑨产生误差向量⑩统计错误比特:误差向量“err”中的每一个非零元素对应着一个错误的比特。最后计算误比特率BER:每运行一次误比特率仿真,就需要传输和接收固定数量的比特,然后确定接收到的比特中有多少错误的。使用MATLAB计算BER:ber=te/length(tx)。六.实验结果及分析MATLAB程序:%SimulationofbpskAWGNMax_SNR=10;N_trials=1000;N=200;Eb=1;ber_m=0;fortrial=1:1:N_trialstrialmsg=round(rand(1,N));%1,0sequences=1-msg.*2;%0--1,1--1n=randn(1,N)+j.*randn(1,N);%generateguasswhitenoiseber_v=[];forsnr_dB=1:2:Max_SNRsnr=10.^(snr_dB./10);%snr(db)--snr(decimal)N0=Eb./snr;sgma=sqrt(N0./2);y=sqrt(Eb).*s+sgma.*n;y1=sign(real(y));y2=(1-y1)./2;%1,0sequenceerror=sum(abs(msg-y2));%errorbitsber_snr=error./N;%berber_v=[ber_v,ber_snr];end%forsnrber_m=ber_m+ber_v;endber=ber_m./N_trials;ber_theory=[];forsnr_db=1:2:Max_SNRsnr=10.^(snr_db./10);snr_1=Qfunct(sqrt(2*snr));ber_theory=[ber_theory,snr_1];endi=1:2:Max_SNR;semilogy(i,ber,'-r',i,ber_theory,'*b');xlabel('E_b/N_0(dB)')ylabel('BER')legend('MonteCarlo','Theoretic')程序分析:做1000次试验,每次试验取200个抽样点,求出每次试验的误比特率,然后对1000次试验的误比特率取平均值,即得仿真误比特率ber,然后将此误比特率与理论值ber_theory进行比较。程序运行结果如图3所示。12345678910-510-410-310-210-1Eb/N0(dB)BERMonteCarloTheoretic图1bpskAWGN误比特率仿真结果与理论值比较结果分析:由图3可知,仿真结果与理论值基本相符,只是在信噪比较大时,仿真误码率与理论值存在误差,这是因为在高信噪比情况下,误比特率会呈下降趋势,若要仿真实际的误比特率,就需要进行更多次试验,而且每次试验取的抽样点数也应该增加。%SimulationofqpskAWGNN_trials=1000;N_number=100;N_snr=10;Es=1;BER_m=0;SER_m=0;fortrials=1:N_trials;trialss10=round(rand(1,N_number));S=(s10*2-1)./sqrt(2);S1=S(1:2:N_number);S2=S(2:2:N_number);Sc=S1+j.*S2;%generateqpsksignalniose=randn(1,N_number/2)+j.*randn(1,N_number/2);%generatenoiseSER_v=[];%SymbolerrorrateBER_v=[];%Biterrorrateforsnr_db=0:1:N_snr;sgma=(1/2)*sqrt(10.^(-snr_db./10));Y=Sc+sgma.*niose;Y_r=sign(real(Y))./sqrt(2);Y_i=sign(imag(Y))./sqrt(2);Y_bit=[];fork=1:length(Y_r);Y_bit=[Y_bit,[Y_r(k),Y_i(k)]];end;Y_symbol=Y_r+j*Y_i;X_b=S-Y_bit;X_s=Sc-Y_symbol;ber_snr=0;fork=1:N_numberifX_b(k)~=0;ber_snr=ber_snr+1;end;end;ser_snr=0;fork=1:N_number/2;ifX_s(k)~=0;ser_snr=ser_snr+1;end;end;BER_v=[BER_v,ber_snr./N_number];SER_v=[SER_v,ser_snr./(N_number./2)];end;%forSNRBER_m=BER_m+BER_v;SER_m=SER_m+SER_v;end%fortrialsBER=BER_m./N_trials;SER=SER_m./N_trials;BER_T=[];SER_T=[];forsnr_db=0:1:N_snr;snr=10.^(snr_db./10);BER_THEORY=Qfunct(sqrt(2.*snr));SER_THEORY=1-(1-(1/2).*erfc(sqrt(snr))).^2;BER_T=[BER_T,BER_THEORY];SER_T=[SER_T,SER_THEORY];end;figurei=0:1:N_snr;semilogy(i,BER,'-r',i,BER_T,'*b');legend('BER-simulation','BER-theory');xlabel('Eb/N0(db)');ylabel('BER');figurei=0:1:N_snr;semilogy(i,SER,'-g',i,SER_T,'*y');legend('SER-simulation','SER-theory');xlabel('E_b/N_0(db)');ylabel('SER');程序分析:与bpskAWGN类似,做1000次试验,每次试验取100个点,然后每两个点形成一个qpsk符号,首先计算仿真误比特率和误码率,然后与理论值进行比较。程序运行结果如图4和图5所示,其中图4是ber图,图5是ser图。01234567891010-610-510-410-310-210-1Eb/N0(db)BERBER-simulationBER-theory图2BER仿真结果与理论值结果分析:由图4和图5可知,在低信噪比的情况下,BER和SER的仿真结果与理论值完全相符,在高信噪比情况下,两者存在差异,这是因为随着信噪比的增加,误比特率和误码率也会增加,这就需要更多的试验次数和更多的抽样点数。将BER和SER仿真结果进行比较可知,在相同信噪比的情况下,BER比SER小,这是因为只要一个比特错,相应的qpsk符号就会出错,而一个qpsk要正确接收,就必须保证它的两个比特全部正确接收。01234567891010-610-510-410-310-210-1100Eb/N0(db)SERSER-simulationSER-theory图3SER仿真结果与理论值实验二:无线通信信道建模一、实验目的1.掌握无线移动通信信道的特点,根据相关模型进行仿真。2.掌握MATLAB语言对上述参数进行仿真。二.实验内容利用仿真程序在MATLAB环境下完成移动信道建模的仿真分析,得到仿真结果,写出实验小结,完成实验报告。三.实验仪器计算机matlab软件四、实验原理当移动台在一个较小的范围(小于20个工作波长)运动时,引起接收信号的幅度、相位和到达角等的快速变化,这种变化称为小尺度衰落。典型的小尺度衰落有Rayleigh、Rician衰落,因为当信号在传播过程中经过许多反射路径后,接收到的信号幅度可以用Rayleigh或Rician概率密度函数来描述。在接受信号有直达信号LOS的情况下,幅度的衰落呈现Rician分布,而当在接收端没有直达信号的情况下,幅度的衰落呈现Rayleigh分布。采用小尺度衰落模型的信道,衰落幅度是服从Rician或Rayleigh分布的随机变量,这些变量将会影响到接收信号的幅度和功率。五.实验步骤1.选择路径数2.按均匀分布产生各条路径的延迟3.按功率时延谱确定对应的各径的功率4.按Jake模型产生各径的瑞利衰落系数5.对瑞利衰落系数进行统计分析并与理论值相比较说明:1.路径数目2-4自己确定,或采用某个国际标准2.每条路径时间延迟满足(0,Tmax)范围内均匀分布,Tmax为自己选择的最大采样步长数200-600间比较合适,或采用国际标准3.功率可以按时延迟谱求得,也可用国际标准测量值。功率延迟谱:①若采用等功率分配产生功率:Pi=Pt/M;②采用指数分布的功率延迟谱产生功率:P=1/6*exp(-t/6)六.实验结果及分析MATLAB程序:%SimulationOfJakesModelclearall;f_max=30;M=8;%#oflowfrequencyoscillators-1N=4*M+2;Ts=1.024e-04;sq=2/sqrt(N);sigma=1/sqrt(2);theta=0;%FixedPhasecount=0;t0=0.001;fort=0:Ts:0.5%Varyingtimecount=count+1g(count)=0;forn=1:M+1,ifn=Mc_q(count,n)=2*sigma*sin(pi*n/M);%Gainassociatedwithquadraturecomponentc_i(count,n)=2*sigma*cos(pi*n/M);%Gainassociatedwithinphasecomponentf_i(count,n)=f_max*cos(2*pi*n/N);%Discretedopplerfrequenciesofinphasecomponentf_q(count,n)=f_max*cos(2*pi*n/N);%Discretedopplerfrequenciesofquadraturecomponentelsec_i(count,n)=sqrt(2)*cos(pi/4);c_q(count,n)=sqrt(2)*sin(pi/4);f_i(count,n)=f_max;f_q(count,n)=f_max;en