Heavy and Soft Impact Sources (ISO 16283-2)
Standards: ISO 16283ISO 10140JIS A 1418ISO 717Key references: Hopkins 2007Kim et al. 2023
The ISO tapping machine is a light impact source. Its five 500 g hammers fall 40 mm and produce a hard, quasi-stationary excitation whose energy sits well above 100 Hz, which is exactly where a bare concrete slab already performs well. The impacts people actually complain about, a child jumping off a chair or an adult walking barefoot on a timber floor, are slow, soft and low-frequency, and the tapping machine says almost nothing about them. The standard heavy impact sources were introduced to close that gap: a hollow silicone rubber ball dropped from 1 m, and the bang machine, a car tyre dropped from 85 cm. This guide covers their normative specification, the laboratory verification of a source against it, the standardization of the maximum level in the receiving room, and the A-weighted single number. The tapping-machine chain lives in Field Insulation Measurement (ISO 16283) and Laboratory Insulation Measurement.
Left: the two source specifications are pure spectra of force, not geometry. Right: the rating adds the A-weighted band contributions in energy, and the A-weighting is 23 dB steeper at 63 Hz than at 500 Hz, so the quietest measured band ends up deciding the number.
Show the code for this figure
import matplotlib.pyplot as pltimport numpy as np
from phonometry import ( a_weighted_maximum_impact_level, heavy_impact_source_limits, heavy_impact_source_specification,)
fig, (ax_src, ax_rate) = plt.subplots(1, 2, figsize=(13.0, 5.6))
# Left: the printed nominal spectra inside their printed tolerance bands.x = np.arange(5)for source in ("rubber_ball", "bang_machine"): spec = heavy_impact_source_specification(source) _f, lower, upper = heavy_impact_source_limits(source) label = source.replace("_", " ") ax_src.fill_between(x, lower, upper, alpha=0.30, label=f"{label} tolerance") ax_src.plot(x, spec.force_exposure_level, "-o", label=f"{label} nominal")ax_src.set_xticks(x, ["31.5", "63", "125", "250", "500"])ax_src.set(xlabel="Frequency [Hz]", ylabel="Impact force exposure level LFE [dB re 1 N]")ax_src.legend()
# Right: ISO 717-2:2020 Table D.4, measured levels against their A-weighted# contributions, with the energy sum drawn across them.res = a_weighted_maximum_impact_level([65.3, 64.5, 58.0, 55.8])xr = np.arange(4)ax_rate.bar(xr - 0.19, res.levels, width=0.36, label="Li,Fmax (measured)")ax_rate.bar(xr + 0.19, res.corrected, width=0.36, label="Li,Fmax + A (Table D.3)")ax_rate.axhline(res.rating, label=f"LiA,Fmax = {res.rating} dB")ax_rate.set_xticks(xr, ["63", "125", "250", "500"])ax_rate.set(xlabel="Frequency [Hz]", ylabel="Maximum impact sound pressure level [dB]")ax_rate.text(0.02, 0.03, f"unrounded sum = {res.unrounded:.6f} dB", transform=ax_rate.transAxes, va="bottom", ha="left")ax_rate.legend()plt.show()Both sources are specified by the energy of their force pulse
Section titled “Both sources are specified by the energy of their force pulse”A heavy source is not defined by its shape but by the impact force exposure level it delivers into a rigid floor (ISO 16283-2:2020 Formula (A.1) = JIS A 1418-2:2019 Formula (1)):
with N (ISO 16283-2:2020 Annex A), s and the duration of the impact. Watch the reference: EN 15657 refers its blocked-force levels to N, 120 dB away, so a force level carried between this page and Structure-borne sound power of equipment without conversion is wrong by exactly that. Both sources require a single-peak waveform of ms (JIS A 1418-2:2019 A.2 b), where the two are called the soft and the hard impact characteristic). The octave-band values are printed identically in ISO 16283-2:2020 Table A.1, ISO 10140-5:2010 Table F.1 and JIS A 1418-2:2019 Table A.2 for the ball; the bang machine appears only in JIS A 1418-2:2019 Table A.1.
| Octave (Hz) | Rubber ball (dB re 1 N) | Bang machine (dB re 1 N) |
|---|---|---|
| 31.5 | 39.0 ± 1.0 | 47.0 ± 1.0 |
| 63 | 31.0 ± 1.5 | 40.0 ± 1.5 |
| 125 | 23.0 ± 1.5 | 22.0 ± 1.5 |
| 250 | 17.0 ± 2.0 | 11.5 ± 2.0 |
| 500 | 12.5 ± 2.0 | 5.5 ± 2.0 |
The bang machine puts 8 to 9 dB more energy into the two lowest octaves (8 dB at 31.5 Hz, 9 dB at 63 Hz) and 7 dB less into the top one, which is why the two sources are not interchangeable and why a floor can pass one and fail the other.
from phonometry import check_heavy_impact_source, impact_force_exposure_level# `heavy_impact_source_specification` and `heavy_impact_source_limits` are the# imports of the figure block above.
spec = heavy_impact_source_specification("rubber_ball")print(spec.drop_height, spec.effective_mass) # 1.0 m, 2.5 kgprint(spec.contact_time, spec.contact_time_tolerance) # 0.02 s +/- 0.002 s
freqs, lower, upper = heavy_impact_source_limits("bang_machine")print(list(zip(freqs, lower, upper))[0]) # (31.5, 46.0, 48.0)
# A calibration run: five measured octave-band LFE against the printed table.# Name the source: the check defaults to the rubber ball, and the bang machine# limits fetched above would reject a conforming ball outright.check = check_heavy_impact_source([39.4, 30.2, 23.6, 18.5, 12.9], source="rubber_ball")print(check.passed, list(check.within_tolerance))check.plot() # measured LFE over the tolerance band (needs matplotlib)impact_force_exposure_level evaluates Formula (A.1) directly from a sampled
force record, which is what the JIS A 1418-2 Annex C calibration procedure
measures with a force plate. The specification is stated per octave band,
and Annex C puts the filter between the transducer and the analyser, so the
record is band-filtered first and the formula is applied once per band: an
unfiltered pulse returns the broadband level, which is several decibels above
any single band value and must not be compared with the table above.
import numpy as npfrom phonometry import OctaveFilterBank, impact_force_exposure_level
fs = 48_000t = np.arange(0.0, 0.020, 1.0 / fs) # the 20 ms contact timeforce = 1500.0 * np.sin(np.pi * t / 0.020) # a single-peak half-sine pulse
# Broadband, i.e. the whole pulse energy: 10 lg(Fp^2 t / 2) = 43.5 dB.# Not a band value, and not comparable with the table above.print(round(impact_force_exposure_level(force, fs), 2))
# The five octave-band values the specification is actually written in.bank = OctaveFilterBank(fs, fraction=1, limits=[31.5, 500.0])_, freqs, bands = bank.filter(force, sigbands=True, calculate_level=False)lfe = [impact_force_exposure_level(b, fs) for b in bands]print([round(v, 1) for v in lfe]) # [-1.4, 14.0, 22.1, 20.2, 17.1]
# Those five go to the conformance check; this synthetic half-sine is not a# rubber ball, so it does not conform:# check_heavy_impact_source(lfe).passed -> FalseThe construction examples the two standards give are informative, not normative: a hollow silicone ball of 180 mm outer diameter with a 30 mm wall, effective mass kg and coefficient of restitution , dropped from cm measured from the bottom of the ball; and a car tyre inflated to Pa with an effective mass of kg, dropped from 85 cm.
Which source
Section titled “Which source”The choice is not free, and it is not a matter of taste. The rubber ball is the source international standardisation adopted: ISO 16283-2:2020 Annex A and ISO 10140-5:2010 Annex F both specify it, ISO 10052:2021 Clause 6.3.2 measures with it, and it is light enough to use on a lightweight timber floor without risk. The bang machine exists only in JIS A 1418-2:2019 and is used where national practice calls for it, chiefly in Japan and Korea; its 7.3 kg tyre dropped from 85 cm delivers 8 to 9 dB more force in the two lowest octaves, which is precisely what makes it more searching on a heavy slab and what makes it capable of damaging a light floor. Use the ball unless a national regulation or a client specification names the bang machine, and never quote a result from one against a limit written for the other.
The receiving room: a maximum level cannot be corrected like an average
Section titled “The receiving room: a maximum level cannot be corrected like an average”The rated quantity is a maximum of a Fast time-weighted level, not an energy average, so the usual standardization is wrong: a Fast detector never integrates more than about 1.7 s of decay, so the correction has to saturate. ISO 16283-2:2020 (definition 3.16, Formulae (4), (5) and (6)) therefore uses
with s, for dwellings and, writing Formula (4) compactly,
is the peak of the Fast-weighted response to an exponentially decaying burst. It has a removable singularity at (i.e. s) where its value is . When the bracket collapses to 1 and the whole correction reduces to the volume term, as it must.
The constant s is not an integration limit: it is the Fast time weighting written as a reverberation time. An exponential decay of seconds has an energy time constant , so a room with decays with exactly the Fast detector’s own s time constant, and is the ratio of the two. Well below the detector keeps up with the decay and the correction behaves like the energy-average ; well above it the detector cannot follow, the peak it reports stops growing with , and the correction saturates. ISO 16283-2:2020 prints the constant without deriving it and refers to its Reference [1] for the background.
Both curves are the term the standardization subtracts from the measured level, so they are directly comparable. At they vanish together, as they must. Above it they separate: the energy-average correction keeps growing without limit, because energy keeps accumulating, while the Fast term flattens, because a 0.125 s detector stops resolving more decay. At s the energy-average rule would take off 10.0 dB and the Fast rule takes off 5.1 dB — and that divergence is the whole reason ISO 16283-2 defines a separate standardization for a maximum.
Show the code for this figure
import matplotlib.pyplot as pltimport numpy as np
from phonometry import fast_reverberation_correction
t = np.linspace(0.2, 5.0, 481)fast = np.asarray(fast_reverberation_correction(t), dtype=float)energy = 10 * np.log10(t / 0.5)print(round(float(fast[-1]), 1), round(float(energy[-1]), 1)) # 5.1 10.0
fig, ax = plt.subplots()ax.fill_between(t, fast, energy, where=np.abs(fast - energy) > 1.0, interpolate=True, alpha=0.25, label="more than 1 dB apart")ax.plot(t, fast, label="Fast maximum: 10 lg[g(C)/g(C0)]")ax.plot(t, energy, "--", label="energy average: 10 lg(T/T0)")ax.set(xlabel="Receiving-room reverberation time T [s]", ylabel="Term subtracted from the measured level [dB]")ax.legend()plt.show()from phonometry import ( heavy_impact_octave_levels, standardized_maximum_impact_level,)# `fast_reverberation_correction` is the import of the figure block above.
freqs = [63.0, 125.0, 250.0, 500.0]li_fmax = [65.3, 64.5, 58.0, 55.8] # energy-averaged over ball positionst = [1.43, 3.70, 3.10, 2.38] # receiving-room reverberation time
res = standardized_maximum_impact_level(li_fmax, 41.4, t, frequency=freqs)print(res.volume_term) # 10 lg(41.4/50) = -0.8 dBprint(fast_reverberation_correction([0.5])) # exactly 0 dB at T = T0res.plot() # measured and standardized spectra (needs matplotlib)
# One-third-octave measurements combine into octaves with Formula (20):print(heavy_impact_octave_levels([60.0] * 6)) # +10 lg 3 dB per octaveMeasuring in the field (ISO 16283-2:2020, Clauses 6 to 9)
Section titled “Measuring in the field (ISO 16283-2:2020, Clauses 6 to 9)”The functions above consume levels that have already been averaged over positions. ISO 16283-2:2020 says how those positions are chosen, and the rubber ball differs from the tapping machine at almost every step.
Dropping the ball (Clause 7.2.3). Vertical free fall from cm, measured from the bottom of the ball to the surface of the floor under test — not from the operator’s hand and not from the centre of the ball. Four or more positions on the floor or stairs under test; on a lightweight joisted floor, one of them should be over a joist and one at the centre of the floor, because those are the two extremes of the driving-point mobility.
Microphones (Clauses 7.3.1, 7.3.2, 7.6). Fixed positions only: the mechanized continuously moving microphone and the manual scan that the tapping machine may use are not available for the ball, because a maximum level cannot be spatially averaged along a path the way an energy average can. Fixed positions may be on a tripod with nobody in the room, or with an operator present whose trunk stays at least an arm’s length from the microphone. Distribute them through the permitted space, with no two in the same plane relative to the boundaries and no regular grid, keeping at least 0.7 m between positions, 0.5 m from the room boundaries and 1.0 m from the partition being excited. The number of microphone positions equals the number of source positions or an integer multiple of it: with four or five source positions, at least two measurements at each from at least two different microphone positions; with six or more, one measurement per source position at a different microphone position each time.
Averaging, in two stages (Clauses 7.8.3 and 7.3.4). First energy-average the maximum levels over the microphone positions belonging to one ball position (Formula (14)); then energy-average those per-position results over the ball positions (Formula (9)). Only then apply the standardization of Formulae (4), (5) and (6). Averaging everything in one pass is not the same operation.
Two things the tapping machine does that the ball does not. The low-frequency corner procedure of Clause 8 applies to the tapping machine only: NOTE 2 to Clause 6 says plainly that no link has yet been shown between corner and central-zone measurements for a maximum Fast-weighted level, so there is nothing to combine. And the ball’s level is not corrected for background noise (Clause 9 NOTE), because it cannot be established whether a maximum representing the background affected the maximum representing the impact. Instead, keep the background low and say so.
The survey method reaches the same quantity by a shorter route: ISO 10052:2021 Clause 6.3.2 measures the Fast maximum in octave bands over about 10 s from at least two fixed positions more than 0.7 m apart, one near the centre and one at a different height, at least 0.5 m from the boundaries and 1.0 m from the impact.
The single number is an A-weighted sum, not a shifted curve
Section titled “The single number is an A-weighted sum, not a shifted curve”ISO 717-2:2020 Annex D is normative and does not use a reference curve at all. The rating is an energy sum of A-weighted band levels (Formula (D.1)):
over the one-third-octave bands 50 Hz to 630 Hz or the octave bands 63 Hz to 500 Hz, with the Table D.3 corrections , rounded half-up to an integer. A one-third-octave measurement is rated in one-third octaves; the standard warns explicitly against summing thirds into octaves first, because the two routes do not give the same answer. The same formula rates all four quantities of Tables D.1 and D.2: , , and .
The worked example of Table D.4 is reproduced exactly, including the deliberately unrounded intermediate the standard prints:
# `a_weighted_maximum_impact_level` is the import of the figure block above.
# ISO 717-2:2020 Table D.4: a field measurement in octave bands.res = a_weighted_maximum_impact_level([65.3, 64.5, 58.0, 55.8])print(list(res.corrected)) # 39.1, 48.3, 49.3, 52.6 dBprint(res.unrounded) # 55.350667... dBprint(res.rating) # 55 dBres.plot() # band levels, A-weighted contributions, ratingBecause the A-weighting is 23 dB steeper at 63 Hz than at 500 Hz, a heavy source’s rating is dominated by whichever band survives that slope. For the Table D.4 spectrum the four A-weighted contributions are 39.1, 48.3, 49.3 and 52.6 dB, so the 500 Hz band carries the most weight even though 63 Hz is the loudest measured band, 9.5 dB above it.
Read the 55 dB the way an impact quantity is read: higher is worse, as for every impact level on this site. It is a maximum, not an average, so it is not comparable with an or an from the tapping machine, and ISO sets no limit on it — heavy-impact criteria are national. The most developed of them is Korea’s, where floor impact sound in apartment housing has been regulated since 2004 and the rules were rewritten in August 2022: the heavyweight source became the rubber ball, the evaluation index became exactly the of this section (through KS F ISO 10140-5 and KS F ISO 717-2), and the mandatory performance standard was set at 49 dB, tightened from the 50 dB of the previous bang-machine scheme. Above that threshold sit four grades at 4 dB intervals, grade 1 being the best: , , and dB. Against that scale, the 55 dB of the worked example is a floor that fails the standard outright. Because the number is set by the low-frequency bands, what moves it is mass and structural decoupling — a thicker slab, a floating floor on a soft resilient layer, a decoupled ceiling — and not a soft covering, which acts where the A-weighting has already discarded the energy.
What this guide covers
Section titled “What this guide covers”Covered
The impact force exposure level of ISO 16283-2:2020 Formula (A.1) from a sampled force record, via
building.impact_force_exposure_level; the printed octave-band specifications of ISO 16283-2:2020 Table A.1 / ISO 10140-5:2010 Table F.1 (rubber ball) and JIS A 1418-2:2019 Tables A.1 and A.2 (both characteristics) with their tolerances, viabuilding.heavy_impact_source_specification,building.heavy_impact_source_limitsandbuilding.check_heavy_impact_source; the standardized maximum impact sound pressure level of Formulae (4), (5) and (6) and the octave synthesis of Formula (20), viabuilding.standardized_maximum_impact_level,building.fast_reverberation_correctionandbuilding.heavy_impact_octave_levels; and the normative A-weighted rating of ISO 717-2:2020 Annex D with the Table D.3 corrections, viabuilding.a_weighted_maximum_impact_level.Not covered
The field procedure documented above is not automated: the functions consume levels that were already energy-averaged over the microphone positions of one ball position and then over the ball positions, and nothing checks the drop height, the four-or-more source positions, the microphone separations or the two-stage averaging. Nor is the horizontal-arrangement guidance of ISO 16283-2:2020 Annex E, which is informative. There is no prediction model that takes a floor construction to a heavy-impact level; Hopkins states plainly that the complexity of the input force and the use of a time-weighted maximum leave no simple counterpart to the tapping-machine prediction. No accredited worked example exists anywhere that carries a real floor from measured through to , so the standardization chain is anchored on its own identity and on a published 25-band reproduction of Formula (4).
See also
Section titled “See also”- Field Insulation Measurement (ISO 16283): the tapping-machine chain of the same standard.
- Laboratory Insulation Measurement: the ISO 10140 laboratory suite the heavy sources extend.
- Insulation Ratings (ISO 717): the reference-curve engine that rates the tapping-machine quantities.
- Floor-Covering Impact Improvement (ISO 16251-1): the improvement a soft covering gives against the light source.
- API reference:
building.measurement.heavy_impact. - Theory: Sound insulation and absorption, measured: the impact-level normalisations of ISO 10140 and ISO 717-2 that the rubber ball and bang machine feed.
References
Section titled “References”- Hopkins, C. (2007). Sound insulation. Butterworth-Heinemann. https://doi.org/10.4324/9780080550473Section 3.6.4 describes the heavy impact sources and explains why no simple prediction counterpart exists. ISBN 978-0-7506-6526-1.
- International Organization for Standardization. (2010). Acoustics — Laboratory measurement of sound insulation of building elements — Part 5: Requirements for test facilities and equipment (ISO 10140-5:2010). Annex F (normative) prints the same rubber-ball spectrum as Table F.1 and specifies the modified tapping machine.
- International Organization for Standardization. (2020). Acoustics — Field measurement of sound insulation in buildings and of building elements — Part 2: Impact sound insulation (ISO 16283-2:2020). Annex A.2 and Table A.1 specify the rubber ball; definition 3.16 and Formulae (4), (5) and (6) give the Fast-weighted standardization, Formula (20) the octave synthesis.
- International Organization for Standardization. (2020). Acoustics — Rating of sound insulation in buildings and of building elements — Part 2: Impact sound insulation (ISO 717-2:2020). Annex D (normative) gives the A-weighted maximum impact sound pressure level, its Table D.3 corrections and the Table D.4 worked example reproduced on this page.
- Japanese Standards Association. (2019). Acoustics — Measurement of floor impact sound insulation of buildings — Part 2: Method using standard heavy impact sources (JIS A 1418-2:2019). The only primary source for the bang machine: Annex A Tables A.1 and A.2 with tolerances, the 20 ms single-peak requirement, and the Annex B construction examples.
- Kim, K. W., Park, S. H., Shin, H. K., & Kim, K. C. (2023). Changes of floor impact sound regulations and future improvement directions in Korea. Proceedings of Forum Acusticum 2023 (10th Convention of the European Acoustics Association). https://doi.org/10.61782/fa.2023.0364Table 1 records the August 2022 revision: the heavyweight source became the rubber ball, the index L'iA,Fmax through KS F ISO 10140-5 and KS F ISO 717-2, the mandatory standard 49 dB (from 50 dB) and the four grades at 4 dB intervals. The only published regulatory scale for the quantity this page computes.