Vous êtes sur la page 1sur 21

MUESTREO

Teorema del muestreo: se puede reconstruir una señal analógica a partir de sus valores instantáneos (muestras) equies-
paciados. A partir de estos valores existen ∞ señales que pasan por esos puntos, pero si la señal original es de banda
limitada (?) y las muestras son tomadas los suficientemente cercanas (?), entonces hay una sóla señal que se puede
extrapolar de esas muestras (se determina unívocamente).
x(t) xs(t)
La señal x(t) es multiplicada por la función de muestreo s(t), obteniendo los valores muestra xs(t) ⇒
s(t)
MUESTREO IDEAL
1.5

s(t) es un tren de impulsos de período Ts (intervalo de muesteo) s (t ) = ∑ δ (t − nTs )

p(t)
1
n = −∞

xs(t) = x(t) · s(t) ⇒ X s (ω ) =


1
[X (ω ) ∗ S (ω )] 0.5

2π 1
∑ δ (ω − kω s ) ∑ X (ω − kω s )
0
S (ω ) = ωs = 2π/Ts = 2πfs ⇒ X s (ω ) = -2Ts -Ts 0 Ts 2Ts
Ts k Ts k tiempo
X(ω)

S(ω)

Xs(ω)

Xs(ω)
MUESTREO

Teorema del muestreo: se puede reconstruir una señal analógica a partir de sus valores instantáneos (muestras) equies-
paciados. A partir de estos valores existen ∞ señales que pasan por esos puntos, pero si la señal original es de banda
limitada (?) y las muestras son tomadas los suficientemente cercanas (?), entonces hay una sóla señal que se puede
extrapolar de esas muestras (se determina unívocamente).
x(t) xs(t)
La señal x(t) es multiplicada por la función de muestreo s(t), obteniendo los valores muestra xs(t) ⇒
s(t)
MUESTREO IDEAL
1.5

s(t) es un tren de impulsos de período Ts (intervalo de muesteo) s (t ) = ∑ δ (t − nTs )

p(t)
1
n = −∞

xs(t) = x(t) · s(t) ⇒ X s (ω ) =


1
[X (ω ) ∗ S (ω )] 0.5

2π 1
∑ δ (ω − kω s ) ∑ X (ω − kω s )
0
S (ω ) = ωs = 2π/Ts = 2πfs ⇒ X s (ω ) = -2Ts -Ts 0 Ts 2Ts
Ts k Ts k tiempo

si ωs < 2ωm existe solapamiento (ALIASING). Si ωs ≥ 2ωm se puede recuperar X(ω) con un LPF ideal de ganancia Ts
fs = frecuencia de Nyquist
X(ω)

S(ω)

Xs(ω)

Xs(ω)
MUESTREO

Teorema del muestreo: se puede reconstruir una señal analógica a partir de sus valores instantáneos (muestras) equies-
paciados. A partir de estos valores existen ∞ señales que pasan por esos puntos, pero si la señal original es de banda
limitada (?) y las muestras son tomadas los suficientemente cercanas (?), entonces hay una sóla señal que se puede
extrapolar de esas muestras (se determina unívocamente).
x(t) xs(t)
La señal x(t) es multiplicada por la función de muestreo s(t), obteniendo los valores muestra xs(t) ⇒
s(t)
MUESTREO IDEAL
1.5

s(t) es un tren de impulsos de período Ts (intervalo de muesteo) s (t ) = ∑ δ (t − nTs )

p(t)
1
n = −∞

xs(t) = x(t) · s(t) ⇒ X s (ω ) =


1
[X (ω ) ∗ S (ω )] 0.5

2π 1
∑ δ (ω − kω s ) ∑ X (ω − kω s )
0
S (ω ) = ωs = 2π/Ts = 2πfs ⇒ X s (ω ) = -2Ts -Ts 0 Ts 2Ts
Ts k Ts k tiempo

si ωs < 2ωm existe solapamiento (ALIASING). Si ωs ≥ 2ωm se puede recuperar X(ω) con un LPF ideal de ganancia Ts
fs = frecuencia de Nyquist

Teorema de Nyquist: si una señal de banda limitada es muestreada a una frecuencia de


por lo menos el doble de su máxima componente, ENTONCES es posible recuperarla
unívocamente (a partir de sus puntos muestra) con un filtro pasabajos ideal.
MUESTREO PRACTICO
¾La onda muestreadora está formada por pulsos que tienen amplitud y duración finitas.

¾Los filtros de reconstrucción prácticos difieren de los ideales (banda o zona de transición).

