使用DSP技术改善SNR


14

我正在构建没有载波频率的光学OOK(开关键环)系统。[但是我在符号之间有一个保护时间,因此连续的“ 1”消息将导致脉冲序列而不是DC,请参见图)。本质上,信号的存在指示一个,信号的缺失指示零。我有一个精确的时钟,可以将接收器与发送器同步。该系统以低SNR运行,我希望使用DSP技术来提高SNR。

我有几个问题:

我在硬件中进行选择性采样,换句话说,我不连续采样通道,而仅在看到信号的可能性最大时采样(即,这是一个光脉冲,我对ADC计时,以便ADC在末尾采样我知道整个模拟链都稳定了的脉冲)。见图片。 在此处输入图片说明

自然,此图不显示噪音,但在那儿。特别是低信号系统,主要噪声源是散粒噪声,约翰逊噪声和放大器内部噪声。(光学系统,因此除Sun外没有其他干扰源)。我对噪声的观察表明,它在所有频率上都是相似的。(至少我在范围中看到的)

现在,我在软件中使用简单的阈值比较来确定数据是一还是零。有没有更好的办法?我已经考虑过一些选择,但我希望收到专家的来信。

到目前为止,我已经考虑了以下选项:

  • 进行连续ADC并尝试在上升时间进行集成:不确定是否有好处(我不知道还有其他好处)。

  • 软件中的匹配过滤器:并不是很了解数学,但根据我阅读的内容,可能

  • 在保护时间期间采样并从信号ADC值中减去此值(这可能会提供一些其他详细信息,但也不能确定,保护时间就是噪声测量值)

  • 因为我的数据速率快,所以将硬件更改为同步解码器既昂贵又费时,并且可能无法很好地工作,并且由于我必须构建一个多MHz的载频系统,因此获得同步解调器将意味着昂贵的电路板。


您的采样器如何知道何时将出现脉冲?发射器和接收器之间是否还有其他形式的时间同步?
杰森R

@JasonR是的。在文中提到。
Frank

1
抱歉,我在初读时错过了它。噪声如何表征?是白色的吗?高斯?到底是噪声还是来自其他来源的干扰?需要注意的是,我认为您列出的前两个选项是等效的,它们可能与您的问题有关,但是我想首先了解有关系统状况的更多信息。
詹森·R

@JasonR感谢您的反馈,我更新了有关噪音的问题。
Frank

我会在匹配的过滤器上下一些大注。
声音

Answers:


9

由于您指出背景噪声的功率谱是平坦的,因此我假设它是白色的。当前方法的主要缺点是,您将舍弃大量信号功率。即使您的图表通过指数上升阶跃响应显示了前端带宽限制的影响,在舍入脉冲末尾附近的单个ADC采样也提供了接收器输入的快照,该快照在时间上相当局限。通过以较高的速率进行采样并以较高的采样率应用匹配的滤波器,可以利用更多的信号功率。

理论:

您可以将其视为检测理论中的一个相对简单的问题。在每个符号间隔中,接​​收方需要在两个假设之间做出决定:

H0:signal is not presentH1:signal is present

这类问题通常使用贝叶斯决策规则来解决,该规则尝试根据某些特定的风险度量做出最佳决策。这提供了一个框架,在该框架中,可以基于一组灵活的标准来最佳地做出检测决策。例如,如果由于信号确实存在而无法检测到系统而给系统造成了很大的损失(例如,当H 1为true 时选择),则可以根据需要将其构建到决策规则中。H0H1

对于像您这样的检测问题,您试图在接收器输出中在零和一之间做出选择,通常会认为损失是相等的(发送一个为零时输出为零,反之亦然,“均等地损害”) )。在这种情况下,贝叶斯方法可简化为最大似然估计器(也在此处进行描述):考虑到接收者所做的观察,您可以选择最有可能的假设。也就是说,如果您的接收器观测到的数量为x,则它将基于具有最大似然函数值的假设生成决策。对于二元决策,可以使用似然比:

Λ(x)=P(x | H0 is true)P(x | H1 is true)=P(x | signal is not present)P(x | signal is present)

使用上述模型,对于信道每次观察,如果似然比Λ x 大于1(因此信号最有可能出现,则最佳接收器将确定信号不存在(因此输出零)。根据观察结果不存在),反之亦然。xΛ(x)

