信号检测与估值matlab仿真报告

更新时间:2023-10-18 19:23:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

信号检测与估值

题 目 学 院 专 业 学生姓名 学 号 导师姓名 仿真报告

信号检测与估值的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)); 二、仿真结果

100二元移频信号检测性能曲线 10-110-2最小平均错误概率Pe10-310-410-510-610 0-7相干移频非相干移频(无衰落)非相干移频(瑞利衰落)2468101214Es/No或平均Es/No(dB)161820

作业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),

r=-Es+gngauss(sgma); % if the source output is \ else

r=Es+gngauss(sgma); % if the source output is \ end;

%信号判决 if (r<0),

decis=0; % decision is \ else

decis=1; % decision is \ end;

%计算误符号率=误比特率 if (decis~=dsource(i)), % if it is an error, increase the error counter numoferr=numoferr+1; end; end;

p=numoferr/N; % probability of error estimate

%****************************************************** % 产生加性高斯白噪声 % gngauss.m

%****************************************************** function[gsrv1,gsrv2]=gngauss(m,sgma)

% [gsrv1,gsrv2]=gngauss(m,sgma) % [gsrv1,gsrv2]=gngauss(sgma) % [gsrv1,gsrv2]=gngauss

% GNGAUSS产生两个均值为m、标准差为sgma的、互相独立的 % 高斯随机变量。如果缺少其中一个输入参数,则取均值 % 为0。如果既没有给出均值也没有给出方差,本函数将 % 产生两个标准高斯随机变量。

if nargin==0, m=0;sgma=1; elseif nargin==1, sgma=m;m=0; end;

u=rand; %在区间(0,1)内的均匀随机变量 z=sgma*(sqrt(2*log(1/(1-u)))); %瑞利分布随机变量

u=rand; %在区间(0,1)内的均匀随机变量 gsrv1=m+z*cos(2*pi*u); gsrv2=m+z*sin(2*pi*u);

本文来源:https://www.bwwdw.com/article/k1xf.html

Top