欢迎来到天天文库
浏览记录
ID:25531175
大小:393.20 KB
页数:9页
时间:2018-11-20
《实验二 bpsk误码率仿真》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、实验报告实验目的1.掌握BPSK信号调制、相干解调方法;2.掌握BPSK信号误码率计算。实验内容1.BPSK信号的调制;2.BPSK信号相干解调;3.不同信噪比环境下BPSK信号误码率计算,并与理论误码率曲线对比。实验原理BPSK信号调制原理1.系统原理图1BPSK调制系统原理框图BPSK调制系统的原理框图如图1所示,其中脉冲成形的作用是抑制旁瓣,减少邻道干扰,通常选用升余弦滤波器;加性高斯白噪声模拟信道特性,这是一种简单的模拟;带通滤波器BPF可以滤除有效信号频带以外的噪声,提高信噪比;在实际通信系统中相干载
2、波需要使用锁相环从接收到的已调信号中恢复,这一过程增加了系统的复杂度,同时恢复的载波可能与调制时的载波存在180度的相位偏差,即180°相位反转问题,这使得BPSK系统在实际中无法使用;低通滤波器LPF用于滤除高频分量,提高信噪比;抽样判决所需的同步时钟需要从接收到的信号中恢复,即码元同步,判决门限跟码元的统计特性有关,但一般情况下都为0。1.参数要求码元速率1000波特,载波频率4KHz,采样频率为16KHz。BPSK信号解调原理BPSK信号的解调方法是相干解调法。由于PSK信号本身就是利用相位传递信息的,所
3、以在接收端必须利用信号的相位信息来解调信号。图2中给出了一种2PSK信号相干接收设备的原理框图。图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,在进行抽样判决。判决器是按极性来判决的。即正抽样值判为1,负抽样值判为0。图2BPSK解调系统原理框图BPSK信号误码率在AWGN信道下BPSK信号相干解调的理论误码率为:,其中为信噪比。在大信噪比条件下,上式可近似为:实验结果与分析BPSK信号调制根据BPSK信号产生原理,用matlab仿真BPSK信号如图3所示。图3BPSK信号调制查看
4、BPSK信号功率谱如图4所示。图4BPSK信号功率谱BPSK信号解调根据BPSK信号解调原理,信号乘载波,并进行低通滤波,得到解调后信号如图四所示。图5BPSK信号解调可以看出,经过相干解调后波形发生了较大变化,最后经过抽样判决即可恢复出原始信息,如图6所示。图6抽样判决BPSK信号误码率仿真将信道中的信噪比以0.5dB从-10dB到8dB变化,每个信噪比得到一个误码率,最后画出误码率曲线和理论曲线如图7所示。原始信息采用100000比特数据,因此在信噪比较大误码率较低时,仿真结果与理论结果差距逐渐增大;在小信
5、噪比环境下,与理论值较为接近。从结果中也可以看出,两条曲线之间总存在大约0.5dB的差距,考虑未抽样或滤波等带来的信噪比损失。将仿真曲线整体减少0.5dB后可以得到如图8所示曲线。此时与理论值有较好的重合。这一点具体原因至今还没弄清楚。实验心得本次实验掌握了BPSK信号的产生、调制、解调、抽样判决与误码率计算,结果基本与理论相符合。但是实验中采用数据量较大,程序运行时间在15s左右,还有很大的改进之处,在以后的实验中要注意程序的简洁性与高效性。图7误码率仿真图8修正后误码率仿真实验代码%%BPSK信号调制解调误
6、码率分析clearall;closeall;clc;tic%383科%%产生随机比特流作为传输信息bit_len=100000;bits=randint(1,bit_len);%%初始各码元对应的基带波形s(t)RB=1000;%符号速率Fs=16000;%采用率Fd=Fs/RB;%每个码元的采样点数sig_len=Fd*bit_len;s=zeros(1,sig_len);%基带信号fori=1:bit_lenifbits(i)==1s((i-1)*Fd+1:i*Fd)=ones(1,Fd);elses((i
7、-1)*Fd+1:i*Fd)=-1*ones(1,Fd);endend%%BPSK调制Fc=4000;%载波频率carrier=cos(2*pi*Fc/Fs*(1:sig_len));%载波wml=zeros(1,length(-10:0.5:8));lilun=zeros(1,length(-10:0.5:8));forj=-10:0.5:8sig=s.*carrier;sig=awgn(sig,j);%----------同步检测法解调-------------m=sig.*carrier;%同步解调ss=
8、lpf(m,Fs,2*RB);%----------抽样判决------------z=ss(Fd/2:Fd:sig_len);%抽样%z=z/max(abs(z));%z=ceil(z);z(z>=0)=1;%判决z(z<0)=0;a=z-bits;%计算误码率c=find(a~=0);wml((j+10)/0.5+1)=length(c)/bit_len;k=sqrt(10^(j/
此文档下载收益归作者所有