Está en la página 1de 13

PROCESAMIENTO DIGITAL DE SEÑALES

Introducción
Docente Johan Leandro Téllez Garzón
jtellez@correo.uts.edu.co
Programa de Ingeniería en Telecomunicaciones

2020
Señales y sistemas de tiempo discreto
• En matlab, una correcta representación de una señal discreta debe
requerir dos vectores uno para el tiempo n y otro para la señal x.
>> n=[-3,-2,-1,0,1,2,3,4]; x=[2,1,-1,0,1,4,3,7];

TIPOS DE SECUENCIAS DISCRETAS


• Vamos a definir y representar en Matlab secuencias discretas usadas
en DSP
Impulso unitario discreto

• En matlab se puede implementa otra forma usando una versión con


corrimiento en tiempo del la función delta.

Para el rango n1 ≤n0 ≤n2

Programa de Telecomunicaciones
2
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto

Escalón unitario discreto

• Con las funciones ones() y zeros() de matlab se puede generar esta


señal. Para implementar se puede usar la versión con corrimiento de
tiempo:

Programa de Telecomunicaciones
3
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto
Secuencia exponencial discreta

• Por ejemplo, para generar x(n) = (0.9)n,


0 ≤ n ≤ 10, necesitaremos el siguiente
código

Secuencia exponencial de valores


complejos

• Donde 𝜎 produce atenuación si es


menor a cero y amplificación si es
mayor a cero. El parámetro 𝜔0 es la
frecuencia en radianes
>> n = [0:10]; x = exp((2+3j)*n);
Programa de Telecomunicaciones
4
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto
Secuencia senoidal

• Donde A es la amplitud y 𝜃0 es la fase en


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

Programa de Telecomunicaciones
5
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto
Secuencia Aleatoria
• Algunas secuencias practicas no pueden ser descritas por expresiones
matemáticas y son llamadas aleatorias.
• Son caracterizadas por parámetros asociados a la función densidad de
probabilidad. En matlab estas funciones pueden ser generadas,
ejemplo:

>> rand(1,N); %números aleatórios >> randn(1,N); %genera una secuencia


entre 0 y 1 gaussiana con media 0 y variaza 1

Programa de Telecomunicaciones
6
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto

Secuencia Periódica
• Una secuencia discreta es periódica si: 𝑥(𝑛) = 𝑥(𝑛 + 𝑁),
• El entero N mas pequeño que satisface la relación se llama periodo
fundamental
• En matlab se pueden generar P periodos de una señal x(n) usando:

>> xtilde = [x,x,...,x];

• Otra forma es mediante columnas pero usando el operador transpuesta


(’) para proporcionar el efecto de tener un vector:

>> xtilde = x’ * ones(1,P); % P columns of x; x is a row vector


>> xtilde = xtilde(:); % long column vector
>> xtilde = xtilde’; % long row vector

Programa de Telecomunicaciones
7
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto
OPERADORES
Adición de señales
• Se hace muestra por muestra de las secuencias que se suman y estas
deben tener la misma longitud
• Ejemplo:

function [y,n] = sigadd(x1,n1,x2,n2)


% implements y(n) = x1(n)+x2(n)
% -----------------------------
% [y,n] = sigadd(x1,n1,x2,n2)
% y = sum sequence over n, which includes n1 and n2
% x1 = first sequence over n1
% x2 = second sequence over n2 (n2 can be different from n1)
%
n = min(min(n1),min(n2)):max(max(n1),max(n2)); % duration of y(n)
y1 = zeros(1,length(n)); y2 = y1; % initialization
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % x1 with duration of y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % x2 with duration of y
y = y1+y2; % sequence addition
Programa de Telecomunicaciones
8
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto
Multiplicación de secuencias
• Multiplico uno a uno las muestras de ambas secuencias

• En Matlab, esto se implementa con el operador (.*), ejemplo:


function [y,n] = sigmult(x1,n1,x2,n2)
% implements y(n) = x1(n)*x2(n)
% -----------------------------
% [y,n] = sigmult(x1,n1,x2,n2)
% y = product sequence over n, which includes n1 and n2
% x1 = first sequence over n1
% x2 = second sequence over n2 (n2 can be different from n1)
n = min(min(n1),min(n2)):max(max(n1),max(n2)); % duration of y(n)
y1 = zeros(1,length(n)); y2 = y1; %
y1(find((n>=min(n1))&(n<=max(n1))==1))=x1; % x1 with duration of y
y2(find((n>=min(n2))&(n<=max(n2))==1))=x2; % x2 with duration of y
y = y1 .* y2; % sequence multiplication

Programa de Telecomunicaciones
9
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto
Escalado
• En esta operación cada muestra de la secuencia x(n) es multiplicada
por un escalar 𝛼. En matlab, usamos el operador (*)

Corrimiento en tiempo
• Cada muestra de x(n) es corrida en tiempo una cantidad k para obtener
una segunda secuencia y(n)

• Si m = n−k, entonces n=m+k y la otra forma es hacer un corrimiento:

function [y,n] = sigshift(x,m,k)


% implements y(n) = x(n-k)
% -------------------------
% [y,n] = sigshift(x,m,k)
n = m+k; y = x;
Programa de Telecomunicaciones
10
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto
Reflexión
• En esta operación la señal discreta x(n) es reflejada alrededor de una
línea imaginaria localizada en n=0, obteniendo asi y(n):
function [y,n] = sigfold(x,n)
% implements y(n) = x(-n)
% -----------------------
• En matlab usamos la función fliplr(x) y -fliplr(n) % [y,n] = sigfold(x,n)
%
y = fliplr(x); n = -fliplr(n);

Suma de muestras

>> sum(x(n1:n2))

Producto de muestras

>> prod(x(n1:n2))
Programa de Telecomunicaciones
11
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto

Energía de la señal
Donde el operador * denota
el complejo conjugado

>> Ex = sum(x .* conj (x)); % alternativa 1


>> Ex = sum(abs(x) .^ 2); % alternativa 2

Potencia de la señal
• La potencia de una señal periódica x(n) con periodo N es:

Programa de Telecomunicaciones
12
Johan Leandro Téllez Garzón
Señales y sistemas de tiempo discreto
OTRAS RELACIONES IMPORTANTES

Muestreo con impulso unitario


• Una secuencia x(n) cualquiera puede ser sintetizada usando la suma
escalada y retardada de secuencias de impulsos unitarios:

Simetría par o impar


• Una secuencia de valores reales xe(n) es llamada par (simétrica) si:

• Y es llamada impar o asimétrica si

• Cualquier secuencia x(n) puede expresarse


en términos de:
Programa de Telecomunicaciones
13
Johan Leandro Téllez Garzón

También podría gustarte