• 原野5266
    了解作者
  • matlab
    开发工具
  • 3KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 10 积分
    下载积分
  • 6
    下载次数
  • 2020-01-03 22:08
    上传日期
两种不同的假设: H1 : 0 xn A fn wn ( ) cos(2 ) ( ) = ++ π θ n=1,2,…,N,f0 为规一化频率 H0 : xn wn () () = n=1,2,…,N 其中 w[n]是均值为 0,方差为 2 σ n 的高斯白噪声,A 已知,样本间相互 独立,信号与噪声相互独立; 相位θ 是随机变量,它服从均匀分布 1 0 2 ( ) 20 p θ π θ π ?? ≤ ≤ = ??? 其它 1)改变输入信噪比(改变 A 或噪声方差均可),给定虚警概率,画出 输入信噪比与检测概率之间的理论曲线。(注意:理论检测曲线与样本 数有关) 2)改变样本数,用 Monte-Carlo 实验方法得出 PF=0.001 时输入信噪比 与检测概率之间关系曲线(至少三条),并得出结论。 3)改变 M-C 实验次数,样本数不变,用 Monte-Carlo 实验方法得出 PF =0.001 时输入信噪比与检测概率之间关系曲线(至少三条),并得出 结论。
打包.zip
  • 打包
  • 最大似然估计.m
    1.5KB
  • 理论曲线以及改变蒙特卡洛实验次数程序.m
    3.6KB
  • 改变样本数取值实验程序.m
    3.7KB
内容介绍
close all; clear all; clc; f0=1000;%信号频率 A=1;%信号的幅度 fs=10*f0;%采样频率 N=100;%采样点数 T=(N-1)/fs; w=2*pi*f0; t=0:1/fs:T; pf=0.001;%给定虚警概率 SNR_I=-30:0.1:10;%输入信噪比,单位为db %Monte-Carlo实验 M=1000;%Monte-Carlo实验实验次数 theta=rand(1,M)*2*pi;%参数θ服从均匀分布 PD=zeros(1,length(SNR_I));%检测概率(记录大于检测门限的次数) for r=1:length(SNR_I) sigma=sqrt(A^2/(2*10.^(SNR_I(r)/10)));%根据输入信噪比计算白噪声的方差 q2_eta=zeros(1,M); for m=1:M x=sigma*randn(1,N);%产生N(样本数)个服从噪声分布的随机数 qs=sin(w*t)*x.'; qc=cos(w*t)*x.'; q2_eta(m)=qs^2+qc^2;%得到检验统计量 end q2_eta=sort(q2_eta,'descend');%降序排列 eta=q2_eta(M*pf+1);%得到检测门限η %eta=sigma*sqrt(-2*log(pf));%利用虚警概率PF求得检测门限 count=0;%计算检测到信号的试验次数 for m=1:M x=sigma*randn(1,N)+A*sin(w*t+theta(m)); qs=sin(w*t)*x.'; qc=cos(w*t)*x.'; q2=qs^2+qc^2; if q2 > eta count=count+1; end end PD(r)=count/M; end figure(1); plot(SNR_I,PD); title('输入信噪比与检测概率之间的关系(N=100)'); xlabel('输入信噪比/db');ylabel('检测概率'); grid on; %......................................................................... f0=1000;%信号频率 A=1;%信号的幅度 fs=10*f0;%采样频率 N=500;%采样点数 T=(N-1)/fs; w=2*pi*f0; t=0:1/fs:T; pf=0.001;%给定虚警概率 SNR_I=-30:0.1:10;%输入信噪比,单位为db %Monte-Carlo实验 M=1000;%Monte-Carlo实验实验次数 theta=rand(1,M)*2*pi;%参数θ服从均匀分布 PD=zeros(1,length(SNR_I));%检测概率(记录大于检测门限的次数) for r=1:length(SNR_I) sigma=sqrt(A^2/(2*10.^(SNR_I(r)/10)));%根据输入信噪比计算白噪声的方差 q2_eta=zeros(1,M); for m=1:M x=sigma*randn(1,N);%产生N(样本数)个服从噪声分布的随机数 qs=sin(w*t)*x.'; qc=cos(w*t)*x.'; q2_eta(m)=qs^2+qc^2;%得到检验统计量 end q2_eta=sort(q2_eta,'descend');%降序排列 eta=q2_eta(M*pf+1);%得到检测门限η %eta=sigma*sqrt(-2*log(pf));%利用虚警概率PF求得检测门限 count=0;%计算检测到信号的试验次数 for m=1:M x=sigma*randn(1,N)+A*sin(w*t+theta(m)); qs=sin(w*t)*x.'; qc=cos(w*t)*x.'; q2=qs^2+qc^2; if q2 > eta count=count+1; end end PD(r)=count/M; end figure(2); plot(SNR_I,PD); title('输入信噪比与检测概率之间的关系(N=500)'); xlabel('输入信噪比/db');ylabel('检测概率'); grid on; %........................................................................ f0=1000;%信号频率 A=1;%信号的幅度 fs=10*f0;%采样频率 N=1000;%采样点数 T=(N-1)/fs; w=2*pi*f0; t=0:1/fs:T; pf=0.001;%给定虚警概率 SNR_I=-30:0.1:10;%输入信噪比,单位为db %Monte-Carlo实验 M=1000;%Monte-Carlo实验实验次数 theta=rand(1,M)*2*pi;%参数θ服从均匀分布 PD=zeros(1,length(SNR_I));%检测概率(记录大于检测门限的次数) for r=1:length(SNR_I) sigma=sqrt(A^2/(2*10.^(SNR_I(r)/10)));%根据输入信噪比计算白噪声的方差 q2_eta=zeros(1,M); for m=1:M x=sigma*randn(1,N);%产生N(样本数)个服从噪声分布的随机数 qs=sin(w*t)*x.'; qc=cos(w*t)*x.'; q2_eta(m)=qs^2+qc^2;%得到检验统计量 end q2_eta=sort(q2_eta,'descend');%降序排列 eta=q2_eta(M*pf+1);%得到检测门限η %eta=sigma*sqrt(-2*log(pf));%利用虚警概率PF求得检测门限 count=0;%计算检测到信号的试验次数 for m=1:M x=sigma*randn(1,N)+A*sin(w*t+theta(m)); qs=sin(w*t)*x.'; qc=cos(w*t)*x.'; q2=qs^2+qc^2; if q2 > eta count=count+1; end end PD(r)=count/M; end figure(3); plot(SNR_I,PD); title('输入信噪比与检测概率之间的关系(N=1000)'); xlabel('输入信噪比/db');ylabel('检测概率'); grid on;
评论
    相关推荐