信号检测与估值matlab仿真报告 作业 模板 范文

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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),

相关文档
最新文档