Prac 2 CD 2024

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

LABORATORIO DE COMUNICACIONES DIGITALES


PRÁCTICA N°2

1. TEMA
ANÁLISIS ESPECTRAL EN MATLAB u OCTAVE

2. OBJETIVOS
2.1. Aplicar los conceptos relacionados a la teoría de análisis de señal en el
dominio del tiempo y la frecuencia.
2.2. Utilizar MATLAB u OCTAVE para analizar señales en el dominio del
tiempo y la frecuencia.
3. MARCO TEÓRICO
Señales Periódicas y No Periódicas:
Las señales se pueden clasificar según sean de energía o de potencia. Señal de Energía: Una señal se
dice que es de energía si su E es finita, lo que implica que su potencia es cero; una señal no
periódica es una señal de energía, ya que su energía es finita y diferente de cero.
Señal de Potencia: Una señal se dice que es de potencia si su potencia es finita, lo que implica que
su energía es infinita; una señal periódica es una señal de potencia ya que su potencia es finita y
diferente de cero.

Espectro de una señal:


El espectro de una señal está relacionado con todo el conjunto de frecuencias que la constituyen y
se muestra usando un gráfico en el dominio de la frecuencia [1].

Densidad Espectral de Potencia:


Se define para señales de potencia y determina la contribución en potencia de las diferentes
componentes de frecuencia constitutivas de la señal. Es de utilidad en la descripción de cómo el
contenido de potencia de señales y ruido es afectada por filtros y otros dispositivos en un sistema
de comunicaciones.

Para una señal periódica, w(t), la densidad espectral de potencia espectral de potencia (t) está dada
por:

Dónde: Fn representa a los coeficientes de Fourier, fo es la frecuencia de la señal, y ( . ) es la


función delta de Dirac [1].
El espectro de Fourier constituye el gráfico de los Fn en función f, de manera que para una señal
periódica el espectro solo existe en valores discretos de f

Página 1|4
Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

Filtros

Son sistemas caracterizados por una entrada y una salida de forma que en la salida sólo aparecen
parte de las componentes de frecuencia de la señal de entrada. De acuerdo a su respuesta en
frecuencia se clasifican en:
 Filtro Pasa bajo: Un filtro paso bajo corresponde a un filtro caracterizado por permitir el paso
de las frecuencias más bajas y atenuar las frecuencias más altas.
 Filtro Pasa banda: Es un tipo de filtro que deja pasar un determinado rango de
frecuencias de una señal y atenúa el paso del resto.
 Filtro Pasa alto: Es un tipo de filtro en cuya respuesta en frecuencia se atenúan las
componentes de baja frecuencia, pero no las de alta frecuencia.

4. TRABAJO PREPARATORIO
4.1. Leer y entender el marco teórico expuesto en las hojas guías.
4.2. Consultar sobre las funciones de MatLab para procesamiento de señales: filter,
designfilt, fvtool, filtfilt, freqz, randn.
filter: Esta función se utiliza para filtrar una secuencia de datos mediante un
filtro digital. Toma como entrada los coeficientes del filtro y la secuencia de
datos que se va a filtrar.
designfilt: Se utiliza para diseñar filtros digitales. Puede diseñar varios tipos de
filtros (pasa bajo, pasa alto, pasa banda, etc.) utilizando diferentes métodos de
diseño (FIR, IIR, etc.).
fvtool: Esta función es una herramienta gráfica para visualizar y analizar filtros
digitales. Puedes utilizarla para ver la respuesta en frecuencia, la respuesta al
impulso, y otras características de los filtros diseñados.
filtfilt: Esta función realiza un filtrado de señales en ambas direcciones (adelante
y atrás) para eliminar la distorsión causada por el retraso de fase. Es útil cuando
se desea aplicar un filtro sin introducir un retraso de fase significativo.
freqz: Se utiliza para calcular y visualizar la respuesta en frecuencia de un filtro
digital. Puedes utilizar esta función para examinar la magnitud y la fase de la
respuesta en frecuencia del filtro.
randn: Esta función genera muestras aleatorias a partir de una distribución
normal estándar (media cero, desviación estándar uno). Es útil para generar
señales de ruido blanco gaussiano, que son comunes en el procesamiento de
señales.
4.3. Consultar sobre la sintaxis de lazos de repetición (for, while) y de condición (if,
switch) usados en MatLab (equivalente en OCTAVE).
for: esta función se encarga de ejecutar un grupo de declaraciones en un ciclo por un
número específico de veces.
while: esta función se encarga de evaluar una expresión y repite la ejecución de un
grupo de declaraciones en un bucle mientras la expresión es verdadera.
if: esta función se encarga de evaluar una expresión y ejecuta un grupo de
declaraciones cuando la expresión es verdadera.
switch: esta función se encarga de evaluar una expresión y elige ejecutar uno de
varios grupos de declaraciones.
4.4. Consultar y detallar el funcionamiento de los comandos que permitan obtener el
espectro de frecuencia de una señal.
Página2|4
Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

