信号检测与估值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)); 二、仿真结果
2
4
6
810121416
18
20
10-7
10
-6
10
-5
10
-4
10
-3
10
-2
10
-1
10
Es/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),