文档详情

awgn信道中bpsk调制系统ber仿真计算.doc

发布:2018-09-14约1.49万字共22页下载文档
文本预览下载声明
序号(学号): 学生实验报告书 2014 年 4 月 27 日 实验一:AWGN 信道中BPSK 调制系统的 BER 仿真计算 一、 实验目的 掌握二相BPSK 调制的工作原理 2. 掌握利用MATLAB 进行误比特率测试BER 的方法 3. 掌握AWGN信道中BPSK调制系统的BER仿真计算方法 二.实验内容 利用仿真程序在MATLAB 环境下完成AWGN信道中BPSK调制系统的BER仿真计算,得到仿真结果,写出实验小结,完成实验报告。 三.实验仪器: 计算机 matlab软件 四、 实验原理 在数字领域进行的最多的仿真任务是进行调制解调器的误比特 率测试,在相同的条件下 进行比较的话,接收器的误比特率性能是一个十分重要的指标。误比特率的测试需要一个发送器、一个接收器和一条信道。首先需要产生一个长的随机比特序列作为发送器的输入,发送器将这些比特调制成某种形式的信号以便传送到仿真信道,我们在传输信道上加上一定的可调制噪声,这些噪声信号会变成接收器的输入,接收器解调信号然后恢复比特序列,最后比较接收到的比特和传送的比特并计算错误。误比特率性能常能描述成二维图像。纵坐标是归一化的信噪比,即每个比特的能量除以噪声的单边功率谱密度,单位为分贝。横坐标 为误比特率,没有量纲。 五.实验步骤 ① 运行发生器:通过发送器将伪随机序列变成数字化的调制信号。 ② 设定信噪比:假定 SNR 为 m dB,则 Eb/N0=10,用 MATLAB 假设 SNR 单位为分贝。 ③ 确定Eb ④ 计算N0 ⑤ 计算噪声的方差σ n ⑥ 产生噪声:因为噪声具有零均值,所以其功率和方差相等。我们产 生一个和信号长度相同的噪声向量,且该向量方差为σ n 。 ⑦ 加上噪声,运行接收器 ⑧ 确定时间延迟 ⑨ 产生误差向量 ⑩ 统计错误比特:误差向量“err”中的每一个非零元素对应着一个 错误的比特。 最后计算误比特率 BER:每运行一次误比特率仿真,就需要传输和 接收固定数量的比特,然后确定接收到的比特中有多少错误的。使用 MATLAB 计算BER: ber=te/length(tx)。 实验结果及分析 MATLAB程序: %Simulation of bpskAWGN Max_SNR=10; N_trials=1000; N=200; Eb=1; ber_m=0; for trial=1:1:N_trials trial msg=round(rand(1,N)); % 1, 0 sequence s=1-msg.*2; %0--1, 1--1 n=randn(1,N)+j.*randn(1,N); %generate guass white noise ber_v=[]; for snr_dB=1:2:Max_SNR snr=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, 0 sequence error=sum(abs( msg- y2)); %error bits ber_snr=error./N; %ber ber_v=[ber_v,ber_snr]; end %for snr ber_m=ber_m+ber_v; end ber=ber_m./N_trials; ber_theory=[]; for snr_db=1:2:Max_SNR snr=10.^(snr_db./10); snr_1=Qfunct(sqrt(2*snr)); ber_theory=[ber_theory,snr_1]; end i=1:2:Max_SNR; semilogy(i,ber,-r,i,ber_theory,*b); xlabel(E_b/N_0 (dB)) ylabel(BER) legend(Monte Carlo, Theoretic) 程序分析: 做1000次试验,每次试验取200个抽样点,求出每次试验的误比特率,然后对1
显示全部
相似文档