假设传输两个信号:s0[n]s_0[n]s0​[n]和s1[n]s_1[n]s1​[n],传输过程中叠加了高斯白噪声w[n]w[n]w[n],w[n]∼N(0,σ2)w[n]\sim N(0,\sigma^2)w[n]∼N(0,σ2)。在接收端,我们需要判断接收到的x[n]x[n]x[n]到底是哪个信号,就有了如下两个假设:
H0:x[n]=s0[n]+w[n]H1:x[n]=s1[n]+w[n]H_0:x[n]=s_0[n]+w[n]\\ H_1:x[n]=s_1[n]+w[n] H0​:x[n]=s0​[n]+w[n]H1​:x[n]=s1​[n]+w[n]
假设发出两种信号的概率相等,当
Pr⁡(x⃗∣H1)Pr⁡(x⃗∣H0)>γ=Pr⁡(H0)Pr⁡(H1)=1\frac{\Pr(\vec{x}|H_1)}{\Pr(\vec{x}|H_0)}>\gamma=\frac{\Pr(H_0)}{\Pr(H_1)}=1 Pr(x∣H0​)Pr(x∣H1​)​>γ=Pr(H1​)Pr(H0​)​=1
时,拒绝H0H_0H0​,认为我们接收到了s1s_1s1​信号。

为了进一步探讨该问题,将Pr⁡(x⃗∣Hi)\Pr(\vec{x}|H_i)Pr(x∣Hi​)展开,因为接收到的信号x[n]x[n]x[n]每一位都满足x[n]∼N(si[n],σ2)x[n]\sim N(s_i[n],\sigma^2)x[n]∼N(si​[n],σ2),故整个信号x⃗\vec{x}x有
Pr⁡(x⃗∣Hi)=1(2πσ2)N2exp⁡[−12σ2∑n=0N−1(x[n]−si[n])2]\Pr(\vec{x}|H_i)=\frac{1}{(2\pi\sigma^2)^{\frac{N}{2}}}\exp[-\frac{1}{2\sigma^2}\sum_{n=0}^{N-1}(x[n]-s_i[n])^2] Pr(x∣Hi​)=(2πσ2)2N​1​exp[−2σ21​n=0∑N−1​(x[n]−si​[n])2]
注意到对于两个假设H0H_0H0​和H1H_1H1​,Pr⁡(x⃗∣Hi)\Pr(\vec{x}|H_i)Pr(x∣Hi​)的区别在于∑n=0N−1(x[n]−si[n])2\sum_{n=0}^{N-1}(x[n]-s_i[n])^2∑n=0N−1​(x[n]−si​[n])2,故设
Di2=∑n=0N−1(x[n]−si[n])2=∣∣x⃗−si⃗∣∣2D_i^2=\sum_{n=0}^{N-1}(x[n]-s_i[n])^2=||\vec{x}-\vec{s_i}||^2 Di2​=n=0∑N−1​(x[n]−si​[n])2=∣∣x−si​​∣∣2
不难看出,我们做出判断的依据就在于接收信号构成的向量x⃗\vec{x}x与两已知信号向量si⃗\vec{s_i}si​​之差的模长的平方。