¾Los mensajes son limitados en tiempo ⇒ no pueden ser limitados en banda.

9 Pulsos: en general se emplea la técnica de muestreo y retención (Sample and Hold ≡ S&H) ⇒ Retenedor Orden Cero

p(t)
x[t] xp[t] x(t) xs(t) 1 xp(t)
ROC
s(t) Ts t

⎡ ⎤ ⎡ ⎤
x p (t ) = ∑ x(nTs ) ⋅ p (t − nTs ) = p (t ) ∗ ⎢∑ x(nTs ) ⋅ δ (t − nTs )⎥ X p ( f ) = P( f ) ⎢ f s ∑ X ( f − kf s )⎥ = P ( f ) ⋅ X s ( f )
n ⎣n ⎦ ⎣ k ⎦

⇒ P(f) ‘pesa’al espectro de la señal muestreada y lo distorsiona en las frecuencias superiores ≡ efecto de apertura. Si el
efecto es muy grande se puede corregir por medio de un filtro ecualizador Heq(f) = 1/P(f) (si 1/τ >> W no es necesario).
Para el ROC: p(t)
⎧1 0 ≤ t ≤ Ts ⎡ 2 sin (ω Ts / 2 )⎤
1
p (t ) = ⎨ P (ω ) = e − jω Ts / 2 ⎢ ⎥⎦
⎩0 ∀t ⎣ ω
Ts t

X(ω)

Xp(ω)
Xs(ω)

P(ω)

Heq(ω)

⇒ H eq (ω ) = 1
P(ω ) 1

-ωs /2 ωs /2 ω
MUESTREO PRACTICO
¾La onda muestreadora está formada por pulsos que tienen amplitud y duración finitas.

¾Los filtros de reconstrucción prácticos difieren de los ideales (banda o zona de transición).

¾Los mensajes son limitados en tiempo ⇒ no pueden ser limitados en banda.

9 Pulsos: en general se emplea la técnica de muestreo y retención (Sample and Hold ≡ S&H) ⇒ Retenedor Orden Cero

p(t)
x[t] xp[t] x(t) xs(t) 1 xp(t)
ROC
s(t) Ts t

⎡ ⎤ ⎡ ⎤
x p (t ) = ∑ x(nTs ) ⋅ p (t − nTs ) = p (t ) ∗ ⎢∑ x(nTs ) ⋅ δ (t − nTs )⎥ X p ( f ) = P( f ) ⎢ f s ∑ X ( f − kf s )⎥ = P ( f ) ⋅ X s ( f )
n ⎣n ⎦ ⎣ k ⎦

⇒ P(f) ‘pesa’al espectro de la señal muestreada y lo distorsiona en las frecuencias superiores ≡ efecto de apertura. Si el
efecto es muy grande se puede corregir por medio de un filtro ecualizador Heq(f) = 1/P(f) (si 1/τ >> W no es necesario).

9 Filtros de reconstrucción reales: se recurre al empleo de bandas de seguridad ⇒ incrementar ωs

9 Señal NO limitada en banda: se debe asegurar que la señal no tenga componentes superiores a ωs/2 ⇒ se aplica un
filtro pasabajos en la entrada ≡ Filtro anti-aliasing (es el peor inconveniente porque modifica la información).
Submuestreo

Sea la señal x(t) = cos(ω0t)

muestreada a ωS constante

(ωS < 2ω0). Se analiza que

sucede a medida que ω0↑

Para ω0 > ωS/2 se produce el

traslape y la frecuencia original

original asume la identidad de

una frecuencia inferior (ωS - ω0).

Para ωS/2 < ω0 < ωS , a medida

que ω0↑ la frecuencia de salida

(ωS-ω0)↓ ≡ efecto estroboscópico

(uso: osciloscopio de muestreo,

voltímetro vectorial).
INTERPOLACION

Interpolación ≡ reconstrucción (aproximada ó exacta) de una función a partir de sus muestras.

Señal muestreada Interpolación Orden Cero


¾ Retenedor de Orden Cero: 1 1

retiene el valor de la muestra


0.5 0.5
hasta la próxima. Es el más

Amplitud
Amplitud
simple. 0 0

-0.5 -0.5

¾ Interpolación Lineal: los


-1 -1
puntos adyacentes se conectan
600 700 800 900 1000 1100 1200 1300 1400 600 700 800 900 1000 1100 1200 1300 1400
con una línea recta. tiempo tiempo

Interpolación Primer Orden Interpolación Sinc


¾ Interpolación de mayor Orden: 1 1

los puntos se unen mediante


0.5 0.5
polinomios de grado mayor u
Amplitud

