Está en la página 1de 10

1

PROYECTO 1 DE PROCESAMIENTO DIGITAL DE


SEÑALES UNIVERSIDAD POLITÉCNICA
SALESINA
Erick ibañez
Jhon Andrade
Tema: Muestreo y Reconstrucción
1. Estructura de los trabajos y evaluación
Para cada uno de los trabajos se ha redactar un informe (mínimo 4 páginas) con la
siguiente estructura:
1. Resumen: Descripción resumida del proyecto y/o planteamiento del problema.
2. Resultados: Definición del banco de pruebas, figuras y comentarios sobre los
resultados, procedimientos de pruebas.
3. Conclusiones: aportaciones propias del estudiante desde su punto de vista.
4. Apéndice (opcional): Tabla con la lista de programas
utilizados. Cada uno de los trabajos se evaluará con una calificación:
A: Muy buena
(15) B: Buena (12)
C: Aceptable (10)
D: Hay que mejorar
(8) E: Deficiente (6)
F: Pésimo (0)
Siempre y cuando los programas en Matlab sean presentados1, la ponderación de
puntos para la evaluación será:
Criterio Puntos
Presentación del 1
código2 y
funciones con el
formato
requerido
Programa se 1
ejecuta
sin errores
Resultados y 12
explicación
Conclusiones 1
Total de la nota 15
1
2

Lo que más se valorará son los resultados y las conclusiones.

1
Los programas deben tener la nomenclatura descrita en página 2
2
Si no adjunta el código automáticamente el resto del proyecto se califica con cero.

1
2

Hay que entregar la memoria informe en las fechas estipuladas.


“La nota de este proyecto corresponderá a 15 puntos nota del examen del inter-
ciclo”. Los otros 5 puntos será reactivos que se tomará el día del examen.

2. Estructura de los programas


La entrega de los trabajos tendrá una parte práctica en la que se mostrará el
funcionamiento de los programas desarrollados. En muchos casos el profesor
proporcionará señales de entrada nuevos, propondrá la modificación de algún parámetro
del sistema, etc ..., por eso los programas de simulación deben ser lo más genéricos
posible. Se basarán en funciones de procesamiento que serán llamadas desde un
programa principal.
Para garantizar la flexibilidad del programa hay que remarcar que todos los parámetros
internos de una función deben pasar como argumentos de entrada (no es recomendable
utilizar input en una función) y que las únicas salidas que generan las funciones son los
argumentos de salida (no es recomendable utilizar disp, plot, ... en una función). Es el
programa principal que gestionará las entradas y salidas y hará la interfaz con el
usuario.

3. Nomenclatura de ficheros MATLAB.


Para identificar la autoría de los programas y funciones a desarrollar es necesario que
cada autor números los archivos que crea empezando por sus iniciales de los dos autores
(por ejemplo jr_jc_muestreoreconstruccion para Juan Romero y Julio Coello) como se
indica en la última página.
El programa principal debe tener siempre una cabecera que indique:
• Breve descripción
• Funciones que utiliza
• Autores
• Fecha
• Versión
En caso de usar funciones, cada función debe tener una cabecera como la del
programa principal añadiendo:
• Relación y descripción de parámetro de entrada
• Relación y descripción de parámetro de salida

2
3

Trabajo. Muestreo y Reconstrucción


El objetivo del primer trabajo es la programación y test de un sistema de muestreo y
reconstrucción de una señal analógica continua xa(t) de banda limitada. En Matlab no
existen señales que sean continuas, pero utilizaremos incrementos de tiempo
suficientemente pequeños para aproximar el análisis.

xa(n)
xa(t) Muestreador Interpolador xr(t)≈ xa(t)

Figura 1. Sistema de Muestreo y Reconstrucción de señales

La Figura 1 muestra que las etapas del sistema son el muestreador y el interpolador
(reconstrucción). Las señales de entrada y salida son señales continuas, mientras que la
intermedia es una señal discreta. A continuación, se enlazará el funcionamiento teórico
con Matlab.

Muestreo
Se quiere simular el muestreo una señal analógica xa(t) teniendo como parámetro
importante la frecuencia de muestreo Fs. En esta sección deseamos obtener la señal
muestreada y la transformada de Fourier de la señal analógica.
La señal analógica utilizada para el test está definida como:
𝑥(𝑡 ) = 𝑒 −1000|𝑡| (1.0)
Donde t es tiempo continuo.
La señal en tiempo discreto se define como:

𝑥(𝑛) = 𝑒 −1000|𝑛𝑇𝑠| (2.0)


Dando n son número de muestras.
Si la señal analógica utilizada tiene un ancho de banda aproximado de 1kHz. ¿Cuál es
la frecuencia de Nyquist? (1 punto)

Seria es mismo del ancho de banda.


Si el intervalo de muestreo Ts es 0.2msec. ¿Cuál es la frecuencias de muestreo?
(1punto)
-5 a 5
El siguiente código implementa las dos señales definidas en (1.0) y (2.0).

%Proyecto Muestreo y reconstrucción


%Universidad Politécnica Salesiana
%Carrera de Ingeniería Electrónica
%Profesor: PhD. Bremnen Véliz
%Señal analógica xa(t)=exp(-1000|t|);
%Señal muestreada xa(n)=exp(-1000|nTs|);
3
4

clear;
dt=0.00005;
t=-0.005:dt:0.005;
xa=exp(-1000*abs(t));
%señal discreta en tiempo
Ts=0.0002;%Periodo de muestreo
nlimt=0.005/Ts;% limite número de muestras
n=-nlimt:1:nlimt;
xan=exp(-1000*abs(n*Ts));