再展开Di2D_i^2Di2​,得
Di2=∑n=0N−1x2[n]−2∑n=0N−1x[n]si[n]+∑n=0N−1si2[n]D_i^2=\sum_{n=0}^{N-1}x^2[n]-2\sum_{n=0}^{N-1}x[n]s_i[n]+\sum_{n=0}^{N-1}s_i^2[n] Di2​=n=0∑N−1​x2[n]−2n=0∑N−1​x[n]si​[n]+n=0∑N−1​si2​[n]
发现D12D_1^2D12​和D22D_2^2D22​之间的差别在于−2∑n=0N−1x[n]si[n]+∑n=0N−1si2[n]-2\sum_{n=0}^{N-1}x[n]s_i[n]+\sum_{n=0}^{N-1}s_i^2[n]−2∑n=0N−1​x[n]si​[n]+∑n=0N−1​si2​[n],故定义
Ti(x)=∑n=0N−1x[n]si[n]−12∑n=0N−1si2[n]T_i(x)=\sum_{n=0}^{N-1}x[n]s_i[n]-\frac{1}{2}\sum_{n=0}^{N-1}s_i^2[n] Ti​(x)=n=0∑N−1​x[n]si​[n]−21​n=0∑N−1​si2​[n]
其中,∑n=0N−1si2[n]\sum_{n=0}^{N-1}s_i^2[n]∑n=0N−1​si2​[n]为信号sis_isi​的能量,故TiT_iTi​又可写为
Ti(x)=∑n=0N−1x[n]si[n]−12εiT_i(x)=\sum_{n=0}^{N-1}x[n]s_i[n]-\frac{1}{2}\varepsilon_i Ti​(x)=n=0∑N−1​x[n]si​[n]−21​εi​
可得出误检概率PeP_ePe​的表达式为
Pe=Pr⁡(H1∣H0)Pr⁡(H0)+Pr⁡(H0∣H1)Pr⁡(H1)=12[Pr⁡(H1∣H0)+Pr⁡(H0∣H1)]=12[Pr⁡(T1(x⃗)−T0(x⃗)>0∣H0)+Pr⁡(T0(x⃗)−T1(x⃗)>0∣H1)]\begin{aligned} P_e&=\Pr(H_1|H_0)\Pr(H_0)+\Pr(H_0|H_1)\Pr(H_1)\\ &=\frac{1}{2}[\Pr(H_1|H_0)+\Pr(H_0|H_1)]\\ &=\frac{1}{2}[\Pr(T_1(\vec{x})-T_0(\vec{x})>0|H_0)+\Pr(T_0(\vec{x})-T_1(\vec{x})>0|H_1)] \end{aligned} Pe​​=Pr(H1​∣H0​)Pr(H0​)+Pr(H0​∣H1​)Pr(H1​)=21​[Pr(H1​∣H0​)+Pr(H0​∣H1​)]=21​[Pr(T1​(x)−T0​(x)>0∣H0​)+Pr(T0​(x)−T1​(x)>0∣H1​)]​
故定义检验T(x⃗)=T1(x⃗)−T0(x⃗)T(\vec{x})=T_1(\vec{x})-T_0(\vec{x})T(x)=T1​(x)−T0​(x),即
T(x⃗)=∑n=0N−1x[n](s1[n]−s0[n])−12(ε1−ε0)T(\vec{x})=\sum_{n=0}^{N-1}x[n](s_1[n]-s_0[n])-\frac{1}{2}(\varepsilon_1-\varepsilon_0) T(x)=n=0∑N−1​x[n](s1​[n]−s0​[n])−21​(ε1​−ε0​)
通过计算可得TTT的期望与方差:
E(T∣H0)=∑n=0N−1s0[n](s1[n]−s0[n])−12(ε1−ε0)=−12∣∣s1⃗−s0⃗∣∣2E(T∣H1)=12∣∣s1⃗−s0⃗∣∣2Var(T∣H0)=Var(∑n=0N−1x[n](s1[n]−s0[n])∣H0)=σ2∣∣s1⃗−s0⃗∣∣2Var(T∣H1)=σ2∣∣s1⃗−s0⃗∣∣2\begin{aligned} &E(T|H_0)=\sum_{n=0}^{N-1}s_0[n](s_1[n]-s_0[n])-\frac{1}{2}(\varepsilon_1-\varepsilon_0)=-\frac{1}{2}||\vec{s_1}-\vec{s_0}||^2\\ &E(T|H_1)=\frac{1}{2}||\vec{s_1}-\vec{s_0}||^2\\ &Var(T|H_0)=Var(\sum_{n=0}^{N-1}x[n](s_1[n]-s_0[n])|H_0)=\sigma^2||\vec{s_1}-\vec{s_0}||^2\\ &Var(T|H_1)=\sigma^2||\vec{s_1}-\vec{s_0}||^2 \end{aligned} ​E(T∣H0​)=n=0∑N−1​s0​[n](s1​[n]−s0​[n])−21​(ε1​−ε0​)=−21​∣∣s1​​−s0​​∣∣2E(T∣H1​)=21​∣∣s1​​−s0​​∣∣2Var(T∣H0​)=Var(n=0∑N−1​x[n](s1​[n]−s0​[n])∣H0​)=σ2∣∣s1​​−s0​​∣∣2Var(T∣H1​)=σ2∣∣s1​​−s0​​∣∣2​
所以,(T∣H0)(T|H_0)(T∣H0​)和(T∣H1)(T|H_1)(T∣H1​)均满足正态分布,且
(T∣H0)∼N(−12∣∣s1⃗−s0⃗∣∣2,σ2∣∣s1⃗−s0⃗∣∣2)(T∣H1)∼N(12∣∣s1⃗−s0⃗∣∣2,σ2∣∣s1⃗−s0⃗∣∣2)(T|H_0)\sim N(-\frac{1}{2}||\vec{s_1}-\vec{s_0}||^2,\sigma^2||\vec{s_1}-\vec{s_0}||^2)\\ (T|H_1)\sim N(\frac{1}{2}||\vec{s_1}-\vec{s_0}||^2,\sigma^2||\vec{s_1}-\vec{s_0}||^2) (T∣H0​)∼N(−21​∣∣s1​​−s0​​∣∣2,σ2∣∣s1​​−s0​​∣∣2)(T∣H1​)∼N(21​∣∣s1​​−s0​​∣∣2,σ2∣∣s1​​−s0​​∣∣2)
故误检概率可写为
Pe=Pr⁡(T>0∣H0)Pr⁡(H0)+Pr⁡(T<0∣H1)Pr⁡(H1)=12[Pr⁡(T>0∣H0)+Pr⁡(T<0∣H1)]=Φ(−12∣∣s1⃗−s0⃗∣∣2σ2∣∣s1⃗−s0⃗∣∣2)=Φ(−12∣∣s1⃗−s0⃗∣∣2σ2)\begin{aligned} P_e&=\Pr(T>0|H_0)\Pr(H_0)+\Pr(T<0|H_1)\Pr(H_1)\\ &=\frac{1}{2}[\Pr(T>0|H_0)+\Pr(T<0|H_1)]\\ &=\Phi(-\frac{\frac{1}{2}||\vec{s_1}-\vec{s_0}||^2}{\sqrt{\sigma^2||\vec{s_1}-\vec{s_0}||^2}})\\ &=\Phi(-\frac{1}{2}\sqrt{\frac{||\vec{s_1}-\vec{s_0}||^2}{\sigma^2}}) \end{aligned} Pe​​=Pr(T>0∣H0​)Pr(H0​)+Pr(T<0∣H1​)Pr(H1​)=21​[Pr(T>0∣H0​)+Pr(T<0∣H1​)]=Φ(−σ2∣∣s1​​−s0​​∣∣2​21​∣∣s1​​−s0​​∣∣2​)=Φ(−21​σ2∣∣s1​​−s0​​∣∣2​​)​
可以看出,误检概率与两信号向量之差的模长成正比,与噪音的标准差成反比。