剩下的是感兴趣信号和可能影响其决策的接收器检测统计量中任何其他分量的模型。对于这样的数字通信,可以将其建模如下:x

H0:x=NH1:x=s+N

其中是从某种分布中获取的随机变量(通常假定为零均值高斯),而s是观察中的确定性分量,这是由于您正在寻找的信号引起的。因此,可观察到的接收器x的分布取决于假设H 0还是H 1nsxH0H1为真而变化。为了评估似然比,您需要一个模型说明那些分布。对于上面提到的高斯情况,数学看起来像这样:

Λ(x)=P(x | H0 is true)P(x | H1 is true)=P(x | x=N)P(x | x=s+N)

Λ(x)=P(x | H0 is true)P(x | H1 is true)=ex22σ2e(xs)22σ2

其中是高斯噪声项的方差。注意,加性信号分量仅具有使x的所得高斯分布的平均值移动的功能。对数似然比可用于消除指数:σ2x

ln(Λ(x))=ln(ex22σ2e(xs)22σ2)=(x22σ2)((xs)22σ2)

回想一下,如果似然比大于1 ,则我们的决策规则选择。等效对数可能性决策规则是,如果对数可能性大于零,则选择H 0。一些代数表明,决策规则简化为:H0H0

x<s2choose H0x>s2choose H1

请注意,如果,那么两个假设的可能性均等,您只需要选择一个即可;但是,对于连续值的信号,这并不是实际的问题。因此,在已知信号幅度s的情况下,我们可以通过设置阈值T=s来最佳地检测其在高斯噪声背景下的存在x=s2s ; 如果观测值x大于TT=s2xT,则声明存在信号并发出一个信号,反之亦然。

实践:

在这个简单的玩具理论示例中,存在一些实际问题。一:将您描述的场景映射到一个看似简单的看似模型中似乎并不简单。其次,很少知道振幅s要查找的信号,因此阈值选择需要一些考虑。

正如我之前所提到的,噪声通常被认为是高斯的,因为正态分布非常容易使用:一堆独立的高斯的总和仍然是高斯,它们的均值和方差也相加。同样,分布的一阶和二阶统计量足以完全表征它们(鉴于高斯分布的均值和方差,您可以编写其pdf)。因此,希望至少对于您的应用程序来说这是一个不错的近似值。

给定上述模型,有两种方法可以提高检测器的性能:您可以增加(即增加信号功率),使其在抗噪声方面更突出。您可以减少N(即减少噪声量),减少使s不清楚的干扰量。或者,等效地,您可以考虑信噪比。要了解其重要性,让我们回到理论上来。根据我们的决策规则,发生错误的几率是多少?sNs

Pe=P(choose H0 | H1 true)P(H1 true)+P(choose H1 | H0 true)P(H0 true)=12P(x<s2 | x=s+N)+12P(x>s2 | x=N)=12Fx | x=s+N(s2)+12(1Fx | x=N(s2))

Fx | x=s+N(z)xx=s+N

Pe=12(1Q(s2sσ))+12Q(s2σ)=12+12(Q(s2sσ)+Q(s2σ))=12+12(Q(s2σ)+Q(s2σ))=12+12(Q(SNR2)+Q(SNR2))=Q(SNR2)

where Q(x) is the Q function:

Q(x)=12πxez22dz

(i.e. the tail integral of the standard normal distribution's pdf, or 1 minus the distribution's cdf) and SNR is the signal-to-noise ratio sσ. The above function is a strictly decreasing function of SNR; as you increase the ratio of the signal amplitude s to the noise standard deviation σ, the probability of making a bit decision error decreases. So, it behooves you to do whatever you can to increase this ratio.

Remember our assumption that the noise was white and Gaussian? That can help us now. If the noise is white and Gaussian, then the noise components contained in each observation are jointly independent of one another. An important property of independent random variables is that when you sum them together, their means and variances sum. So, let's consider another simple case, where instead of taking one sample per symbol interval, you take two, then sum them together. I'll assume for simplicity that the pulse shape is rectangular (not an exponential rise), so the signal component s in each observation x1 and x2 is the same. What is the difference in signal to noise ratio between just a single observation x1 and the sum of two independent ones?

SNR1=sσ

SNR2=2s2σ=2SNR1

