DSP 기술을 사용하여 SNR 개선


14

반송파 주파수가없는 광학 OOK (On Off Key Ring) 시스템을 구축 중입니다. [그러나 심볼 사이에 보호 시간이 있으므로 연속적인 "1"메시지는 DC와 반대로 펄스 트레인이됩니다 (이미지 참조). 본질적으로 신호의 존재는 하나를 나타내며 그 부족은 0을 나타냅니다. 수신기와 송신기를 동기화하는 정확한 시계가 있습니다. 이 시스템은 낮은 SNR로 작동하며 DSP 기술을 사용하여 SNR을 개선하는 것을 좋아합니다.

몇 가지 질문이 있습니다.

나는 하드웨어에서 선택적 샘플링을한다. 다시 말해서, 지속적으로 채널을 샘플링하지 않고 신호를 볼 확률이 최대 일 때만 샘플링한다 (즉, 이것은 광 펄스이다. 전체 아날로그 체인이 안정된 것을 알 수 있습니다. 이미지를 참조하십시오. 여기에 이미지 설명을 입력하십시오

당연히이 그림은 소음을 나타내지 않지만 거기에 있습니다. 이것은 특히 저 신호 시스템이며 주요 노이즈 소스는 샷 노이즈, 존슨 노이즈 및 앰프 내부 노이즈입니다. (광학 시스템이므로 Sun 이외의 다른 간섭 장치는 없습니다). 소음에 대한 나의 관찰은 모든 주파수에서 유사하다는 것을 나타냅니다. (적어도 Scope에서 보는 것)

이제 소프트웨어에서 간단한 임계 값 비교를 사용하여 데이터가 1인지 또는 0인지 확인합니다. 더 좋은 방법이 있습니까? 몇 가지 옵션을 생각했지만 전문가의 의견을 듣고 싶습니다.

지금까지 다음 옵션을 고려했습니다.

  • 지속적인 ADC를 수행하고 상승 시간 동안 통합을 시도하십시오 : 이점에 대해 완전히 확신 할 수는 없습니다 (다른 이점이있을 수도 있습니다).

  • 소프트웨어에서 일치하는 필터 : 수학을 실제로 이해하지 못하지만 읽은 내용을 기반으로 가능성

  • 가드 시간 동안 샘플링하고 신호 ADC 값에서이를 뺍니다 (이는 추가 세부 사항을 제공 할 수도 있지만 확실하지 않은 경우 가드 시간은 노이즈 측정 일 것입니다)

  • 데이터 속도가 빠르고 동기 복조기를 얻는 것이 멀티 MHz 반송파 주파수 시스템을 구축해야하므로 비용이 많이 들고 시간이 많이 걸리며 하드웨어를 동기식 디코더로 변경하면 제대로 작동하지 않을 수 있습니다.


펄스는 언제 발생하는지 샘플러는 어떻게 알 수 있습니까? 송신기와 수신기 사이에 다른 형태의 시간 동기화가 있습니까?
Jason R

@JasonR 예. 본문에 언급되어 있습니다.
Frank

1
처음 읽을 때 미안했습니다. 소음의 특징은 무엇입니까? 흰색인가요? 가우시안? 소음이 전혀 없습니까, 아니면 다른 소스와의 간섭입니까? 참고로, 귀하가 나열한 처음 두 옵션은 동등한 것으로 간주되며 문제와 관련이있을 수 있지만 시스템 상태에 대한 자세한 정보를 먼저 원했습니다.
Jason R

@JasonR 피드백에 감사드립니다. 소음에 관한 질문을 업데이트했습니다.
Frank

일치하는 필터에 심각한 베팅을합니다.
Phonon

답변:


9

배경 소음의 전력 스펙트럼이 평평하다는 것을 표시 했으므로 흰색으로 가정합니다 . 현재 접근 방식의 주요 단점은 많은 양의 신호 전력을 버리고 있다는 것입니다. 지수 상승 단계 응답으로 다이어그램에 표시된 프런트 엔드 대역 제한의 영향을 받더라도 둥근 펄스의 끝 근처에있는 단일 ADC 샘플은 시간에 국한된 수신기 입력의 스냅 샷을 제공합니다. 더 높은 속도로 샘플링하고 더 높은 샘플링 속도로 일치하는 필터 를 적용하면 더 많은 신호 전력을 활용할 수 있습니다 .

이론:

이것을 탐지 이론 에서 비교적 간단한 문제로 볼 수 있습니다 . 각 심볼 간격에서 수신기는 두 가지 가설을 결정해야합니다.

H0:signal is not presentH1:signal is present

이러한 종류의 문제는 종종 베이지안 결정 규칙을 사용하여 해결 되는데,이 규칙 은 특정 위험 척도에 따라 최적의 결정을 시도합니다. 이는 유연한 기준에 따라 최적의 탐지 결정을 내릴 수있는 프레임 워크를 제공합니다. 이 사실 존재에있는 경우 신호를 감지하기 위해 실패에 대한 시스템에 큰 페널티가있는 경우 예를 들어, (즉, 당신이 선택 H 1가 필요한 경우에, 당신은 당신의 결정 규칙에 그를 구축 할 수 있습니다 사실이다).H0H1

수신기 출력에서 ​​0과 1 사이의 값을 결정하려는 감지 문제의 경우 일반적으로 페널티는 동일하다고 가정합니다. ). 이 경우 베이지안 접근 방식은 최대 우도 추정치 ( 여기 에서도 설명 됨 )로 줄어 듭니다 . 수신자가 수행 한 관측치를 고려할 때 가장 가능성이 높은 가설을 선택합니다. 즉, 수신자가 관찰하는 수량이 이면 가능성 함수 값 이 가장 큰 가설을 기반으로 결정을 생성 합니다. 이진 결정 사례의 경우 가능성 비율을 대신 사용할 수 있습니다.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보다 크면 (따라서 신호가 가장 가능성이 높을 경우 ) 신호가 존재하지 않았다고 (따라서 0을 출력 함) 결정할 것이다. 관찰에 근거하여 존재하지 않아야하며, 그 반대도 마찬가지이다.xΛ(x)

남은 것은 관심있는 신호와 수신기 탐지 통계 의 다른 구성 요소에 대한 모델로 결정에 영향을 줄 수 있습니다. 이와 같은 디지털 통신의 경우 다음과 같이 모델링 될 수 있습니다.x

H0:x=NH1:x=s+N

여기서 은 일부 분포 (종종 0 평균 가우시안으로 가정)에서 가져온 랜덤 변수이고 s 는 찾고있는 신호로 인한 관측의 결정적 구성 요소입니다. 따라서 수신기 관측 가능 x 의 분포는 가설 H 0 또는 H 1 이 참 인지에 따라 달라집니다 . 우도 비율을 평가하려면 해당 분포에 대한 모형이 필요합니다. 위에서 언급 한 가우시안 사례의 경우 수학은 다음과 같습니다.nsxH0H1

Λ(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보다 크면 결정 규칙이 선택했음을 상기하십시오. 동등한 로그 우도 결정 규칙은 로그 우도가 0보다 큰 경우 H 0 을 선택하는 것입니다. 일부 대수학은 의사 결정 규칙이 다음과 같이 감소 함을 보여줍니다.H0H0

x<s2choose H0x>s2choose H1

참고이 경우 , 두 가설 모두 똑같이 가능하므로 하나만 선택하면됩니다. 그러나 이것은 지속적으로 가치가있는 신호에는 실질적인 관심사가 아닙니다. 따라서 알려진 신호 진폭s가주어지면임계 값T=s를설정하여 가우시안 잡음의 배경에 대한 존재를 최적으로 감지 할 수 있습니다.x=s2s ; 관측 값xT보다 큰 경우, 신호가 존재한다고 선언하고 신호를 방출하며 그 반대도 마찬가지입니다.T=s2xT

연습:

이 단순하고 장난감적인 이론적 사례에 영향을 미치는 몇 가지 실질적인 문제가 있습니다. 첫째, 묘사 한 시나리오를 단순하게 보이는 모델에 매핑하는 것만으로는 간단하지 않을 수 있습니다. 둘째, 당신이 진폭 아는 것이 매우 드문 임계 값 선택이 어떤 생각을해야합니다, 그래서 당신이 찾고있는 것을 신호를.s

앞에서 언급했듯이 정규 분포가 너무 쉽게 작동하기 때문에 잡음은 종종 가우시안으로 가정됩니다. 독립 가우시안의 합은 여전히 ​​가우시안이며 그 평균과 분산도 추가됩니다. 또한 분포의 1 차 및 2 차 통계는 분포를 완전히 특성화하기에 충분합니다 (가우시안 분포의 평균 및 분산을 고려하면 pdf를 작성할 수 있음 ). 따라서 적어도 귀하의 응용 프로그램에 대한 적절한 근사치입니다.

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)x, given that x=s+N (and likewise for the other function). Substituting in the cdf for the Gaussian distribution, we get:

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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.