Modificar el código para pedir por teclado el ingreso del valor Ts.
¿Qué sucede si Ts toma un valor mayor que 0.2msec? (1 punto)
La grafica se mostraría de una manera con menos oscilación y la señal será más clara.
Realizar el desarrollo teórico de la transformada de Fourier de xa(t) y comprobar que sea
la siguiente relación (1 punto):
0.002
𝑋𝑎(𝜔) = 2 (3.0)
1+( 𝜔)
1000

Graficar Xa (3.0) versus la frecuencia (1 punto).

4
5

¿Es Xa una señal de banda limitada? (1 punto)


SI ES UNA SEÑAL DE BANDA LIMITADA
Comparar (1 punto) el espectro anterior con la Transformada Rápida de Fourier de x a(t)
que se implementa en el siguiente código:

df=1/dt;

L=1024;%longitud de la fft X=fft(xa,L)/df;


%Transformada rápida de fourier
Xa=abs(fftshift(X));
fmax=1000;%1kHz
M=L/2;
l=0:1:M;
f=l*fmax/M;
f=[-fliplr(f),f(2:M)];
subplot(2,1,2);
plot(f/1000,Xa*1000);
title('Rapida Transformada de fourier');
xlabel('Frecuencia en kHz');ylabel('Xa(jW)*1000');

Reconstrucción
Para la reconstrucción de señales se implementarán dos tipos de interpoladores:
Interpolador ideal e interpolador Spline. En Matlab hacer que el usuario puede
seleccionar una de las reconstrucciones con un mensaje similar:
1. Interpolación Ideal
2. Interpolador Spline

4
5

Interpolación ideal
La reconstrucción de ideal de señales se realiza mediante la multiplicación de un tren de
impulso y la aplicación de un filtro ideal. Ambos procesos se sintetizan con la fórmula
de interpolación ideal:

𝑥𝑟 (𝑡 ) = 𝑥𝑎 (𝑡 ) = ∑ 𝑥 (𝑛)𝑆𝑖𝑛𝑐(𝐹𝑆 (𝑡 − 𝑛𝑇𝑆 )) (4.0)


𝑛=−∞

Donde xr(t) es la señal reconstruida a partir de x(n) que son las muestras de la señal
analógica. ¿Explicar si es realizable en la práctica este formula?
Una aproximación de la fórmula de interpolación puede obtenerse para número finito de
muestras. Si queremos interpolar en un pequeño intervalo diferencial Δt:
𝑛2

𝑥(𝑚∆𝑡 ) = ∑ 𝑥 (𝑛)𝑆𝑖𝑛𝑐(𝐹𝑆 (𝑚∆𝑡 − 𝑛𝑇𝑆 )) (5.0)


𝑛=−𝑛1

Donde n1≤n≤n2.
En Matlab la ecuación (5.0) puede ser implementada como una operación de multiplicación
de matrices:

n=n1:n2;t=t1:t2;Fs=1/Ts;
nTs=n*Ts;%Ts es el intervalo de muestreo
xr=xan*sinc(Fs*(ones(length(n),1)*t-nTs'*ones(1,length(t))));

Use aquel código para reconstruir xa a partir de la muestras obtenidas con Ts=0.2ms
(grafique usando la función plot). (1 punto)

Repita el proceso para reconstruir xa a partir de las muestras obtenidas con Ts≠0.2ms
(grafique usando la función plot). (1 punto)

5
6

Para los dos casos anteriores determine el error máximo entre la señal recuperada y la
señal analógica original. ¿Cuándo se produce el error más alto? (1 punto)

Mayor sea el tiempo , menor será el error que se encuentre en la


gráfica.

Interpolación Spline.
Esta reconstrucción utilizando un conjunto de polinomios continuos de tercer orden por
partes. No requiere de filtro. Puede ser implementada en Matlab mediante la función
spline(nTs,x,t), donde nTs es el vector de las instancias, x es el vector de las muestras y
vector t contiene la rejilla de tiempo fino en cuyo valores x es deseado.

5
6

Implementar en Matlab un código para reconstruir xa mediante el interpolador Spline a


partir de la muestras obtenidas con Ts=0.2ms (grafique usando la función spline). (1
punto)

Implementar en Matlab un código para reconstruir xa mediante el interpolador Spline a


partir de las muestras obtenidas con Ts≠0.2ms (grafique usando la función spline).
(1punto)

Pruebas y medidas a realizar


Se ha de estudiar el comportamiento del sistema de muestreo y reconstrucción para lo
cual debe hacer todos los pasos presentados anteriormente. Junto a cada pregunta esta el
valor de dicha pregunta.
Desde el programa principal se debe pedir al usuario que seleccione la frecuencia de
muestreo y que selección el tipo interpolador a utilizar.
El trabajo a realizar consiste en programar los sistemas siguientes:
1. Señal analógica
2. Señal muestreada
3. Transformada de Fourier teórica de xa(t)
4. Transformada Rápida de Fourier de xa(t)
5. Interpolador ideal
6. Interpolador Spline

6
7

La memoria y los programas se pueden presentar hasta el día del examen del interciclo.

El formato de las funciones debe ser:


Descripción Formato Observaciones
Sistema muestreoy wx_yz_muestreoreconstruccion Programa principal
reconstrucción o yz_muestreoreconstruccion

Donde wx son las iniciales de nombre y apellido del alumno 1, y yz son las iniciales de
nombre y apellido del alumno 2.

También podría gustarte