{"id":100280,"date":"2026-02-15T20:31:38","date_gmt":"2026-02-15T20:31:38","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100280"},"modified":"2026-07-16T20:11:13","modified_gmt":"2026-07-16T20:11:13","slug":"vibration-checklist-generator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/fi\/calculators\/vibration-checklist-generator\/","title":{"rendered":"Source-Controlled Vibration Acquisition Worksheet"},"content":{"rendered":"\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"Source-Controlled Vibration Acquisition Worksheet\",\"description\":\"Calculates transparent DFT record timing, bin spacing, overlap, sequential acquisition time and a raw-data payload lower bound from user-verified acquisition settings. It does not generate ISO alarm limits or machine-specific measurement recommendations.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/vibration-checklist-generator\/\",\"applicationCategory\":\"EngineeringApplication\",\"operatingSystem\":\"Any\",\"isAccessibleForFree\":true,\"dateModified\":\"2026-07-16\",\"inLanguage\":\"en\",\"featureList\":[\"Explicit acquisition settings\",\"DFT bin spacing\",\"Exact overlap and ensemble sample count\",\"Sequential time lower bound\",\"Raw payload lower bound\",\"No ISO alarm or acceptance verdict\"]}\n<\/script>\n<script type=\"application\/ld+json\">\n{\"@context\":\"https:\/\/schema.org\",\"@type\":\"BreadcrumbList\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/vibromera.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Calculators\",\"item\":\"https:\/\/vibromera.eu\/calculators\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Vibration Acquisition Worksheet\",\"item\":\"https:\/\/vibromera.eu\/calculators\/vibration-checklist-generator\/\"}]}\n<\/script>\n\n<style>\n#vbm-acq{--aq-ink:#19232d;--aq-muted:#596571;--aq-soft:#f5f7f8;--aq-line:#d8e0e5;--aq-accent:#b64b2a;--aq-accent2:#88351d;--aq-blue:#155a82;--aq-blue-bg:#eef8fc;--aq-warn:#855800;--aq-warn-bg:#fff8df;--aq-danger:#982d2d;--aq-danger-bg:#fff0f0;--aq-good:#23613f;--aq-good-bg:#eef9f2;--aq-radius:10px;max-width:1020px;margin:0 auto;color:var(--aq-ink);font-family:Inter,system-ui,-apple-system,\"Segoe UI\",sans-serif;line-height:1.55}\n#vbm-acq *{box-sizing:border-box}\n#vbm-acq .aq-head{text-align:center;padding:42px 20px 30px;border-bottom:1px solid var(--aq-line)}\n#vbm-acq .aq-eyebrow{margin:0 0 8px;color:var(--aq-accent);font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}\n#vbm-acq h1{margin:0 0 12px;font-size:clamp(27px,4vw,40px);line-height:1.15;letter-spacing:-.025em}\n#vbm-acq .aq-sub{max-width:830px;margin:0 auto;color:var(--aq-muted);font-size:15px}\n#vbm-acq .aq-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:17px}\n#vbm-acq .aq-tag{padding:4px 10px;border:1px solid var(--aq-line);border-radius:999px;background:#fff;color:var(--aq-muted);font-size:12px;font-weight:700}\n#vbm-acq .aq-callout{margin:22px 0;padding:15px 17px;border-left:4px solid var(--aq-danger);border-radius:6px;background:var(--aq-danger-bg);color:#6f2525;font-size:14px}\n#vbm-acq .aq-callout strong{color:#591e1e}\n#vbm-acq .aq-card{margin-top:22px;border:1px solid var(--aq-line);border-radius:var(--aq-radius);background:#fff;box-shadow:0 5px 18px rgba(25,35,45,.06);overflow:hidden}\n#vbm-acq .aq-card-head{padding:18px 22px;border-bottom:1px solid var(--aq-line);background:var(--aq-soft)}\n#vbm-acq .aq-card-head h2{margin:0;font-size:21px}\n#vbm-acq .aq-card-head p{margin:5px 0 0;color:var(--aq-muted);font-size:13px}\n#vbm-acq .aq-body{padding:22px}\n#vbm-acq .aq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}\n#vbm-acq .aq-field-wide{grid-column:1\/-1}\n#vbm-acq label,#vbm-acq legend{display:block;margin-bottom:6px;font-size:13px;font-weight:750;color:var(--aq-ink)}\n#vbm-acq .aq-hint{display:block;margin-top:4px;color:var(--aq-muted);font-size:11.5px;font-weight:500}\n#vbm-acq input[type=\"text\"],#vbm-acq textarea{width:100%;padding:10px 12px;border:1.5px solid #bdc8d0;border-radius:7px;background:#fff;color:var(--aq-ink);font:inherit;font-size:14px}\n#vbm-acq textarea{min-height:92px;resize:vertical}\n#vbm-acq input:focus,#vbm-acq textarea:focus{outline:3px solid rgba(21,90,130,.14);border-color:var(--aq-blue)}\n#vbm-acq fieldset{margin:21px 0 0;padding:0;border:0}\n#vbm-acq .aq-check{display:grid;grid-template-columns:20px 1fr;gap:9px;align-items:start;margin:10px 0;color:var(--aq-muted);font-size:13px}\n#vbm-acq .aq-check input{width:17px;height:17px;margin:2px 0 0;accent-color:var(--aq-accent)}\n#vbm-acq .aq-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}\n#vbm-acq button{border:0;border-radius:7px;padding:10px 16px;font:inherit;font-size:13px;font-weight:800;cursor:pointer}\n#vbm-acq .aq-primary{background:var(--aq-accent);color:#fff}\n#vbm-acq .aq-primary:hover{background:var(--aq-accent2)}\n#vbm-acq .aq-secondary{border:1px solid var(--aq-line);background:#fff;color:var(--aq-ink)}\n#vbm-acq .aq-secondary:hover{background:var(--aq-soft)}\n#vbm-acq .aq-errors{display:none;margin-top:16px;padding:13px 15px;border:1px solid #efb7b7;border-radius:7px;background:var(--aq-danger-bg);color:var(--aq-danger);font-size:13px}\n#vbm-acq .aq-errors.aq-show{display:block}\n#vbm-acq .aq-errors ul{margin:6px 0 0 20px;padding:0}\n#vbm-acq .aq-status{min-height:20px;margin-top:10px;color:var(--aq-muted);font-size:12px}\n#vbm-acq .aq-results{display:none;padding:22px;border-top:1px solid var(--aq-line);background:var(--aq-soft)}\n#vbm-acq .aq-results.aq-show{display:block}\n#vbm-acq .aq-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}\n#vbm-acq .aq-result{min-height:110px;padding:15px;border:1px solid var(--aq-line);border-radius:8px;background:#fff}\n#vbm-acq .aq-result-main{grid-column:1\/-1;border:2px solid var(--aq-accent);background:#fff9f6}\n#vbm-acq .aq-result-label{margin-bottom:5px;color:var(--aq-muted);font-size:10.5px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}\n#vbm-acq .aq-result-value{font-variant-numeric:tabular-nums;font-size:20px;font-weight:850;line-height:1.25;overflow-wrap:anywhere}\n#vbm-acq .aq-result-main .aq-result-value{color:var(--aq-accent);font-size:29px}\n#vbm-acq .aq-result-note{margin-top:5px;color:var(--aq-muted);font-size:11.5px}\n#vbm-acq .aq-source-echo{margin-top:14px;padding:13px 15px;border:1px solid var(--aq-line);border-radius:7px;background:#fff;color:var(--aq-muted);font-size:12.5px;overflow-wrap:anywhere;white-space:pre-wrap}\n#vbm-acq .aq-safety{margin-top:14px;padding:14px 16px;border-left:4px solid var(--aq-warn);border-radius:6px;background:var(--aq-warn-bg);color:#60460f;font-size:13px}\n#vbm-acq .aq-section{margin-top:22px;border:1px solid var(--aq-line);border-radius:var(--aq-radius);background:#fff;overflow:hidden}\n#vbm-acq .aq-section h2{margin:0;padding:18px 22px;border-bottom:1px solid var(--aq-line);background:var(--aq-soft);font-size:20px}\n#vbm-acq .aq-section-in{padding:20px 22px}\n#vbm-acq .aq-section h3{margin:22px 0 8px;font-size:17px}\n#vbm-acq .aq-section h3:first-child{margin-top:0}\n#vbm-acq .aq-section p,#vbm-acq .aq-section li{color:var(--aq-muted);font-size:14px}\n#vbm-acq .aq-formula{margin:10px 0;padding:13px 15px;border:1px solid var(--aq-line);border-radius:7px;background:var(--aq-soft);font-family:\"Cascadia Mono\",Consolas,monospace;font-size:14px;overflow-x:auto}\n#vbm-acq .aq-table-wrap{overflow-x:auto}\n#vbm-acq table{width:100%;min-width:790px;border-collapse:collapse;font-size:13px}\n#vbm-acq th,#vbm-acq td{padding:10px;border:1px solid var(--aq-line);text-align:left;vertical-align:top}\n#vbm-acq th{background:var(--aq-soft);font-size:11px;text-transform:uppercase;letter-spacing:.04em}\n#vbm-acq a{color:var(--aq-blue)}\n#vbm-acq details{border-top:1px solid var(--aq-line)}\n#vbm-acq details:first-child{border-top:0}\n#vbm-acq summary{padding:14px 0;cursor:pointer;font-weight:800}\n#vbm-acq details p{margin:0 0 15px}\n#vbm-acq .aq-needs{margin-top:15px;padding:13px 15px;border:1px solid #efd794;border-radius:7px;background:var(--aq-warn-bg);color:#65490c;font-size:13px}\n#vbm-acq .aq-removed{padding:14px 16px;border-left:4px solid var(--aq-good);border-radius:6px;background:var(--aq-good-bg);color:#224f37;font-size:13px}\n#vbm-acq footer{padding:28px 16px;text-align:center;color:var(--aq-muted);font-size:12px}\n@media(max-width:760px){#vbm-acq .aq-grid,#vbm-acq .aq-result-grid{grid-template-columns:1fr}#vbm-acq .aq-result-main{grid-column:1}#vbm-acq .aq-body,#vbm-acq .aq-results,#vbm-acq .aq-section-in{padding:17px}#vbm-acq .aq-card-head,#vbm-acq .aq-section h2{padding:16px 17px}}\n@media print{#vbm-acq .aq-actions{display:none}#vbm-acq .aq-card{box-shadow:none}#vbm-acq .aq-results{display:block}}\n<\/style>\n\n<div id=\"vbm-acq\">\n  <header class=\"aq-head\">\n    <p class=\"aq-eyebrow\">Engineering worksheet &#8211; source controlled<\/p>\n    <h1>Vibration Acquisition Worksheet<\/h1>\n    <p class=\"aq-sub\">Record already selected acquisition settings and calculate their transparent timing, DFT spacing, overlap and raw-payload arithmetic. The worksheet does not choose machine-specific settings or create an ISO acceptance plan.<\/p>\n    <div class=\"aq-tags\"><span class=\"aq-tag\">Explicit settings only<\/span><span class=\"aq-tag\">No automatic Fmax<\/span><span class=\"aq-tag\">No ISO alarm limits<\/span><\/div>\n  <\/header>\n\n  <div class=\"aq-callout\"><strong>This is not a measurement-plan generator.<\/strong> Select the sensor, mounting, point, direction, quantity, descriptor, bandwidth, filters, window, averaging method, route interval and acceptance criteria from the applicable machine standard, manufacturer instructions and a competent procedure. This page performs arithmetic only after those choices are documented.<\/div>\n\n  <section class=\"aq-card\" aria-labelledby=\"aq-input-title\">\n    <div class=\"aq-card-head\"><h2 id=\"aq-input-title\">Controlled acquisition record<\/h2><p>All fields are required. Decimal point and decimal comma are accepted for frequency fields. Integer fields accept ungrouped digits only. No result is calculated until explicit submission.<\/p><\/div>\n    <form id=\"aq-form\" class=\"aq-body\" novalidate>\n      <div class=\"aq-grid\">\n        <div>\n          <label for=\"aq-asset\">Asset and measurement point<\/label>\n          <input id=\"aq-asset\" type=\"text\" autocomplete=\"off\" placeholder=\"e.g. P-101 DE bearing, horizontal\">\n          <span class=\"aq-hint\">Identify the asset, point and direction; the worksheet does not select them.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-source\">Procedure and instrument-setting source<\/label>\n          <input id=\"aq-source\" type=\"text\" autocomplete=\"off\" placeholder=\"e.g. VM-07 rev 3; analyzer setup A-12\">\n          <span class=\"aq-hint\">Use a traceable document or controlled setup identifier.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-finterest\">Highest frequency of interest, Hz<\/label>\n          <input id=\"aq-finterest\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"e.g. 1000\">\n          <span class=\"aq-hint\">Used only for the mathematical Nyquist precondition check.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-fs\">Sample rate f<sub>s<\/sub>, samples\/s<\/label>\n          <input id=\"aq-fs\" type=\"text\" inputmode=\"decimal\" autocomplete=\"off\" placeholder=\"e.g. 5120\">\n          <span class=\"aq-hint\">Enter the actual saved-data rate, not an assumed analyzer bandwidth.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-n\">Samples per record N<\/label>\n          <input id=\"aq-n\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"e.g. 4096\">\n          <span class=\"aq-hint\">Positive integer from 2 to 10,000,000.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-m\">Averaged records M<\/label>\n          <input id=\"aq-m\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"e.g. 4\">\n          <span class=\"aq-hint\">Number of equal-length records in the ensemble.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-h\">Hop between record starts H, samples<\/label>\n          <input id=\"aq-h\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"e.g. 1024\">\n          <span class=\"aq-hint\">1 to N. Overlap is derived as 100(1 &#8211; H\/N)%.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-p\">Sequential acquisition setups P<\/label>\n          <input id=\"aq-p\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"e.g. 12\">\n          <span class=\"aq-hint\">Each point\/direction\/configuration requiring a separate recording.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-c\">Simultaneous saved channels C<\/label>\n          <input id=\"aq-c\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"e.g. 2\">\n          <span class=\"aq-hint\">Simultaneous channels affect payload, not sequential acquisition time.<\/span>\n        <\/div>\n        <div>\n          <label for=\"aq-b\">Saved bytes per sample per channel B<\/label>\n          <input id=\"aq-b\" type=\"text\" inputmode=\"numeric\" autocomplete=\"off\" placeholder=\"e.g. 4\">\n          <span class=\"aq-hint\">Use the actual storage representation; 4 bytes is not assumed.<\/span>\n        <\/div>\n        <div class=\"aq-field-wide\">\n          <label for=\"aq-config\">Configuration and operating-state record<\/label>\n          <textarea id=\"aq-config\" placeholder=\"Sensor and calibration; mounting; quantity and amplitude descriptor; coupling\/IEPE; analog and digital filters; usable bandwidth; anti-aliasing; window; averaging convention; operating state\/load\/speed; tach\/order reference; file format and metadata\"><\/textarea>\n          <span class=\"aq-hint\">Document what the arithmetic cannot validate.<\/span>\n        <\/div>\n      <\/div>\n\n      <fieldset>\n        <legend>Required confirmations<\/legend>\n        <label class=\"aq-check\"><input id=\"aq-confirm-procedure\" type=\"checkbox\"><span>I selected the measurement point, direction, sensor, quantity, descriptor, operating state and route interval from an applicable controlled procedure; this worksheet did not recommend them.<\/span><\/label>\n        <label class=\"aq-check\"><input id=\"aq-confirm-instrument\" type=\"checkbox\"><span>I verified the analyzer&#8217;s actual sample rate, usable bandwidth, anti-alias filter, window, hop\/overlap convention, averaging behavior, saved channels and sample representation.<\/span><\/label>\n        <label class=\"aq-check\"><input id=\"aq-confirm-scope\" type=\"checkbox\"><span>I understand that the result is not an ISO alarm limit, acceptance decision, bearing diagnosis, complete measurement plan or proof that the selected acquisition settings are adequate.<\/span><\/label>\n      <\/fieldset>\n\n      <div class=\"aq-actions\">\n        <button class=\"aq-primary\" type=\"submit\">Calculate documented settings<\/button>\n        <button class=\"aq-secondary\" id=\"aq-example\" type=\"button\">Load arithmetic example<\/button>\n        <button class=\"aq-secondary\" id=\"aq-clear\" type=\"button\">Clear<\/button>\n      <\/div>\n      <div id=\"aq-errors\" class=\"aq-errors\" role=\"alert\" aria-live=\"assertive\"><\/div>\n      <div id=\"aq-status\" class=\"aq-status\" aria-live=\"polite\">No result until the form is submitted.<\/div>\n    <\/form>\n\n    <div id=\"aq-results\" class=\"aq-results\" aria-live=\"polite\">\n      <div class=\"aq-result-grid\">\n        <div class=\"aq-result aq-result-main\"><div class=\"aq-result-label\">Sequential signal-time lower bound<\/div><div id=\"aq-out-sequential\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">P times the ensemble signal duration; excludes setup, settling, movement, instrument processing and operator time.<\/div><\/div>\n        <div class=\"aq-result\"><div class=\"aq-result-label\">One record duration<\/div><div id=\"aq-out-record-duration\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">T = N \/ f<sub>s<\/sub>.<\/div><\/div>\n        <div class=\"aq-result\"><div class=\"aq-result-label\">DFT bin spacing<\/div><div id=\"aq-out-bin\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">Delta f = f<sub>s<\/sub> \/ N = 1 \/ T; not resolving power.<\/div><\/div>\n        <div class=\"aq-result\"><div class=\"aq-result-label\">Nyquist frequency<\/div><div id=\"aq-out-nyquist\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">f<sub>s<\/sub>\/2 is a mathematical marker, not usable instrument bandwidth.<\/div><\/div>\n        <div class=\"aq-result\"><div class=\"aq-result-label\">Record overlap<\/div><div id=\"aq-out-overlap\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">Derived from the exact integer hop H.<\/div><\/div>\n        <div class=\"aq-result\"><div class=\"aq-result-label\">Unique ensemble samples<\/div><div id=\"aq-out-samples\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">N + (M &#8211; 1)H per simultaneous channel.<\/div><\/div>\n        <div class=\"aq-result\"><div class=\"aq-result-label\">Ensemble signal duration<\/div><div id=\"aq-out-ensemble\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">Unique sample count divided by f<sub>s<\/sub>.<\/div><\/div>\n        <div class=\"aq-result\"><div class=\"aq-result-label\">Raw payload lower bound<\/div><div id=\"aq-out-bytes\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">Exact raw sample bytes only; excludes headers, metadata and processed results.<\/div><\/div>\n        <div class=\"aq-result\"><div class=\"aq-result-label\">Sampling precondition<\/div><div id=\"aq-out-sampling\" class=\"aq-result-value\">&#8211;<\/div><div class=\"aq-result-note\">Checks only whether f<sub>s<\/sub> is strictly greater than 2f<sub>interest<\/sub>.<\/div><\/div>\n      <\/div>\n      <div id=\"aq-out-record\" class=\"aq-source-echo\"><\/div>\n      <div class=\"aq-safety\"><strong>Arithmetic is not adequacy.<\/strong> Being below the Nyquist marker does not verify sensor response, mounting, signal conditioning, anti-alias attenuation, analyzer usable bandwidth, window leakage, dynamic range, transient capture, order tracking or diagnostic sensitivity. Obtain those facts from the actual measurement chain and procedure.<\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"aq-section\">\n    <h2>Equations and boundaries<\/h2>\n    <div class=\"aq-section-in\">\n      <h3>Record and DFT arithmetic<\/h3>\n      <div class=\"aq-formula\">T = N \/ f_s [s]<br>Delta f = f_s \/ N = 1 \/ T [Hz]<br>f_Nyquist = f_s \/ 2 [Hz]<\/div>\n      <p>N is the number of uniformly spaced samples in one record and f<sub>s<\/sub> is the sample rate in samples\/s. Delta f is the spacing between unpadded DFT bins. It is not a guarantee that two nearby components can be resolved; window shape, record content, signal-to-noise ratio and analysis method also matter. Zero padding can add displayed frequency points without improving observation-time resolution.<\/p>\n      <h3>Overlap and ensemble duration<\/h3>\n      <div class=\"aq-formula\">overlap = 100(1 &#8211; H\/N)%<br>N_unique = N + (M &#8211; 1)H<br>T_ensemble = N_unique \/ f_s<br>T_sequential,min = P T_ensemble<\/div>\n      <p>H is the integer hop between record starts, M is the number of averaged records and P is the number of sequential acquisition setups. A simultaneous channel does not add sequential signal time. This uses the common acquisition sample-count convention N\/f<sub>s<\/sub>; the elapsed interval from the first sample instant to the last sample instant is one sample interval shorter.<\/p>\n      <h3>Raw sample payload lower bound<\/h3>\n      <div class=\"aq-formula\">bytes_raw,min = P C N_unique B<\/div>\n      <p>C is the number of simultaneously saved channels and B is the actual bytes stored for each sample of each channel. The exact integer result excludes file headers, timestamps, metadata, padding, compression behavior, tachometer channels, spectra, cross-channel products and other processed data. It is therefore a lower bound, not a file-size prediction.<\/p>\n      <h3>Necessary sampling precondition only<\/h3>\n      <div class=\"aq-formula\">f_s &gt; 2 f_interest<\/div>\n      <p>The worksheet flags whether the entered settings satisfy this strict mathematical precondition. Passing it is not sufficient evidence that the selected frequency band is valid. A realizable acquisition requires a compatible sensor and signal chain plus anti-alias filtering and the instrument&#8217;s specified usable bandwidth.<\/p>\n    <\/div>\n  <\/section>\n\n  <section class=\"aq-section\">\n    <h2>What was removed from the former generator<\/h2>\n    <div class=\"aq-section-in\">\n      <div class=\"aq-removed\"><strong>Confirmed unsafe shortcuts removed:<\/strong> machine-type multipliers for Fmax, automatic three-direction point counts, a rounded frequency bucket, approximate BPFO = 0.4 x rolling-elements x shaft frequency, fixed four-byte storage, and generic ISO 10816 Group 2 alarm bands. None had enough input data or source-controlled scope to support the generated recommendation.<\/div>\n      <ul>\n        <li>Bearing characteristic frequencies require bearing geometry and contact angle. The official SKF formula for BPFO contains rolling-element count, rolling-element diameter, pitch diameter and contact angle; a universal 0.4 multiplier is not an exact bearing calculation.<\/li>\n        <li>Four records with 75% overlap use a hop of N\/4, so the unique ensemble count is N + 3N\/4 = 1.75N, not 2.5N.<\/li>\n        <li>ISO 10816 has multiple machine-specific parts and has been replaced progressively by the ISO 20816 series. A generic four-zone table cannot be attached to every asset or measurement quantity.<\/li>\n        <li>Derived parameters may be produced from the same acquired channels. Multiplying acquisition time by a list of displayed parameters overstates signal time unless each parameter truly requires a separate acquisition setup.<\/li>\n      <\/ul>\n    <\/div>\n  <\/section>\n\n  <section class=\"aq-section\">\n    <h2>Standard and source record<\/h2>\n    <div class=\"aq-section-in\">\n      <div class=\"aq-table-wrap\">\n        <table>\n          <thead><tr><th>Source<\/th><th>Status checked 16 Jul 2026<\/th><th>What it supports here<\/th><th>What it does not support<\/th><\/tr><\/thead>\n          <tbody>\n            <tr><td><a href=\"https:\/\/www.iso.org\/standard\/21831.html\" rel=\"noopener\" target=\"_blank\">ISO 13373-1:2002<\/a>, Edition 1<\/td><td>Published; confirmed in 2024, stage 90.93.<\/td><td>Official scope covers general vibration condition-monitoring measurement and data-collection procedures, including parameters, transducers, locations, attachment, operating conditions and signal conditioning.<\/td><td>The public abstract does not prescribe the numeric settings entered here or justify an automatic machine plan.<\/td><\/tr>\n            <tr><td><a href=\"https:\/\/www.iso.org\/standard\/68128.html\" rel=\"noopener\" target=\"_blank\">ISO 13373-2:2016<\/a>, Edition 2<\/td><td>Published; systematic review underway, stage 90.20 at the audit date.<\/td><td>Official scope covers processing, analysis and presentation of vibration data and notes that some techniques are application-specific.<\/td><td>The public abstract does not establish this worksheet&#8217;s arithmetic as an ISO formula or select Fmax, averaging or alarms.<\/td><\/tr>\n            <tr><td><a href=\"https:\/\/www.iso.org\/standard\/71194.html\" rel=\"noopener\" target=\"_blank\">ISO 17359:2018<\/a>, Edition 3<\/td><td>Published; confirmed in 2023, stage 90.93.<\/td><td>Official scope provides general procedures for setting up condition-monitoring programmes for machines.<\/td><td>It does not make a generic web form a complete programme or acceptance procedure.<\/td><\/tr>\n            <tr><td><a href=\"https:\/\/www.iso.org\/standard\/63180.html\" rel=\"noopener\" target=\"_blank\">ISO 20816-1:2016<\/a>, Edition 1<\/td><td>Published; stage 90.92, revision in progress.<\/td><td>General framework for measurement and evaluation of machine vibration.<\/td><td>It does not justify universal ISO 10816 alarm bands, point directions or an automatic measurement plan.<\/td><\/tr>\n            <tr><td><a href=\"https:\/\/www.ni.com\/en\/shop\/wireless-design-test\/spectrum-and-signal-analyzers\/what-is-a-vector-signal-analyzer\/spectrum-analyzer-determined-by-choice-of-measurements.html\" rel=\"noopener\" target=\"_blank\">NI, Spectrum Analyzer Measurements<\/a><\/td><td>Official manufacturer technical guide; accessed 16 Jul 2026.<\/td><td>DFT bins and the inverse relationship between record duration and frequency-bin spacing.<\/td><td>Bin spacing alone does not prove component separability or acquisition adequacy.<\/td><\/tr>\n            <tr><td><a href=\"https:\/\/www.ni.com\/en\/shop\/data-acquisition\/measurement-fundamentals\/analog-fundamentals\/acquiring-an-analog-signal--bandwidth--nyquist-sampling-theorem-.html\" rel=\"noopener\" target=\"_blank\">NI, Bandwidth and Nyquist Sampling Theorem<\/a><\/td><td>Official manufacturer technical guide; accessed 16 Jul 2026.<\/td><td>Sampling must exceed twice the highest frequency component and anti-alias filtering is required.<\/td><td>The Nyquist marker is not the specified usable bandwidth of a real instrument chain.<\/td><\/tr>\n            <tr><td><a href=\"https:\/\/www.skf.com\/binaries\/pub12\/Images\/0901d1968024acef-CM5118-EN-Spectrum-Analysis_tcm_12-113997.pdf\" rel=\"noopener\" target=\"_blank\">SKF, Spectrum Analysis &#8211; The key features of analyzing spectra<\/a>, CM5118 EN<\/td><td>Official manufacturer PDF; BPFO formula page visually checked.<\/td><td>Bearing characteristic frequencies require bearing geometry and contact angle; BPFO is not determined by element count and shaft speed alone.<\/td><td>It does not validate the former 0.4 approximation or generic ISO severity limits.<\/td><\/tr>\n          <\/tbody>\n        <\/table>\n      <\/div>\n      <div class=\"aq-needs\"><strong>NEEDS_LICENSED_SOURCE:<\/strong> the full normative texts of ISO 13373-1:2002, ISO 13373-2:2016, ISO 17359:2018 and ISO 20816-1:2016 are not licensed in this audit record. The page uses their official public scopes only. No clause number, acquisition setting, alarm threshold or normative formula is invented.<\/div>\n    <\/div>\n  <\/section>\n\n  <section class=\"aq-section\">\n    <h2>Worked arithmetic example<\/h2>\n    <div class=\"aq-section-in\">\n      <p>For f<sub>s<\/sub> = 5120 samples\/s, N = 4096, M = 4, H = 1024, P = 12 sequential setups, C = 2 simultaneous channels and B = 4 bytes\/sample: T = 0.8 s, Delta f = 1.25 Hz, f<sub>Nyquist<\/sub> = 2560 Hz, overlap = 75%, N<sub>unique<\/sub> = 7168 samples, T<sub>ensemble<\/sub> = 1.4 s, sequential signal-time lower bound = 16.8 s, and raw payload lower bound = 688,128 bytes (672 KiB). A 1000 Hz frequency of interest is below the mathematical Nyquist marker, but that statement alone does not verify usable bandwidth.<\/p>\n      <p>The example is reproducible arithmetic derived from the displayed equations. It is not a recommended analyzer setup or an ISO acceptance example.<\/p>\n    <\/div>\n  <\/section>\n\n  <section class=\"aq-section\">\n    <h2>Planning checks outside this worksheet<\/h2>\n    <div class=\"aq-section-in\">\n      <ul>\n        <li>Confirm the applicable machine\/product standard, edition, part, machine scope, support, operating state, quantity, amplitude descriptor, points, directions and evaluation band.<\/li>\n        <li>Confirm sensor type, transverse sensitivity, calibration status, mounting resonance, cable\/IEPE requirements, environmental limits and full measurement-chain uncertainty.<\/li>\n        <li>Confirm analog anti-alias response, usable analyzer bandwidth, sample-rate definition, decimation, AC\/DC coupling, high-pass and low-pass filters.<\/li>\n        <li>Confirm window, amplitude correction, spectral units, one-sided\/two-sided convention, DC\/Nyquist-bin handling, average type, overlap\/hop behavior and whether records are continuous.<\/li>\n        <li>For bearing frequencies, use exact bearing geometry and actual contact angle or verified manufacturer data; record slip assumptions and uncertainty where relevant.<\/li>\n        <li>Set alarms only under the exact applicable standard or controlled baseline procedure. Do not transfer ISO zones between different machine types, measurement quantities, descriptors or frequency bands.<\/li>\n      <\/ul>\n    <\/div>\n  <\/section>\n\n  <section class=\"aq-section\">\n    <h2>Frequently asked questions<\/h2>\n    <div class=\"aq-section-in\">\n      <details><summary>Does Delta f equal frequency resolution?<\/summary><p>It is the unpadded DFT-bin spacing. Practical ability to separate components also depends on window response, observation time, signal-to-noise ratio, component amplitudes and the analysis method. Zero padding does not create new observation-time information.<\/p><\/details>\n      <details><summary>Why enter hop in samples instead of only overlap percent?<\/summary><p>The exact integer hop defines record start locations and avoids hidden rounding. Overlap percent is then derived from H and N.<\/p><\/details>\n      <details><summary>Why is the time result a lower bound?<\/summary><p>It includes only the signal duration for sequential setups. Sensor placement, route travel, settling, speed changes, checks, instrument processing, retransmission and operator work are excluded.<\/p><\/details>\n      <details><summary>Why does channel count not multiply time?<\/summary><p>Channels recorded simultaneously share the same time interval. They multiply the raw data payload. If a channel or configuration must be acquired later, count it as another sequential setup P instead.<\/p><\/details>\n      <details><summary>Does passing the Nyquist check prove the setup is correct?<\/summary><p>No. It checks only one mathematical necessary condition. The sensor, mounting, signal conditioning, anti-alias filter and instrument bandwidth must support the required band, with adequate uncertainty and dynamic range.<\/p><\/details>\n      <details><summary>Can this worksheet calculate BPFO or ISO alarm limits?<\/summary><p>No. Bearing frequencies need actual bearing geometry and operating conditions. Alarm limits need the exact applicable standard or a controlled baseline procedure. The former approximations were removed rather than relabeled.<\/p><\/details>\n    <\/div>\n  <\/section>\n\n  <footer>Scientific audit revision: 16 July 2026. English source page; translations are reviewed only after the source is verified.<\/footer>\n<\/div>\n\n<script>\n(function(){\n  'use strict';\n  var root=document.getElementById('vbm-acq');\n  if(!root)return;\n  function byId(id){return document.getElementById(id)}\n  var form=byId('aq-form'),results=byId('aq-results'),errors=byId('aq-errors'),status=byId('aq-status');\n  function parseDecimal(raw,max){\n    var s=String(raw).trim();\n    if(!s||s.length>40||!\/^(?:\\d+(?:[.,]\\d*)?|[.,]\\d+)$\/.test(s))throw new Error('format');\n    var n=Number(s.replace(',','.'));\n    if(!Number.isFinite(n)||n<=0||n>max)throw new Error('range');\n    return n;\n  }\n  function parseInteger(raw,min,max){\n    var s=String(raw).trim();\n    if(!s||s.length>16||!\/^\\d+$\/.test(s))throw new Error('format');\n    var n=Number(s);\n    if(!Number.isSafeInteger(n)||n<min||n>max)throw new Error('range');\n    return n;\n  }\n  function fmt(n,d){\n    if(!Number.isFinite(n))return '-';\n    if(n===0)return'0';\n    var a=Math.abs(n);if(a>=1000000000||a<0.000001)return n.toExponential(6);\n    return n.toFixed(d).replace(\/(\\.\\d*?[1-9])0+$\/,'$1').replace(\/\\.0+$\/,'');\n  }\n  function commaInteger(value){return String(value).replace(\/\\B(?=(\\d{3})+(?!\\d))\/g,',')}\n  function humanBytes(bytes){\n    var exact=commaInteger(bytes.toString()),approx=Number(bytes),units=['bytes','KiB','MiB','GiB','TiB','PiB','EiB'],index=0;\n    while(approx>=1024&&index<units.length-1){approx\/=1024;index++;}\n    return exact+' bytes'+(index?' (about '+fmt(approx,3)+' '+units[index]+')':'');\n  }\n  function hideResults(){results.classList.remove('aq-show');errors.classList.remove('aq-show');errors.textContent='';status.textContent='Inputs changed; submit again to create a new controlled result.'}\n  function showErrors(items){\n    errors.textContent='';var strong=document.createElement('strong');strong.textContent='Correct the following:';errors.appendChild(strong);var list=document.createElement('ul');\n    items.forEach(function(item){var li=document.createElement('li');li.textContent=item;list.appendChild(li)});errors.appendChild(list);errors.classList.add('aq-show');status.textContent='No result was produced.';\n  }\n  function collect(){\n    var messages=[],fInterest=NaN,fs=NaN,n=NaN,m=NaN,h=NaN,p=NaN,c=NaN,b=NaN;\n    try{fInterest=parseDecimal(byId('aq-finterest').value,1000000000)}catch(e){messages.push('Highest frequency of interest must be one positive ungrouped decimal number, at most 1,000,000,000 Hz.');}\n    try{fs=parseDecimal(byId('aq-fs').value,1000000000)}catch(e){messages.push('Sample rate must be one positive ungrouped decimal number, at most 1,000,000,000 samples\/s.');}\n    try{n=parseInteger(byId('aq-n').value,2,10000000)}catch(e){messages.push('Samples per record N must be an integer from 2 to 10,000,000.');}\n    try{m=parseInteger(byId('aq-m').value,1,100000)}catch(e){messages.push('Averaged records M must be an integer from 1 to 100,000.');}\n    try{h=parseInteger(byId('aq-h').value,1,10000000)}catch(e){messages.push('Hop H must be a positive integer no greater than N.');}\n    try{p=parseInteger(byId('aq-p').value,1,100000)}catch(e){messages.push('Sequential setups P must be an integer from 1 to 100,000.');}\n    try{c=parseInteger(byId('aq-c').value,1,10000)}catch(e){messages.push('Simultaneous channels C must be an integer from 1 to 10,000.');}\n    try{b=parseInteger(byId('aq-b').value,1,1024)}catch(e){messages.push('Bytes per sample B must be an integer from 1 to 1,024.');}\n    if(Number.isSafeInteger(h)&&Number.isSafeInteger(n)&&h>n)messages.push('Hop H cannot exceed samples per record N.');\n    var asset=byId('aq-asset').value.trim();if(asset.length<6||asset.length>300)messages.push('Enter an identifiable asset\/point record (6 to 300 characters).');\n    var source=byId('aq-source').value.trim();if(source.length<6||source.length>300)messages.push('Enter a traceable procedure\/instrument-setting source (6 to 300 characters).');\n    var config=byId('aq-config').value.trim();if(config.length<20||config.length>3000)messages.push('Enter a configuration and operating-state record (20 to 3,000 characters).');\n    if(!byId('aq-confirm-procedure').checked)messages.push('Confirm that the measurement choices came from an applicable controlled procedure.');\n    if(!byId('aq-confirm-instrument').checked)messages.push('Confirm the actual instrument and storage conventions.');\n    if(!byId('aq-confirm-scope').checked)messages.push('Confirm the non-normative, non-diagnostic scope.');\n    return{messages:messages,fInterest:fInterest,fs:fs,n:n,m:m,h:h,p:p,c:c,b:b,asset:asset,source:source,config:config};\n  }\n  function calculate(x){\n    var nUniqueBig=BigInt(x.n)+(BigInt(x.m)-1n)*BigInt(x.h),payloadBig=BigInt(x.p)*BigInt(x.c)*nUniqueBig*BigInt(x.b),nUnique=Number(nUniqueBig);\n    var recordSec=x.n\/x.fs,binHz=x.fs\/x.n,nyquistHz=x.fs\/2,overlapPct=100*(1-x.h\/x.n),ensembleSec=nUnique\/x.fs,sequentialSec=x.p*ensembleSec,passes=x.fs>2*x.fInterest;\n    var values=[recordSec,binHz,nyquistHz,overlapPct,nUnique,ensembleSec,sequentialSec];if(!values.every(Number.isFinite))throw new Error('nonfinite');\n    return{recordSec:recordSec,binHz:binHz,nyquistHz:nyquistHz,overlapPct:overlapPct,nUniqueBig:nUniqueBig,payloadBig:payloadBig,ensembleSec:ensembleSec,sequentialSec:sequentialSec,passes:passes,ratio:x.fs\/(2*x.fInterest)};\n  }\n  form.addEventListener('submit',function(event){\n    event.preventDefault();results.classList.remove('aq-show');errors.classList.remove('aq-show');errors.textContent='';var x=collect();if(x.messages.length){showErrors(x.messages);return}\n    var r;try{r=calculate(x)}catch(e){showErrors(['The calculation exceeded the supported finite range.']);return}\n    byId('aq-out-sequential').textContent=fmt(r.sequentialSec,8)+' s';\n    byId('aq-out-record-duration').textContent=fmt(r.recordSec,9)+' s';\n    byId('aq-out-bin').textContent=fmt(r.binHz,9)+' Hz';\n    byId('aq-out-nyquist').textContent=fmt(r.nyquistHz,9)+' Hz';\n    byId('aq-out-overlap').textContent=fmt(r.overlapPct,9)+'%';\n    byId('aq-out-samples').textContent=commaInteger(r.nUniqueBig.toString())+' samples\/channel';\n    byId('aq-out-ensemble').textContent=fmt(r.ensembleSec,9)+' s';\n    byId('aq-out-bytes').textContent=humanBytes(r.payloadBig);\n    byId('aq-out-sampling').textContent=(r.passes?'Passes':'Fails')+' fs > 2f_interest (ratio '+fmt(r.ratio,6)+')';\n    byId('aq-out-record').textContent='Asset\/point: '+x.asset+'\\nProcedure\/setup source: '+x.source+'\\nConfiguration\/operating state: '+x.config;\n    results.classList.add('aq-show');status.textContent='Worksheet arithmetic created from the current visible inputs. No adequacy or acceptance verdict was produced.';\n  });\n  form.addEventListener('input',hideResults);form.addEventListener('change',hideResults);\n  byId('aq-example').addEventListener('click',function(){\n    form.reset();byId('aq-asset').value='Arithmetic example only - no machine acceptance context';byId('aq-source').value='Displayed equation example, scientific audit revision 16 July 2026';byId('aq-finterest').value='1000';byId('aq-fs').value='5120';byId('aq-n').value='4096';byId('aq-m').value='4';byId('aq-h').value='1024';byId('aq-p').value='12';byId('aq-c').value='2';byId('aq-b').value='4';byId('aq-config').value='Example arithmetic only: analyzer bandwidth, anti-alias response, sensor, mounting, window, file format and operating state are deliberately not validated.';hideResults();status.textContent='Arithmetic example loaded. Confirmations remain unchecked; verify every setting and scope statement before submitting.';\n  });\n  byId('aq-clear').addEventListener('click',function(){form.reset();results.classList.remove('aq-show');errors.classList.remove('aq-show');errors.textContent='';status.textContent='Cleared. No result until the form is submitted.'});\n})();\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>Calculate transparent record duration, DFT bin spacing, overlap, sequential acquisition time and a raw-data payload lower bound from documented analyzer settings; no automatic ISO alarms or machine recommendations.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100280","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/fi\/wp-json\/wp\/v2\/calculator\/100280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/fi\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/fi\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/fi\/wp-json\/wp\/v2\/calculator\/100280\/revisions"}],"predecessor-version":[{"id":102628,"href":"https:\/\/vibromera.eu\/fi\/wp-json\/wp\/v2\/calculator\/100280\/revisions\/102628"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/fi\/wp-json\/wp\/v2\/media?parent=100280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/fi\/wp-json\/wp\/v2\/categories?post=100280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/fi\/wp-json\/wp\/v2\/tags?post=100280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}