信号检测与估值matlab仿真报告Word下载.docx
- 文档编号:20786795
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:11
- 大小:38KB
信号检测与估值matlab仿真报告Word下载.docx
《信号检测与估值matlab仿真报告Word下载.docx》由会员分享,可在线阅读,更多相关《信号检测与估值matlab仿真报告Word下载.docx(11页珍藏版)》请在冰豆网上搜索。
%相干移频键控系统
Pe_NCFSK(i)=0.5*exp(-EsN0/2);
%非相干移频键控系统(无衰落)
Pe_NCFSK_Rayleigh(i)=1/(2+Es_aveN0);
%非相干移频键控系统(瑞利衰落)
end
semilogy(SNRindB,Pe_CFSK,'
-o'
SNRindB,Pe_NCFSK,'
-*'
SNRindB,Pe_NCFSK_Rayleigh,'
-'
);
xlabel('
Es/No或平均Es/No(dB)'
ylabel('
最小平均错误概率Pe'
legend('
相干移频'
'
非相干移频(无衰落)'
非相干移频(瑞利衰落)'
title('
二元移频信号检测性能曲线'
axis([02010^-71]);
gridon;
2、调用子函数
%Q函数
%Qfunct.m
function[y]=Qfunct(x)
%[y]=Qfunct(x)
%QFUNCTevaluatestheQ-function.
%y=1/sqrt(2*pi)*integralfromxtoinfofexp(-t^2/2)dt.
%y=(1/2)*erfc(x/sqrt
(2)).
y=(1/2)*erfc(x/sqrt
(2));
二、仿真结果
作业2
试编写程序,仿真BPSK,4PSK调制信号在高斯信道下的性能,画出误码率(误比特和误符号)的性能曲线,并与理论分析结果相比。
一、BPSK脚本文件及仿真结果
%BPSK调制信号在AWGN下的蒙特卡罗仿真
%BPSK_MC.m
SNRindB1=0:
10;
SNRindB2=0:
0.5:
smld_err_prb=zeros(1,length(SNRindB1));
theo_err_prb=zeros(1,length(SNRindB2));
length(SNRindB1),
%simulatederrorrate
smld_err_prb(i)=sm_BPSK(SNRindB1(i));
end;
length(SNRindB2),
EsN0=exp(SNRindB2(i)*log(10)/10);
%theoreticalerrorrate
theo_err_prb(i)=Qfunct(sqrt(2*EsN0));
%Plottingcommandsfollow
semilogy(SNRindB1,smld_err_prb,'
*'
SNRindB2,theo_err_prb,'
Es/No(dB)'
误码率'
BPSK调制信号在AWGN下的蒙特卡罗仿真'
仿真误码率'
理论误码率'
%计算BPSK的仿真误码率(误符号率=误比特率)
%sm_BPSK.m
function[p]=sm_BPSK(snr_in_dB)
%[p]=sm_BPSK(snr_in_dB)
%sm_BPSKsimulatestheprobabilityoferrorfortheparticular
%valueofsnr_in_dB,signaltonoiseratioindB.
Es=1;
EsN0=exp(snr_in_dB*log(10)/10);
%signaltonoiseratio
sgma=Es/sqrt(2*EsN0);
%sigma,standarddeviationofnoise
N=10^7;
%统计量
%产生二进制数据源
dsource=zeros(1,N);
N,
temp=rand;
%auniformrandomvariableover(0,1)
if(temp<
0.5),
dsource(i)=0;
%withprobability1/2,sourceoutputis0
else
dsource(i)=1;
%withprobability1/2,sourceoutputis1
end
numoferr=0;
%接收信号(信号映射,加性高斯白噪声)
if(dsource(i)==0),
r=-Es+gngauss(sgma);
%ifthesourceoutputis"
0"
r=Es+gngauss(sgma);
1"
end;
%信号判决
if(r<
0),
decis=0;
%decisionis"
decis=1;
%计算误符号率=误比特率
if(decis~=dsource(i)),%ifitisanerror,increasetheerrorcounter
numoferr=numoferr+1;
p=numoferr/N;
%probabilityoferrorestimate
%******************************************************
%产生加性高斯白噪声
%gngauss.m
function[gsrv1,gsrv2]=gngauss(m,sgma)
%[gsrv1,gsrv2]=gngauss(m,sgma)
%[gsrv1,gsrv2]=gngauss(sgma)
%[gsrv1,gsrv2]=gngauss
%GNGAUSS产生两个均值为m、标准差为sgma的、互相独立的
%高斯随机变量。
如果缺少其中一个输入参数,则取均值
%为0。
如果既没有给出均值也没有给出方差,本函数将
%产生两个标准高斯随机变量。
ifnargin==0,
m=0;
sgma=1;
elseifnargin==1,
sgma=m;
m=0;
u=rand;
%在区间(0,1)内的均匀随机变量
z=sgma*(sqrt(2*log(1/(1-u))));
%瑞利分布随机变量
gsrv1=m+z*cos(2*pi*u);
gsrv2=m+z*sin(2*pi*u);
3、仿真结果
二、QPSK脚本文件及仿真结果
%QPSK调制信号在AWGN下的蒙特卡罗仿真
%QPSK_MC.m
14;
%设置仿真信噪比范围
0.1:
%理论计算信噪比范围
smld_bit_err_prb=zeros(1,length(SNRindB1));
smld_symbol_err_prb=zeros(1,length(SNRindB1));
theo_bit_err_prb=zeros(1,length(SNRindB2));
theo_symbol_err_prb=zeros(1,length(SNRindB2));
[pb,ps]=sm_QPSK(SNRindB1(i));
%仿真比特和符号错误概率
smld_bit_err_prb(i)=pb;
%pb表示误比特率
smld_symbol_err_prb(i)=ps;
%ps表示误符号率
SNR=exp(SNRindB2(i)*log(10)/10);
%信噪比SNR=Es/N0
theo_bit_err_prb(i)=Qfunct(sqrt(SNR));
%计算理论误比特率
theo_symbol_err_prb(i)=2*Qfunct(sqrt(SNR));
%计算理论误符号率
semilogy(SNRindB1,smld_bit_err_prb,'
o'
%画图
holdon
semilogy(SNRindB1,smld_symbol_err_prb,'
semilogy(SNRindB2,theo_bit_err_prb,'
semilogy(SNRindB2,theo_symbol_err_prb,'
-.'
QPSK调制信号在AWGN下的蒙特卡罗仿真'
仿真误比特率'
仿真误符号率'
理论误比特率'
理论误符号率'
%计算QPSK的仿真误码率(包括误符号率和误比特率)
%sm_QPSK.m
function[pb,ps]=sm_QPSK(snr_in_dB)
snr=10^(snr_in_dB/10);
sgma=sqrt(Es/snr/2);
%QPSK信号映射(Gray码)
s00=[10];
s01=[01];
s11=[-10];
s10=[0-1];
%产生四进制数据源
dsource1=zeros(1,N);
dsource2=zeros(1,N);
if(temp<
0.25),
dsource1(i)=0;
dsource2(i)=0;
elseif(temp<
dsource2(i)=1;
0.75),
dsource1(i)=1;
dsource1(i)=1;
numofsymbolerror=0;
numofbiterror=0;
%产生复加性高斯白噪声
n
(1)=gngauss(sgma);
n
(2)=gngauss(sgma);
%接收信号,即信道输出的加噪信号
if((dsource1(i)==0)&
&
(dsource2(i)==0)),
r=s00+n;
elseif((dsource1(i)==0)&
(dsource2(i)==1)),
r=s01+n;
elseif((dsource1(i)==1)&
r=s10+n;
else
r=s11+n;
c00=dot(r,s00);
c01=dot(r,s01);
c10=dot(r,s10);
c11=dot(r,s11);
c_max=max([c00c01c10c11]);
if(c00==c_max)
decis1=0;
decis2=0;
elseif(c01==c_max)
decis2=1;
elseif(c10==c_max)
decis1=1;
%计算误符号率和误比特率
symbolerror=0;
if(decis1~=dsource1(i)),
numofbiterror=numofbiterror+1;
symbolerror=1;
if(decis2~=dsource2(i)),
if(symbolerror==1),
numofsymbolerror=numofsymbolerror+1;
ps=numofsymbolerror/N;
pb=numofbiterror/(2*N);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 检测 matlab 仿真 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)