Repository navigation
Judge a hearing loop by IEC 60118-4 and its amplifier, loop and neck loop by IEC 62489-1 - #908
Conversation
There was a problem hiding this comment.
Sorry @jmrplens, your pull request is larger than the review limit of 150,000 diff characters
|
Warning Review limit reachedYou've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Next included review available in 59 minutes. View limit detailsLimit details: You’ve used all 2 included reviews currently available. Review configuration: ⚙️ Run configurationConfiguration used: Repository: jmrplens/phonometry/.coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: ⛔ Files ignored due to path filters (35)
📒 Files selected for processing (58)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## standards/iec-61063-steam-turbines #908 +/- ##
=====================================================================
Coverage 96.80% 96.80%
=====================================================================
Files 421 424 +3
Lines 78629 79779 +1150
=====================================================================
+ Hits 76114 77234 +1120
- Misses 2515 2545 +30 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Numerical conformance1758/1758 checks pass across 107 domains and 513 standards (217 normative designations, 123 further published sources). Used in the tables below is how much of that clause's published tolerance the deviation consumes: 100 % sits exactly on the limit, 5 % uses a twentieth of the allowance, and a dash means the clause states no two-sided tolerance for the quantity, so there is no budget to spend. It is reported and never used to decide a verdict, which is settled at full precision before any rounding. New checks (314)
Removed checks (3)
Closest to their published limit (top 5) The rows with the least room left, so the ones a change is most likely to push over.
|
f701ed9 to
79a7464
Compare
79a7464 to
e6ed92c
Compare
e6ed92c to
50896eb
Compare
…loop by IEC 62489-1 An installed hearing loop can now be judged by IEC 60118-4 with its Amendment 1: the field reaches its level at one point, stays within 3 dB over the useful volume, keeps its frequency response and its noise, a refuge or a counter is judged at the points of Figures 2 and 3, and the amplifier passes the overload test at the frequency of Table 4. Its components are measured by IEC 62489-1: the Biot-Savart field of a rectangular loop, the current and size a loop needs, its resistance, inductance and impedance, the amplifier's maximum current, compliance voltage, noise, response, AGC range and quadrature error, and a neck loop against the two types of the draft Amendment 2. Every result draws its own figure, a new guide in both languages walks a place of worship, a counter, an amplifier and a neck loop through both standards, the conformance report gains 67 rows and thirteen printed defects are in the errata register.
50896eb to
2caa2e5
Compare
|



