0% encontró este documento útil (0 votos)
100 vistas11 páginas

Operaciones en Secuencias

Este documento describe cómo realizar operaciones básicas en secuencias discretas como suma, multiplicación, escalamiento y desplazamiento utilizando Matlab. Explica cómo crear funciones en Matlab para implementar estas operaciones y muestra ejemplos de código. También cubre el cálculo de la energía y potencia de una señal y proporciona ejemplos gráficos de funciones como escalón, exponencial, senoidal, impar e impulso.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
100 vistas11 páginas

Operaciones en Secuencias

Este documento describe cómo realizar operaciones básicas en secuencias discretas como suma, multiplicación, escalamiento y desplazamiento utilizando Matlab. Explica cómo crear funciones en Matlab para implementar estas operaciones y muestra ejemplos de código. También cubre el cálculo de la energía y potencia de una señal y proporciona ejemplos gráficos de funciones como escalón, exponencial, senoidal, impar e impulso.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 11

q

UNIVERSIDAD AUTÓNOMA
DE SAN LUIS POTOSÍ

UNIDAD ACADÉMICA MULTIDISCIPLINARIA


ZONA MEDIA
INGENIERÍA MECATRÓNICA
PROCESAMIENTO DIGITAL DE
SEÑALES
PRACTICA #2
OPERACIONES EN SECUENCIAS
DOCENTE
DRA. GUILLERMINA GUERRERO MORA
ALUMNO
ADOLFO SHADDAI SOLANO DELGADO
GENERACION
2017
FECHA
11 DE SEPTIEMBRE DE 2022
Introduccion
Entre las operaciones básicas con las secuencias encontramos las operaciones
aritméticas, corrimiento en tiempo, escalado, etc. Además, se incluye el cálculo de la
energía y la potencia de una señal discreta.

Desarrollo
Para el análisis de operaciones en secuencias se deben tener en cuenta las formas
matemáticas de la señal en las que se pueden presentar, es por ello que se deben tener en
cuenta las siguientes formas de poder analizarlas y procesarlas:
1. Suma de señales: 𝑦(𝑛) = {𝑥1 (𝑛)} + {𝑥2 (𝑛)} = {𝑥1 (𝑛) + 𝑥2 (𝑛)} La suma se
implementa en MATLAB mediante el operador “+”. Esta será una suma muestra por
muestra (elemento a elemento), por lo tanto, las longitudes de las secuencias deben ser
iguales. Si las secuencias son de longitudes distintas, o si las posiciones de las muestras
son diferentes para las secuencias de igual longitud, entonces no se puede usar directamente
el operador +.
2. Multiplicación de señales: 𝑦(𝑛) = {𝑥1 (𝑛)} ∙ {𝑥2 (𝑛)} = {𝑥1 (𝑛)𝑥2 (𝑛)} Se implementa
por el operador de matrices “. *”. Al igual que la suma se realiza una multiplicación muestra
por muestra (o punto por punto) con las mismas restricciones.
3. Escalamiento: 𝑦(𝑛) = 𝛼{𝑥(𝑛)} = {𝛼𝑥(𝑛)} Se utiliza un operador aritmético “*” para
implementar la operación de escalado en MATLAB.
4. Desplazamiento: 𝑦(𝑛) = {𝑥 (𝑛 − 𝑘)} En esta operación, cada muestra de 𝑥(𝑛) se desplaza
una cantidad 𝑘 para obtener la secuencia desplazada 𝑦(𝑛).
5. Folding: 𝑦(𝑛) = {𝑥(−𝑛)} En esta operación cada muestra de 𝑥(𝑛) se intercambia
alrededor de 𝑛 = 0.
6. Suma de muestras: ∑ 𝑥(𝑛) 𝑛2 𝑛=𝑛1 = 𝑥 (𝑛1) + ⋯ + 𝑥 (𝑛2) En esta operación se suma
cada muestra de 𝑥(𝑛) desde 𝑛1 hasta 𝑛2. Se implementa mediante la función sum (𝑥 (𝑛2:
𝑛1)).
7. Producto de muestras: ∏ 𝑥(𝑛) 𝑛2 𝑛=𝑛1 = 𝑥 (𝑛1) × ⋯ × 𝑥 (𝑛2) Esta operación
multiplica cada muestra de 𝑥(𝑛) desde 𝑛1 hasta 𝑛2. Se implementa mediante la función
prod (𝑥 (𝑛2: 𝑛1)).
8. Energía de una señal: 𝐸𝑥 = ∑𝑥(𝑛)𝑥 ∗ (𝑛) ∞ −∞ = ∑|𝑥(𝑛)| 2 ∞ −∞ Donde el superíndice
* indica conjugación compleja. La energía de una señal puede calcularse en MATLAB de
la siguiente manera.
Figura 1.- codigo de muestra.

9. Potencia de una señal: La potencia promedio de una señal periódica 𝑥̃(𝑛) de periodo
fundamental N está dada por 𝑃𝑥 = 1 𝑁 ∑|𝑥̃(𝑛)| 2

Estas funciones creadas en el software Matlab serán de gran importancia para el


procesamiento de señales digitales, en este caso operaciones en secuencias.
Para crear una funcion en este programa se abre un nuevo documento o script y se coloca la
palabra reservada “Funcion” y despues describir como se compone y que acción hará, cabe
destacar que la funcion se debe guardar con el mismo nombre que se agrega, sin embargo,
Matlab nos da el nombre por defecto a guardar.
Para la funcion sigadd se debe de crear de tal manera que sea una secuencia en suma o resta
de señales de tal modo que se indique la suma de secuencias y la duración de la suma, es
decir, el rango de valores desde el mínimo al máximo, los valores de inicialización y la
secuencia, en suma. Para esto se creó el siguiente código (figura 2) donde se observa todo lo
anterior descrito.

