1、 August 2006DIN 45681 Berichtigung 2 ICS 17.140.01 Ersatz fr DIN 45681 Berichtigung 1:2005-08 Akustik Bestimmung der Tonhaltigkeit von Geruschen und Ermittlung eines Tonzuschlages fr die Beurteilung von Geruschimmissionen, Berichtigungen zu DIN 45681:2005-03, mit CD Acoustics Determination of tonal
2、components of noise and determination of a tone adjustment for the assessment of noise immissions, Corrigenda to DIN 45681:2005-03, with CD Acoustique Dtermination des composantes tonales du bruit et recherche dun coefficient tonal pour lvaluation des immissions de bruit, Corrigenda DIN 45681:2005-0
3、3, avec CD Gesamtumfang 16 SeitenNormenausschuss Akustik, Lrmminderung und Schwingungstechnik (NALS) im DIN und VDI DIN Deutsches Institut fr Normung e.V. .Jede Art der Vervielfltigung, auch auszugsweise, nur mit Genehmigung des DIN Deutsches Institut fr Normung e.V., Berlin gestattet. Alleinverkauf
4、 der Normen durch Beuth Verlag GmbH, 10772 Berlin Preisgruppe 99 www.din.de www.beuth.de !,nF“9759735Es wird empfohlen, auf der betroffenen Norm einen Hinweis auf diese Berichtigung zu machen. DIN 45681 Ber 2:2006-08 2 Vorwort Diese Berichtigung wurde vom NA 001 BR-02 SO des NALS erarbeitet. nderung
5、en Gegenber DIN 45681 Berichtigung 1:2005-08 wurden folgende nderungen vorgenommen: a) Ersatz des Programm-Listings durch die nachfolgende Fassung und der Software-Lsung Einzeltonanalyse.bas“ einschlielich der Readme.txt-Datei“ auf der begleitenden CD. Frhere Ausgaben DIN 45681 Berichtigung 1:2005-0
6、8 In DIN 45681:2005-03 sind folgende Berichtigungen vorzunehmen: Programm-Listing Programm zur Ermittlung des Tonzuschlages“ ANMERKUNG Korrekturen in Bezug auf die Fassung, die der Norm DIN 45681:2005-03 beigefgt ist, sind im nachfolgenden Programm-Listing kenntlich gemacht worden. Attribute VB_Name
7、 = “Modul1“ Sub Auswerten_Mai2006() Stand 2004-09-212006-05-22 Dim Spektren As String Name des Tabellenblattes mit den Spektren Dim NameSpektrum As String Name des jeweiligen Spektrums (aus Zeile 2) Dim i, j, k, l, m, n As Integer Laufindizes Dim Frequenz(64009000) As Double Frequenz der Spektrallin
8、ie Dim delta_f_c(64009000) As Double Frequenzgruppenbreite Dim f1 As Double kleinste Frequenz der Frequenzgruppe Dim f2 As Double grte Frequenz der Frequenzgruppe Dim av(64009000) As Double Verdeckungsma Dim Linienbreite As Double Breite der Spektrallinie in Hz Dim Pegel(64009000) As Double Pegel de
9、r Spektrallinie Dim Intens(9000) As Double Intensitten innerhalb einer Frequenzgruppe Dim Ls(64009000) As Double Mittlerer Schmalbandpegel Dim Vorwert As Double Hilfsgre zur Bestimmung eines Abbruchkriteriums Dim rLinien, lLinien As Integer Hilfsgren zur Bestimmung von Ls Dim AnzahlLinien As Integer
10、 Anzahl der Linien im Spektrum Dim AnzahlSpektren As Integer Anzahl der Spektren zur Ermittlung der Tonhaltigkeit Dim gefunden As Boolean Hifsmerker Dim Anfang, Ende As Integer Indizes der ersten, letzten Spektrallinie fr Analyse Dim FgAnfang(64009000), FgEnde(64009000) Indizes von FG-Anfang und FG-
11、Ende Dim AntwortA, Antwort As Integer Antworten zu MsgBox, A-Bewertung und allgemein Dim maximum As Integer Index der Linie mit maximalem Pegel eines Tones Dim weitersuchen As Integer Merker fr Linie, ab der nach weiteren Tnen gesucht wird Dim LT(64009000) As Double Tonpegel Dim LG(64009000) As Doub
12、le Pegel des verdeckenden Gerusches Dim Tonzhler As Integer Zhler der Tne in einem Spektrum DIN 45681 Ber 2:2006-08 3 Dim LT_Fg(64009000) As Double Summentonpegel mehrerer Tne in einer Frequenzgruppe Dim Fg_index As Integer Frequenzindex fr zusammengefassten Ton in FG Dim Ton_Fg(500) As Double Anzah
13、l Tne in einer Frequenzgruppe Dim auflsen As Boolean Hilfsgre fr Auflsung in FG unter 1 000 Hz Dim k2 As Integer Hilfsgre fr Auflsung in FG unter 1 000 Hz Dim fD As Double Grenzfrequenz fr Auflsung in FG unter 1 000 Hz Dim delta_L(64009000) As Double Differenzpegel als Ma zur Bestimmung des Tonzusch
14、lages Dim delta_L_Fg(64009000) As Double Differenzpegel bei mehreren Tnen in einer Frequenzgruppe Dim Linie_FG(64009000) As Boolean Marker fr Spektrallinie in FG bei mehreren Tnen in FG Dim Puffer As Double Hilfspuffer Dim Puffer_LT_Fg As Double Hilfspuffer Dim Puffer_sigma As Double Hilfspuffer Dim
15、 delta_L_max(150) As Double max. delta L des Spektrums Dim max_index(150) As Integer Frequenzindex fr grtes delta_L(_Fg) Dim max_Kennung(150) As String Kennung FG falls max. delta_L aus FG Dim Zeilenzhler As Integer Zeilenzhler fr Ergebnisdarstellung Dim Startzeile(150) As Integer Startzeile der Aus
16、gabe je Spektrum Dim delta_L_mittel As Double gemitteltes delta_L ber alle Spektren Dim Tonzuschlag As Integer Tonzuschlag Dim max_delta_L As Double maximales delta_L aller Spektren Dim index_max_delta_L As Integer Index des Spektrums mit maximalem delta_L Dim Bereich As String Datenbereich fr Diagr
17、amm Dim Ls_Delta(64009000) As Double Hilfsgre zur Berechnung der Unsicherheit Dim Ls_Delta_Q(64009000) As Double Hilfsgre zur Berechnung der Unsicherheit (Quadrate) Dim LT_Delta(64009000) As Double Hilfsgre zur Berechnung der Unsicherheit Dim LT_Delta_Q(64009000) As Double Hilfsgre zur Berechnung de
18、r Unsicherheit (Quadrate) Dim sigma_delta_L(64009000) Standardabweichung des einzelnen Tones Dim LT_FG_Delta(64009000) As Double Hilfsgre zur Berechnung der Unsicherheit Dim LT_FG_Delta_Q(64009000) As Double Hilfsgre zur Berechnung der Unsicherheit (Quadrate) Dim sigma_delta_L_FG(64009000) Standarda
19、bweichung des Tones der FG Dim delta_L_Delta(150) As Double Hilfsgre zur Berechnung der Unsicherheit Dim delta_L_FG_Delta(150) As Double Hilfsgre zur Berechnung der Unsicherheit Dim L_delta As Double Hilfsgre zur Berechnung der Unsicherheit Dim L_delta_Q As Double Hilfsgre zur Berechnung der Unsiche
20、rheit (Quadrate) Dim delta_L_mittel_delta As Double Standardabweichung ber alle Spektren Dim index_Fg(9000) As Integer index der zugehrigen Frequenzgruppe Const sigmaPegel As Double = 3 Sigma des Pegels einer Spektrallinie Const student As Double = 1.645 Erweiterungsfaktor fr die Berechnung der Unsi
21、cherheit Anmerkungen zu den eingegebenen Feldbegrenzungen: maximale Anzahl der Spektren: 150 maximale Anzahl der Spektrallinien: 9000 maximale Anzahl der Tne in einer Frequenzgruppe: 500 Spektren = ActiveSheet.Name Frage ob rechnerische A-Bewertung erforderlich ist AntwortA = MsgBox(“Sind die Pegel
22、A-bewertet ?“ + Chr(13) + Chr(10) + Chr(10) + _ “(Bei Nein erfolgt rechnerische A-Bewertung)“ + Chr(10), _ vbYesNoCancel, “Bewertung der Pegel“) If AntwortA = vbCancel Then Exit Sub Anzahl der nutzbaren Spektrallinien bestimmen n = 3 Do Until IsNull(Cells(n, 1) Or IsEmpty(Cells(n, 1) n = n + 1 DIN 4
23、5681 Ber 2:2006-08 4 Loop AnzahlLinien = n - 3 Linienbreite bestimmen Linienbreite = (Cells(AnzahlLinien + 2, 1) - Cells(3, 1) / (AnzahlLinien - 1) Frequenzen einlesenberechnen und Verdeckungsma av berechnen For i = 1 To AnzahlLinien Frequenz(i) = Cells(i + 23, 1) + Linienbreite * (i - 1) av(i) = -2
24、 - Log(1 + (Frequenz(i) / 502) 2.5) / Log(10) Next i Indizes Anfang und Ende, d. h. erste und letzte Spektrallinie fr Tonhaltigkeitsanalyse i = 1 If Frequenz(i) = 0 Then i = 2 Anfang = i Do While Frequenz(i) 0 If Frequenz(i) = Ende - 1 Then Ende = i i = 6401 End If Next i Anzahl der Spektren bestimm
25、en DIN 45681 Ber 2:2006-08 5 n = 2 Do Until IsNull(Cells(3, n) Or IsEmpty(Cells(3, n) Or Cells(3, n) = “Frequenz“ n = n + 1 Loop AnzahlSpektren = n - 2 Sheets.Add Ergebnisblatt anlegen ActiveSheet.Select ActiveSheet.gefunden = False prfen, ob schon ein Ergebnisblatt existiert For Each ws In ActiveWo
26、rkbook.Sheets If ws.Name = “Ergebnisse“ Then gefunden = True Exit For End If Next If gefunden = True Then Sheets(“Ergebnisse“).Select For Each ws In ActiveSheet.ChartObjects Diagramm(e) lschen ActiveSheet.ChartObjects(ws.Index).Delete Next Cells.Select Tabelleninhalt lschen Selection.ClearContents R
27、ange(“A1“).Select Else Sheets.Add Ergebnisblatt anlegen ActiveSheet.Name = “Ergebnisse“ Tabelle auf den letzten Platz positionieren ActiveSheet.Move after:=Sheets(Sheets.Count) End If Cells(2, 1) = “Linienabstand:“ Cells(2, 4) = Str(Round(Linienbreite, 2) Ton liegt auf abfallender Flanke gefunden =
28、False Do While Pegel(i) Ls(maximum) + 6 And i = Anfang i = i - 1 If Pegel(i) Pegel(maximum) Then gefunden = True Loop i = maximum If Not gefunden Then Ist der Pegel bei der nchsthheren Frequenz Ls(Maximum) + 6 dB? Wenn nein, Frequenz fT merken, da ab hier weiter nach Tnen gesucht wird (“weitersuchen
29、“) Wenn ja, ist der Pegel bei der Pegel bei der nchsthheren Frequenz Pegel(Maximum)? Wenn ja, Maximum = nchsthhere Frequenz Do While Pegel(i) Ls(maximum) + 6 And i Pegel(maximum) Then maximum = i End If i = i + 1 Loop weitersuchen = i - 1 i = maximum potenziellen Ton als ununterbrochenen Bereich mit
30、 Pegeln Ls + 6 suchen und Frequenz der Spektrallinie mit maximalem Pegel als Frequenz des potenziellen Tones ermitteln If Pegel(i) Ls(i) + 6 Then wenn Ton bei Frequenz(i) l = 1 Anzahl der Spektrallinien des Tones LT(i) = 10 (Pegel(i) / 10) Hilfsgren fr Unsicherheitsberechnung ermitteln LT_Delta(i) =
31、 10 (Pegel(i) / 10) LT_Delta_Q(i) = 10 (Pegel(i) / 5) DIN 45681 Ber 2:2006-08 8 Ist Pegel bei nchsttieferer Frequenz Ls + 6 dB und Pegel(fT) - 10 dB? Wenn ja, Pegel hinzuaddieren und Flankensteilheit berechnen untereFlanke = 100 m = i - 1 Do While Pegel(m) Ls(i) + 6 And Pegel(m) Pegel(i) - 10 And m
32、= AnfangFgAnfang(i) LT(i) = LT(i) + 10 (Pegel(m) / 10) Hilfsgren fr Unsicherheitsberechnung ermitteln LT_Delta(i) = LT_Delta(i) + 10 (Pegel(m) / 10) LT_Delta_Q(i) = LT_Delta_Q(i) + 10 (Pegel(m) / 5) Flankensteilheit berechnen untereFlanke = (Pegel(i) - Pegel(m - 1) * Frequenz(i) / _ Sqr(2) / (Freque
33、nz(i) - Frequenz(m - 1) l = l + 1 m = m - 1 Loop Ist Pegel bei nchsthherer Frequenz Ls + 6 dB und Pegel(fT) - 10 dB? Wenn ja, Pegel hinzuaddieren und Flankensteilheit berechnen obereFlanke = 100 m = i + 1 Do While Pegel(m) Ls(i) + 6 And Pegel(m) Pegel(i) - 10 And m = 24 And obereFlanke = 24 Then If
34、l = 1 Then Tonpegel berechnen LT(i) = 10 * Log(LT(i) / Log(10) Else LT(i) = 10 * Log(LT(i) / Log(10) - 1.76 Korrektur fr Hanning-Fenster End If Frequenzgruppenpegel LG und delta_L = LT-LG-av bestimmen LG(i) = Ls(i) + 10 * Log(delta_f_c(i) / Linienbreite) / Log(10) delta_L(i) = LT(i) - LG(i) - av(i)
35、DIN 45681 Ber 2:2006-08 9 Ist delta_L 0 und Ton ausgeprgt? Wenn ja, maximales delta_L des Spektrums kennzeichnen If delta_L(i) 0 Then Tonzhler = Tonzhler + 1 If delta_L(i) delta_L_max(j) Then delta_L_max(j) = delta_L(i) max_index(j) = i max_Kennung(j) = “ End If Hilfsgren fr Unsicherheitsberechnung
36、ermitteln sigma_delta_L(i) = Sqr(LT_Delta_Q(i) / LT_Delta(i) 2 _ + Ls_Delta_Q(i) / Ls_Delta(i) 2) * _ sigmaPegel 2 + (4.34 * Linienbreite / delta_f_c(i) 2) End If Ist der Ton nicht ausgeprgt, ft = fT (“weitersuchen“) setzen i = weitersuchen End If End If Ende des Analysierbereiches? Next i Mehrere T
37、ne in einer Frequenzgruppe zusammenfassen, Hifsgren zur Bestimmung der Unsicherheit berechnen und maximales delta_L des Spektrums kennzeichnen Liegt bei hchster/nchster Frequenz des Analysierbereiches ein Ton vor? Wenn nein, Suche bei nchsttieferer Frequenz fortsetzen Suche nach Tnen, Marker innerha
38、lb der Frequenzgruppe zurcksetzen For i = Ende To Anfang Step -1 LT_Fg(i) = 0 If delta_L(i) 0 Then For k = Anfangl = FgAnfang(i) To EndeFgEnde(i) Linie_FG(kl) = False wenn Ton gefunden, Marker zurcksetzen Next kl l = 1 Zhler Tne in FG Fg_index = i Liegt oberhalb der Frequenz des Ausgangstones in der
39、 Frequenzgruppe ein weiterer Ton vor? Wenn ja, Spektrallinien, die zu dem Ausgangston oder zu dem zustzlich gefundenen Ton ge- hren, markieren For l = 1 To 500 Ton_Fg(l) = 0 Next l Alle Tonfrequenzen innerhalb dieser Frequenzgruppe in Ton_Fg speichern Ton_Fg(1) = i i-ten Ton (Ausgangston) speichern
40、Linie_FG(i) = True Tonmarker setzen DIN 45681 Ber 2:2006-08 10 l = 1 For k = i + 1 To FgEnde(i) If delta_L(k) 0 Then If l = 1 Then Linie_FG(i) = True m = i - 1 Do While Pegel(m) = Ls( To i) + 6 And Pegel(m) = Pegel(i) - 10 _ And m = Anfang Linie_FG(m) = True m = m - + 1 Step -1 Loop m = i + 1 Do Whi
41、le Pegel(m) = Ls(i) + 6 And Pegel(m) = Pegel(i) - 10 _ And m 0 Then If delta_L(k) delta_L(Fg_index) Then Fg_index = k l = l + 1 Ton_Fg(l) = k Tne oberhalb i speichern Linie_FG(mk) = True m = m + 1 Loop End If Linie_FG(k) = True m = i - 1 Do While Pegel(m) = Ls(k) + 6 And Pegel(m) = Pegel(k) - 10 _ A
42、nd m = Anfang Linie_FG(m) = True m = m - 1 Loop m = i + 1 Do While Pegel(m) = Ls(k) + 6 And Pegel(m) = Pegel(k) - 10 _ And m delta_L(Fg_index) Then Fg_index = k k2 = k Hilfsgre fr Auflsung unter 1000 Hz l = l + 1 End If Obergrenze der Frequenzgruppe erreicht?Tonmarker setzen Next k Liegt oberhalb de
43、r Frequenz des Ausgangstones in der Frequenzgruppe ein weiterer Ton vor? Wenn ja, Spektrallinien, die zu dem Ausgangston oder zu dem zustzlich gefundenen Ton ge- hren, markieren For k = i - 1 To FgAnfang(i) Step -1 If delta_L(k) 0 Then If l = 1 Then Linie_FG(i) = True m = i - 1 Do While Pegel(m) = L
44、s(i) + 6 And Pegel(m) = Pegel(i) - 10 _ And m = Anfang Linie_FG(m) = True m = m - 1 Loop DIN 45681 Ber 2:2006-08 11 m = i + 1 Do While Pegel(m) = Ls(i) + 6 And Pegel(m) = Pegel(i) - 10 _ And m = Ls(k) + 6 And Pegel(m) = Pegel(k) - 10 _ And m = Anfang Linie_FG(m) = True m = m - 1 Loop m = i + 1 Do Wh
45、ile Pegel(m) = Ls(k) + 6 And Pegel(m) = Pegel(k) - 10 _ And m delta_L(Fg_index) Then Fg_index = k k2 = k Hilfsgre fr Auflsung unter 1000 Hz l = l + 1 End If Untergrenze der Frequenzgruppe erreicht? Next k auflsen = False Liegt mindestens ein zweiter Ton vor? Liegen genau zwei Tne vor, prfen, ob sie
46、nach 5.3.8 getrennt werden knnen If l = 2 And Frequenz(i) delta_L(k2) Then fD = 21 * 10 (1.2 * Abs(Log(Frequenz(i) / 212) / Log(10) 1.8) Else fD = 21 * 10 (1.2 * Abs(Log(Frequenz(k2) / 212) / Log(10) 1.8) End If If Abs(Frequenz(i) - Frequenz(k2) fD Then auflsen = True End If Next k For k = i - 1 To FgAnfang(i) Step -1 If delta_L(k) 0 Then If delta_L(k) delta_L(Fg_index) Then Fg_index = k l = l + 1 Ton_Fg(l) = k Tne unterhalb i speichern Linie_FG(k) = True Tonmarker setzen End If Next k Alle Nebenlinien der markierten Tne (Anzahl l) entsprechend den Kriterien (5.2.3) markieren For