Practica 1.GENERACIÓN DE SEÑALES EN MATLAB

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 46

UNIVERSIDAD POLITECNICA DE PACHUCA

PRCTICA 1
GENERACIN DE SEALES EN MATLAB
*MATERIA: Comunicaciones Analgicas y Digitales *PROFESOR: Dr. Francisco Rafael Trejo Macotela *ALUMNA: Morn Martnez Zyanya *FECHA DE DESARROLLO: 11/SEPTIEMBRE/2012 *FECHA DE ENTREGA: 18/SEPTIEMBRE/2012 *GRUPO: 21827

TELEMTICA

Page 1

*INTRODUCCIN:
MatLab
MatLab es una abreviatura de la frase Matrix Laboratory (Laboratorio de Matrices). Es un entorno informtico de anlisis numrico y representacin grfica de fcil manejo. Originalmente fue escrito para la enseanza de lgebra lineal, aunque actualmente es, al mismo tiempo, un entorno y un lenguaje de programacin. Tambin permite crear funciones propias y programas especiales (denominados archivos-M) en cdigo MatLab, que se pueden agrupar en las llamadas Toolboxes: coleccin especializada de archivos-M para trabajar en distintos tipos de problemas, por ejemplo de optimizacin, de estadstica, de ecuaciones diferenciales parciales, etc. Se puede considerar, por otro lado, que MatLab es una calculadora totalmente equipada aunque, en realidad, es mucho ms verstil que cualquier calculadora para hacer clculos matemticos. Se trata de una plataforma para el desarrollo de aplicaciones y para la resolucin de problemas en mltiples reas de aplicacin. Entre sus utilidades, se encuentra: Clculo matricial y Algebra lineal. Polinomios e interpolacin. Regresin y ajuste de funciones. Ecuaciones diferenciales ordinarias. Integracin. Funciones y grficos en dos y tres dimensiones.

Archivos M
Se pueden colocar rdenes en un simple archivo de texto (o ascii) y, hacer que MatLab lo abra y evale las rdenes exactamente como si hubiesen sido escritas desde la lnea de comandos. Estos archivos se llaman archivos script o archivos-M, y deben finalizar con la extensin m. Para crear un archivo-M se escoge New del men File y seleccionamos M-file. Una vez guardado este archivo-M, MatLab ejecutar las rdenes en dicho archivo simplemente escribiendo su nombre (sin extensin) en la lnea de comandos. Normalmente, las rdenes ledas desde el archivo-M no se visualizan cuando se evalan.

TELEMTICA

Page 2

Funciones Matemticas Comunes


A continuacin se muestra una tabla con las funciones matemticas en MatLab: abs(x) Valor absoluto o magnitud de un nmero complejo acos(x) Inversa del coseno acosh(x) Inversa del coseno hiperblico angle(x) Angulo de un nmero complejo asin(x) Inversa del seno asinh(x) Inversa del seno hiperblico atan(x) Inversa de la tangente atan2(x,y) Inversa de la tangente en los cuatro cuadrantes atanh(x) Inversa de la tangente hiperblica ceil(x) Redondea hacia ms infinito conj(x) Complejo conjugado cos(x) Coseno cosh(x) Coseno hiperblico exp(x) Exponencial fix(x) Redondea hacia cero floor(x) Redondea hacia menos infinito imag(x) Parte imaginaria de un nmero complejo log(x) Logaritmo natural log10(x) Logaritmo decimal real(x) Parte real de un nmero complejo rem(x,y) Resto despus de la divisin round(x) Redondea hacia el entero ms prximo sign(x) Devuelve el signo del argumento sin(x) Seno sinh(x) Seno hiperblico sqrt(x) Raz cuadrada tan(x) Tangente tanh(x) Tangente hiperblica

Nota:

MatLab slo opera en radianes. Para ver las diferentes funciones elementales y trigonomtricas teclear: help elfun

TELEMTICA

Page 3

Funciones elementales para la construccin de matrices


zeros(n) Matriz de ceros (n n). ones(n,m) Matriz de unos (n m). rand(n,m) Matriz (n m) de nmeros aleatorios distribuidos uniformemente entre cero y uno. randn(n,m) Matriz (n m) de nmeros aleatorios distribuidos normalmente con media cero y varianza unidad. eye(n,m) Matriz identidad (n m).

