2
UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA) FACULTAD DE INGENIERIA ELECTRONICA Y ELECTRICA E.A.P. INGENIERÍA ELECTRÓNICA LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES A menos que se indique lo contrario, es posible asumir que a cada función se le dé el número correcto de entradas y que esas entradas tengan las dimensiones correctas. Por ejemplo, si la entrada se especifica para que sea conformada por tres vectores fila de cuatro elementos cada uno, su función no está obligada a determinar si la entrada se compone de tres arreglos bidimensionales, cada uno con una fila y cuatro columnas. A menos que se indique lo contrario, su función no debe imprimir cualquier cosa en la Ventana de Comandos, pero su función no será contabilizada como incorrecta si lo hace. Tenga en cuenta que no está obligado a utilizar los nombres sugeridos de las variables de entrada y las variables de salida, pero debe utilizar los nombres de las funciones especificadas. ---------------------------------------------------------------------------------------------------------------------------- (1) Escriba una función llamada tiempo_sonido que toma como entrada un vector fila de las distancias en metros y devuelve dos vectores fila de la misma longitud. Cada elemento del primer argumento de salida es el tiempo en milisegundos que el sonido tardaría en recorrer la distancia especificada por el vector de entrada correspondiente. Para comprobar la tarea, verifique que se requiere de 10 milisegundos para que un pulso de sonido emitido por un sensor de ultrasonido transmisor llegue al sensor de ultrasonido receptor distante a 3.4 metros de distancia. La segunda salida contiene la distancia entre los dos sensores de ultrasonido convertido a centímetros. Suponga que la velocidad del sonido es de 340.00 m/seg. (2) Escriba una función llamada valor_medio_cuadratico que devuelve m, que es el valor medio del cuadrado de los primeros números enteros positivos n, donde n es un número entero positivo y es el único argumento de entrada. Por ejemplo, si n es 5, la función tiene que calcular el promedio de los números 1, 4, 9, 16 y 25. Se puede utilizar cualquiera de las funciones integradas que incluyen, por ejemplo, sum. (3) Considere la definición: function [s1, s2, sumas] = senos (pts, amp, n1, n2). La entrada, pts, es un número entero, pero amp, n1, y n2 no son necesariamente números enteros. El argumento de salida s1 es un vector fila cuya longitud (número de elementos) es igual a pts. Los elementos de s1 son los valores de la función coseno cuando se le da los argumentos igualmente espaciados que comiencen en cero y se extiendan a través de n1 períodos del seno (Tenga en cuenta que el requerimiento es para períodos completos, así es que si n1 es un número entero, tanto el primero como el último elemento de s1 será 0 y que sea de un error muy pequeño) (Sugerencia: si tiene que hacer una valla recta de 100 metros TAREA DEL LABORATORIO NO.1: INTRODUCCIÓN A MATLAB.

Pds Tarea Lab i 2015 II

Embed Size (px)

DESCRIPTION

tarea del curso del octavo ciclo de la universidad nacional mayor de san marcos, de la facultad de ingenieria electronica y electrica.

Citation preview

Page 1: Pds Tarea Lab i 2015 II

UNIVERSIDAD NACIONAL MAYOR DE SAN MARCOS (Universidad del Perú, DECANA DE AMERICA)

FACULTAD DE INGENIERIA ELECTRONICA Y ELECTRICA

E.A.P. INGENIERÍA ELECTRÓNICA

LABORATORIO DE PROCESAMIENTO DIGITAL DE SEÑALES

A menos que se indique lo contrario, es posible asumir que a cada función se le dé el número correcto de entradas y que esas entradas tengan las dimensiones correctas. Por ejemplo, si la entrada se especifica para que sea conformada por tres vectores fila de cuatro elementos cada uno, su función no está obligada a determinar si la entrada se compone de tres arreglos bidimensionales, cada uno con una fila y cuatro columnas.

A menos que se indique lo contrario, su función no debe imprimir cualquier cosa en la Ventana de Comandos, pero su función no será contabilizada como incorrecta si lo hace.

Tenga en cuenta que no está obligado a utilizar los nombres sugeridos de las variables de entrada y las variables de salida, pero debe utilizar los nombres de las funciones especificadas.

----------------------------------------------------------------------------------------------------------------------------

(1) Escriba una función llamada tiempo_sonido que toma como entrada un vector fila de las

distancias en metros y devuelve dos vectores fila de la misma longitud. Cada elemento del primer argumento de salida es el tiempo en milisegundos que el sonido tardaría en recorrer la distancia especificada por el vector de entrada correspondiente. Para comprobar la tarea, verifique que se requiere de 10 milisegundos para que un pulso de sonido emitido por un sensor de ultrasonido transmisor llegue al sensor de ultrasonido receptor distante a 3.4 metros de distancia. La segunda salida contiene la distancia entre los dos sensores de ultrasonido convertido a centímetros. Suponga que la velocidad del sonido es de 340.00 m/seg. (2) Escriba una función llamada valor_medio_cuadratico que devuelve m, que es el valor medio

del cuadrado de los primeros números enteros positivos n, donde n es un número entero positivo y es el

único argumento de entrada. Por ejemplo, si n es 5, la función tiene que calcular el promedio de los números 1, 4, 9, 16 y 25. Se puede utilizar cualquiera de las funciones integradas que incluyen, por ejemplo, sum.

(3) Considere la definición: function [s1, s2, sumas] = senos (pts, amp, n1, n2).

La entrada, pts, es un número entero, pero amp, n1, y n2 no son necesariamente números enteros. El

argumento de salida s1 es un vector fila cuya longitud (número de elementos) es igual a pts. Los elementos

de s1 son los valores de la función coseno cuando se le da los argumentos igualmente espaciados que

comiencen en cero y se extiendan a través de n1 períodos del seno (Tenga en cuenta que el requerimiento es

para períodos completos, así es que si n1 es un número entero, tanto el primero como el último elemento de

s1 será 0 y que sea de un error muy pequeño) (Sugerencia: si tiene que hacer una valla recta de 100 metros

TAREA DEL LABORATORIO NO.1: INTRODUCCIÓN A MATLAB.

Page 2: Pds Tarea Lab i 2015 II

con segmentos de 10m de largo, cuántos segmentos se necesita?). La amplitud de la onda senoidal es igual a

amp. El vector s2 es el mismo que s1 excepto que s2 contiene n2 periodos. Los vectores sumas son la

suma de s1 y s2. Si se omite n2, entonces debe ser ajustado a un valor mayor al 5% de n1. Si n1 también se

omite, entonces se le debe establecer en 100. Si amp no se proporciona, entonces por defecto deberá ser

fijado en 1. Finalmente, si pts se omite, entonces se debe establecer en 1000. Si ejecuta senos como se

muestra en la figura y trazar la grafica del tercer argumento de salida, sumas, las figuras resultantes deben

verse como estos (si estiras las ventanas de la grafica en forma horizontal):

[s1, s2, sumas] = senos(10,1,2,3); [s1,s2,sumas] = senos(1000,1,50,52);

(4) Escriba una función llamada promedio_movil que toma un escalar llamada x como argumento de

entrada y devuelve un escalar. El valor que devuelve depende no sólo de la entrada, sino también de las entradas anteriores a esta misma función cuando la función es llamada repetidamente. Ese valor devuelto es el "promedio móvil" de esas entradas. La función utiliza un "buffer" para retener las entradas anteriores, y el buffer pueda almacenar un máximo de 25 entradas. Específicamente, la función debe almacenar las 25 entradas más recientes en un vector (el buffer) que es una variable persistente dentro de la función. Cada vez que la función es llamada, se copia el argumento de entrada en un elemento de la memoria del buffer. Si ya existen 25 entradas almacenadas en el buffer, se descarta el elemento más antiguo y se guarda el actual en el buffer. Después de que ha almacenado la entrada en el buffer, se devuelve el valor medio de todos los elementos del buffer. Por lo tanto, para cada una de las primeras 24 llamadas a la función, la función utiliza sólo las entradas que ha recibido hasta ahora para determinar la media (por ejemplo, la primera llamada

simplemente devuelve x, la segunda llamada el promedio de x y la entrada de la primera llamada , etc.), y después de eso, devuelve el promedio de las 25 entradas más recientes. (5) Escriba una función llamada onda_cuadrada que calcula la suma:

1

2 1

2 1

n

k

sen k t

k

Para cada 1001 valores de t uniformemente espaciados desde 0 a 4π inclusive. El argumento de entrada es un escalar entero positivo n, y el argumento de salida es un vector fila de 1001 de tales sumas, una suma por cada valor de t. Verificar la función construida llamándolo con n = 200 o más y graficando el resultado, y ver por que la función es llamada “onda_cuadrada”. (6) Escriba una función llamada cuenta_letras que lleva el nombre de un archivo de texto como entrada

y devuelve el número de letras del texto (es decir, cualquiera de los personajes, a-a-z y de A-a-Z) que contiene

el archivo. SUGERENCIA: Puede utilizar la función isletter incorporado. Si hay un problema al abrir el

archivo, la función devuelve -1. ADVERTENCIA: si utiliza el flag ’w’ con fopen, en oposición a 'r', se

sobrescribirá el archivo.