Ejercicio DSP Matlab
Enviado por micahel20 • 30 de Mayo de 2013 • 2.189 Palabras (9 Páginas) • 628 Visitas
Procesamiento Digital de Señales
Problemas de Programación en MATLAB
Problema 1:
En un determinado programa de MATLAB se generan dos vectores “No vacíos” “X” y “Y”. Después de generados los vectores se coloca en el programa la siguiente instrucción:
V=Y. / X;
Al correr el programa la ejecución se detiene en la instrucción anterior arrojando en la consola de MATLAB (Command Window) un mensaje de ERROR. De acuerdo a ello, indique justificadamente a que se debería el error presentado.
Problema 2 :
Dos señales cosenoidales de igual frecuencia, igual amplitud y diferente fase, fueron capturadas (un único periodo) con MATLAB y almacenas en un vector X y en un vector Y respectivamente.
De acuerdo a ello, se pide escribir un programa en MATLAB que permita determinar si el desfasaje entre ambas señales (“X” y “Y”) es de 90 grados. El resultado “SI” o “NO” debe aparecer en pantalla.
Problema 3:
Dado un vector X, determinar cuantas muestras son positivas y cuantas son negativas.
Problema 4:
Dado un vector X y un vector Y , desarrollar un programa que implemente la siguiente ecuación:
donde N es el tamaño del vector X y P es el tamaño del vector Y.
Problema 5:
Dado un vector X de muestras que representa a una señal, determinar cuantos picos (positivos o negativos) presenta la señal.
Problema 6:
Dado un numero, construir un programa que permita calcular su factorial.
Problema 7:
Dada una matriz A de dimensión MxN, determinar el valor máximo y el valor mínimo de la matriz así como la localización de los mismos dentro de la matriz (índices).
Problema 8:
Se tiene un vector de muestras( “X”) en MATLAB que representa a una determinada señal. Se por tanto, escribir un programa que permita contabilizar el numero de cruces por cero de negativo a positivo existente en todo el vector. El programa deberá presentar el resultado por pantalla.
Problema 9:
Dada una matriz X de dimensión MxN y una matriz Y de dimensión LxP , desarrollar un programa que implemente la siguiente ecuación:
Problema 10:
Dado un vector X, normalizar los valores del vector a valores en el rango [0,5]. También se pide normalizar el mismo vector al rango [-2,5].
Problema 11:
Se tiene un vector “X” en MATLAB de 80000 muestras.
De acuerdo a ello, se pide construir un programa que permita determinar secuencialmente la energía de cada bloque de 2000 muestras del vector. (se define la energía de un bloque como la suma de las muestras elevadas la cuadrado) . El programa deberá ir parando en cada iteración con un “pause” y mostrar la energía del bloque actual en pantalla.
Problema 12:
Dado un vector X de 2048 componentes, desarrollar un programa que iterativamente extraiga del mencionado vector bloques de 64 muestras consecutivos. El programa deberá calcular la energía de cada bloque e deberá ir formando un vector en con los valores de energía que se van calculando. Al final el programa deberá mostrar por pantalla la gráfica del vector resultante. Obs. La energía de un bloque de muestras es la suma de los valores de las muestras al cuadrado.
Problema 13:
Se captura 10 segundos de una señal de audio estéreo vía MATLAB y se almacena en un vector “X”. De acuerdo ello, se pide escribir un programa que genere un vector de señal “Y” con las siguientes características:
• Durante 0.5 segundos de señal se debe tener : YR=XR y YL=XL
• Durante los siguientes 0.5 segundos de señal : YL=XR y YR=XL
Esto debe cumplirse en forma alternada (como está especificado) durante los 10 segundos de señal.
Problema 14:
Construir un programa en que permita generar (vía MATLAB) 5 segundos de señal triangular discreta de 8KHz de frecuencia, 32KHz de frecuencia de muestreo y amplitud 0.2. El programa deberá también graficar la señal discreta en el tiempo utilizando la instrucción plot y especificando los títulos correspondientes.
Problema 15:
Construir un programa en que permita generar (vía MATLAB) 20 segundos de señal cuadrada TTL discreta de 2KHz de frecuencia, 16KHz de frecuencia de muestreo y amplitud 0.6. El programa deberá también visualizar la señal discreta en el tiempo utilizando la instrucción “stem” y especificando los títulos correspondientes.
Problema 16:
Construir un programa en que permita generar (vía MATLAB) 10 segundos de señal senoidal analógica (es decir para ser visualizada en el osciloscopio a partir de la salida de audio de la tarjeta de sonido) de 800Hz de frecuencia, frecuencia de muestreo de 8KHz y amplitud 0.75.
Problema 17:
En una experiencia de laboratorio se pedía generar una señal discreta en el transmisor para enviarla al receptor.
En este problema se pide escribir un programa que genere un vector “X” y que represente 5 segundos de un señal periódica del tipo diente de sierra (ver figura 1). La amplitud de la rampa deberá ser de 0.6, mientras que la frecuencia de la misma deberá ser de 200Hz.
A continuación se especifica el programa del transmisor, tal como fue entregado al inicio de dicho laboratorio (observe donde tiene que ser colocado el pequeño algoritmo requerido para generar el vector “X”) .
clear all;
close all;
clc;
fs = 8000; %frecuencia de muestreo
r = 16; %bits por muestra.
version = 0;
numcan = 1; %monocanal
repeticiones = 0;
duracion = 5; %duración en tiempo del vector requerido (5segundos)
“En este espacio debe ser colocado el programa requerido para generar “X””
ao=configsalidasenal(fs,r,numcan,repeticiones,version);
reproduccionsenal(ao,X,repeticiones,'señal generada');
Figura 1
Problema 18:
Escribir un programa en MATLAB que permita leer un vector de muestras “x” para realizar el siguiente procesamiento: Por cada muestra leída del vector de entrada, la muestra de salida del sistema deberá ser igual a la muestra leída actualmente + las N muestras anteriores de entrada. (donde N y el tamaño del vector de entrada es definido por el usuario).El resultado del programa deberá ser el vector “y” con las muestras resultantes
...