Está en la página 1de 5

Cristian David Castellano Chinchilla, ING Electrónica

Análisis de señales

% Frecuencia de muestreo
fs = 100; % Frecuencia de muestreo en Hz

% señal entrante
duration = 1; % Duración de la señal en segundos
t = linspace(0, duration, duration * fs); % Vector de tiempo
f_signal = 60; % Frecuencia de la señal en Hz
input_signal = cos(2 * pi * f_signal * t); % Señal de entrada

%Se diseñaron filtos FIR & IIR.

% Filtro FIR
order_fir = 10; % Orden del filtro FIR
fc_fir = 5; % Frecuencia de corte del filtro FIR en Hz
taps = fir1(order_fir, fc_fir / (fs / 2)); % Coeficientes del filtro FIR

% Aplicar convolución FIR


filtered_signal_fir = conv(input_signal, taps, 'same');

% Filtro IIR
order_iir = 4; % Orden del filtro IIR
fc_iir = 20; % Frecuencia de corte del filtro IIR en Hz
[b, a] = butter(order_iir, fc_iir / (fs / 2)); % Coeficientes del filtro IIR

% Aplicar filtro IIR


filtered_signal_iir = filter(b, a, input_signal);

% Transformada de Fourier de cada una de las señales


input_signal_fft = fft(input_signal);
filtered_signal_fir_fft = fft(filtered_signal_fir);
filtered_signal_iir_fft = fft(filtered_signal_iir);

% Realizar multiplicación en el dominio de la frecuencia


output_fft = input_signal_fft .* filtered_signal_iir_fft;

% Transformada inversa de Fourier para obtener la señal filtrada en el dominio


del tiempo
output_signal = ifft(output_fft);

% Graficar la señal de entrada, la señal filtrada con FIR y la señal filtrada


con IIR
figure;
subplot(3, 1, 1);
plot(t, input_signal, 'b', 'LineWidth', 1.5);
xlabel('Tiempo (s)');
Cristian David Castellano Chinchilla, ING Electrónica
Análisis de señales
ylabel('Amplitud');
title('Señal de entrada');

subplot(3, 1, 2);
plot(t, filtered_signal_fir, 'r', 'LineWidth', 1.5);
xlabel('Tiempo (s)');
ylabel('Amplitud');
title('Señal filtrada (FIR)');

subplot(3, 1, 3);
plot(t, filtered_signal_iir, 'r', 'LineWidth', 1.5);
xlabel('Tiempo (s)');
ylabel('Amplitud');
title('Señal filtrada (IIR)');

% Graficar la señal filtrada en el dominio del tiempo


figure;
plot(t, real(output_signal), 'r', 'LineWidth', 1.5);
xlabel('Tiempo (s)');
ylabel('Amplitud');
title('Señal filtrada ( Dominio del tiempo )');
Cristian David Castellano Chinchilla, ING Electrónica
Análisis de señales

% Graficar las señales en el dominio de la frecuencia


f = (0:length(input_signal_fft)-1) * (fs/length(input_signal_fft)); % Vector de
frecuencias

figure;
subplot(3, 1, 1);
plot(f, abs(input_signal_fft), 'b', 'LineWidth', 1.5);
xlabel('Frecuencia (Hz)');
ylabel('Amplitud');
title('Espectro de frecuencia - Señal de entrada');

subplot(3, 1, 2);
plot(f, abs(filtered_signal_fir_fft), 'r', 'LineWidth', 1.5);
xlabel('Frecuencia (Hz)');
ylabel('Amplitud');
title('Espectro de frecuencia - Señal filtrada (FIR)');

subplot(3, 1, 3);
plot(f, abs(filtered_signal_iir_fft), 'r', 'LineWidth', 1.5);
xlabel('Frecuencia (Hz)');
ylabel('Amplitud');
title('Espectro de frecuencia - Señal filtrada (IIR)');
Cristian David Castellano Chinchilla, ING Electrónica
Análisis de señales

% Graficar la señal filtrada en el dominio de la frecuencia


figure;
plot(f, abs(output_fft), 'r', 'LineWidth', 1.5);
xlabel('Frecuencia (Hz)');
ylabel('Amplitud');
title('Espectro de frecuencia - Señal filtrada (Multiplicación en
frecuencia)');
Cristian David Castellano Chinchilla, ING Electrónica
Análisis de señales

- PREGUNTAS

1. ¿Qué observa en los resultados?

Los resultados deben seguir la aplicación del filtro a la señal de entrada. Esto significa
transformar la señal original según las características del filtro. Por ejemplo, un filtro de paso
bajo puede suprimir las frecuencias altas de una señal de entrada, mientras que un filtro de
paso alto puede suprimir las frecuencias bajas.

2. ¿Qué diferencia ve entre lo realizado en el dominio del tiempo y lo que hizo en el


dominio de la frecuencia?

La principal diferencia entre el dominio del tiempo y el dominio de la frecuencia es la forma


en que se implementa la función de convolución. En el dominio del tiempo, la convolución se
realiza multiplicando la señal de entrada y los valores del filtro por un punto y luego
sumándolos. En el dominio de la frecuencia, la multiplicación directa de la señal de entrada y
las representaciones del filtro se realizan en el dominio de la frecuencia. Esta multiplicación es
computacionalmente más eficiente que la convolución en el dominio del tiempo.

3. ¿Cuál es su percepción con los otros filtros que ha implementado a nivel análogo?

Mi entendimiento de otros filtros implementados a nivel analógico es que generalmente tienen


la ventaja de una respuesta en tiempo real y una latencia más baja, lo que los hace adecuados
para aplicaciones donde se requiere procesamiento en tiempo real. Además, los filtros
analógicos pueden ser más precisos cuando se reproduce una señal continua porque no sufren
los errores de cuantificación asociados con los filtros digitales. Sin embargo, los filtros
analógicos también pueden ser más costosos de implementar y configurar, y pueden causar
problemas como el ruido y la degradación de la señal con el tiempo. En general, la elección de
filtros analógicos y digitales depende de los requisitos específicos de la aplicación y las
limitaciones del sistema.

También podría gustarte