Académique Documents
Professionnel Documents
Culture Documents
2.1 Resumen
Una señal discreta viene representada matemáticamente a través de una función cuya variable
independiente es de tipo discreto (sólo toma valores enteros). De esta manera, podemos decir
que una señal discreta es una secuencia de números. Si estos números o amplitudes son también
de tipo discreto, estaremos hablando de señales digitales. Las señales discretas pueden obtener-
se bien, a partir de un muestreo de una señal continua o bien, a partir de un procesado discreto.
En los siguientes apartados se presentan los conceptos fundamentales de las señales discretas.
17
2.3. PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS
Sin embargo, los elementos numéricos empleados por Matlab son de tipo matricial M × N
donde M y N son valores enteros finitos. Por tanto, un vector, x, de tipo columna N × 1, o
de tipo fila 1 × N nos sevirá para representar un intervalo de longitud finita N de la secuencia
que deseamos generar.
1, n = 0
δ[n] = (2.1)
6 0
0, n =
0 n
Figura 2.1: Secuencia impulso unitario
donde los x[k] se consideran simplemente como constantes de amplitud. Este aspecto es de
interés al considerar sistemas lineales discretos.
Si deseamos visualizar mediante Matlab un intervalo de la secuencia impulso unitario entre los
instantes 0 ≤ n ≤ 39, la secuencia de comandos que introduciremos será:
>> d = zeros(40,1);
>> d(1) = 1;
>> stem(d)
18
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS 2.3.
Observe, que de esta manera, el valor de amplitud unitario en lugar de situarse en el instante
0 se sitúa en el instante 1. Para etiquetar correctamente el eje horizontal, deberá crearse un
vector que contenga el intervalo de tiempos:
>> n = 0:39;
>> d = zeros(40,1);
>> d(1) = 1;
>> stem(n,d)
Ejercicio 2 Genere (usando la función zeros() y el operador “:”) y visualice el tren pe-
riódico de impulsos:
X∞
p[n] = δ[n − k5] 0 ≤ n ≤ 39
k=−∞
u[n]
1
ooo
0 n
Las relaciones más interesantes entre la secuencia impulso y la secuencia escalón vienen dadas
a través de:
n
X ∞
X
u[n] = δ[k] = δ[n − k] (2.4)
k=−∞ k=0
19
2.3. PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS
Si deseamos visualizar mediante Matlab un intervalo de la secuencia escalón unitario entre los
instantes −50 ≤ n ≤ 49, una posible secuencia de comandos serı́a:
>> n = -50:49;
>> x = zeros(100,1);
>> x(51:100) = ones(50,1);
>> clearplot 1
>> stem(n,x)
>> title(’u(n)’), xlabel(’n’), (replot)
Observe que la indexación en Matlab comienza siempre en 1. Ası́, el elemento x(51) se corres-
ponde con el valor u[0] de nuestra secuencia escalón analı́tica, mientras que el elemento x(1) se
corresponde con el valor u[−50].
1. Definir la variable de tiempo ’n’ según los lı́mites temporales impuestos para la secuencia
truncada, ası́ como un par de variables que indiquen el inicio y fin del eje de tiempos
truncado, es decir: ’ni’=n(1) y ’nf’=n(length(n)).
2. Rellenar la secuencia que se va a definir, ’s[n]’, con ceros mediante el comando s=zeros(n).
3. Colocar los valores de la secuencia deseada en las posiciones del eje adecuadas, para lo
cual tendremos en cuenta los lı́mites temporales donde la secuencia deseada está definida,
’li’ y ’lf’:
>> si=max(li-ni+1,1);
>> sf=min(length(n),lf-ni+1);
>> s(si:sf)=secuencia deseada;
Con esta regla general se tiene en cuenta los posibles truncamientos de señales tanto por la
izquierda como por la derecha.
1
La función clearplot sólo es necesaria en Octave y libera los tı́tulos introducidos previamente.
20
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS 2.3.
La exponencial será decreciente en amplitud a lo largo del tiempo siempre que |α| < 1, mientras
que será creciente cuando |α| > 1. Para el caso en que α = 1 tenemos una secuencia constante
∀n.
alfa < 1 alfa > 1
8 8
6 6
4 4
2 2
0 0
−20 −10 0 10 20 −20 −10 0 10 20
n n
−1 < alfa < 0 alfa < −1
10 10
5 5
0 0
−5 −5
−10 −10
−20 −10 0 10 20 −20 −10 0 10 20
n n
>> n = -9:40;
>> e = 2 ∗ (−0.9) .∗ ∗ n;
>> stem(n,e)
>> title(’e(n)’), xlabel(’n’), (replot)
Observe el uso del operador “ .” para efectuar la elevación del valor −0.9 a cada uno de los
elementos del vector n que contiene el ı́ndice de tiempos.
Cuestión 1 a) Siendo α una constante compleja sin ninguna restricción, evalúe la ex-
presión:
N
X −1
αn
n=0
21
2.3. PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS
P∞ n
b1) Evalúe: n=0 α
P∞ n
b2) Evalúe: n=k α
Obtenga la suma de los elementos de la exponencial con α = 0.95 empleando los resultados
de la Cuestión 2.1. Compruebe el anterior resultado con el que se obtiene empleando la función
sum.
ωo N = 2πk (2.8)
siendo k una constante entera. Sólo en el caso en que la frecuencia ωo cumpla la anterior
condición, nos encontraremos ante una secuencia sinusoidal periódica, de perı́odo N .
Nótese que una secuencia sinusoidal discreta puede proceder del muestreo de una señal
continua. Dependiendo de cómo se efectúe este muestreo, los valores de las muestras
seleccionadas en un perı́odo podrán coincidir (secuencia periódica) o no (secuencia no
periódica) con los valores elegidos en el resto de los perı́odos de la sinusoide continua.
• El conjunto de valores (ωo +2πr), con r constante entera, generan todos la misma secuencia
sinusoidal:
Por tanto, a la hora de realizar un análisis frecuencial de la secuencia x[n] = Acos(ωo n+φ),
sólo necesitamos considerar el intervalo de frecuencias −π < ωo ≤ π.
22
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS 2.3.
Sinusoide periodica
1
0.5
−0.5
−1
−20 −15 −10 −5 0 5 10 15 20
n
Sinusoide aperiodica
1
0.5
−0.5
−1
−20 −15 −10 −5 0 5 10 15 20
n
Ejercicio 6 Empleando el editor xedit, programe una función para Matlab, gensin.m que
genere sinusoides reales. La cabecera de la función será:
23
2.3. PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS
] Entradas:
] A : amplitud
] wo: frecuencia en radianes
] fi: fase en radianes
] no: ı́ndice temporal de comienzo de la secuencia
] n1: ı́ndice temporal de finalización de la secuencia
] Salidas:
] s : la secuencia sinusoidal
] n : vector con los ı́ndices temporales
Coseno amortiguado
8
−2
−4
−20 −15 −10 −5 0 5 10 15 20
n
Coseno creciente
8
−2
−4
−20 −15 −10 −5 0 5 10 15 20
n
Según la expresión anterior, para visualizar una exponencial compleja, x, tendremos la opción
de visualizar su parte real e imaginaria:
24
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS 2.4.
(En Octave para recuperar el modo de dibujo de una gráfica por ventana deberá teclear el
comando oneplot.)
Ejercicio 7 Empleando el editor xedit, programe una función para Matlab, genexp.m que
genere exponenciales complejas. La cabecera de la función será:
∞
X
s[n] = x[n] + y[n] = (x[k] + y[k])δ[n − k] (2.11)
k=−∞
∞
X
p[n] = x[n]y[n] = (x[k]y[k])δ[n − k] (2.12)
k=−∞
Operando con secuencias truncadas, aparece un problema cuando están definidas en distintos
intervalos de tiempo. Una primera solución consiste en añadir ceros, convenientemente, a las
25
2.4. PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS
Si deseamos sumar las secuencias u1 [n] y u2 [n], generadas en el Ejercicio 3, podemos proceder
de la siguiente manera:
>> n = -10:50;
>> x1 = [u1 ; zeros(20,1)];
>> x2 = [zeros(10,1) ; u2];
>> x3 = x1 + x2;
>> x4 = x1 .* x2;
>> stem(n,x3)
>> title(’Suma’), xlabel(’n’), (replot)
>> stem(n,x4)
>> title(’Producto’), xlabel(’n’), (replot)
La otra solución, consiste en un nuevo truncamiento de las dos secuencias a operar, de tal
manera que el nuevo intervalo de tiempos sea el común de las dos secuencias.
>> n = 0:30;
>> x5 = u1(11:41);
>> x6 = u2(1:31);
>> x7 = x5 + x6;
>> x8 = x5 .* x6;
>> stem(n,x7)
>> title(’Suma ’), xlabel(’ n ’), replot
>> stem(n,x8)
>> title(’Producto ’), xlabel(’ n ’), replot
26
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS 2.4.
2.4.3 Desplazamiento
Desplazamiento lineal: Dada x[n] y la constante entera no , la secuencia desplazada y[n] =
x[n − no ] será una traslación de no unidades hacia la derecha si no > 0 ó hacia la izquierda
cuando no < 0. Al operar con secuencias truncadas, un desplazamiento origina la pérdida de
un conjunto de valores por un extremo del vector; por el otro extremo, habrá que añadir tantos
ceros como valores hayamos perdido, tal como se muestra en el siguiente ejemplo.
>> n = -9:40;
>> e 10 = zeros(50,1);
>> e 10(11:50) = e(1:40)’;
>> stem(n,e 10)
>> title(’Desplazamiento’), xlabel(’ n ’), (replot)
>> n = -9:40;
>> ec 10 = zeros(50,1);
>> ec 10(1:10) = e(41:50)’;
>> ec 10(11:50) = e(1:40)’;
>> stem(n,ec 10)
>> title(’Despl. circular’), xlabel(’ n ’), (replot)
2.4.4 Reflexión
Partiendo de x[n], la secuencia reflejada será x[−n]. Gráficamente, la reflexión consiste en
realizar un abatimiento de la señal respecto al eje de ordenadas. En Octave o MATLAB el
operador “ 2 puntos” ayuda a reflejar un vector. Además, deberá tenerse en cuenta el cambio
del vector de ı́ndices temporales.
Continuando con la secuencia exponencial del Ejercicio 8, el proceso para reflejarla será:
>> n = -40:9;
>> er = e(length(e):-1:1);
>> stem(n,er)
>> title(’Reflexión’), xlabel(’ n ’), (replot)
27
2.5. PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS
] Entradas:
] x : vector de entrada
] n : vector de ı́ndices temporales de la entrada
] m : valor entero del desplazamiento
] Salidas:
] y : vector desplazado linealmente
] ny : vector de ı́ndices temporales de la salida
En las funciones de desplazamiento, tenga en cuenta que el valor m puede ser mayor que la
longitud de la secuencia de entrada.
Ejercicio 11 Para comprobar las funciones que acaba de programar, considere la secuencia:
x[n] = 0.99n 0 ≤ n ≤ 39
a) Efectúe un desplazamiento lineal de 10 unidades a la derecha de dicha secuencia.
28
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS 2.6.
x[n]+x[−n]
Parte Par xe [n] = 2
x[n]−x[−n]
Parte Impar xo [n] = 2
• Energı́a: Ex = ∞ 2
P
n=−∞ |x[n]|
a) Variación de xav respecto de α, tomando los siguientes valores de α = 0.7, 0.8, 0.9, 0.95, 0.99, 0.995.
b) Idem que el anterior pero considerando los mismos valores de α con signo negativo.
29
2.7. DUDAS MÁS COMUNES
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS
30
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES
2.8.DISCRETAS
EJERCICIOS RECOMENDADOS
31
2.8. EJERCICIOS RECOMENDADOS
PRÁCTICA 2. FUNDAMENTOS DE LAS SEÑALES DISCRETAS
32
Bibliografı́a
[3] A.V. Oppenheim and R.W. Schafer. Discrete-Time Signal Processing. Prentice-Hall, 1989.
[4] A.V. Oppenheim, A.S. Willsky, and I.T. Young. Signals and Systems. Prentice-Hall, 1983.
33