我们可以用matlab验证该推导结果,每次检验均生成两个随机信号s1,s2s_1,s_2s1​,s2​,分别叠加噪音计算TTT值,判断是否误检。

在这里只生成了长度为2的信号,一是因为长度太长每次检验的速度会增加,程序的总运行时间暴增;其次若信号长度太长,很难随机生成∣∣s1⃗−s0⃗∣∣2||\vec{s_1}-\vec{s_0}||^2∣∣s1​​−s0​​∣∣2较小的信号,使统计不准。
test.m

function res=test(sigma)
N=2;
s0=2*rand(1,N)-1;
s1=2*rand(1,N)-1;
w0=s0+sigma*randn(1,N);
w1=s1+sigma*randn(1,N);
T0=0;
T1=0;
E0=0;
E1=0;
for i=1:1:NE0=E0+s0(i)^2;E1=E1+s1(i)^2;T0=T0+w0(i)*(s1(i)-s0(i));T1=T1+w1(i)*(s1(i)-s0(i));
end
T0=T0-(E1-E0)/2;
T1=T1-(E1-E0)/2;
p=(s1-s0)*(s1-s0)';
%p=2*s1*s0'/(s1*s1'+s0*s0');
res=[p,(T0>0)+(T1<0)];

之后,统计两向量之差的模长与误检次数的关系,与推导结果比对,可得

