Hauptinhalt

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um das englische Original zu sehen.

Entfernen Sie hochfrequentes Rauschen in Messdaten

Dieses Beispiel zeigt, wie man einen Tiefpassfilter entwirft und ihn verwendet, um hochfrequentes Rauschen in Messdaten zu entfernen. Hochfrequentes Rauschen entsteht dadurch, dass sich die Komponenten eines Signals schneller verändern als das eigentliche Signal. Durch das Entfernen von hochfrequentem Rauschen kann das Signal von Interesse kompakter dargestellt und eine genauere Analyse durchgeführt werden. Ein Tiefpassfilter ist eine gängige Technik zum Entfernen von hochfrequentem Rauschen in einem Signal.

Daten lesen

Der ThingSpeak™-Kanal 12397 enthält Daten der MathWorks®-Wetterstation in Natick, Massachusetts. Die Daten werden einmal pro Minute gesammelt und an ThingSpeak gesendet. Feld 3 des Kanals enthält Daten zur relativen Luftfeuchtigkeit. Lesen Sie die Daten mit der Funktion thingSpeakRead.

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

Design Filter

Ein Filter ist ein Prozess, der unerwünschte Komponenten aus einem Signal entfernt. Ein Tiefpassfilter ist so konzipiert, dass er niederfrequente Komponenten durchlässt und höherfrequente Komponenten in einem Signal blockiert. DSP System Toolbox ™ bietet mehrere Techniken zum Definieren eines Tiefpassfilters. In diesem Beispiel wird ein FIR-Filter (Finite Impulse Response) dritter Ordnung entworfen. Die Abtastfrequenz beträgt alle 60 Sekunden (Fs=1/60), da die Daten im Kanal 12397 einmal pro Minute hochgeladen werden. Der Tiefpassfilter hält niederfrequente Komponenten zurück und dämpft hochfrequente Komponenten mit einer Zeitspanne von weniger als 24 Stunden.

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);

Verarbeiten und Senden der Daten an ThingSpeak

Verarbeiten Sie die Daten zur relativen Luftfeuchtigkeit mit dem Tiefpassfilter und senden Sie die gefilterten Luftfeuchtigkeitsdaten mit der Funktion thingSpeakWrite an einen ThingSpeak-Kanal.

Output = step(LPF, humidity);

Mit der MATLAB Analysis-App können Sie die Daten in einen Kanal schreiben. Wenn Sie die App „MATLAB Visualizations“ verwenden, können Sie auch ein Diagramm der Daten hinzufügen. Ändern Sie channelID und writeAPIKey, um Daten an Ihren Kanal zu senden.

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

Die Darstellung zeigt eine drastische Reduzierung des Hochfrequenzrauschens.

Siehe auch

Funktionen

Themen