Figura 2.- Código de ejemplo.

Para el caso de las siguientes funciones se aplica la misma relación


anteriormente descrita, sin embargo, el cambio más notable es el nombre de la
funcion la cual es la multiplicación de señales, de desplazamiento o de secuencia.
En el caso de la multiplicación difiere solamente del nombre de la funcion descrita
como sigmult (x1, n1, x2, n2) y su forma implementada en la variable y el cual
seria como y1*y2 (Figura 3.) donde se observa lo descrito anteriormente.
Figura 3.- Codigo de ejemplo multiplicación de señales.

En el caso de las señales con desplazamiento o corrimiento de secuencias es


menos descripción y aplicación de codigo ya que la especificación de la misma
intervendrá la variable “k” la cual aplicará el desfase o corrimiento a la señal
que se analizará con el mismo tipo de funcion de variables en [y, n] (Figura 4).

Figura 4.- Codigo de funcion de corrimiento.

De esta manera se termina de explicar la realización de operaciones de señales


en secuencia.
Ahora con las funciones anteriormente descritas se van a realizar las siguientes funciones
descritas en la siguiente imagen:
Imagen 1.- Ejercicios
Para la realización de las funciones se debera realizar el código que muestra la figura 5. La
primera funcion es una resta de señales de amplitud 2 y adelantado 2 unidades. La segunda es
una secuencia uno de amplitud n con desfase de n1 unidades y un retraso de 10 unidades, una
suma exponencial y finalmente una resta con retraso de 10 y 20 unidades, para la tercer funcion
del punto 2 tiene una senoide con un valor periódica de 0 a 50 en una secuencia, en suma.
Finalmente, el punto 3 cuenta con 2 señales, la primera del tipo resta en secuencia con amplitud
de 2x y un retraso de 5 unidades menos una amplitud de 3x y un adelanto de 4 unidades, y la
segunda señal es una suma de secuencias con x desfase y un n retraso mas x amplitud y 2
unidades en retraso.
Continuación….

Figura 5.- Codigo de funciones.

Para la primera funcion lo que se hace es llamar ala funcion impseq para así tener una funcion
en escalón y despues hacer la amplitud y rango de valores con la respectiva restricción del
escalón unitario lo cual se nos mostrara una sola muestra en valor de amplitud 1 y los demás
valores en 0 para las muestras. En la segunda funcion se hace la llamada de la funcion stepseq
la cual realizara una funcion del tipo exponencial en descenso la cual es la que mas afectara en
la descripción grafica ya que en las funciones 1 y 2 del punto 2 solo son retrasos en un rango
de 0 a 20 combinada con una multiplicación entre la segunda y tercera funcion de la misma
secuencia la cual se agregaría el llamado de la funcion sigmult y se describirá que parte de la
secuencia se estará multiplicando la cual si la dividimos en 3 la secuencia esta corresponderá a
la exponencial y los retrasos de 10 y 20 unidades. Para la tercera funcion del punto 2 la cual es
una senoide simplemente se realiza la especificación del rango de valores en su frecuencia el
cual es de 0 a 50 declarado como vector, se declara una nueva variable como “w” igualada con
el comando de rand el cual genera números aleatorios y finalmente se declara la funcion descrita
la cual generara una señal del tipo senoide con una amplitud hecha a partir de los números
aleatorios del comando rand.

La funcion 4 o primera del punto 3 simplemente se transcriben los valores señalados en el


problema mediante una variable nueva descrita como x4, despues un nuevo rango de valores de
0 a 12 declarados como vector y finalmente se transcribe la funcion señalada en donde se
especifica mediante las variables de los valores que la funcion sustituirá dichos valores en su
funcion de manera continua y creara la funcion a partir del resultado de cada números sustituido,
si se analizan los valores dados por el problema se observara que se trata de una señal del tipo
par donde se muestra un reflejo de valores de un lado a otro como se si hiciera un espejo pero
sin pasar a otro cuadrante sino en el mismo plano como si se tratara de una rampa en asenso y
despues en descenso.

La ultima funcion del punto 3 o la funcion 5 simplemente se especifica el mismo rango de


valores anteriores, pero con la multiplicación de la señal dada el cual tiene un retraso de n
unidades y despues de 2 unidades en donde finalmente se manda llamar la funcion sigadd la
cual hace una suma de secuencias entre ambos desfases.
El intervalo establecido contra la variable descritas. Todas las gráficas resultantes se muestrana
continuacion:

Grafica 1.- Funcion 1 Escalón.

Grafica 2.- Funcion exponencial en decreciente.


Grafica 3.- Senoidal

Grafica 4.-Funcion Impar.


Grafica 5.- Funcion del tipo Impulso.

Conclusión
El uso de funciones en Matlab hace que sea más fácil la creación de códigos además de reducir en un
solo archivo los comandos a introducir y que se puedan confundir los comando y funciones es por
ellos que resulta mejor mandar llamar a las funciones ya compuestas en un archivo diferente, también
se pueden crear distintas funciones a las elemental como una exponencial o una senoidal siguiendo la
misma base de cómo se crean estas funciones además estas prácticas sirven de reforzamiento al
aprendizaje para el mismo manejo y programación de MatLab ya que en ciertas ocasiones se dificulta
con una funcion o ingreso de código y el aprender de estas prácticas es donde a futuro se evitan la
mayoría de problemas en el manejo del programa.

También podría gustarte