在∣∣s1⃗−s0⃗∣∣2||\vec{s_1}-\vec{s_0}||^2∣∣s1​​−s0​​∣∣2偏大的部分,统计很不准确,这是因为对于随机生成的长度为2的信号,∣∣s1⃗−s0⃗∣∣2||\vec{s_1}-\vec{s_0}||^2∣∣s1​​−s0​​∣∣2那么大的样本很少,统计结果就会非常不准确。可以考虑使用蒙特卡洛法消除部分偏差。

统计及生成gif代码:
statistic.m

clc;clear;
cnt=1;
for sigma=0.2:0.01:0.6
str='σ=';
N=10000000;
d=1000;
y=zeros(1,d);
tot=zeros(1,d);
data=zeros(N,2);
hb=0;
lb=400;
for i=1:1:Na=test(sigma);data(i,1)=a(1);data(i,2)=a(2);hb=max(hb,a(1));lb=min(lb,a(1));
end
hb=hb+0.01;
sep=(hb-lb)/d;
x=lb+sep/2:sep:hb-sep/2;
for i=1:1:Nidx=floor((data(i,1)-lb)/sep)+1;y(idx)=y(idx)+data(i,2);tot(idx)=tot(idx)+2;
end
y=y./tot;
figure
plot(x,y,"linewidth",2);
hold on;
pd=makedist("Normal","mu",0,"sigma",1);
y1=cdf(pd,trans(x,sigma));
plot(x,y1,"linewidth",2);
xlabel("$||s_1-s_0||^2$","interpreter","latex","fontsize",16);
ylabel("prE","fontsize",16);
str1=[str num2str(sigma)];
title(str1,"fontsize",18);
print(1,'-dbmp',sprintf('img/%d',cnt));
cnt=cnt+1;
close;
end
%xlim([0.1 0.7]);
%ylim([-0.0025 0.03]);
%依次读取生成的所有图片
for j=1:41%获取当前图片A=imread(sprintf('img/%d.bmp',j));[I,map]=rgb2ind(A,256);%生成gif,并保存if(j==1)imwrite(I,map,'movefig.gif','DelayTime',0.1,'LoopCount',Inf)elseimwrite(I,map,'movefig.gif','WriteMode','append','DelayTime',0.1)    end
end

trans.m

function re=trans(x,sigma)
re=-sqrt(x/sigma^2)/2;