p = pspectrum(x) devuelve el espectro de potencia de .x


Si es un vector o un calendario con un vector de datos, entonces se trata como un
solo canal.x
Si es una matriz, un calendario con una variable de matriz o un calendario con
varias variables vectoriales, el espectro se calcula de forma independiente para cada
canal y se almacena en una columna independiente de .xp
p = pspectrum(x,fs) devuelve el espectro de potencia de una señal vectorial o
de matriz muestreada a una velocidad.fs
p = pspectrum(x,t) devuelve el espectro de potencia de una señal vectorial o
de matriz muestreada en los instantes de tiempo especificados en .t
p = pspectrum(___,type) especifica el tipo de análisis espectral realizado por
la función. Especifique como , , o .type'power''spectrogram''persistence' Esta
sintaxis puede incluir cualquier combinación de argumentos de entrada de
sintaxis anteriores.
p = pspectrum(___,Name,Value) especifica opciones adicionales mediante
argumentos de par nombre-valor. Las opciones incluyen el ancho de banda de
resolución de frecuencia y el porcentaje de superposición entre los segmentos
adyacentes.
[p,f] = pspectrum(___) devuelve las frecuencias correspondientes a las
estimaciones espectrales contenidas en .p
[p,f,t] = pspectrum(___,'spectrogram') también devuelve un vector de
instantes de tiempo correspondiente a los centros de los segmentos con
ventanas utilizados para calcular estimaciones de espectro de potencia de corto
plazo.
[p,f,pwr] = pspectrum(___,'persistence') también devuelve un vector de
valores de potencia correspondiente a las estimaciones contenidas en un
espectro de persistencia.
pspectrum(___) sin argumentos de salida traza la estimación espectral en la
ventana de figura actual.
4.5. Graficar en el tiempo el producto de funciones g31 y g32 en los siguientes casos:

Para los valores de frecuencia= 150 KHz, = 15 KHz, Amplitud= 0.5, = 3.

clc % Limpia la ventana de comandos

% Se solicita al usuario que ingrese las frecuencias


f1 = input('ingrese la frecuencia 1:');
f2 = input('ingrese la frecuencia 2:');

% Se generan vectores de tiempo para ambas funciones


t1 = linspace(0, 2/f1, 500);
t2 = linspace(0, 2/f2, 500);

% FUNCION SENO
g = 0.5 * sin(2*pi*f1*t1); % Se define la función seno

% DIENTE DE SIERRA
sierra = 0; % Variable para almacenar el valor de la función diente de sierra

Página 3|4
Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

for n = 1:100 % Se itera para calcular los primeros 100 términos de la serie de
Fourier del diente de sierra
if (mod(n, 2) == 0) % Si n es par
signo = -1;
else
signo = 1;
end
sierra = sierra + signo * (3/n) * sin(2*pi*n*f2*t2); % Se calcula el término n de la
serie y se suma
end

% Se multiplica la función seno y la función diente de sierra


y = sierra .* g;

% Se crea una figura con tres subtramas


subplot(3,1,1)
plot(t1, g); % Se grafica la función seno
title('F1 = Función Seno')
grid on

subplot(3,1,2)
plot(t2, sierra) % Se grafica la función diente de sierra
title('F2 = Función Diente de Sierra')
grid on

subplot(3,1,3)
plot((t1.*t2), y); % Se grafica la multiplicación de las dos funciones
title('Multiplicación de F1 y F2')
grid on

Página 4|4
Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

4.6. Graficar en Matlab u octave la figura 1;

FIGURA 1;

Para los valores de frecuencia = 150 KHz, = 15 KHz, Amplitud = 0.5, = 3.

clc;
close all;
clear all;

