R-Paket "infrasonic2"

Installation und Update

Zur Installation führen die die folgenden Befehle aus:

install.packages(c("oce","signal","serial"))
install.packages("infrasonic2", repos = "http://www.bayceer.uni-bayreuth.de/R-repository", type="source")

Update geht über

update.packages(repos = "http://www.bayceer.uni-bayreuth.de/R-repository", type="source")

Nutzung des Pakets

Das Handling der Daten erfolgt über eine Liste. Diese hat drei Einträge:

1. $values: Vektor mit den Druckdaten in Pa
2. $freq: Sampling-Frequenz in Hz
3. $start: Startzeitpunkt der Messung als POSIXct

Man kann somit auch künstlich Daten erzeugen, z.B. mit dem folgenden R-Code:

values=rnorm(10001,sd=0.1)+2*sqrt(2)*sin(2*pi*seq(0,100,0.01) ## Datenreihe
d=list(values=values,freq=100,start=as.POSIXct("2021-04-06 12:00")) ## Liste

Jetzt hat man eine künstliche Datenreihe mit einem 100dB-1Hz-Sinussignal auf einem Rauschhintergrund. Die Datenreihe wurde mit 100Hz aufgenommen. Startzeitpunkt ist 06.04.2021 12:00 lokale Zeit.

Als nächstes muss man das Paket laden:

library(infrasonic2) ## Laden des Pakets

 Zum Plotten des Rohsignals gibt es den Befehl

infrasonic.plotSignal(d) ## Plotten der gesamten Rohdaten

Mit diesem Befehl sollte man bei sehr langen Datenreihen jedoch vorsichtig sein. Dies kann dazu führen, dass die Darstellung extrem lang dauert.

Plot Roh-Signal

Besser ist es über Funktionsparameter den Ausschnitt einzuschränken. Z.B.:

infrasonic.plotSignal(d,duration=10,offset=5) # 5-15 s
infrasonic.plotSignal(d,t_abs_lim=c("2021-04-06 12:00:10","2021-04-06 12:00:15")) # 10-15 s

Das Frequenzspektrum erhält man über

infrasonic.plotFFT(d) ## Frequenzspektrum

Frequenzspektrum

Die Berechnung des Schmalbandspektrums erfolgt über ein Hanning-Fenster. Die Terzpegel werden durch Summierung der Schmalbandpegel berechnet. Auch die Funktion infrasonic.plotFFT lässt sich über Parameter verändern. Interessant ist v.a. die Frequenzauflösung.

infrasonic.plotFFT(d,res=0.02) ## berechnet Schmalbandspektrum mit 0.02Hz Bin-Breite

Zum Erzeugen eines Spektrogramms gibt es die Funktion

infrasonic.plotSpectrogram(d,db_lim = c(40,100)) ## Spektrogramm

SpektrogrammDer Parameter db_lim legt die Farbskala fest. Weitere Parameter sind in der Hilfe beschrieben

?infrasonic.plotSpectrogram ## Aufrufen der Hilfeseite

 Natürlich lassen sich die Funktionen, die der Berechnung der Plots zugrunde liegen auch einzeln aufrufen. Dies geht mit der Funktion

infrasonic.calcFFT(d) ## Berechnung des Frequenzspektrums

Per default liefert diese Funktion das RMS gemittelte Spektrum. Alternativ kann man sich auch die Matrix ausgeben lassen. Dazu setzt man den Parameter matrix_output=T

Zur Berchnung der Terzpegel gibt es die Funktion

infrasonic.calcThirds(d) ## Berechnung des Terzspektrums

Rückgabe dieser Funktion ist ein data.frame. In der Spalte ws stehen die dB-Werte der Wahrnehmungsschwelle. Diese sollten zur Bewertung der Pegel herangezogen werden.

Diese Webseite verwendet Cookies. weitere Informationen