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

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

  1. 1、本文档共22页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
awgn信道中bpsk调制系统ber仿真计算

序号(学号): 学生实验报告书 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

文档评论(0)

celkhn0303 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档