信号检测与估值matlab仿真报告 作业 模板 范文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号检测与估值
仿真报告
题目信号检测与估值的MATLAB仿真学院通信工程学院
专业通信与信息系统
学生姓名
学号
导师姓名
作业1
试编写程序,画出相干移频键控、非相干移频键控(无衰落)和瑞利衰落信道下非相干移频键控的性能曲线。
(1)根据理论分析公式画性能曲线;
(2)信噪比范围(0dB-10dB),间隔是1dB;
(3)信噪比计算SNR=10lg(Es/N0)
一、脚本文件
1、主程序
%********************************************************
%二元移频信号检测性能曲线(理论分析)
%FSK_theo.m
%********************************************************
clear all;
clc;
SNRindB=0:1:20;
Pe_CFSK=zeros(1,length(SNRindB));
Pe_NCFSK=zeros(1,length(SNRindB));
Pe_NCFSK_Rayleigh=zeros(1,length(SNRindB));
for i=1:length(SNRindB)
EsN0=exp(SNRindB(i)*log(10)/10);
Es_aveN0=exp(SNRindB(i)*log(10)/10);
Pe_CFSK(i)=Qfunct(sqrt(EsN0));%相干移频键控系统
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([0 20 10^-7 1]);
grid on;
2、调用子函数
%********************************************************
%Q函数
%Qfunct.m
%********************************************************
function [y]=Qfunct(x)
% [y]=Qfunct(x)
% QFUNCT evaluates the Q-function.
% y = 1/sqrt(2*pi) * integral from x to inf of exp(-t^2/2) dt.
% y = (1/2) * erfc(x/sqrt(2)).
y=(1/2)*erfc(x/sqrt(2));
二、仿真结果
024********
161820
10-710-6
10-5
10-410-310-2
10-1
100Es/No 或平均Es/No(dB)最小平均错误概率P e 二元移频信号检测性能曲线
作业2
试编写程序,仿真BPSK ,4PSK 调制信号在高斯信道下的性能,画出误码率(误比特和误符号)的性能曲线,并与理论分析结果相比。
一、BPSK 脚本文件及仿真结果
1、主程序
%********************************************************
%BPSK 调制信号在AWGN 下的蒙特卡罗仿真
%BPSK_MC.m
%********************************************************
clear all;
clc;
SNRindB1=0:1:10;
SNRindB2=0:0.5:10;
smld_err_prb=zeros(1,length(SNRindB1));
theo_err_prb=zeros(1,length(SNRindB2));
for i=1:length(SNRindB1),
% simulated error rate
smld_err_prb(i)=sm_BPSK(SNRindB1(i));
end;
for i=1:length(SNRindB2),
EsN0=exp(SNRindB2(i)*log(10)/10);
% theoretical error rate
theo_err_prb(i)=Qfunct(sqrt(2*EsN0));
end;
% Plotting commands follow
semilogy(SNRindB1,smld_err_prb,'*',SNRindB2,theo_err_prb,'-');
xlabel('Es/No(dB)');
ylabel('误码率');
title('BPSK调制信号在AWGN下的蒙特卡罗仿真');
legend('仿真误码率','理论误码率');
grid on;
2、调用子函数
%********************************************************
%计算BPSK的仿真误码率(误符号率=误比特率)
%sm_BPSK.m
%********************************************************
function [p]=sm_BPSK(snr_in_dB)
% [p]=sm_BPSK(snr_in_dB)
% sm_BPSK simulates the probability of error for the particular
% value of snr_in_dB, signal to noise ratio in dB.
Es=1;
EsN0=exp(snr_in_dB*log(10)/10); % signal to noise ratio
sgma=Es/sqrt(2*EsN0); % sigma, standard deviation of noise
N=10^7;%统计量
%产生二进制数据源
dsource=zeros(1,N);
for i=1:N,
temp=rand; % a uniform random variable over (0,1)
if (temp<0.5),
dsource(i)=0; % with probability 1/2, source output is 0 else
dsource(i)=1; % with probability 1/2, source output is 1 end
end;
numoferr=0;
for i=1:N,
%接收信号(信号映射,加性高斯白噪声)
if (dsource(i)==0),