Logaritmos
log (x) Logaritmo natural. log10 (x) Logaritmo decimal.

Variables y Operadores
Los operadores bsicos que usa MatLab son:

Aritmticos:
ESCALAR + * / \ ^ MATRIZ + * / \ ` VECTOR + .* ./ \. .' DESCRIPCIN Adicin (Suma) Sustraccin (Resta) Multiplicacin Divisin hacia la derecha Divisin hacia la izquierda Transposicin (Potencia)

TELEMTICA

Page 4

Lgicos y Relacionales:
>Mayor que. < Menor que. >= Mayor o igual a. <= Menor o igual a. == Igual a. ~= No igual a.

Grficos
MatLab presenta un entorno grfico de muy fcil manejo. El ejemplo ms sencillo para crear grficos es el siguiente x = rand(10,1); y = rand(10,1); plot(x,y) El comando plot dibuja los puntos (xi; yi) unindolos por lneas continuas. Para dibujar un diagrama de dispersin de las variables x e y se teclea plot(x,y,.) Cuando se pone el comando as plot(x) puede resultar muy til, por ejemplo en series temporales, ya que dibuja los puntos (xi; i) unindolos por lneas continuas. subplot(m,n,p)

TELEMTICA

Page 5

Caracteres especiales
CARACTERES [] () , ; DESCRIPCIN Se utilizan para formar vectores y matrices Define precedencia en expresiones aritmticas. Encierra argumentos de funciones en forma usual Separador de elementos de una matriz, argumentos de funciones y declaraciones en lneas con declaraciones mltiples Separador de declaraciones, termina renglones de una matriz

TELEMTICA

Page 6

*OBJETIVO GENERAL:
En esta prctica aprender a utilizar el programa de MatLab y su funcionamiento. Adems de adquirir destreza, conocimientos prcticos en las operaciones, funciones y elaboracin de graficas. Ya que ocuparemos MatLab en este curso.

*OBJETIVO ESPECFICO:
Entrada y salida de datos. Representaciones graficas sencillas. Realizar operaciones bsicas. Conocer las diferentes funciones de MatLab. Utilizar y conocer los diferentes comandos del Sistema Operativos de MatLab.

*MATERIAL:
Computadora. Software de MatLab.

*Desarrollo:
1-. Instale MatLab en mi computadora. 2-. Iniciamos MatLab. Sale la pantalla en blanco con una lnea de comandos indicada por el smbolo >> donde se puede introducir instrucciones.

Iniciamos MatLab

TELEMTICA

Page 7

Esta es la pantalla de trabajo de MatLab.

Editor de textos. Fichero .m

Variables actuales

Lnea de Comandos

Historial de Comandos

3-.Realizamos las siguientes operaciones e imprimimos pantalla para comprobar el resultado que nos da. a) b) c) d) e) 255+80-190= 145 95x 100x(-3)= -27000 (20/3)-(1/7)= 137/21 95-44 = 58793 100e-20+150-364= 146

4-. Despus graficamos las siguientes funciones. a) b) c) d) e) 15t2-3t+2 15cos120t 10sen120t+5cos 240t-2 10sen(120t-(/2)) 100e-400t

TELEMTICA

Page 8

Imprimimos pantalla o bien hay un nos abre una ventana donde nos aparece la grafica, hay una opcin en donde dice Edit le damos clic y luego nos colocamos en donde dice Copy Figure y le damos clic, despus se copiara y la imagen que nos genero le damos Control+v en Word o Paint y nos quedara as:
10 8 6 4 2 0 -2 -4 -6 -8 -10

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

Edit

Copy Figure

TELEMTICA

Page 9

5-. Desarrollamos una funcin en MatLab para encontrar lo que se pide a continuacin: a) El factorial de un nmero. b) Resolver una ecuacin de segundo grado mediante la frmula general. c) Resolver una ecuacin de segundo grado mediante la regla de Cramer. Guardamos el programa utilizando el editor de texto de MatLab e imprimimos pantalla, para poder visualizar el resultado que nos arroja el programa.

6-. Y por ultimo explicamos el funcionamiento de las siguientes funciones y damos un ejemplo de cada una. Para saber que hace cada funcin nos apoyamos con help funcin, donde funcin sera el nombre de la funcin sobre la que necesitamos la ayuda. Esto se escribe en la lnea de comandos.

Ejemplo:

TELEMTICA

Page 10

a) clc b) dos c) exit d) demo e) help f) info g) clear h) whos i) who j) dir k) cd l) web m) mkdir n) delete o) disp p) size q) length

r) ndims s) numel t) size u) cat v) find w) end x) min y) max z) sort aa) sum bb) sqrt cc) linspace dd) ones ee) rand ff) zeros gg) plot hh) stem ii) subplot

TELEMTICA

Page 11

*RESULTADOS OBTENIDOS:
1.- Realice las siguientes operaciones utilizando MatLab:

a) 255+80-190= 145

Dato obtenido en MatLab al realizar la operacin.

b) 95x 100x(-3)= -27000

Dato obtenido en MatLab al realizar la operacin.

c) (20/3)-(1/7)= 6.523809524

Dato obtenido en MatLab al realizar la operacin.

d) 95-44 = 58793

Dato obtenido en MatLab al realizar la operacin.

TELEMTICA

Page 12

e) 100e-20+150-364= 8.24744892

Dato obtenido en MatLab al realizar la operacin.

2-. Graficar las siguientes funciones. a) 15t2-3t+2


Grafica obtenida

Editor de texto

TELEMTICA

Page 13

b) 15cos120t

Grafica obtenida

Editor de texto

c) 10sen120t+5cos 240t-2
10

Grafica obtenida

-5

-10

-15

-20

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

Editor de texto

TELEMTICA

Page 14

d) 10sen(120t-(/2))
Grafica obtenida
10 8 6 4 2 0 -2 -4 -6 -8 -10

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

Editor de texto

e) 100e-400t
100 90 80 70 60 50 40 30 20 10 0

Grafica obtenida

Editor de texto

0.01

0.02

0.03

0.04

0.05

0.06

0.07

0.08

0.09

0.1

TELEMTICA

Page 15

3-. Desarrolle una funcin en MatLab para encontrar: a) El factorial de un nmero.

Editor de textos. Fichero .m

Datos arrojados del programa Factorial

TELEMTICA

Page 16

b) Resolver una ecuacin de segundo grado mediante la frmula general.

Editor de textos. Fichero .m

Datos arrojados del programa Ecuacin

Variables

c) Resolver una ecuacin de segundo grado mediante la regla de Cramer.


Editor de textos. Fichero .m

TELEMTICA

Page 17

Datos arrojados del programa Cramer

TELEMTICA

Page 18

4-. Explique el funcionamiento de las siguientes funciones y d un ejemplo: Funcin Funcionamiento clc Borra toda la pantalla pero deja internamente el valor de las variables. dos Ejecutar comandos de DOS y resultado devuelto. exit Salir de MatLab demo Acceda a demostraciones de productos a travs del navegador de ayuda. help Proporciona ayuda sobre el tema seleccionado. info Informacin sobre MathWorks. clear Borra toda la pantalla de Workspace. whos Lista las variables en uso y su descripcin. who Enumera todas las variables usadas hasta el momento dir Lista el contenido del directorio actual. cd Cambie el directorio de trabajo actual. web Abra el navegador web en el sitio o los archivos. mkdir Hacer nuevo directorio. delete Eliminar archivo o un objeto grfico. disp Pantalla de matriz. size Devuelve la dimensin de un vector o matriz. length Longitud de un vector, vea tambin size. ndims Nmero de dimensiones. numel Nmero de elementos de una matriz o expresin vector indexada. size Devuelve la dimensin de un vector o matriz. cat Concatenar matrices. find Encuentra los ndices de los elementos distintos de cero. end Terminar alcance de FOR, WHILE, INTERRUPTOR, juzgar y IF. min Componente ms pequeo . max Componente ms grande. sort Ordenar de forma ascendente o descendente. sum Suma de los elementos. sqrt Calcula raz cuadrada. linspace Devuelve un vector linealmente espaciado. ones Devuelve un vector o matriz de unos. rand Linealmente espaciados vector. zeros Zeros matriz. plot Dibuja un grfico. Trama lineal. stem Secuencia discreta o trama "madre". subplot Crear ejes en los puestos de baldosas.
Page 19

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

TELEMTICA

*Ejemplos de las funciones: CLC clc limpia la pantalla de la lnea de comandos

*Ejemplo

Y al poner clc asi queda la pantalla

DOS

Ejemplo: [s, w] = dos('dir') hace un listado de directorio y devuelve s = 0, y la cadena que contiene el listado w.

TELEMTICA

Page 20

EXIT

*Ejemplo: Nos saca del programa de MatLab. DEMO

*Ejemplo: demo 'matlab' demo 'toolbox' 'signal' demo 'matlab' 'getting started' HELP

*Ejemplo: help nombre de funcin

TELEMTICA

Page 21

INFO

*Ejemplo: Muestra informacin acerca de The MathWorks en la ventana de comandos. CLEAR

*Ejemplo: Limpia la ventana de comandos y las casas de los cursores.

TELEMTICA

Page 22

WHOS

*Ejemplo: whos a* whos -regexp ^b\d{3}$ % Mostrar variables que empiezan con "a" % Mostrar variables nombres que comienzan con "b" % y seguido de 3 dgito whos -file fname -regexp \d % Mostrar nombres de las variables que contienen % los dgitos que hay en fname MAT-file

TELEMTICA

Page 23

WHO

*Ejemplo: who a* who -regexp ^b\d{3}$ % Mostrar nombres de las variables que empiezan con "a" % Mostrar nombres de las variables que empiezan con "b" % y seguido de 3 dgitos who -file fname -regexp \d % Mostrar nombres de las variables que contienen los dgitos % que hay en fname MAT-file

TELEMTICA

Page 24

DIR

*Ejemplo: dir *. m enumera todos los archivos de programa en el directorio actual. CD

*Ejemplo: cd(fullfile(matlabroot, '/help/techdoc/matlab_env/examples')) -Sintaxis: cd(newFolder) oldFolder = cd(newFolder) cd

TELEMTICA

Page 25

WEB

*Ejemplo: web file:///disk/dir1/dir2/foo.html abre el archivo en foo.html un navegador interno. web('foo.html'); abre la foo.html archivo si est en el camino de MATLAB. web('html/foo.html'); abre el archivo html / foo.html, que es relativa al directorio de trabajo actual. web('text://<html>Hello World</html>'); muestra el texto con formato html dentro de un navegador interno. web('http://www.mathworks.com', '-new'); carga la pgina Web de The MathWorks en un nuevo navegador interno.

TELEMTICA

Page 26

MKDIR

*Ejemplo: Crear una subcarpeta en la carpeta actual Crear una subcarpeta llamada newdir en la carpeta actual: mkdir('../testdata','newFolder')

TELEMTICA

Page 27

DELETE

*Ejemplo: Elimine todos los archivos con una extensin de alfombra en los mytests .. / / carpeta.: delete('../mytests/*.mat') Crear una figura y un eje, y elimine los ejes:
hf = figure, ha = axes hf = 1 ha = 170.0332 delete(ha)

Los ejes se eliminan, pero siguen siendo la figura. Los ejes de manejar ha permanece en el rea de trabajo pero ya no apunta a un objeto.

TELEMTICA

Page 28

DISP

*Ejemplo: Mostrar una matriz con etiquetas de columna En este ejemplo se utiliza DISP para visualizar una matriz con las etiquetas de las columnas:
disp(' Corn Oats Hay') x = gallery('uniformdata',[5 3],0); disp(x)

Esto da como resultado:


Corn Oats Hay 0.9501 0.7621 0.2311 0.4565 0.6068 0.0185 0.4860 0.8214 0.8913 0.4447 0.6154 0.7919 0.9218 0.7382 0.1763

SIZE

TELEMTICA

Page 29

*Ejemplo: Si X = rand(2,3,4); Entonces d = size(X) returns d = [2 3 4] [m1,m2,m3,m4] = size(X) returns m1 = 2, m2 = 3, m3 = 4, m4 = 1 [m,n] = size(X) returns m = 2, n = 12 m2 = size(X,2) returns m2 = 3

LENGTH

*Ejemplo: Crear un X 1-por-8 matriz y utilizar longitud para encontrar el nmero de elementos en el segundo (el ms grande) dimensin:
X = [5, 3.4, 72, 28/4, 3.61, 17 94 89]; length(X) ans = 8

NDIMS

*Ejemplo:
ndims(x) is length(size(x)).

TELEMTICA

Page 30

NUMEL

*Ejemplo: Crear un 4-por-4-por-2 de la matriz. Numel cuenta 32 elementos en la matriz.


a = magic(4); a(:,:,2) = a' a(:,:,1) = 16 2 5 11 9 7 4 14 a(:,:,2) = 16 5 2 11 3 10 13 8 numel(a) ans = 32 3 10 6 15 9 7 6 12 13 8 12 1 4 14 15 1

CAT

TELEMTICA

Page 31

*Ejemplo: a = magic(3); b = pascal(3); c = cat(4,a,b) produces a 3-by-3-by-1-by-2 result and s = {a b}; for i=1:length(s), siz{i} = size(s{i}); end sizes = cat(1,siz{:}) produces a 2-by-2 array of size vectors. FIND

*Ejemplo: A = magic(3) find(A > 5) encuentra los ndices lineales de las 4 entradas de la matriz A son que mayor que 5. [rows,cols,vals] = find(speye(5)) encuentra el ndices de fila y de columna y los valores no nulos de la 5-por-5 matriz de identidad escasa.
TELEMTICA Page 32

END

*Ejemplo: Este ejemplo muestra final utilizada con las declaraciones a for y if.
for k = 1:n if a(k) == 0 a(k) = a(k) + 2; end end

En este ejemplo, el extremo se utiliza en una expresin de indexacin.


A = magic(5) A = 17 23 4 10 11 24 5 6 12 18 1 7 13 19 25 8 14 20 21 2 15 16 22 3 9

B = A(end,2:end) B = 18 25 2 9

TELEMTICA

Page 33

MIN

*Ejemplo:
Devolver el mnimo de una matriz 2-por-3 de cada columna: X = [2 8 4; 7 3 9]; min(X,[],1) ans = 2 3 4 Devuelve el mnimo de cada fila: min(X,[],2) ans = 2 3 Comparar cada elemento de X a un escalar: min(X,5) ans = 2 5 5 3 4 5 Page 34

TELEMTICA

MAX

*Ejemplo: Devolver el mximo de una matriz 2-por-3 de cada columna: X = [2 8 4; 7 3 9]; max(X,[],1) ans = 7 8 9 Devuelve el mximo de cada fila: max(X,[],2) ans = 8 9 Comparar cada elemento de X a un escalar: max(X,5) ans = 5 7 8 5 5 9
Page 35

TELEMTICA

SORT

*Ejemplo:
v = [1 -1 i -i]; angle(v) ans = 0 sort(v) ans = 0 - 1.0000i 0 + 1.0000i 1.0000 -1.0000 3.1416 1.5708 -1.5708

TELEMTICA

Page 36

SUM

*Ejemplo: El cuadrado mgico de orden 3 es


M = magic(3) M = 8 1 3 5 4 9

6 7 2

Esto se llama un cuadrado mgico porque las sumas de los elementos de cada columna son iguales.
sum(M) = 15 15 15

como son las sumas de los elementos en cada fila, obtenidos ya sea mediante la transposicin o mediante el argumento tenue. Transposing
sum(M') = 15 15 15

Using the dim argument


sum(M,1) ans = 15 15 15

TELEMTICA

Page 37

SQRT

*Ejemplo:
B = sqrt(X)

LINSPACE

*Ejemplo: Crear un vector de 100 nmeros linealmente espaciadas 1 a 500: A = linspace(1,500); Crear un vector de 12 nmeros linealmente espaciadas 1 a 36: A = linspace(1,36,12); ONES

*Ejemplo: x = ones(2,3,'int8');
TELEMTICA Page 38

RAND

*Ejemplo: Generar valores de la distribucin uniforme en el intervalo [a, b]: r = a + (b-a).*rand(100,1); ZEROS

*Ejemplo: x = zeros(2,3,'int8');

TELEMTICA

Page 39

PLOT

*Ejemplo: plot(X,Y,'c+:') traza una lnea de puntos cyan con un plus en cada punto de datos. plot(X,Y,'bd') diamante azul parcelas en cada punto de datos, pero no dibuja ninguna lnea. x = -pi:pi/10:pi; y = tan(sin(x)) - sin(tan(x)); plot(x,y,'--rs','LineWidth',2,... 'MarkerEdgeColor','k',... 'MarkerFaceColor','g',... 'MarkerSize',10)

TELEMTICA

Page 40

STEM

*Ejemplo: Sola serie de datos En este ejemplo se crea un diagrama de tallo que representa el coseno de 10 valores espaciados linealmente entre 0 y 2. Tenga en cuenta que el estilo de lnea de la lnea de base se establece en primer lugar conseguir su asa de propiedad BaseLine el objeto de stemseries.
figure t = linspace(-2*pi,2*pi,10); h = stem(t,cos(t),'fill','--'); set(get(h,'BaseLine'),'LineStyle',':')

set(h,'MarkerFaceColor','red')

TELEMTICA

Page 41

SUBPLOT

*Ejemplo: Subparcelas superior e inferior con ttulos Para trazar los ingresos en la mitad superior de una figura y egresos en la mitad inferior,
income = [3.2,4.1,5.0,5.6]; outgo = [2.5,4.0,3.35,4.9]; subplot(2,1,1); plot(income) title('Income') subplot(2,1,2); plot(outgo) title('Outgo')

TELEMTICA

Page 42

Esto nos aparece cuando ponemos help general.

TELEMTICA

Page 43

TELEMTICA

Page 44

*CONCLUSIONES:
En esta prctica aprend a utilizar MatLab, conocer las diferentes funciones que tienen, ya que es indispensable conocer cmo funciona y que hace cada funcin. Desarrolle pequeos programas para resolver alguna ecuacin u obtener una grafica. A pesar de que realizamos graficas sencillas no saba cmo se tenan que hacer, hasta que le algunos manuales que tenia de MatLab y ped ayuda al Prof. Liceaga. Supe que MatLab es una abreviatura de Matrix Laboratory (Laboratorio de Matrices) y que fue creado en 1984 por The MathWorks. Vi que MatLab es un programa fcil de utilizar y aparte nos facilita el trabajo. Tambin conoc la forma de manejar las instrucciones a partir de archivos de extensin .m, ya que esto nos facilita ms el trabajo y ya no es necesario guardar el cdigo en un block de notas. MatLab es un mundo, ya que no solo se utiliza para resolver operaciones sencillas, graficar, sino se puede crear cdigo, programar directamente, procesar seales digitales, realizar circuitos, etc. Porque es un sotware de clculo muy usado en universidades, centros de investigacin y por ingenieros. Me gusto mucho este programa, ya que me va a servir y ser muy til en la materia de Transformadas y Series, Comunicaciones Analgicas y Digitales, Procesamiento y Seales y en mi Estancia II.

El objetivo de esta prctica para m se cumpli.


TELEMTICA Page 45

*BIBLIOGRAFA:
Manual de Introduccin a MatLab. MATLAB: A Practical Introduction to Programming and Problem Solving. Second Edition Editorial: ELSEVIER http://www.ib.cnea.gov.ar/~instyctl/Tutorial_Matlab_esp/commands.html http://html.rincondelvago.com/matlab_1.html Matlab - Modelling, Programming and Simulations Editada por: Emilson Pereira Leite Editorial: SCIYO Aprenda Matlab 6.1 como si estuviera en primero Autores: Javier Garca de Jaln, Jos Ignacio Rodrguez, Alfonso Brazlez Escuela Tcnica Superior de Ingenieros Industriales Universidad Politcnica de Madrid

TELEMTICA

Page 46

También podría gustarte