信号检测与估值仿真报告
作业1
试编写程序,画出相干移频键控、非相干移频键控(无衰落)和瑞利衰落信道下非相干移频键控的性能曲线。 (1)根据理论分析公式画性能曲线;
(2)信噪比范围(0dB-10dB),间隔是1dB;
(3)信噪比计算SNR=10lg(Es/N0)
一、脚本文件
polar code1、主程序
%********************************************************
%二元移频信号检测性能曲线(规划沙盘理论分析)
发光模组
%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('二元移频信号检测性能曲线');
rc延时电路图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
试编写程序,仿真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;%统计量
%产生二进制数据源