So, the signal to noise ratio in the combined observation is larger than using only a single sample (under the assumption of equal signal component and equal-variance white Gaussian noise in both samples that we took). This is a basic observation that points out the potential benefits of taking more than one sample per symbol interval and integrating them together (which, for a rectangular pulse, is a matched filter). In general, you want to cover the entire symbol interval with samples so that your receiver "ingests" as much of the transmitted energy for each symbol, thus maximizing the SNR in the combined output. The ratio of symbol energy to the background noise variance EsN0 is often used as a figure of merit when evaluating digital communications system performance.

More rigorously, it can be shown that a matched filter has an impulse response that is identical in shape (that is, "matched", with the only subtle exception being that the impulse response is reversed in time) to the pulse shape that the receiver sees (so it weights more strongly samples that have larger signal components). That shape is a function of the transmitted pulse shape as well as any effects induced by the channel or receiver front end, such as bandlimiting or multipath.

To implement this sort of arrangement in practice, you would convolve the stream of samples taken by your ADC with the time-reversed expected pulse shape. This has the effect of calculating the cross-correlation between the pulse shape and the received signal for all possible time offsets. Your implementation is aided by the precise time synchronization that you have available, so you'll know exactly which matched filter output samples correspond to correct sampling instants. The filter outputs at those times are used as the detection statistic x in the theoretical model above.

I referred to threshold selection before, which can be a complicated topic, and there are many different ways that you can choose one, depending upon your system's structure. Selecting a threshold for an on-off-keyed system is complicated by the likely-unknown signal amplitude s; other signal constellations, like antipodal signaling (e.g. binary phase shift keying, or BPSK) have a more obvious threshold choice (for BPSK, the best threshold is zero for equally-likely data).

One simple implementation of a threshold selector for OOK might calculate the mean of many observations. Assuming that zeros and ones are equally likely, the expected value of the resulting random variable is half of the signal amplitude, which is the threshold that you seek. Performing this operation over a sliding window can allow you to be somewhat adaptive to varying background conditions.

Note that this is only intended to be a high-level introduction to the issues inherent in digital communications with respect to detection theory. It can be a very complicated topic, with a lot of statistics involved; I tried to make it somewhat easy to understand while keeping true to the underlying theory. For a better explanation, go get a good textbook, like Sklar's.


thanks for the detailed answer, I learned a lot from it. I like to ask a few clarifications. I get the point of more than 1 sample at the duration. In this case how a matched filter look like? Say, I have three samples x1,x2,x3 (x3 at the tail end and x1 at the beginning). Based on what I read, I must convolve this with a same but symmetrical shape signal. Can you perhaps explain this part? [I think I know the answer but just to make sure] Second part, I know what is the dynamic range of incoming signal would be as I have taken measurements. Can I use that range for threshold setting?
Frank

A matched filter is a way of implementing a sliding cross-correlation between the signal seen by your receiver and the expected pulse shape. The diagram shown in your question illustrates the pulse seen by the ADC as an exponential rise; if that is indeed your model for what the receiver sees, then the appropriate matched filter would have the same shape, only reversed in time (the time reversal turns the convolution operation into correlation). If the receiver front end doesn't appreciably distort the pulse, you could use an "ideal" rectangular matched filter, which is simpler to implement.
Jason R

As to your second question: yes, if you know a priori the expected amplitude of the signal component, then you can use that to select a threshold. Using the statistical model for the system (based on the type of noise that is present), you can calculate the bit error rate as a function of the signal to noise ratio (which is proportional to the signal amplitude). If the thermal noise of your receiver is the dominant source, then white Gaussian noise is usually a good assumption.
Jason R

My receiver has a BPF that cuts the high frequency signals. The BPF rounds off the initial spike of the pulse and it becomes a more exponential in nature. I can disable the BPF but this will introduce HF noise currently not in the chain. It sounds like I have a tradeoff, how can I quantify which way is better. (i.e remove BPF and use matched filter for a pulse, don't remove BPF and use a matched filter for a exponential rise)
Frank

I awarded the bounty to you, thanks very much for a great answer.
Frank

0

One possible technique might be to try using periodic training sequences to gather statistics, not only to differentiate between the 1's and 0's, or to calculate a reliability metric for any given threshold, but to analyze how various bit sequences might affect an adaptive bit decision threshold.


interesting thinking but not suitable. I need to make a decision fast and even if I work with previous data, variation in the field would be large.
Frank
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.