我军技术侦察兵小顾发现敌方正在发送无线信号s[n],他利用接收机接收信号为y[n]=0.3s[n]+w[n],其中w[n]是白噪声,分布服从均值为0,方差为1的高斯分布(也叫正态分布)。假设小顾已经正确知道以下信息:
(1) 敌方发送的信号s[n]取值只可能是+10或-10;
(2) 一共发送了10000个s[n],即n=1,2,…,10000;
(3) 其中发送了8000个+10,发送了2000个-10。
但是小顾不知道n=1时刻,n=2时刻,,,n=10000时刻发送的s[n]具体是什么。
请设计算法帮助小顾从收到的10000个y[n] 中检测出发送的s[n]值,要求使得错误概率最小。即设计算法帮他确认每个时刻(n=1时刻,n=2时刻,…,n=10000时刻)发送的s[n]是+10或-10,同时使得误判的概率最小。发送-10,判断成+10是误判;或者发送+10,判断成-10也是误判。
输入包含两部分(可以从文件中读取);
1)10000个检测的s[n]。即10000个值,每个值只有两种可能,+10或者-10.
2)检测的s[n] 和发送的s[n]不一样的个数
这是个随机优化问题,请写出算法设计思路,并请写出程序。