Está en la página 1de 8

UNIVERSIDAD NACIONAL JOSÉ FAUSTINO

SANCHEZ CARRION

FACULTAD DE INGENIERIA INDUSTRIAL,


SISTEMAS E INFORMÁTICA

ESCUELA DE INGENIERÍA ELECTRÓNICA

CURSO DE SEÑALES Y SISTEMAS, SyS 2022-II


EVALUACIÓN MÓDULO III
(15-03-2023)

1. (4 puntos) a-1) Si se tiene 6 señales analógicas senoidales cuyas


amplitudes y frecuencias son las siguientes: a1=2 y f1=30 Hz, a2=5 y
f2=40 Hz, a3=7 y f3=50 Hz, a4=9 y f4=60 Hz, a5=11 y f5=60 Hz, a6=15 y
f6=60 Hz. Determine la frecuencia de muestreo que considere
conveniente. Grafique la señal muestreada Amplitud VsTiempo y Amplitud
Vs Secuencia. Grafique y comente resultados.

% Señales originales
a = [2 5 7 9 11 15];
f = [30 40 50 60 60 60];

% Frecuencia de muestreo
fs = 300;

% Duración de la señal muestreada


T = 1/fs;

% Vector de tiempo
t = 0:T:1-T;

% Señal muestreada
s = zeros(1,length(t));
for i=1:length(a)
s = s + a(i)*sin(2*pi*f(i)*t);
end

% Gráficas
figure
subplot(2,1,1)
plot(t,s)
title('Señal muestreada en el dominio del tiempo')
xlabel('Tiempo (s)')
ylabel('Amplitud')

subplot(2,1,2)
stem(s)
title('Señal muestreada en el dominio de la secuencia')
xlabel('Número de muestra')
ylabel('Amplitud')
b) Si dispone de una señal senoidal de amplitud 10 y una frecuencia de
200 Hz y una frecuencia de muestreo de 4000 Hz.

Fs = 4000; % Frecuencia de muestreo


f = 200; % Frecuencia de la señal senoidal
t = 0:1/Fs:1; % Vector de tiempo de 1 segundo
x = 10*sin(2*pi*f*t); % Señal senoidal de amplitud 10 y frecuencia 200 Hz

Fs_new = 8000; % Nueva frecuencia de muestreo


t_new = 0:1/Fs_new:1; % Vector de tiempo de 1 segundo con la nueva frecuencia
de muestreo
x_new = resample(x, Fs_new, Fs); % Señal muestreada a la nueva frecuencia de
muestreo

Esto generará una figura con dos gráficas, una para la señal original y otra
para la nueva señal muestreada a 8000 Hz.
b-1) (4 puntos) De la anterior señal (amplitud 10 y una frecuencia de 200
Hz) se desea obtener una nueva frecuencia de muestreo de 1000 Hz.
Dibuje el diagrama de bloque de este nuevo sistema de compresión con
sus respectivos valores. Grafique y comente resultados.

Fs = 4000; % Frecuencia de muestreo original


f = 200; % Frecuencia de la señal senoidal
t = 0:1/Fs:1; % Vector de tiempo de 1 segundo
x = 10*sin(2*pi*f*t); % Señal senoidal de amplitud 10 y frecuencia 200 Hz

% Filtro antialiasing
lpf_order = 20; % Orden del filtro pasa-bajos
lpf_cutoff = 0.4*Fs/2; % Frecuencia de corte del filtro en Hz
lpf_coeffs = fir1(lpf_order, lpf_cutoff/(Fs/2)); % Coeficientes del filtro
FIR

% Decimación
dec_factor = 4; % Factor de decimación
y = decimate(filter(lpf_coeffs, 1, x), dec_factor); % Señal decimada
b-2) (4 puntos) De la señal original (amplitud 10 y una frecuencia de 200
Hz) se desea obtener una nueva frecuencia de muestreo de 8000 Hz.
Dibuje el diagrama de bloques de este nuevo sistema de expansión con
sus respectivos valores. Grafique y comente resultados.

% Definimos la señal original


fs = 200; % Frecuencia de muestreo original
t = 0:1/fs:1-1/fs;
x = 10*sin(2*pi*50*t);

% Definimos la nueva frecuencia de muestreo


