Como você indicou que o espectro de potência do seu ruído de fundo é plano, presumo que seja branco . Uma grande desvantagem da sua abordagem atual é que você está descartando uma grande quantidade da potência do sinal; mesmo com o efeito de limitação de banda do front-end mostrado no diagrama pela resposta da etapa de aumento exponencial, uma única amostra de ADC próxima ao final do pulso arredondado fornece uma captura instantânea da entrada do receptor que é bastante localizada no tempo. Você pode tirar proveito de mais potência do sinal amostrando em uma taxa mais alta e aplicando um filtro correspondente na taxa de amostragem mais alta.
Teoria:
Você pode ver isso como um problema relativamente simples na teoria de detecção . Em cada intervalo de símbolo, seu receptor precisa decidir entre duas hipóteses:
H0H1::signal is not presentsignal is present
Esse tipo de problema geralmente é resolvido usando regras de decisão bayesianas , que tentam tomar a decisão ideal de acordo com alguma medida de risco especificada. Isso fornece uma estrutura em que é possível otimizar as decisões de detecção com base em um conjunto flexível de critérios. Por exemplo, se houver uma grande penalidade em seu sistema por não detectar o sinal se ele estiver realmente presente (por exemplo, você escolher quando H 1 for verdadeiro), poderá incorporá-lo à sua regra de decisão, se necessário.H0H1
Para um problema de detecção como o seu, em que você está tentando decidir entre zeros e outros na saída do receptor, a penalidade normalmente é assumida como sendo igual (gerar um zero quando um foi transmitido e vice-versa, "machuca igualmente"). ) A abordagem bayesiana nesse caso se reduz a um estimador de probabilidade máxima (também descrito aqui ): você escolhe a hipótese que é mais provável, considerando a observação que o seu receptor faz. Ou seja, se a quantidade que seu receptor observa for , isso geraria uma decisão com base na hipótese que possui o maior valor de função de probabilidade . Para o caso de decisão binária, a razão de verossimilhança pode ser usada:x
Λ(x)=P(x | H0 is true)P(x | H1 is true)=P(x | signal is not present)P(x | signal is present)
Usando o modelo acima, para cada observação do canal , o receptor ideal decidiria que o sinal não estava presente (portanto, emitindo um zero) se a razão de verossimilhança Λ ( x ) for maior que um (e, portanto, o sinal era mais provável não estar presente com base na observação) e vice-versa.xΛ(x)
O que resta é um modelo para o sinal de interesse e quaisquer outros componentes na estatística de detecção do receptor que possam afetar suas decisões. Para uma comunicação digital como essa, ela pode ser modelada da seguinte maneira:x
H0H1::x=Nx=s+N
onde é uma variável aleatória retirada de alguma distribuição (geralmente assumida como sendo gaussiana com média zero) es é um componente determinístico da observação devido ao sinal que você está procurando. A distribuição do receptor observável x , portanto, varia dependendo se a hipótesensx ou H 1 é verdadeira. Para avaliar a taxa de probabilidade, você precisa de um modelo para o que são essas distribuições. Para o caso gaussiano mencionado acima, a matemática é assim:H0H1
Λ(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)=e−x22σ2e−(x−s)22σ2
onde é a variação do termo de ruído gaussiano. Observe que o componente de sinal aditivo tem apenas a função de alterar a média da distribuição gaussiana resultante de x . A razão de log-verossimilhança pode ser usada para se livrar dos exponenciais:σ2x
ln(Λ(x))=ln⎛⎝⎜e−x22σ2e−(x−s)22σ2⎞⎠⎟=(−x22σ2)−(−(x−s)22σ2)
Lembre-se de que nossa regra de decisão selecionou se a taxa de probabilidade fosse maior que um. A regra de decisão de probabilidade de log equivalente é escolher H 0 se a probabilidade de log for maior que zero. Alguma álgebra mostra que a regra de decisão se reduz a:H0H0
x<s2→choose H0x>s2→choose H1
Observe que se x=s2sT=s2xT
Prática:
s of the signal that you're looking for, so threshold selection requires some thought.
As I referenced before, noise is often assumed to be Gaussian because the normal distribution is so easy to work with: the sum of a bunch of independent Gaussians is still Gaussian, and their mean and variances just add also. Also, the first- and second-order statistics of the distribution are enough to completely characterize them (given the mean and variance of a Gaussian distribution, you can write its pdf). So, hopefully that's a decent approximation at least for your application.
There are two ways to improve the performance of the detector given the model described above: you can increase s (i.e. increase the signal power), making it stand out more against the noise. You could decrease N (i.e. reduce the amount of noise), reducing the amount of interference that makes the presence of s unclear. Or, equivalently, you can think of the signal to noise ratio instead. To see its importance, let's go back to the theory for a second. What is the probability of a bit error given our decision rule?
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(1−Fx | x=N(s2))
where Fx | x=s+N(z) is the cumulative distribution function of the distribution of the observation x, given that x=s+N (and likewise for the other function). Substituting in the cdf for the Gaussian distribution, we get:
Pe=====12(1−Q(s2−sσ))+12Q(s2σ)12+12(−Q(s2−sσ)+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π−−√∫∞xe−z22dz
(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σ−−√=2–√SNR1
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.