Taller 1
November 22, 2023 | Author: Anonymous | Category: N/A
Short Description
Download Taller 1...
Description
ESCUELA POLITÉCNICA DEL EJÉRCITO SEDE LATACUNGA CARRERA DE INGENIERÍA ELECTRÓNICA E INSTRUMENTACIÓN MATERIA: Procesamiento Digital de Señales PRÁCTICA No. 1: Muestreo de Señales Continuas.
NOMBRE:
Miguel Navas
CURSO:
5to “A”
FECHA ENTREGA:
14/06/2018
1.- INFORMACIÓN TEÓRICA
a) Teoría de muestreo El proceso idealizado de muestreo de una señal y de la reconstrucción subsiguiente de la señal desde las muestras se representa en la Figura 1.
Figura 1: Muestreo y reconstrucción de una señal contnua en el tempo. Esta figura muestra una señal continua f(t) , que se muestrea usando un conversor C/D (continua a discreta) para producir una sucesión de valores discretos x[n] =f(nTs), donde n es un entero que es el índice de muestreo y Ts es el período de muestreo. La frecuencia de muestreo es el valor fs = 1/Ts. El conversor D/A (discreta a continua) ideal discreto permite transformar de nuevo los valores discretos e interpolar una curva suave entre ellos. El Teorema de Muestreo dice que, si se elige una frecuencia de muestreo superior a dos veces la frecuencia mayor, fmax, presente en la señal de entrada, es decir fs >2*fmax, entonces la salida y(t) en el sistema, será igual a la entrada f(t) si se reconstruye adecuadamente la señal. Para obtener la frecuencia fmax se puede representar la entrada como una suma de sinusoidales y fmax será le frecuencia asociada a la componente de mayor frecuencia con amplitud distinta de cero. La mayoría de los computadores tienen un conversor análogico-digital incorporado (A/D) y un conversor digitalanálogico (D/A) incluido en la tarjeta de sonido. Estos sistemas son las realizaciones físicas de los conceptos idealizados de convertidores A/D y D/A respectivamente.
b) Conversión D/A
El proceso de conversión digital/analógico que se necesita solo va a depender del tiempo (Ts) entre las muestras de la señal y en caso de querer reproducir la señal con la tarjeta de sonido, deben corresponder al valor de muestreo del conversor D/A que se esté usado. Desde Matlab, esto se hace por el comando sound (x,fs).
Esta función soporta muestreo variable si el hardware de la máquina tiene tal capacidad, una elección conveniente para la conversión D/A es el valor es 8000 muestreos por segundo, y Ts = 1/8000 segundos. Otra elección común es 11.025 Hz que corresponde a un cuarto del valor de muestreo en uso para discos CD audio.
c) Generación de sonido con MATLAB.
Para generar un sonido, el primer paso consiste en entender el funcionamiento del comando MatLab
sound(x,fs)
Para obtener la información relativa al comando utilice la ayuda: help sound.
En los ejercicios se pide generar diferentes señales sinusoidales discretas en el tiempo con Matlab. Varie la amplitud, el tiempo de muestreo y la frecuencia de las señales y escúchelas con el comando sound. Tenga en cuenta que se pueden producir efectos de saturación y en este caso se debe escalar adecuadamente la amplitud de la señal para permitir observar diferencias en el comportamiento de las señales. 2.- DESARROLLO DE LA PRÁCTICA a) Muestreo de señales continuas. Representación en el dominio del tiempo Un conversor A/D ideal se implementará en Matlab tomando la fórmula para la señal continua y evaluando la señal en los valores de tiempo nTs.
Procedimiento: - Represente los dos primeros ciclos de la señal continua. yc(t)= cos (2*pi*f*t) Utilice dt = 0.0001 = 100 microsec y calcule los valores para un intervalo de 1 segundo. t = 0: dt:1 y una frecuencia f = 100Hz.
Considere la Frecuencia de muestreo fs = 1000Hz, calcule la señal discreta resultante yd[n] de la evaluación
de la señal continua yc(t) en los tiempos de t = nTs (es decir, yd[n]= yc(nTs)). Represente la señal discreta en la misma escala para compararla con la primera.
Nota: “Para diferenciar las representaciones utilice siempre que sea posible la función plot para las señales continuas y stem para las segundas”.
Codigo en Matlab clear, clc, close all t=0:0.0001:1; f=100; yc=cos(2*pi*f*t); subplot(2,1,1); plot(t,yc,'r','linewidth',2), grid on; xlabel('tiempo'); ylabel('Amplitud'); title('Señal Continua x(t)'); axis([0 0.02 -1.1 1.1]);
subplot(2,1,2); fs=1000; Ts=1/fs; n=0:Ts:1; yd=cos(2*pi*f*n); stem(n,yd,'b','linewidth',1.5), grid on; xlabel('Índice de muestreo'); ylabel('Amplitud'); title('Señal discreta x[n]'); axis([0 0.02 -1.1 1.1]);
Resultado:
c) Criterio de muestreo. El cambio de frecuencia de muestreo va a permitir analizar los criterios de muestreo. Procedimiento:
Pruebe bajo las mismas condiciones que en el ejercicio anterior las siguientes modificaciones. Mantenga la frecuencia de muestreo fs = 1000 Hz y represente señales con f = 10 Hz, f = 50 Hz, f = 250 Hz, f = 500 Hz, f = 1000 Hz, f = 450 Hz. f=10 Hz:
F=50Hz
F=250Hz
F=500Hz
F=1000Hz
F=450Hz
Realice las mismas representaciones y señale que ocurre cuando la frecuencia de la señal coincide con la mitad de la frecuencia de muestreo. F=500Hz
Compruebe a partir de que frecuencia de muestreo la señal representada por muestras discretas no se parece a la señal continua. c) Multiples aliasing de una señal muestreada La variación de la frecuencia de muestreo en forma inadecuada y sin cumplir las condiciones ocasiona el aliasing. Procedimiento: - Represente en la misma gráfica dos señales sinusoidales continuas de diferente frecuencia y sus señales discretas correspondientes, que cumplan la relación f2 = f1 + kfs, siendo k un entero y fs la frecuencia de muestreo. Código Matlab: clear, clc, close all f1=100 a1=1/f1; fs=1000; Ts=1/fs; k=2; f2=f1+k*fs; a2=1/f2; t1=0:0.0001:2*a1; t2=0:0.0001:100*a2;
yc1=sin(2*pi*f1*t1); subplot(2,1,1); hold on plot(t1,yc1,'r','linewidth',2), grid on; n=0:Ts:(2*a1); yd=sin(2*pi*f1*n); stem(n,yd,'b','linewidth',1.5); axis([0 0.02 -1.1 1.1]); subplot(2,1,2); yc2=sin(2*pi*f2*t2); subplot(2,1,2); hold on plot(t2,yc2,'r','linewidth',2), grid on; n=0:Ts:(100*a2); yd2=sin(2*pi*f2*n); stem(n,yd2,'b','linewidth',1.5); axis([0 0.02 -1.1 1.1]);
Pruebe con diferentes valores de k y explique los resultados. K=2
K=5
Generar una señal sinusoidal de frecuencia 5 Hz, muestreada a fs = 20 Hz. Se pide obtener un conjunto de señales sinusoidales que sean un alias de esta señal sinusoidal de frecuencia 5 Hz.
d) Generación de sonido con Mattlab La comprobación de los efectos del muestreo con la generación de sonido complementa la comprensión de este tema. Procedimiento: - Para utilizar el comando sound, obtenga un vector x1 de valores muestreados en una sinusoidal con A = 1, f = 400 Hz y = 0. Use un valor de muestreo de 8000 muestras/segundo, y calcule el número total de muestras equivalente a un tiempo de duración de 2 segundos. - Mediante el comando, sound( ), escuche el resultado de convertir el vector x1 a través del convertidor D/A de la tarjeta de sonido del PC. (Estas tarjetas suelen soportar fs = 8000 Hz o fs = 11025 Hz. Código Matlab:
clear, clc, close all t=0:1/16000:2; y=sin(2*pi*400*t); hold on plot(t,y); sound (y);
Varíe la amplitud de la señal y calibre a partir de que valor se satura la tarjeta de sonido ¿Cómo puede conseguirse que una señal se escuche a la mitad de volumen? Para una amplitud no saturada varíe la fase ¿Qué efecto auditivo produce el cambio de fase? - Calcule un nuevo vector x2 ( 2 segundos de duración) de muestras tomadas en una sinusoidal con A = 1, f = 800 Hz, y = pi/3. Escuche el sonido de la señal reconstruida a partir de las muestras.¿ Cuales son las diferencias encontradas con respecta a la señal del apartado?. Genere una nueva señal que incluya ambas mediante la siguiente sentencia Matlab ( se supone que ambos vectores son vectores fila): xx = [ x1 zeros(1,2000) x2]; ¿Que se escuchará? Compruébelo. Código Matlab: clear, clc, close all a=1; wo=2*pi*400; f1=36; t=0:2/16000:2; y=a.*sin((wo.*t)+f1);
wo=2*pi*800; f1=pi/3; t=0:2/16000:2; y1=a.*sin((wo.*t)+f1); xx=[y zeros(1,2000) y1]; sound(xx);
Vuelva a escuchar el resultado de enviar la señal xx al conversor D/A, pero cambie la frecuencia de muestreo en el comando sound( ) a un valor de 16.000 muestras/segundo. No hay que recalcular las muestras de xx, solamente indicar que la frecuencia de muestreo del convertidor D/A será 16.000 muestras/segundo. Describa las diferencias que se escuchan en este caso, tono, duración... d) Generación de un alias de una señal audible La comprobación de los efectos del aliasing con la generación de sonido complementa la comprensión de este tema. Procedimiento: - Compruebe audiblemente el problema de aliasing, para ello genere y escuche un tono a 440 Hz, utilizando una fs= 8000Hz. clear, clc, close all f=440; fs=8000; n=0:1:200; y=sin(2*pi*(f/fs)*n); sound(y) plot(y)
Se pide determinar bajo que condiciones en frecuencias se producen alias de este tono y verificarlo tanto con una representación gráfica como de manera audible. ¿Cuál es la frecuencia de Nyquist para este tono? e) Representación del muestreo en el dominio de la frecuencia Utilizando funciones de Matlab que permiten la representación de las señales en el dominio de frecuencias, se puede observar que esta ocurriendo para una frecuencia de muestreo dada, si se varía la frecuencia de la señal. Procedimiento: - Considere el siguiente programa en Matlab que representa el espectro de una sinusoide de frecuencia f= 10 Hz, muestreada con fs=100Hz. f = 10; fs = 100; n = 0:1:99; y = cos(2*pi*(f/fs)*n); yw = abs(fft(y))/length(y); wn = linspace(0,0.5,50); plot(wn,yw(1:50));
axis([0 0.5 0 1]) La representación aparece normalizada respecto a la frecuencia de muestro fs, tiene en cuenta que la función fft se aplica a 100 puntos, y solo se representa la parte de frecuencia positiva del modulo de yw. Si prefiere para ver mas claramente que el espectro es una línea como corresponde a una señal sinusoidal de una frecuencia dada, represente el espectro con stem. Para más detalles: help fft Código Matlab: clear, clc, close all f = 10; fs = 100; n = 0:1:99; y = cos(2*pi*(f/fs)*n); yw = abs(fft(y))/length(y); wn = linspace(0,0.5,50); plot(wn,yw(1:50),'g','linewidth',2),grid on; axis([0 0.5 0 1])
Como ejercicio varíe la frecuencia f a los siguientes valores f= k*10 Hz donde k un entero de 0 a 15 y represente los resultados mas significativos de lo que observa. Explique el resultado.
Las gráficas se van desplazando hacia la izquiera y a la derecha según se cambia las k y cuando llega a los multiplos de 5 se hace nula la gráfica
Conclusiones La frecuencia de Nyquist es de gran importancia analizarla, ya que si por error muestreamos con frecuencias bajas a comparación con la frecuencia de Nyquist, a esta se producirá Aliasing.
La generación de sonido con matlab es una herramienta importante para nuestra carrera, ya que podemos determinar y modificar el sonido tanto en magnitud como en frecuencia y así obtener un porcentaje muy alto de datos de la señal de sonido inicial.
Se demuestra que si muestreamos una señal en sus puntos ceros, los datos que obtengamos a la hora de muestrear pueden afectar al espectro de frecuencia ya que no se trabajaría con valores nulos-.
Recomendaciones
Es importante no olvidar que la frecuencia de muestreo juega un factor muy importante a la hora de obtener datos de una señal continua, ya que a la hora de digitalizarla, en el espectro puede aparecer Aliasing que perjudica a nuestra señal a la hora de enviarla desde un transmisor hacia un receptor.
Matlab es una herramienta esencial para analizar señales, pero no olvidar que la sintaxis de algunas operaciones son muy estrictas a la hora de poner sus valores.
Es importante trabajar con el volumen de los parlante en la mitad de su potencia, ya que si no controlamos su frecuencia puede causar serios daños a sus oídos.
View more...
Comments