Amplitud
otras funciones matemáticas. 0 0

-0.5 -0.5

¾ Interpolación Sinc: cada muestra -1 -1

corresponde al peso de una sinc 600 700 800 900 1000 1100 1200 1300 1400
tiempo
600 700 800 900 1000 1100
tiempo
1200 1300 1400

centrada en el instante de muestreo,


y los valores intermedios se otienen sumando las contribuciones de cada una de estas funciones.
INTERPOLACION SINC

Xs(ω)
H(ω)
Xr(ω)
Para reconstruir espectralmente la señal se emplea un LPF ideal

⇒ Xr(f) = Xs(f)·H(f) con H(f) = rect [f /( 2fc)] y fc = fs/2

xr (t ) = xs (t ) ∗ h(t )
= h(t ) ∗ ∑ x(nTs ) ⋅ δ (t − nTs )
n
= ∑ x(nTs ) ⋅ h(t − nTs )
n 1

Tω ⎛ω t ⎞
hr (t ) = s c sinc⎜ c ⎟
π ⎝ π ⎠
0.5

Tω ⎡ω (t − nTs ) ⎤
xr (t ) = ∑ x(nTs ) s c sinc ⎢ c ⎥⎦
n π ⎣ π
0
considerando fc = fs/2:

xr (t ) = ∑ x(nTs ) ⋅ sinc( f st − n )
n -0.5
tiempo
CALCULO DE LA INTERPOLACION SINC

Para la implementación de la expresión xr (t ) = ∑ x(nTs ) ⋅ sinc( f st − n ) deben fijarse parámetros para sustiruir la variable
n
contínua t por su equivalente discreta:

¾ Cantidad de muestras por ciclo de la máxima componente de la señal ⇒ n_muestras

¾ Cantidad de valores a intercalar entre dos valores muestra consecutivos ⇒ n_puntos

¾ Cantidad de muestras a considerar como “historia” (valores pasados y futuros) de la señal ⇒ n_historia

Ts
Cada intervalo de muestreo debe dividirse en (n_puntos + 1) intervalos: x • • • Δt• x Ts = (n_puntos+1)·Δt

n_historia
⎡ k ⎤
Reemplazando t por k·Δt (1 ≤ k ≤ n_puntos): xr (k ⋅ Δt ) = ∑ x(nTs ) ⋅ sinc ⎢ − n⎥
n = − n_historia +1 ⎣ n_puntos + 1 ⎦

Debe agregarse otro índice para el desplazamiento n_historia


⎡ k ⎤
xr ( jTs + k ⋅ Δt ) = ∑ x(( j + n)Ts ) ⋅ sinc ⎢ − n⎥
dentro del registro de valores adquiridos (j) ⇒ n = − n_historia +1 ⎣ n_puntos + 1 ⎦
%programa para reconstruir señales muestreadas
%reconstructor de orden cero
clear
n0=99;
f=10; %frecuencia
hist=4; %cantidad de sinc para reconstrución
d=0.2; % distancia entre puntos interpolados (0 y 1- 0.2 indica 5 puntos)
%reconstructor lineal
n=0:n0;
Y2=[];
Y=[];
for k=1:n0,
y=sin(2*pi*f*n/(n0+1));
i1=1;
subplot(2,2,1)
for i=1+d:d:2,
plot(y,'.')
y2(i1)=(y(k+1)-y(k))*i-y(k+1)+2*y(k);
title 'Puntos Muestra'
i1=i1+1;
for k=1:n0+1,
end
for i=1:(1/d)-1;
Y2=[Y2 y2];
y1(i)=y(k);
end
end
subplot(2,2,3)
Y=[Y y1];
plot(Y2)
end
title 'Reconstructor lineal'
subplot(2,2,2)
plot(Y)
title 'Reconstructor de Orden 0'

%reconstructor sinc
Y5=[];
for k=1+hist:n0-hist,

for u=0:d:1-d;
sum=0;
for s=-hist:hist,
sum=sum+y(k+s)*sinc(u-s);
end
Y5=[Y5 sum];
end
end
subplot(2,2,4)
plot(Y5)
title 'Reconstructor sinc'
CAMBIO DE LA FRECUENCIA DE MUESTREO

La señal de tiempo contínuo xc(t) puede representarse por una secuencia x[n] = xc[nTs]. Se quiere cambiar fs obteniendo

x[n] DAC + xc(t) x’[n]


una nueva secuencia x’[n] = xc[nTs’]. El método indirecto sería: ADC (complejo!!)
Filtro Interp.
fs fs’