二元信号探测的误检概率推导与其matlab验证相关推荐

  1. 【六更完结!由于字数限制开新文章继续】零基础信号与系统学习笔记:复指数信号、傅里叶级数的系数推导、三角函数正交性、离散傅里叶变换、相位补偿、z变换表、逆变换表、常见序列及其作用

    零基础信号与系统学习笔记:复指数信号.傅里叶变换.三角函数正交性 基础1:复指数信号 复指数信号基础知识 复指数信号推导1 虚指数信号 虚指数信号特性和作用 直流信号 基础2:傅里叶级数 推导傅里叶级 ...

  2. 详析像增强器的构造及作用——专为微弱信号探测而生

    详析像增强器的构造及作用--专为微弱信号探测而生 CCD.CMOS相机常备用来拍摄发光影像.然而受到效率.噪声的限制,在微弱光环境下,普通相机很难实现有效的成像,这些场景包括: - 微光夜视,即环境光 ...

  3. hash碰撞的概率推导(生日攻击生日问题)

    1.关于hash碰撞 哈希碰撞是指,两个不同的输入得到了相同的输出: hash碰撞不可避免,hash算法是把一个无限输入的集合映射到一个有限的集合里,必然会发生碰撞: 2.碰撞概率的问题描述的其他形式 ...

  4. 【自适应盲均衡4】基于RLS的多径衰落信道均衡算法(RLS-CMA)的理论推导与MATLAB仿真

    关注公号[逆向通信猿]更精彩!!! 一.回顾CMA和MMA 对于前面两种算法 [自适应均衡]多径衰落信道的复数常模算法(CMA)的理论推导与MATLAB仿真 [自适应均衡]多模算法(MMA)--复数改 ...

  5. 带有匹配滤波器的雷达信号调制和脉冲压缩技术的Matlab程序

    带有匹配滤波器的雷达信号调制和脉冲压缩技术的Matlab程序 clear all; %%%  parameters' definition c=3e+8;                       ...

  6. 【自适应盲均衡3】多模算法(MMA)——复数改进常模算法(MCMA)的理论推导与MATLAB仿真

    关注公号[逆向通信猿]更精彩!!! 接上篇[自适应均衡2]多径衰落信道的复数常模算法(CMA)的理论推导与MATLAB仿真 理论推导 MMA或者MCMA其实是在CMA基础上改进而得到的,有学者称其为实 ...

  7. 语音信号调制matlab,第二章 语音信号的数字模型 数字语音处理及MATLAB仿真 教学课件.ppt...

    第二章 语音信号的数字模型 数字语音处理及MATLAB仿真 教学课件 第二章 语音信号的数字模型 2.1 概述 本章重点介绍语音信号产生的数字模型,对语音信号的特性和听觉特性做一般介绍. 2.2 语音 ...

  8. 【GPS仿真】基于matlab GPS信号捕获跟踪定位仿真【含Matlab源码 1960期】

    ⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[GPS仿真]基于matlab GPS信号捕获跟踪定位仿真[含Matlab源码 1960期] 点击上面蓝色字体,直接付费下载,即可. 获取 ...

  9. 电力系统随机潮流概率潮流计算MATLAB程序包含蒙特卡洛模拟法、半不变量法+级数展开

    电力系统随机潮流概率潮流计算MATLAB程序包含蒙特卡洛模拟法.半不变量法+级数展开(Gram-Charlie,Cornish-Fisher): 考虑光伏不确定性(Beta分布),以IEEE34节点为 ...

  10. 几种常用信号平滑去噪的方法(附Matlab代码)

    几种常用信号平滑去噪的方法(附Matlab代码) 1 滑动平均法 1.0 移动平均法的方法原理 1.1 matlab内自带函数实现移动平均法 1.2 利用卷积函数conv()实现移动平均法 1.3 利 ...

最新文章

  1. 铲屎官福音:汪星人和喵星人的小情绪,AI 可以识别了
  2. Python机器学习入门资料整理
  3. 20个命令行工具监控 Linux 系统性能(转载)
  4. boost::geometry::default_distance_result用法的测试程序
  5. 20165201 2017-2018-2 《Java程序设计》第3周学习总结
  6. python(5)- 基础数据类型
  7. python3和python2 优势_python3和python2的区别
  8. iphone如何查看wifi密码_怎么在手机和电脑查看已连接的wifi密码
  9. 蓝桥杯 基础练习 芯片测试
  10. windows聚焦图片为什么不更新了_网站内容更新,相同内容,不同网站为什么排名不一样?...
  11. 双十一流量洪峰 支撑阿里核心业务的云数据库揭秘 1
  12. 如何让网站在百度有LOGO展示
  13. HTTP权威指南-概述
  14. U盘病毒“替身”大量交叉感染 打印店电脑助扩散
  15. element input 自适应_input高度自适应。
  16. 手机号码归属地查询数据库下载
  17. 根据IP查询城市(基于ipdb库)
  18. css手指代码,CSS3中Animation实现简单的手指点击动画的示例
  19. 德州奥斯汀大学计算机专业,德克萨斯大学奥斯汀分校计算机系
  20. 输入国家名按字典顺序进行排序

热门文章

  1. MATLAB中保存eps文件的正确做法 | 保留颜色
  2. 什么是OM3、OM4光纤跳线?
  3. 简单记录 Part1.3
  4. 查看Linux内核版本命令
  5. redis实现高并发下的抢购/秒杀功能
  6. state 全局值 设置 和获取
  7. Java基础知识笔记第八章:常用的实体类
  8. CSS3实现的几个小loading效果
  9. Python之旅Day14 JQuery部分
  10. 链表:从尾到头打印链表