En un número anterior presentamos una función de filtrado que usa varias frecuencias de Fourier (que, de ahora en adelante, llamaremos componentes) (k) con la mayor amplitud. La siguiente pregunta que nos hacemos es: ¿cuántos componentes mínimos podemos usar que capten la esencia vital (es decir, la información) de la señal original?
Para responder a esta pregunta, introduciremos una nueva medida -usada en el procesamiento de señales y en teoría de la información— llamada proporción señal-ruido (SNR). La proporción señal-ruido compara el nivel de señal deseada con el de ruido de fondo.
En este número empezaremos por la representación trigonométrica de la transformada de Fourier, calcularemos la potencia promedio aportada por cada frecuencia/componente de Fourier (también conocida como densidad de potencia) y estimaremos la proporción señal-ruido para una función de filtrado genérica. Luego, consideraremos un filtro de paso bajo (LPF, por sus siglas en inglés), que pasa señales con frecuencias inferiores a una frecuencia de corte seleccionada, y derivaremos una fórmula aproximada para calcular su SNR. Finalmente, discutiremos los valores de SNR comúnmente utilizados en aplicaciones prácticas y cómo utilizarlos para establecer la frecuencia de corte del filtro.
¿Por qué nos debe preocupar?
En comparación con nuestro artículo previo sobre la transformada de Fourier, este aborda el tema desde una perspectiva distinta. Esperamos que elimine o actualice sus intuiciones y haga cumplir estos conceptos importantes.
Trasfondo
La proporción señal/ruido se define a continuación:
$$\boldsymbol{}\textrm{SNR} = \frac{P_{signal}}{P_{noise}}$$
$${\rm{SN}}{{\rm{R}}_{{\rm{dB}}}} = 10 \times {\log _{10}}\left( {\frac{{{P_{signal}}}}{{{P_{noise}}}}} \right) = 10 \times {\log _{10}}\left( {{\rm{SNR}}} \right)$$
Donde:
- ${P_{signal}}$ es la potencia media de la señal deseada.
- ${P_{noise}}$ es la potencia media del ruido de fondo.
- ${\rm{SN}}{{\rm{R}}_{{\rm{dB}}}}$ es la proporción señal/ruido, medida en decibeles
El ruido de fondo (N) es, por definición, estocástico (no determinístico), con una media igual a cero, de manera que SNR se expresa así:
$$SNR = \frac{{{P_{signal}}}}{{E[{N^2}]}}$$
Donde:
- E[.] = Es la operadora de valor esperado
Tenga en cuenta que la definición de la potencia media del ruido de fondo es idéntica a su varianza para la señal de entrada (Q) no determinista (aleatoria); podemos expresar la potencia media como $E[{Q^2}]$.
$$SNR = \frac{{E[{Q^2}]}}{{E[{N^2}]}} = \frac{{s_Q^2 + {{\bar Q}^2}}}{{s_N^2}}$$
Dado que la señal de entrada puede no tener una media de cero, tenemos ${\bar Q^2}$ en el numerador. Nótese que la proporción señal-ruido es la relación entre las variaciones de entrada y de ruido.
Transformada Discreta de Fourier
Dada una muestra de datos finita x_t de tamaño N, podemos expresar el valor en el tiempo t en términos de la transformación discreta de Fourier correspondiente $\{ {A_i}\angle {\phi _i}\} _{i = 0}^{N - 1}$ como aparece a continuación:
$$x(t) = \frac{1}{N}\left( {{A_o} + \sum\limits_{j = 1}^{N - 1} {{A_1}\cos (j \times \omega \times t + {\phi _j})} } \right)$$
$$\omega = \frac{{2\pi \times {f_s}}}{N}$$
Donde:
- N = El número de observaciones (aka puntos de datos) en el conjunto de datos de la muestra.
- {${A_o},{A_1},...,{A_{N - 1}}$}= las amplitudes de los componentes DFT.
- $\{ {\phi _1},{\phi _2},..,{\phi _{N - 1}}\}$ = los ángulos de fase de los componentes del DFT (medidos en radianes).
- ${f_s}$ = Frecuencia o tasa de muestreo.
- $\omega$ = la frecuencia del radiante principal (fundamental) del DFT.
Note que DFT es simétrico alrededor del componente N/2 (o el N/2+1, si N es un número par), y repite cada componente N (ej., es cíclico como se ilustra abajo).
Para nuestros propósitos aquí, y para evitar distinciones entre muestras de datos impares o uniformes, usamos todo el espectro $\{ 0,1,2,..,N - 1\}$ en nuestra derivación a continuación.
¿Por qué usamos DFT aquí?
Las funciones del coseno en la expresión de arriba son ortogonales (no correlacionadas) entre sí, por lo que el cálculo de la media y la varianza de la señal, expresada como la suma ponderada de dichas funciones, se simplifica enormemente.
Calculemos la media de la señal:
$$\begin{aligned} E[x(t)] &= E\left[ {\frac{1}{N}\left( {{A_o} + \sum\limits_{j = 1}^{N - 1} {{A_1}\cos (j \times \omega \times t + {\phi _j})} } \right)} \right] \\ &= \frac{1}{N} \times \left( {{A_o} + \sum\limits_{j = 1}^{N - 1} {{A_1}E[\cos (j \times \omega \times t + {\phi _j})]} } \right) \\ &= \bar X = \frac{{{A_o}}}{N}\end{aligned} $$
Ahora, restemos la media de los valores de los puntos de datos:
$$x(t) - \bar X = \frac{1}{N}\sum\limits_{j = 1}^{N - 1} {{A_1}\cos (j \times \omega \times t + {\phi _j})} $$
La varianza de la señal de entrada (${s^2}$) se define así:
$$\begin{aligned} {{\rm{s}}^2} &= E[{(x(t) - \bar x)^2} \\ & = \frac{1}{{{N^2}}}E\left[ {{{\left( {\sum\limits_{j = 1}^{N - 1} {{A_j}\cos (j \times \omega \times t + {\phi _j})} } \right)}^2}} \right] \end{aligned}$$
Expandamos esta expresión:
$$\begin{aligned}
\rm{s}^2 = & \frac{1}{{{N^2}}} \times \left( {\sum\limits_{j = 1}^{N - 1} {A_j^2E\left[ {{{\cos }^2}(j \times \omega \times t + {\phi _j})} \right]} } \right) +\\
& \frac{2}{{{N^2}}} \times \left( {\sum\limits_{j = 1}^{N - 2} {\sum\limits_{h = j + 1}^{N - 1} {{A_j}{A_h} E\left[ {\cos (j \times \omega \times t + {\phi _j})\times \cos (h \times \omega \times t + {\phi _h})} \right]} } } \right)
\end{aligned}$$
Y, el $s^2$ se puede expresar de la siguiente manera:
$${s^2} = \frac{1}{{{N^2}}} \times \left( {\sum\limits_{j = 1}^{N - 1} {A_j^2E[{{\cos }^2}(j \times \omega \times t + {\phi _j})]} } \right) = \frac{1}{{{N^2}}}\sum\limits_{j = 1}^{N - 1} {\frac{{A_j^2}}{2}}$$
En resumen, la varianza de la señal de entrada se puede expresar de la siguiente manera:
$${s^2} = \frac{1}{{2{N^2}}} \times \sum\limits_{j = 1}^{N - 1} {A_j^2}$$
Por lo tanto, cada componente DFT contribuye con $\frac{{{A^2}}}{{2{N^2}}}$ a la variabilidad de la señal (o potencia).
Función de Filtro
Para cualquier función de filtro dada, tenemos dos señales: la entrada $\{ {I_t}\}$ y la salida filtrada (${O_t}$).
El ruido de fondo es simplemente diferente entre las dos señales:
Las transformadas discretas de Fourier (DFT) de las señales de entrada y salida filtradas son: $ {A_i}\angle {\phi _i}\} _{i = 0}^{N - 1}$ and $\{ {B_i}\angle {\theta _i}\} _{i $\{B_i\angle\theta_i\}_{i=0}^{N-1}$, respectivamente, y el DFT de la señal de ruido (${C_i}\angle {\gamma _i}\} _{i = 0}^{N - 1}$) es también la diferencia entre el DFT y las dos señales.
$${C_i}\angle {\gamma _i} = {A_i}\angle {\phi _i} - {B_i}\angle {\theta _i}$$
Notemos que el cálculo de ${C_i}\angle \gamma$ implica números complejos, por lo que se deben restar tanto las partes reales como las imaginarias.
Examinemos una función de filtro simple donde no se afecta el ángulo de fase del componente de frecuencia, solo la amplitud, entonces ${\gamma _i} = {\phi _i} = {\theta _i}$ and ${C_i} = ({A_i} - {B_i})\angle {\phi _i}$
$$\begin{aligned} SNR =& \frac{{s_O^2 + {{\bar O}^2}}}{{s_N^2}} = \frac{{\frac{{B_o^2}}{{{N^2}}} + \frac{1}{{2{N^2}}} \times \sum\limits_{j = 1}^{N - 1} {B_j^2} }}{{\frac{1}{{2{N^2}}} \times \sum\limits_{j = 1}^{N - 1} {C_j^2} }} \\ =& \frac{{2B_o^2 + \sum\limits_{j = 1}^{N - 1} {B_j^2} }}{{\sum\limits_{j = 1}^{N - 1} {({A_j} - {B_j}} {)^2}}} \\ =& \frac{{2B_o^2 + \sum\limits_{j = 1}^{N - 1} {B_j^2} }}{{\sum\limits_{j = 1}^{N - 1} {A_j^2} + \sum\limits_{j = 1}^{N - 1} {B_j^2} - 2\sum\limits_{j = 1}^{N - 1} {{A_j}{B_j}} }}\end{aligned}$$
!Voila! Podemos calcular la SNR únicamente a partir de las amplitudes de la DFT de las señales de entrada y salida.
De ahora en adelante consideremos una muestra de tamaño impar (N).Usando la simetría de la propiedad de DFT podemos usar solamente la primera mitad del espectro, y la SNR se puede expresar de la siguiente manera:
$$\begin{aligned} SNR =& \frac{{2B_o^2 + 2\sum\limits_{j = 1}^{N/2} {B_j^2} }}{{2\sum\limits_{j = 1}^{N/2} {A_j^2} + 2\sum\limits_{j = 1}^{N/2} {B_j^2} - 4\sum\limits_{j = 1}^{N/2} {{A_j}{B_j}} }} \\ =& \frac{{B_o^2 + \sum\limits_{j = 1}^{N/2} {B_j^2} }}{{\sum\limits_{j = 1}^{N/2} {A_j^2} + \sum\limits_{j = 1}^{N/2} {B_j^2} - 2\sum\limits_{j = 1}^{N/2} {{A_j}{B_j}} }}\end{aligned}$$
Filtro de Paso Bajo
Para una función de filtro de paso bajo (LPF), a medida que aumenta la frecuencia de corte, también aumenta la proporción de SNR, ya que permite que pasen más componentes de frecuencia.
Para LPF(K), la DFT de salida se expresa de la siguiente manera:
$${B_j} = \left\{ {\begin{array}{*{20}{c}}
{\begin{array}{*{20}{c}}
{{A_j}}&{j < K}
\end{array}}\\
{\begin{array}{*{20}{c}}
0&{j \ge K}
\end{array}}
\end{array}} \right.$$
La SNR se simplifica aún más:
$$SNR(K) = \frac{{A_o^2 + \sum\limits_{j = 1}^{K - 1} {A_j^2} }}{{\sum\limits_{j = K}^{N/2} {A_j^2} }}$$
Examinemos el cambio marginal cuando se permite que un componente de frecuencia más (por ejemplo el componente K) pase a través del filtro:
$$\begin{aligned}{\rm{SNR}}(K + 1) &= \frac{{A_o^2 + \sum\limits_{j = 1}^{K - 1} {A_j^2} + A_K^2}}{{\sum\limits_{j = K}^{N/2} {A_j^2} - A_K^2}} \\ &= \frac{{\left( {A_o^2 + \sum\limits_{j = 1}^{K - 1} {A_j^2} } \right) \times \left( {1 + \frac{{A_K^2}}{{A_o^2 + \sum\limits_{j = 1}^{K - 1} {A_j^2} }}} \right)}}{{\sum\limits_{j = K}^{N/2} {A_j^2 \times \left( {1 - \frac{{A_K^2}}{{\sum\limits_{j = K}^{N/2} {A_j^2} }}} \right)} }}\\ &= SNR(K) \times \frac{{\left( {1 + \frac{{A_K^2}}{{A_o^2 + \sum\limits_{j = 1}^{K - 1} {A_j^2} }}} \right)}}{{\left( {1 - \frac{{A_K^2}}{{\sum\limits_{j = K}^{N/2} {A_j^2} }}} \right)}}\end{aligned}$$
A medida que aumentamos el valor de la frecuencia de corte de filtro (ej., K), el numerador se acerca a 1.0 rápidamente; por lo tanto podemos aproximar la fórmula SNR de la siguiente manera:
$${\rm{SNR(K + 1)}} \approx \frac{{{\rm{SNR(K)}}}}{{1 - A_K^2/\sum\limits_{j = K}^{N/2} {A_j^2} }}$$
$$\frac{{{\rm{SNR(K + 1)}}}}{{{\rm{SNR(K)}}}} \approx 1 + \frac{{A_K^2}}{{\sum\limits_{j = K + 1}^{N/2} {A_j^2} }}$$
Usando la fórmula podemos calcular el SNR:
$$SNR(1) = \frac{{A_o^2}}{{\sum\limits_{j = 1}^{N/2} {A_j^2} }}$$
$$SNR(2) = SNR(1) \times \left( {1 + \frac{{A_1^2}}{{\sum\limits_{j = 2}^{N/2} {A_j^2} }}} \right)$$
$$SNR(3) = SNR(2) \times \left( {1 + \frac{{A_2^2}}{{\sum\limits_{j = 3}^{N/2} {A_j^2} }}} \right)$$
$$SNR(M) = SNR(M - 1) \times \left( {1 + \frac{{A_{M - 1}^2}}{{\sum\limits_{j = M}^{N/2} {A_j^2} }}} \right)$$
Frecuencia de Corte LPF
Antes de abordar el problema de la frecuencia de corte, necesitamos definir un SNR objetivo. ¿Cuál es un buen valor de SNR objetivo? Para empezar, cualquier valor mayor que uno (o ${\rm{dB}} > 0$) indica que hay más potencia de señal que la del ruido de fondo.
Para obtener mejores resultados, buscamos un SNR de 32 (p. ej., ${\rm{dB}} \ge 15$).
Ahora podemos identificar una frecuencia de corte mínima que produce un valor de SNR más cercano a 32.
Conclusión
En este artículo hemos usado la función de filtro de paso bajo para demostrar el cálculo de la proporción señal-ruido entre la señal de salida filtrada y la de entrada. Asumimos que cualquier diferencia entre dos señales se debe únicamente al ruido de fondo. Además, aceptamos no tener conocimiento de la señal original, sino que, por el contrario, usamos la señal de salida filtrada como proxy.
Podemos aplicar los mismos principios usados en este artículo, pero a distintas funciones de filtrado. Las fórmulas pueden ser ligeramente distintas, pero el fundamento permanece igual.
Comentarios
Inicie sesión para dejar un comentario.