% INGRESAMOS EL VALOR DE LA AMPLITUD


A = input('Ingrese la amplitud: ');

% INGRESAMOS EL VALOR DEL PERIODO

Página 5|4
Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

T = input('Ingrese el periodo: ');

% SE CREA EL VECTOR DE TIEMPO


x = 0:0.00001:T;

% INGRESAMOS LA FUNCION A DIBUJAR


f = ((x > 0) & (x < (T / 4))) .* ((((4 * A) / (3 * T)) * x) + ((2 * A) / 3)) ...
+ ((x >= T / 4) & (x <= T / 2)) .* (x * 0) ...
+ ((x >= T / 2) & (x <= (3 * T) / 4)) .* (-(((4 * A) / (3 * T)) * x) + (5 * A / 3)) ...
+ ((x >= 3 * T / 4) & (x <= T)) .* (x * 0);

plot(x, f, 'g', 'linewidth', 2);


grid on;
xlabel('PERIODO T');
ylabel('AMPLITUD A');
title('Gráfica de la función');

Para 150KHz:

Para 15KHz:

Página 6|4
Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

4.7. Elaborar una GUI en Matlab, donde se visualicen dos señales, una señal cuadrada
simétrica y una señal diente de sierra; de modo que la amplitud y la frecuencia sean
ingresadas mediante una barra deslizante. (Nota: Los rangos de amplitud deben ser de
1 a 10, y los de frecuencia de 10 a 10000 Hz).

Página 7|4
Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

5. EQUIPO Y MATERIALES
 Computadora
 Software MatLab
 Software OCTAVE.

6. PROCEDIMIENTO
6.1. Crear los siguientes filtros, mostrar su respuesta de frecuencia: Filtro pasa bajos,
con:
 Frecuencia de corte: 2KHz
 Filtro pasa altos, con frecuencia de corte: 20KHz
 Filtro pasa banda, con frecuencias de corte: 8KHz y 9KHz

6.2. Generar mediante un archivo .m (su equivalente en octave) una señal senoidal de
amplitud A, de frecuencia f; añadirle ruido blanco con una amplitud de B, y hacer
pasar a esta señal por los filtros creados en el punto 6.1. Mostrar la señal antes y
después del filtro, y notar la diferencia entre cada caso. Mostrar la variación del
espectro en fase y la densidad espectral de potencia.
6.3. Implementar la serie de Fourier y graficarla en el dominio del tiempo dentro de un
archivo .m (su equivalente en octave), a partir de la función periódica SENOIDAL,
TRIANGULAR y CUADRADA. Además, mostrar el espectro en fase y la densidad
espectral de potencia.

7. INFORME
7.1. Realizar el cálculo de la serie de Fourier para la función indicada usando propiedades
y graficar dicha serie en el dominio del tiempo, como su espectro de frecuencia,
usando un archivo .m (equivalente en OCTAVE).
y(t) = Una señal de amplitud A, periodo.

FIGURA 2

7.2 Analizando el espectro del tren de pulsos del numeral 7.1, qué sucede si  es fijo y T
variable (creciente)?
7.3 En base al análisis del literal anterior qué sucede si T es fijo y  variable (creciente)?
7.4 Compare la densidad espectral de potencia y el espectro de la señal mostrada en la
figura n° 1, ¿cuál es la diferencia entre las dos?, Explicar.
7.5 A la señal senoidal generada en el 6.2 y la señal de la figura 2, hallar la densidad
espectral de potencia y su espectro de sus señales respectivamente y comparar. Explicar.
7.6 Analice el efecto del filtro sobre la densidad espectral de potencia.
7.7 Conclusiones y Recomendaciones.
7.8 Bibliografía.

Página 8|4
Wilbert Chávez Irazabal COMUNICACIONES DIGITALES

8. REFERENCIAS

[1] A.V. Oppenheim, A.S. Willsky, S. Hamid, “Signals and systems”, 2da ed., Ed.:
Prentice Hall, 1997.
[2] MathWorks, «MathWorks,» 2017. [En línea]. Disponible:
https://www.mathworks.com/help/comm/blocklist.html. [Último acceso: 10
enero 2018].
[3] MATLAB - GNU Octave Tutorial, Disponible:
https://www.tutorialspoint.com/matlab/matlab_gnu_octave.htm

Página 9|4

También podría gustarte