A hearing aid switched to its telecoil picks up a magnetic field instead of sound, so a talker fed through an amplifier into a loop of wire reaches the listener without the room in between. IEC 60118-4:2014, with its Amendment 1:2017, says what field an installed loop has to produce, where and with how little noise, and IEC 62489-1:2010 with its Amendment 1:2014 says how the amplifier, the loop as a load and the neck loop are measured and specified. Two new modules implement them, with every name exported from
phonometry.electroacoustics.electroacoustics.induction_loopjudges the installed system. Levels are referred toREFERENCE_FIELD_STRENGTH_A_PER_M, 400 mA/m (3.1).field_strength_meteris the true-RMS meter of 6.1.3, flat or A-weighted,loop_test_noisethe band-limited pink noise of 6.4 with its crest factor of 4, which meets both the "at least 18 dB" of IEC 60118-4 and the 18 dB plus or minus 2 dB of IEC 62489-1, andcombi_signalthe signal of 6.6 and Table 2.assess_background_noiseclasses a site against the 47, 32 and 22 dB of 7.2, tonal noise included.verify_induction_loop_systemjudges a room: the maximum field reaches the specified level at one point at least of the useful volume (8.2.7), every selected point is within 3 dB of it (8.4.3), the frequency response is within 3 dB of the one at 1 kHz from 100 Hz to 5 kHz (8.3.7), and the noise with the system switched on is below -47 dB, or no more than 1 dB over the loop-off level, depending on the site's reference signal-to-noise ratio (10.4.7 as amended).verify_small_volume_systemjudges a refuge, call point or counter at the points of Figures 2 and 3 as the amendment draws them (small_volume_measurement_points), or at the points of a useful volume agreed by contract, which has to include each height of 9.2 or 9.3 (9.4): within 6 dB everywhere, 0 dB at one point, nowhere in the standing area above +8 dB.verify_amplifier_overloadruns the overload test of the amendment, 7 dB down, from 1 kHz to where the loop voltage first doubles or to the frequency of Table 4 (OVERLOAD_TEST_FREQUENCIES), whichever is higher, and judges the loop voltage at the Table 4 frequency, where 10.3.3 puts the requirement, against the amplifier's compliance voltage; an amplifier current response, the way a correction for metal loss shows, can be passed in.electroacoustics.induction_loop_componentsholds the components.rectangular_loop_fieldis the exact Biot-Savart field of a rectangular loop of any number of turns at any point, andloop_centre_fieldthe centre formula of E.1.loop_currentandloop_dimensionsgive the current a loop needs for 400 mA/m 1.4 m above its centre and the largest square or 3:1 loop an amplifier drives there (5.4.10, 5.4.11).loop_resistanceuses the copper of IEC 60028,rectangular_loop_inductanceGrover's Formula (58), andloop_impedancecombines them into the load an amplifier sees. For the amplifier,maximum_output_currentreads the distortion-limited current of 5.4.7 from a sweep of the voltage across the load resistance and the distortion there,compliance_voltageis 5.4.8,equivalent_input_noise_voltageandamplifier_signal_to_noise_ratioare 5.4.9,amplifier_frequency_responseis 5.4.12,agc_characteristicreads the AGC range exactly on the measured characteristic, against the 32 dB 5.4.13.4 recommends, andquadrature_phase_erroris 5.4.14.neck_loop_characteristicsgives the input voltage for 400 mA/m, the minimum input impedance and the 3 dB frequencies of clause 9, andverify_neck_loopjudges a neck loop against the two types of the draft Amendment 2 (NECK_LOOP_TYPES), which is cited as a draft throughout.Every result has
.plot(), and every verdict is a single object withpasses. A new guide, Audio-Frequency Induction Loops (IEC 60118-4), in English and Spanish under Electroacoustics, takes the reference and its units, the field of a loop, the loop as a load, the meter and the signals, a 10 m by 20 m place of worship, a counter, the overload test, an amplifier and a neck loop through both standards, with seven figures and a diagram of where each kind of system is measured.Nothing breaks. Every name is new and lives in
phonometry.electroacoustics; the package root is unchanged and no existing function changes its signature or its output, so there is nothing to migrate.Every limit, table and figure was read on the printed page: IEC 60118-4:2014 in BS EN 60118-4:2015, its Amendment 1 in UNE-EN IEC 60118-4:2016/A1:2018 (whose text replaces clauses 9 and 10, and is what the library applies), IEC 62489-1:2010 with Amendment 1 in the consolidated BS EN 62489-1:2010+A1:2015, the draft Amendment 2 in E DIN EN 62489-1/A2:2017-10, IEC 60028:1925 for copper and Grover's Inductance Calculations for Formula (58). The oracles are the printed values: Table B.1 of IEC 62489-1, whose six resistances come back from the 20 degree resistivity and four of whose six inductances come back from Formula (58) without its internal term, with the impedances of all six from its printed R and L; Table 4 and the dimensions of Figures 2 and 3 of the amendment; Tables 2 and 3 and the classes of 7.2; the telecoil's cosine law and the magnetic units of Annex E; the quadrature example of 5.4.14.1; the centre formula of E.1, written in the conformance row, against the Biot-Savart field; two points on each curve of Figure E.2 b), within half a decibel; and the ends of the five curves of Figure H.1 at a 10 m shorter side, within 0.03 A, both read off the page. The limits of 8.2.7, 8.3.7, 8.4.3, 9.5, 10.3.3 and 10.4.7 are held at their printed value and just past it. The conformance report gains 67 rows, all passing, and the tests hold what the plots draw as well as the numbers.
What is not here, and why: the metal loss of Annex F has no model in the standard and none here, since its correction is the response the installer measures; the draft's Table D.1 rests on a battery model it does not give; the inductances Table B.1 prints for the neck loop and the 15 m by 40 m loop are not reached by any reading of the wire size and are not claimed; the loop listener, the assistive listening device and the monitoring devices of IEC 62489-1 are single values to compare; and the electromagnetic exposure of IEC 62489-2 is outside the library.
Thirteen printed defects of the three documents are in the errata register in both languages, each with its document, PDF page and printed folio: the band-limit responses of 6.4 NOTE 2 and of 5.4.8.2 NOTE 3 printed the wrong way round; the "at least one-third-order" filters of 6.4 for third-order; the meter of 6.6 and 8.2.1 referred to 5.1 for 6.1; the outer radius of Figure 2 a) keyed as 200 mm, which the amendment corrects; the +12 dB of the informative Annex A.4 against the +8 dB of 9.5; the vertical-field line of Figure E.2 a) drawn along the loop, while both curves of panel b) are the traverse across its width that E.1 describes; the flux density of 1 A/m printed as 1,256 µT; the references of 8.4 to a 10.2.7 the amendment moves to 10.4.7; the noise rule of 10.2.7 and 10.4.7, whose "greater than 47 dB" and "less than 47 dB" leave exactly 47 dB out, where the library applies the 1 dB rule; the counter loop's perimeter of Table B.1; the maximum output current of 5.4.8.2 a) referred to 5.4.5 for 5.4.7; the fall of 5.4.14.1 printed as 0,72 dB where it is 0,79 dB; and a Figure 1 in F.2.3 for Figure F.1.
Gates. On this branch ruff check and ruff format are clean (1257 files), mypy is clean on 660 files of src, scripts, the stub and the typing tests, and bandit is clean; the conformance report (1758 of 1758 checks), the API reference, the llms files, the site reports, the catalogue data and the PyPI readme regenerate without a diff; the test modules this change adds or touches pass (436 passed); and the checks on frozen constants, parameter units, published sources, errata evidence, em dashes, digit grouping and markdown hazards, the static checks of the documentation snippets (7030 blocks over 714 pages), the guides index (159 guides) and the language parity pass. On the branch at the top of this stack, which carries this change as it is here, the full suite passes (25 145 passed, 71 skipped), every documentation snippet runs (7159 blocks over 723 pages), the site builds (971 pages) with 0 type errors, 0 warnings and clean HTML validation, and a fresh regeneration of the figures and the example fiches reproduces all 3172 committed figures and 75 fiches unchanged and passes the figure checks on contrast, language, annotations, ticks, decimal points, legends, tick and text clearance and minus signs.