Main Content

Esta página se ha traducido mediante traducción automática. Haga clic aquí para ver la versión original en inglés.

Eliminar el ruido de alta frecuencia en los datos medidos

Este ejemplo muestra cómo diseñar un filtro de paso bajo y usarlo para eliminar el ruido de alta frecuencia en los datos medidos. El ruido de alta frecuencia se debe a que los componentes de una señal varían más rápidamente que la señal de interés. La eliminación del ruido de alta frecuencia permite que la señal de interés se represente de manera más compacta y permite un análisis más preciso. Un filtro de paso bajo es una técnica común para eliminar el ruido de alta frecuencia en una señal.

Leer datos

El canal ThingSpeak™ 12397 contiene datos de la estación meteorológica MathWorks®, ubicada en Natick, Massachusetts. Los datos se recopilan y publican en ThingSpeak una vez por minuto. El campo 3 del canal contiene datos de humedad relativa. Leer los datos usando el thingSpeakRead función.

[humidity,time] = thingSpeakRead(12397,'NumPoints',8000,'Fields',3);

Filtro de diseño

Un filtro es un proceso que elimina componentes no deseados de una señal. Un filtro de paso bajo está diseñado para dejar pasar los componentes de frecuencia más baja y bloquear los componentes de frecuencia más alta en una señal. DSP System Toolbox™ proporciona múltiples técnicas para definir un filtro de paso bajo. Este ejemplo diseña un filtro de respuesta de impulso finito (FIR) de tercer orden. La frecuencia de muestreo es una vez cada 60 segundos (Fs=1/60), ya que los datos en el canal 12397 se cargan una vez por minuto. El filtro de paso bajo mantiene los componentes de baja frecuencia y atenúa los componentes de alta frecuencia con un período de menos de 24 horas.

filtertype = 'FIR';
Fs = 1/60;
N = 3;
Fpass = 1/(24*60*60);
Fstop = 1/(2*60*60);
Rp = 0.5;
Astop = 50;

LPF = dsp.LowpassFilter('SampleRate',Fs,...
                        'FilterType',filtertype,...
                        'PassbandFrequency',Fpass,...
                        'StopbandFrequency',Fstop,...
                        'PassbandRipple',Rp,...
                        'StopbandAttenuation',Astop);

Procesar y enviar los datos a ThingSpeak

Procese los datos de humedad relativa con el filtro de paso bajo y envíe los datos de humedad filtrados a un canal de ThingSpeak con el thingSpeakWrite función.

Output = step(LPF, humidity);

Con la aplicación MATLAB Analysis, puede escribir los datos en un canal. Si utiliza la aplicación MATLAB Visualizations, también puede agregar un gráfico de los datos. Cambiar el channelID y el writeAPIKey para enviar datos a tu canal.

channelID = 17504;
writeAPIKey='23ZLGOBBU9TWHG2H';
thingSpeakWrite(channelID,Output,'Timestamps',time,'WriteKey',writeAPIKey);
plot(time,humidity,time,Output);
ylabel('Relative Humidity');
legend('Raw Data', 'Filtered Data');

La gráfica demuestra una reducción dramática en el ruido de alta frecuencia.

Consulte también

Funciones

Temas relacionados