¾ DIEZMADO por un factor entero: se disminuye la frecuencia de muestreo (“muestreándola” cada M valores).

xd[n] = x[nM] = xc[nMTs] ≡ compresor de frecuencia de muestreo x[n] xd[n]


↓M
Ts Ts’= M·Ts
⇒ xd[n] es la que se obtendría muestreando xc(t) con período Ts’= M·Ts

1 1 2π k
Recordando el espectro X(ω) de la secuencia x[n] (valores muestra): X (ω ) = ∑
Ts k
X (ω − kω s ) = ∑ X (ω −
Ts k Ts
)

1 2π r 1 rω s
análogamente puede escribirse el espectro Xd(ω) para xd[n] : X d (ω ) =
T'
∑ X (ω − Ts'
)=
MTs
∑ X (ω − M
)
s r r

para que no exista solapamiento (ωs/M) ≥ ωmax ⇒ la frecuencia de Nyquist original debe ser M veces mayor !!

Ejemplo: si ωs = 4 ωmax , el máximo diezmado para no tener solapamiento es M = 2


Diezmado con M = 2.

Se verifica que no existe

solapamiento.

x[n] LPF ~
x [ n] x d [ n] = ~
~ x [nM ]
Si se quiere utilizar un M superior habrá que garantizar
G =1 ↓M
que la señal no tenga un contenido espectral mayor que Ts ωc=π/M Ts Ts’= M·T
ωs/M mediante el empleo de un filtro pasabajos digital .
Sistema para reducir la frecuencia de muestreo en M
Diezmado con M = 3.

Aparece solapamiento.

Diezmado con M = 3 y

filtrado previo para evitar

el solapamiento.
¾ INTERPOLACION por un factor entero: se aumenta la frecuencia de muestreo (insertando L valores entre muestras).

⎧⎪ x[n / L] n = 0, ± L ,±2 L
xe [n] = ⎨ ≡ xe [n] = ∑ x[k ] ⋅ δ [n − kL]
⎪⎩0 en el resto k

los valores intermedios se generan mediante una función de reconstrucción ≡ LPF de ganancia L y ωc = π/L

x[n] xe[n] LPF xi[n]


↑L G =L xi[n] = x[n/L] = xc[nTs/L] ≡ expansor de frecuencia demuestreo
Ts Ts’= Ts/L ωc=π/L Ts’= Ts/L

Sistema para incrementar la frecuencia de muestreo en L

El análisis en el dominio de la frecuencia se realiza mediante el cálculo de la Transformada de Fourier (TF), definida por:

⎛ ⎞
X (ω ) = ∑ x[n] ⋅ e − jω n ⇒ X e (ω ) = ∑ ⎜ ∑ x[k ]δ [n − kL] ⎟e− jω n = ∑ x[k ] ⋅ e− jω Lu = X (ωL)
⎜ ⎟
n u ⎝ k ⎠ u

⇒ La Transformada de Fourier de la salida del expansor es una versión escalada en frecuencia de la T.F. de la entrada.

sen(πn / L)
La fórmula de interpolación para xi[n] en función de x[n] es: hi [n] =
πn / L
⎧⎪1 − n / L n≤L
En algunos casos se pueden utilizar funciones más simples, como la lineal: hi [n] = ⎨
⎪⎩0 resto
Interpolación en el dominio de la frecuencia
CAMBIO DE LA FRECUENCIA DE MUESTREO POR UN FACTOR NO ENTERO

Es una combinación de las técnicas de diezmado e interpolación.

x[n] xc[n] LPF xi[n] LPF ~


xi [n] ~
xd [n]
↑L G =L G =1 ↓M
Ts Ts/L ωc=π/L Ts/L ωc=π/M Ts/L TsM/L
Interpolador Diezmador

x[n] LPF ~
xd [n]
↑L G =L ↓M
Ts ωc=min(π/L, π/M) TsM/L

Funciones utilizadas en Matlab®:

¾ DECIMATE: Resample data at a lower rate after lowpass filtering.

¾ INTERP: Resample data at a higher rate using lowpass interpolation

¾ RESAMPLE: Change the sampling rate of a signal.


LABORATORIO 1-
Muestreo

//Programa que efectua la conversión ADC - DAC

// Declaración de las variables

unsigned int VIK=0;

// Ajuste de los conversores ADC y DAC

void setup()
{
analogReadResolution(12);
analogWriteResolution(12);
}

// Lazo de ejecución continua

void loop()
{
VIK = analogRead(A0);
analogWrite(DAC0, VIK);
}

Vous aimerez peut-être aussi