检测后的信号估计第 2 部分

信息处理 信号检测 估计
2022-02-10 05:40:58

我有一个二进制信息源信号s(t)被加性高斯白噪声破坏w(t)在特定的 SNR。接收到的信号为:

x(t)=s(t)+w(t)

然后我创建了一个匹配的过滤器h(t)作为源二进制信号的时间反转s(t).

问题:信号检测后,如何估计干净的信号s(t)? 我使用了 sign() 操作。这是正确的方法还是我应该使用复杂的方法,如 MLE、LMS 等?在许多实现中,硬阈值零用于对信号进行解码,以便取回传输的源符号s^(t). 这是正确的方法吗?在我使用符号函数估计符号的地方,我的实现是否正确。

这是我的实现。请纠正我哪里错了。

clear all
N = 50;

input = rand(1,N)>0.5; 
s=(2*input-1); %input
x = awgn(s,15,'measured'); %received noisy signal

matched_filter_h = flipud(s);
s_hat = sign(filter(matched_filter_h,1,x));

代码输出表明s(t)s^(t)是相同的。因此,估计是可能的。

1个回答

信号检测后,如何估计干净的信号s(t)?

匹配滤波用于检测噪声中是否存在已知信号。当您谈论匹配过滤器时,没有估计部分。估计部分是在您完成匹配滤波器并需要估计符号之后出现的。

看起来您正在谈论通信系统上下文,但这些系统中的匹配过滤不是通过匹配过滤符号来完成的,就像您的示例代码中那样。对于每个符号,真正的符号是未知的,而脉冲形状是已知的,这就是匹配滤波器使用脉冲形状来匹配滤波器的原因。也许您想了解的有关匹配过滤的所有信息都可以在这里找到,https://dsp.stackexchange.com/a/9389/31316,您应该阅读一下。

编辑

OP关于零阈值以及是否有其他方法的问题。该阈值是通过使用最大似然解决方案或最小距离解码来设置的。对于 BPSK,您要决定是否x包含s1=+1或者s2=1, ML 规则是选择s^=s1如果:

|xs1|<|xs2|

这也可以解释为将 IQ 图划分为不同的区域(Voronoi 区域),s1和不同的地区s2. 这些区域最终看起来像这样(注意 BPSK 的阈值线如何为零):

在此处输入图像描述

有关完整的推导,请参阅 Tse 的无线通信书籍 A.2.1 节,https: //web.stanford.edu/~dntse/Chapters_PDF/Fundamentals_Wireless_Communication_AppendixA.pdf 。