Sin categoría

Secuencias elementales en Matlab- procesamiento de señales digitales

En MATLAB podemos representar una secuencia de duración finita mediante un vector de fila de valores apropiados. Sin embargo, dicho vector no tiene información sobre la posición n de la muestra. por lo tanto, una representación correcta de requeriría dos vectores, uno para x y otro para n. Por ejemplo

>> n=[-3,-2,-1,0,1,2,3,4]; x=[2,1,-1,0,1,4,3,7]

Generalmente, usaremos la representación del vector x solo cuando la información de la posición de la muestra no sea necesaria o cuando dicha información sea trivial (por ejemplo, cuando la secuencia comience en n = 0)

Tipos de secuencias

Usamos varias secuencias elementales en Procesamiento de señales digitales para propósitos de análisis. Lo ideal al utilizar Matlab para el procesamiento de señales digitales es diseñar funciones en archivos .m para aumentar la eficiencia y la claridad de los programas (scripts) que utilizaremos en la consola (Command Window) para procesar señales complejas que son combinaciones de las señales elementales. Proponemos este método a continuación. Para algunas funciones elementales sin embargo, como por ejemplo la secuencia sinusoidal coseno, ya Matlab tiene lo necesario en su menú.

Unit Sample sequence - Impulso Unitario

La función zeros(1,N) genera un vector de fila de N ceros, que se puede utilizar para implementar δ[n] en un intervalo finito. Sin embargo, la relación lógica n==0 es una forma elegante de implementar δ[n]. Por ejemplo, para implementar:

En el intervalo n1< no < n2 , usaremos la siguiente función en Matlab:

function[x,n]=impseq(n0,n1,n2)

%generates x[n]=delta(n-no); n1<=n<=n2

n=[n1:n2]; x=[(n-n0)==0];

Ahora podemos usar la función impseq como sigue, para implementar una función arbitraria T=δ[n-5] en el intervalo 0< no < 9:

>> T=impseq(5,0,9)

Obtenemos:

T =     0     0     0     0     0     1     0     0     0     0

La imagen tiene un atributo ALT vacío; su nombre de archivo es null-8.png

Note: para ver como se implementa una función en Matlab ver: matlab getstart, page 176, (4-22)

El poder y la eficiencia de esta aproximación se puede apreciar en el siguiente ejemplo.

Ejemplo 1. Generar y graficar la siguiente secuencia sobre el intervalo indicado:

n=[-5:5];
x=2*impseq(-2,-5,5)-impseq(4,-5,5);
stem(n,x); title(‘Secuencia de Problema 1’)
xlabel(‘n’); ylabel(‘x[n]’)

Estos comandos generan el siguiente gráfico:

Unit Step sequence - Escalón Unitario

La función ones(1,N) genera un vector fila de N unos. Se puede utilizar para generar u[n] en un intervalo finito. Una vez más, un enfoque elegante es utilizar la relación lógica n>=0. Para implementar:

En el intervalo n1< no < n2 , utilizaremos la siguiente función Matlab:

function[x,n]=stepseq(n0,n1,n2)

% Generates x(n)=u(n-n0); n1<=n<=n2

n=[n1:n2]; x=[(n-n0)>=0];

Ahora podemos utilizar la función stepseq como sigue,para implementar una función arbitraria P=u[n-5] en el intervalo 0< no < 18:

>> P=stepseq(5,0,18)

Obtenemos:

P =     0     0     0     0     0     1     1     1     1     1     1     1     1     1     1     1     1     1     1

La imagen tiene un atributo ALT vacío; su nombre de archivo es null-7.png

Ejemplo 2. Generar y graficar la siguiente secuencia sobre el intervalo indicado:

n=[0:20]; x1=10exp(-0.3(n-10)).(stepseq(10,0,20)-stepseq(20,0,20)); x2=n.(stepseq(0,0,20)-stepseq(10,0,20));
x=x1+x2;
stem(n,x); title(‘Secuencia de Problema 2’)

Estos comandos generan el siguiente gráfico:

Secuencia exponencial con valores reales

En Matlab es requerido el operador “” para implementar a real exponential sequence de la forma:

En el intervalo n1< no < n2. Por ejemplo, para implementar:

Usaremos la siguiente función de Matlab:

n=[0:10];;
x=(0.9).^n;
stem(n,x);
xlabel(‘n’); ylabel(‘x[n]’)

Este script genera:

Serie Geométrica

Una secuencia exponencial de un solo lado, de la forma:

Donde α es una constante arbitraria. Esta secuencia es llamada a geometric series.  En PDS, la convergencia y la expresión para la suma de los componentes de esta serie are es utilizado en muchas aplicaciones. La serie converge para:

Mientras se cumpla esta condición, la suma de los componentes de la serie geométrica converge a:

A partir de aquí, necesitamos además una expresión para la suma de cualquier número finito de términos de la serie, y está dado por:

Estos dos importantes resultados se utilizarán ampliamente en PDS.

Complex-valued exponential sequence

Where σ produces an attenuation (if<0) or amplification (if>0)  and ωo is the frequency in radians. The Matlab function exp generates the exponential sequences. For example, for x[n] =exp[(2+j3)n], 0n10, we will use the following script:

n=[0:10]; x=exp(3j*n);
stem(n,k)

This script yields:

Secuencia sinusoidal

Donde A es la amplitud y θo es la fase en radianes. Más sobre la frecuencia angular en La sinusoide en tiempo discreto

Las funciones Matlab cos o sin generan una secuencia sinusoidal. Por ejmplo, para x[n] =3cos(0.1πn+π/3)+2sin(0.5πn), 0n10, utilizaremos el siguiente script:

n=[0:10]; x=3*cos(0.1*pi*n+pi/3)+2*sin(0.5*pi*n);
stem(n,x)

Este script genera:

En construcción….

Fuente:

  • Digital Signal Processing Using Matlab, 3erd ed

ANTERIOR:

Revisión literaria hecha por:

Prof. Larry Francis Obando – Technical Specialist – Educational Content Writer

Se hacen trabajos, se resuelven ejercicios!!

WhatsApp:  +34633129287  Atención Inmediata!!

Twitter: @dademuch

Copywriting, Content Marketing, Tesis, Monografías, Paper Académicos, White Papers (Español – Inglés)

Escuela de Ingeniería Electrónica de la Universidad Simón Bolívar, USB Valle de Sartenejas.

Escuela de Ingeniería Eléctrica de la Universidad Central de Venezuela, UCV CCs

Escuela de Turismo de la Universidad Simón Bolívar, Núcleo Litoral.

Contacto: España. +34633129287

Caracas, Quito, Guayaquil, Jaén. 

WhatsApp:  +34633129287     

Twitter: @dademuch

FACEBOOK: DademuchConnection

email: dademuchconnection@gmail.com

1 comentario en “Secuencias elementales en Matlab- procesamiento de señales digitales”

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s