fs_new = 8000;

% Interpolamos la señal por un factor de 4


x_int = interp(x, 4);

% Graficamos la señal original


figure;
subplot(2,1,1);
plot(t,x);
xlabel('Tiempo (s)');
ylabel('Amplitud');
title('Señal original');

% Graficamos la señal muestreada a la nueva frecuencia de muestreo


t_new = 0:1/fs_new:1-1/fs_new;
subplot(2,1,2);
plot(t_new, y_new);
xlabel('Tiempo (s)');
ylabel('Amplitud');
title('Señal muestreada a 8000 Hz');

El resultado debería ser una gráfica de la señal original y la señal muestreada a la nueva
frecuencia de muestreo. Podemos observar que la señal muestreada a 8000 Hz tiene la
misma forma que la señal original, pero con una resolución temporal cuatro veces mayor
b-3) (4 puntos) De la señal original (amplitud 10 y una frecuencia de 300
Hz) se desea obtener una nueva frecuencia de muestreo de 6000 Hz.
Dibuje el diagrama de bloques de este nuevo sistema con sus respectivos
valores. Comente resultados.

% Definir señal original


frecuencia = 300; % Hz
amplitud = 10;
tiempo = 0:1/6000:1-1/6000;
senal_original = amplitud*sin(2*pi*frecuencia*tiempo);

% Interpolación
factor_interp = 20;
senal_interp = resample(senal_original, factor_interp, 1);

% Decimación
factor_decim = 5;
senal_final = downsample(senal_interp, factor_decim);

% Graficar señales
figure
subplot(3,1,1)
plot(tiempo, senal_original)
title('Señal original')
xlabel('Tiempo (s)')
ylabel('Amplitud')

tiempo_interp = 0:1/(factor_interp*6000):1-1/(factor_interp*6000);
subplot(3,1,2)
plot(tiempo_interp, senal_interp)
title('Señal interpolada')
xlabel('Tiempo (s)')
ylabel('Amplitud')

tiempo_final = 0:1/(factor_interp*factor_decim*6000):1-
1/(factor_interp*factor_decim*6000);
subplot(3,1,3)
plot(tiempo_final, senal_final)
title('Señal digitalizada')
xlabel('Tiempo (s)')
ylabel('Amplitud')
Podemos observar que la señal interpolada tiene una frecuencia de 6000
Hz y que la señal digitalizada tiene la frecuencia de muestreo deseada de
6000 Hz. La señal digitalizada sigue la forma de onda de la señal original,
aunque es importante mencionar que la frecuencia de muestreo debe ser
elegida cuidadosamente para evitar el efecto de aliasing en la señal
digitalizada.

c) (4 puntos) Defina e ilustre el error de cuantización de una señal senoidal


de una amplitud +- 1 y una frecuencia de 90 Hz cuya frecuencia de
muestreo es de 1000 Hz. El número de bits empleado para definir el Rango
dinámico es de 8 bits (Consta de 256 niveles para discretizar la señal
senoidal). Grafique y comente resultados.

En este caso, tenemos una señal senoidal de amplitud +-1 y frecuencia de


90 Hz, muestreada a una frecuencia de 1000 Hz. El rango dinámico es de
8 bits, lo que significa que hay 256 niveles posibles para cuantificar la
señal.

% Definir señal original


frecuencia = 90; % Hz
amplitud = 1;
tiempo = 0:1/1000:1-1/1000;
senal_original = amplitud*sin(2*pi*frecuencia*tiempo);

% Definir señal cuantificada


rango_dinamico = 2; % amplitud de +-1
niveles = 2^8; % 8 bits
paso = rango_dinamico/niveles;
senal_cuantificada = round(senal_original/paso)*paso;

% Graficar señales
figure
plot(tiempo, senal_original, 'b')
hold on
plot(tiempo, senal_cuantificada, 'r')
legend('Señal original', 'Señal cuantificada')
xlabel('Tiempo (s)')
ylabel('Amplitud')
NOTA
Los programas de MatLab que desarrolle, describa, especifique la función de
cada línea.

Jorge Alberto Del Carpio Salinas, Dr. Ing.


Prof. Señales y Sistemas, SyS, 2022-II
Mail: jdelcarpios@unjfsc.edu.pe

También podría gustarte