Main Content

Diese Seite wurde mithilfe maschineller Übersetzung übersetzt. Klicken Sie hier, um die neueste Version auf Englisch zu sehen.

Entfernen Sie hochfrequentes Rauschen in Messdaten

Dieses Beispiel zeigt, wie ein Tiefpassfilter entworfen und damit hochfrequentes Rauschen in Messdaten entfernt wird. Hochfrequentes Rauschen entsteht durch Komponenten eines Signals, die schneller variieren als das interessierende Signal. Durch die Entfernung von hochfrequentem Rauschen kann das interessierende Signal kompakter dargestellt und eine genauere Analyse ermöglicht 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 von der MathWorks® Wetterstation in Natick, Massachusetts. Die Daten werden einmal pro Minute erfasst 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);

Designfilter

Ein Filter ist ein Prozess, der unerwünschte Komponenten aus einem Signal entfernt. Ein Tiefpassfilter soll niederfrequente Komponenten durchlassen und höherfrequente Komponenten in einem Signal blockieren. 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 einmal alle 60 Sekunden (Fs=1/60), da die Daten in Kanal 12397 einmal pro Minute hochgeladen werden. Der Tiefpassfilter hält niederfrequente Anteile zurück und dämpft hochfrequente Anteile mit einem Zeitraum 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 Sie die Daten an ThingSpeak

Verarbeiten Sie die relativen Luftfeuchtigkeitsdaten mithilfe des Tiefpassfilters und senden Sie die gefilterten Luftfeuchtigkeitsdaten mithilfe 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 MATLAB Visualizations-App 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');

Das Diagramm zeigt eine dramatische Reduzierung des hochfrequenten Rauschens.

Siehe auch

Funktionen

Verwandte Themen