{"id":100093,"date":"2026-02-15T20:17:53","date_gmt":"2026-02-15T20:17:53","guid":{"rendered":"https:\/\/vibromera.eu\/?post_type=calculator&#038;p=100093"},"modified":"2026-07-12T04:35:54","modified_gmt":"2026-07-12T04:35:54","slug":"fft-resolution-calculator","status":"publish","type":"calculator","link":"https:\/\/vibromera.eu\/bn\/calculators\/fft-resolution-calculator\/","title":{"rendered":"FFT Bin Spacing and Record Resolution | Window Bandwidth"},"content":{"rendered":"\r\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"WebApplication\",\"name\":\"FFT Bin Spacing and Record Resolution Calculator\",\"description\":\"Calculate DFT bin-grid spacing,record-limited spacing,Nyquist frequency,one-sided bins and window bandwidth from actual sampling and FFT settings.\",\"url\":\"https:\/\/vibromera.eu\/calculators\/fft-resolution-calculator\/\",\"applicationCategory\":\"Engineering Calculator\",\"operatingSystem\":\"Any (Web Browser)\",\"offers\":{\"@type\":\"Offer\",\"price\":\"0\",\"priceCurrency\":\"EUR\"},\"creator\":{\"@type\":\"Organization\",\"name\":\"Vibromera\",\"url\":\"https:\/\/vibromera.eu\/\"},\"dateModified\":\"2026-07-12\",\"inLanguage\":\"en\",\"isAccessibleForFree\":true}<\/script>\r\n<script type=\"application\/ld+json\">{\"@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\":\"FFT bin spacing and record resolution\",\"item\":\"https:\/\/vibromera.eu\/calculators\/fft-resolution-calculator\/\"}]}<\/script>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<style>\r\n:root {\r\n    --vc-bg: #f4f1ec;\r\n    --vc-surface: #ffffff;\r\n    --vc-surface-alt: #f8f6f2;\r\n    --vc-ink: #1a1a1a;\r\n    --vc-ink-secondary: #5a5650;\r\n    --vc-ink-muted: #8a857e;\r\n    --vc-accent: #c85a2a;\r\n    --vc-accent-hover: #b04d22;\r\n    --vc-accent-light: #fdf0ea;\r\n    --vc-blue: #2a5c8c;\r\n    --vc-blue-light: #eaf1f8;\r\n    --vc-green: #2a7a4b;\r\n    --vc-green-light: #eaf8ef;\r\n    --vc-yellow: #a67c00;\r\n    --vc-yellow-light: #fef9e8;\r\n    --vc-red: #b91c1c;\r\n    --vc-red-light: #fef2f2;\r\n    --vc-border: #d9d4cc;\r\n    --vc-border-light: #e8e4dd;\r\n    --vc-shadow: 0 1px 3px rgba(26,26,26,0.06), 0 4px 12px rgba(26,26,26,0.04);\r\n    --vc-shadow-lg: 0 4px 12px rgba(26,26,26,0.08), 0 16px 40px rgba(26,26,26,0.06);\r\n    --vc-radius: 8px;\r\n    --vc-radius-lg: 12px;\r\n    --vc-font: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\r\n    --vc-mono: 'JetBrains Mono', 'Consolas', 'Monaco', monospace;\r\n    --vc-display: 'Fraunces', Georgia, serif;\r\n}\r\n.vc-calculator { font-family: var(--vc-font); font-size: 15px; line-height: 1.65; color: var(--vc-ink); max-width: 960px; margin: 0 auto; padding: 20px 16px 40px; -webkit-font-smoothing: antialiased; }\r\n.vc-calculator *, .vc-calculator *::before, .vc-calculator *::after { box-sizing: border-box; }\r\n.vc-header { text-align: center; padding: 48px 24px 40px; position: relative; }\r\n.vc-header::after { content:''; position:absolute; bottom:0; left:50%; transform:translateX(-50%); width:80px; height:3px; background:var(--vc-accent); border-radius:2px; }\r\n.vc-header-eyebrow { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.15em; text-transform:uppercase; color:var(--vc-accent); margin:0 0 12px; }\r\n.vc-header-title { font-family:var(--vc-display); font-size:clamp(24px,4vw,36px); font-weight:800; line-height:1.15; color:var(--vc-ink); margin:0 0 16px; letter-spacing:-0.02em; }\r\n.vc-header-subtitle { font-size:15px; color:var(--vc-ink-secondary); margin:0 auto 20px; max-width:600px; }\r\n.vc-badges { display:inline-flex; gap:8px; flex-wrap:wrap; justify-content:center; }\r\n.vc-badge { font-family:var(--vc-mono); font-size:11px; font-weight:500; padding:4px 10px; border-radius:4px; background:var(--vc-surface); border:1px solid var(--vc-border); color:var(--vc-ink-secondary); }\r\n.vc-card { background:var(--vc-surface); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); box-shadow:var(--vc-shadow); overflow:hidden; margin-top:32px; }\r\n.vc-form { padding:24px; }\r\n.vc-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }\r\n@media(max-width:600px) { .vc-form-grid { grid-template-columns:1fr; } }\r\n.vc-field { display:flex; flex-direction:column; }\r\n.vc-field-full { grid-column: 1 \/ -1; }\r\n.vc-label { font-size:12px; font-weight:600; letter-spacing:0.04em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:6px; }\r\n.vc-label-hint { font-weight:400; text-transform:none; letter-spacing:0; color:var(--vc-ink-muted); font-size:11px; }\r\n.vc-select, .vc-input { width:100%; padding:10px 12px; border:1.5px solid var(--vc-border); border-radius:6px; font-family:var(--vc-font); font-size:14px; color:var(--vc-ink); background:var(--vc-surface); transition:border-color 0.15s, box-shadow 0.15s; }\r\n.vc-select { padding-right:36px; appearance:none; -webkit-appearance:none; cursor:pointer; background-image:url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='16' height='16' fill='none' stroke='%235a5650' stroke-width='2'%3E%3Cpath d='M4 6l4 4 4-4'\/%3E%3C\/svg%3E\"); background-repeat:no-repeat; background-position:right 10px center; }\r\n.vc-select:focus, .vc-input:focus { outline:none; border-color:var(--vc-accent); box-shadow:0 0 0 3px rgba(200,90,42,0.12); }\r\n.vc-select:hover, .vc-input:hover { border-color:var(--vc-ink-muted); }\r\n.vc-presets { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; padding-top:18px; border-top:1px solid var(--vc-border-light); }\r\n.vc-presets-label { font-family:var(--vc-mono); font-size:11px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); width:100%; margin-bottom:2px; }\r\n.vc-preset-btn { padding:5px 12px; font-family:var(--vc-font); font-size:12px; font-weight:500; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\r\n.vc-preset-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\r\n.vc-results { border-top:1px solid var(--vc-border-light); background:var(--vc-surface-alt); padding:0; max-height:0; overflow:hidden; transition:max-height 0.5s cubic-bezier(0.4,0,0.2,1), padding 0.3s; }\r\n.vc-results.vc-visible { max-height:3000px; padding:24px; }\r\n.vc-results-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:18px; }\r\n.vc-results-title { font-family:var(--vc-display); font-size:20px; font-weight:700; color:var(--vc-ink); margin:0; }\r\n.vc-copy-btn { display:inline-flex; align-items:center; gap:5px; padding:6px 12px; border:1px solid var(--vc-border); border-radius:6px; background:var(--vc-surface); font-family:var(--vc-font); font-size:12px; font-weight:500; color:var(--vc-ink-secondary); cursor:pointer; transition:all 0.15s; }\r\n.vc-copy-btn:hover { border-color:var(--vc-accent); color:var(--vc-accent); }\r\n.vc-copy-btn.vc-copied { background:var(--vc-green-light); border-color:var(--vc-green); color:var(--vc-green); }\r\n.vc-result-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }\r\n@media(max-width:500px) { .vc-result-grid { grid-template-columns:1fr; } }\r\n.vc-rcard { background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); padding:16px; transition:transform 0.2s; }\r\n.vc-rcard:hover { transform:translateY(-1px); }\r\n.vc-rcard-primary { border-color:var(--vc-accent); border-width:2px; background:linear-gradient(135deg, #fdf6f2 0%, var(--vc-surface) 100%); grid-column:1 \/ -1; }\r\n.vc-rcard-label { font-family:var(--vc-mono); font-size:10px; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--vc-ink-muted); margin-bottom:4px; }\r\n.vc-rcard-value { font-family:var(--vc-mono); font-size:22px; font-weight:600; color:var(--vc-ink); line-height:1.2; }\r\n.vc-rcard-primary .vc-rcard-value { font-size:30px; color:var(--vc-accent); }\r\n.vc-rcard-unit { font-size:14px; font-weight:400; color:var(--vc-ink-secondary); }\r\n\r\n\/* Bearing defect info *\/\r\n.vc-bearing-box { margin-top:16px; padding:16px; background:var(--vc-surface); border:1px solid var(--vc-border-light); border-radius:var(--vc-radius); }\r\n.vc-bearing-title { font-family:var(--vc-mono); font-size:11px; font-weight:600; letter-spacing:0.08em; text-transform:uppercase; color:var(--vc-ink-secondary); margin-bottom:10px; }\r\n.vc-bearing-row { display:flex; justify-content:space-between; align-items:center; padding:6px 0; border-bottom:1px solid var(--vc-border-light); font-size:13px; }\r\n.vc-bearing-row:last-child { border-bottom:none; }\r\n.vc-bearing-name { color:var(--vc-ink-secondary); }\r\n.vc-bearing-status { font-family:var(--vc-mono); font-size:12px; font-weight:600; padding:2px 8px; border-radius:4px; }\r\n.vc-bearing-ok { background:var(--vc-green-light); color:var(--vc-green); }\r\n.vc-bearing-warn { background:var(--vc-yellow-light); color:var(--vc-yellow); }\r\n.vc-bearing-bad { background:var(--vc-red-light); color:var(--vc-red); }\r\n\r\n.vc-section { margin-top:24px; border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); background:var(--vc-surface); box-shadow:var(--vc-shadow); overflow:hidden; }\r\n.vc-section-toggle { width:100%; display:flex; align-items:center; justify-content:space-between; padding:18px 24px; border:none; background:transparent; cursor:pointer; font-family:var(--vc-font); text-align:left; transition:background 0.15s; }\r\n.vc-section-toggle:hover { background:var(--vc-surface-alt); }\r\n.vc-section-toggle-text { display:flex; align-items:center; gap:10px; }\r\n.vc-section-icon { font-size:20px; line-height:1; }\r\n.vc-section-title { font-family:var(--vc-display); font-size:18px; font-weight:700; color:var(--vc-ink); margin:0; }\r\n.vc-section-chevron { width:20px; height:20px; color:var(--vc-ink-muted); transition:transform 0.3s; flex-shrink:0; }\r\n.vc-section.vc-open .vc-section-chevron { transform:rotate(180deg); }\r\n.vc-section-body { max-height:0; overflow:hidden; transition:max-height 0.4s cubic-bezier(0.4,0,0.2,1); }\r\n.vc-section.vc-open .vc-section-body { max-height:20000px; }\r\n.vc-section-inner { padding:0 24px 24px; border-top:1px solid var(--vc-border-light); }\r\n.vc-theory h3 { font-family:var(--vc-display); font-size:17px; font-weight:700; color:var(--vc-ink); margin:28px 0 10px; }\r\n.vc-theory h3:first-child { margin-top:20px; }\r\n.vc-theory p { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 10px; }\r\n.vc-theory ul, .vc-theory ol { font-size:14px; color:var(--vc-ink-secondary); margin:0 0 12px 18px; padding:0; }\r\n.vc-theory li { margin-bottom:5px; }\r\n.vc-formula-box { background:var(--vc-surface-alt); border:2px solid var(--vc-border); border-radius:6px; padding:14px 20px; font-family:var(--vc-mono); font-size:16px; font-weight:500; text-align:center; margin:14px 0; color:var(--vc-ink); overflow-x:auto; }\r\n.vc-info-box { background:var(--vc-blue-light); border-left:3px solid var(--vc-blue); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\r\n.vc-info-box p { margin:0; font-size:14px; color:var(--vc-ink-secondary); }\r\n.vc-warning-box { background:var(--vc-yellow-light); border-left:3px solid var(--vc-yellow); padding:14px 16px; border-radius:0 6px 6px 0; margin:14px 0; }\r\n.vc-example-box { background:var(--vc-surface-alt); border:1px solid var(--vc-border-light); border-radius:6px; padding:16px; margin:14px 0; }\r\n.vc-example-title { font-family:var(--vc-mono); font-size:13px; font-weight:600; color:var(--vc-accent); margin-bottom:8px; }\r\n.vc-table { width:100%; border-collapse:collapse; margin:14px 0; font-size:13px; }\r\n.vc-table th, .vc-table td { padding:10px 12px; border:1px solid var(--vc-border-light); text-align:left; }\r\n.vc-table th { background:var(--vc-surface-alt); font-size:11px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em; color:var(--vc-ink-secondary); }\r\n.vc-table tr:nth-child(even) { background:var(--vc-surface-alt); }\r\n@media(max-width:600px) { .vc-table { font-size:12px; } .vc-table th, .vc-table td { padding:8px; } }\r\n.vc-faq-list { display:flex; flex-direction:column; gap:8px; margin-top:20px; }\r\n.vc-faq-item { border:1px solid var(--vc-border-light); border-radius:6px; overflow:hidden; }\r\n.vc-faq-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border:none; background:var(--vc-surface-alt); cursor:pointer; font-family:var(--vc-font); font-size:15px; font-weight:600; color:var(--vc-ink); text-align:left; transition:background 0.15s; }\r\n.vc-faq-q:hover { background:#ede9e3; }\r\n.vc-faq-chevron { width:16px; height:16px; color:var(--vc-ink-muted); flex-shrink:0; transition:transform 0.25s; }\r\n.vc-faq-item.vc-open .vc-faq-chevron { transform:rotate(180deg); }\r\n.vc-faq-a { max-height:0; overflow:hidden; transition:max-height 0.35s; }\r\n.vc-faq-item.vc-open .vc-faq-a { max-height:1200px; }\r\n.vc-faq-a-inner { padding:14px 16px; border-top:1px solid var(--vc-border-light); font-size:14px; color:var(--vc-ink-secondary); }\r\n.vc-faq-a-inner p { margin:0 0 8px; } .vc-faq-a-inner p:last-child { margin-bottom:0; }\r\n.vc-faq-a-inner ul { margin:4px 0 8px 16px; padding:0; } .vc-faq-a-inner li { margin-bottom:3px; }\r\n.vc-related { display:flex; flex-wrap:wrap; gap:10px; margin-top:16px; }\r\n.vc-related-link { display:inline-block; padding:8px 16px; font-family:var(--vc-font); font-size:13px; font-weight:600; background:var(--vc-surface-alt); color:var(--vc-ink-secondary); border:1px solid var(--vc-border); border-radius:var(--vc-radius); text-decoration:none; transition:all 0.15s; }\r\n.vc-related-link:hover { border-color:var(--vc-accent); color:var(--vc-accent); background:var(--vc-accent-light); }\r\n.vc-promo { margin-top:24px; padding:20px; background:linear-gradient(135deg, var(--vc-accent-light), var(--vc-surface)); border:1px solid var(--vc-border); border-radius:var(--vc-radius-lg); display:flex; align-items:center; gap:16px; }\r\n.vc-promo-text { flex:1; font-size:14px; color:var(--vc-ink-secondary); }\r\n.vc-promo-text strong { color:var(--vc-ink); }\r\n.vc-promo-link { padding:8px 20px; font-size:13px; font-weight:700; color:#fff; background:var(--vc-accent); border-radius:var(--vc-radius); text-decoration:none; white-space:nowrap; transition:background 0.15s; }\r\n.vc-promo-link:hover { background:var(--vc-accent-hover); }\r\n.vc-footer { text-align:center; padding:32px 16px; font-size:13px; color:var(--vc-ink-muted); }\r\n.vc-footer a { color:var(--vc-accent); text-decoration:none; } .vc-footer a:hover { text-decoration:underline; }\r\n.vc-footer-links { margin-top:8px; font-size:12px; } .vc-footer-links a { margin:0 8px; }\r\n@media print {\r\n    .vc-section-body { max-height:none!important; }\r\n    .vc-faq-a { max-height:none!important; }\r\n    .vc-results { max-height:none!important; padding:24px!important; }\r\n    .vc-copy-btn, .vc-section-chevron, .vc-faq-chevron, .vc-presets, .vc-promo { display:none!important; }\r\n}\r\n<\/style>\r\n<div class=\"vc-calculator\" id=\"vc-fft-grid\"><header class=\"vc-header\"><p class=\"vc-header-eyebrow\">Actual acquisition and FFT settings required<\/p><h1 class=\"vc-header-title\">FFT Bin Spacing and Record Resolution<\/h1><p class=\"vc-header-subtitle\">Separate the displayed FFT grid from information supplied by the acquired time record. Zero-padding creates a finer interpolated grid; it does not create additional frequency-resolving information.<\/p><div class=\"vc-badges\"><span class=\"vc-badge\">\u0394f<sub>grid<\/sub>=f<sub>s<\/sub>\/N<sub>FFT<\/sub><\/span><span class=\"vc-badge\">\u0394f<sub>record<\/sub>=f<sub>s<\/sub>\/M=1\/T<\/span><span class=\"vc-badge\">No bearing diagnosis<\/span><\/div><\/header>\r\n<div class=\"vc-card\"><form class=\"vc-form\" id=\"vc-form\" autocomplete=\"off\"><div class=\"vc-form-grid\">\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-fs-unit\">Sampling-rate unit<\/label><select class=\"vc-select\" id=\"vc-fs-unit\"><option value=\"\">Select\u2026<\/option><option value=\"Hz\">Hz<\/option><option value=\"kHz\">kHz<\/option><\/select><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-fs\">Sampling rate, f<sub>s<\/sub> <span class=\"vc-label-hint\">(samples\/s)<\/span><\/label><input class=\"vc-input\" id=\"vc-fs\" type=\"text\" inputmode=\"decimal\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-m\">Acquired samples, M <span class=\"vc-label-hint\">(integer \u22652, before padding)<\/span><\/label><input class=\"vc-input\" id=\"vc-m\" type=\"text\" inputmode=\"numeric\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-nfft\">FFT length, N<sub>FFT<\/sub> <span class=\"vc-label-hint\">(integer \u2265M)<\/span><\/label><input class=\"vc-input\" id=\"vc-nfft\" type=\"text\" inputmode=\"numeric\"><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-window\">Window applied to M samples<\/label><select class=\"vc-select\" id=\"vc-window\"><option value=\"\">Select\u2026<\/option><option value=\"rectangular\">Rectangular<\/option><option value=\"hann\">Periodic Hann (single)<\/option><\/select><\/div>\r\n<div class=\"vc-field\"><label class=\"vc-label\" for=\"vc-source\">Acquisition\/analyzer configuration source<\/label><input class=\"vc-input\" id=\"vc-source\" type=\"text\" maxlength=\"500\"><\/div>\r\n<\/div><p id=\"vc-error\" role=\"alert\" style=\"margin:.75rem 0 0;color:#b42318\"><\/p><div class=\"vc-warning-box\"><p style=\"margin:0\"><strong>Definitions:<\/strong> M is the number of measured samples carrying information. N<sub>FFT<\/sub> is the transform length after optional zero-padding and must be at least M. Do not enter an analyzer\u2019s marketing \u201clines\u201d value unless its exact relationship to sample rate,acquired samples,FFT length,window and displayed band is documented.<\/p><\/div><\/form>\r\n<div class=\"vc-results\" id=\"vc-results\"><div class=\"vc-results-head\"><h2 class=\"vc-results-title\">FFT grid and record-limited quantities<\/h2><button type=\"button\" class=\"vc-copy-btn\" id=\"vc-copy-btn\">Copy<\/button><\/div><div class=\"vc-result-grid\">\r\n<div class=\"vc-rcard vc-rcard-primary\"><div class=\"vc-rcard-label\">Displayed bin-grid spacing, \u0394f<sub>grid<\/sub><\/div><div class=\"vc-rcard-value\" id=\"vc-r-grid\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Record-limited spacing, \u0394f<sub>record<\/sub><\/div><div class=\"vc-rcard-value\" id=\"vc-r-record\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">DFT record period, T=M\/f<sub>s<\/sub><\/div><div class=\"vc-rcard-value\" id=\"vc-r-period\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">First-to-last timestamp span<\/div><div class=\"vc-rcard-value\" id=\"vc-r-span\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Nyquist frequency<\/div><div class=\"vc-rcard-value\" id=\"vc-r-nyq\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">One-sided bins (real input)<\/div><div class=\"vc-rcard-value\" id=\"vc-r-bins\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Highest one-sided bin<\/div><div class=\"vc-rcard-value\" id=\"vc-r-high\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Window equivalent noise bandwidth<\/div><div class=\"vc-rcard-value\" id=\"vc-r-enbw\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Approx. null-to-null main-lobe width<\/div><div class=\"vc-rcard-value\" id=\"vc-r-lobe\">\u2014<\/div><\/div>\r\n<div class=\"vc-rcard\"><div class=\"vc-rcard-label\">Zero-padding ratio<\/div><div class=\"vc-rcard-value\" id=\"vc-r-pad\">\u2014<\/div><\/div>\r\n<\/div><p id=\"vc-r-note\" style=\"margin:0;color:var(--vc-ink-secondary)\"><\/p><\/div><\/div>\r\n\r\n<div class=\"vc-section vc-open\"><button type=\"button\" class=\"vc-section-toggle\" aria-expanded=\"true\"><span class=\"vc-section-toggle-text\"><span class=\"vc-section-icon\">\ud83d\udcd8<\/span><span class=\"vc-section-title\">Meaning, formulas and standards context<\/span><\/span><\/button><div class=\"vc-section-body\"><div class=\"vc-section-inner vc-theory\">\r\n<h3>Bin spacing is not the same as resolving two tones<\/h3><p>For sample rate f<sub>s<\/sub>, M acquired samples and an FFT of length N<sub>FFT<\/sub>, the displayed grid spacing is <strong>\u0394f<sub>grid<\/sub>=f<sub>s<\/sub>\/N<sub>FFT<\/sub><\/strong>. The acquired DFT record period is <strong>T=M\/f<sub>s<\/sub><\/strong>, so its information spacing is <strong>\u0394f<sub>record<\/sub>=1\/T=f<sub>s<\/sub>\/M<\/strong>. A real-input one-sided FFT contains floor(N<sub>FFT<\/sub>\/2)+1 bins including DC; the Nyquist frequency f<sub>s<\/sub>\/2 is itself a bin only for even N<sub>FFT<\/sub>.<\/p>\r\n<p>If N<sub>FFT<\/sub>&gt;M,zeros add grid samples between the unpadded DFT samples. NIST describes this as frequency-domain interpolation: the padded transform contains the same information as the unpadded transform. Therefore the page reports both spacings and never calls the padded grid an improvement in physical resolution.<\/p>\r\n<h3>Window bandwidth<\/h3><p>The rectangular-window equivalent noise bandwidth is one record bin. For a single periodic Hann window this calculator uses ENBW=1.5\u0394f<sub>record<\/sub>,as tabulated by NIST. Nominal null-to-null main-lobe widths are 2\u0394f<sub>record<\/sub> for rectangular and 4\u0394f<sub>record<\/sub> for Hann. These bandwidth scales do not by themselves decide whether two real components are resolvable: amplitude ratio,phase,noise,leakage,averaging and the chosen estimator also matter.<\/p>\r\n<p>A published NIST measurement example used 801 lines from0 to400Hz with0.5Hz spacing,a2.0s record and a Hann effective bandwidth of0.75Hz. Inputs f<sub>s<\/sub>=800Hz,M=N<sub>FFT<\/sub>=1600,Hann reproduce those quantities here.<\/p>\r\n<h3>ISO context<\/h3><p><a href=\"https:\/\/www.iso.org\/standard\/68128.html\" target=\"_blank\" rel=\"noopener\">ISO13373-2:2016,edition2<\/a> is Published and at stage90.20 (systematic review). Its public scope covers processing,presentation and time\/frequency-domain analysis of machinery vibration data. This general calculator is not an implementation or conformity check of the licensed standard,and no clause\/table number is asserted.<\/p>\r\n<div class=\"vc-warning-box\"><p style=\"margin:0\"><strong>Not calculated:<\/strong> anti-alias filter passband or stopband,analyzer-specific Fmax\/\u201clines\u201d conventions,overlap,averaging,amplitude\/coherent-gain correction,PSD scaling,confidence interval,order tracking,zoom FFT,demodulation,sideband or bearing-fault diagnosis. A universal sampling factor such as2.56 and generic BPFO\/BPFI\/BSF\/FTF multipliers are intentionally not inferred.<\/p><\/div>\r\n<p>Sources:<a href=\"https:\/\/tf.nist.gov\/phase\/Properties\/ten.htm\" target=\"_blank\" rel=\"noopener\">NIST Section10\u2014DFT,record spacing,windowing and Hann ENBW<\/a>;<a href=\"https:\/\/tsapps.nist.gov\/publication\/get_pdf.cfm?pub_id=150008\" target=\"_blank\" rel=\"noopener\">NIST FFT for Experimentalists PartI\u2014zero padding<\/a>;<a href=\"https:\/\/tsapps.nist.gov\/publication\/get_pdf.cfm?pub_id=822639\" target=\"_blank\" rel=\"noopener\">NIST published0.5Hz\/Hann example<\/a>;<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\" target=\"_blank\" rel=\"noopener\">NI bin-spacing\/record-length overview<\/a>;ISO catalogue record linked above. Review:12July2026.<\/p>\r\n<\/div><\/div><\/div>\r\n<footer class=\"vc-footer\"><p>\u00a92024\u20132026 <a href=\"https:\/\/vibromera.eu\/\">Vibromera<\/a><\/p><p>Reference DFT-grid calculation only;not a diagnosis,analyzer configuration approval or ISO test. Scientific review:July2026.<\/p><\/footer><\/div>\r\n<script>(function(){'use strict';function $(i){return document.getElementById(i)}function pnum(s){s=s.trim().replace(',','.');return \/^[+]?(?:\\d+(?:\\.\\d*)?|\\.\\d+)(?:[eE][+-]?\\d+)?$\/.test(s)?Number(s):NaN}function pint(s){var n=pnum(s);return Number.isSafeInteger(n)?n:NaN}function fmt(n){return Number(n.toPrecision(12)).toString()}function clear(){['vc-r-grid','vc-r-record','vc-r-period','vc-r-span','vc-r-nyq','vc-r-bins','vc-r-high','vc-r-enbw','vc-r-lobe','vc-r-pad'].forEach(function(id){$(id).textContent='\u2014'});$('vc-r-note').textContent='';$('vc-results').classList.remove('vc-visible')}function calc(){var raw=[$('vc-fs-unit').value,$('vc-fs').value.trim(),$('vc-m').value.trim(),$('vc-nfft').value.trim(),$('vc-window').value,$('vc-source').value.trim()],any=raw.some(Boolean);if(!raw.every(Boolean)){clear();$('vc-error').textContent=any?'Complete all six fields.':'';return}var fs0=pnum(raw[1]),m=pint(raw[2]),nfft=pint(raw[3]);if(!Number.isFinite(fs0)||fs0<=0){clear();$('vc-error').textContent='Sampling rate must be a strict,finite,positive number.';return}if(!Number.isSafeInteger(m)||m<2||!Number.isSafeInteger(nfft)||nfft<m){clear();$('vc-error').textContent='Use whole sample counts with M\u22652 and NFFT\u2265M;fractional or unsafe integers are rejected.';return}var fs=raw[0]==='kHz'?fs0*1000:fs0;if(!Number.isFinite(fs)){clear();$('vc-error').textContent='Sampling rate exceeds the finite numerical range.';return}var grid=fs\/nfft,record=fs\/m,period=m\/fs,span=(m-1)\/fs,nyq=fs\/2,bins=Math.floor(nfft\/2)+1,high=Math.floor(nfft\/2)*grid,enbw=(raw[4]==='hann'?1.5:1)*record,lobe=(raw[4]==='hann'?4:2)*record,pad=nfft\/m;if(![grid,record,period,span,nyq,high,enbw,lobe,pad].every(Number.isFinite)){clear();$('vc-error').textContent='The result exceeds the finite numerical range.';return}$('vc-error').textContent='';$('vc-r-grid').textContent=fmt(grid)+' Hz';$('vc-r-record').textContent=fmt(record)+' Hz';$('vc-r-period').textContent=fmt(period)+' s';$('vc-r-span').textContent=fmt(span)+' s';$('vc-r-nyq').textContent=fmt(nyq)+' Hz';$('vc-r-bins').textContent=String(bins)+' bins (DC included)';$('vc-r-high').textContent=fmt(high)+' Hz'+(nfft%2===0?' (Nyquist bin)':' (below Nyquist;odd NFFT)');$('vc-r-enbw').textContent=fmt(enbw)+' Hz';$('vc-r-lobe').textContent=fmt(lobe)+' Hz';$('vc-r-pad').textContent=fmt(pad)+'\u00d7';var padded=nfft>m;$('vc-r-note').textContent='Source:'+raw[5]+' | '+(padded?'Zero padding refines only the displayed grid;record spacing,window bandwidth and information content are unchanged.':'No zero padding.')+' No tone\/bearing resolvability verdict is inferred.';$('vc-results').classList.add('vc-visible');var u=new URL(location),keys=['sample_rate_unit','sample_rate','acquired_samples','fft_length','window','source'];keys.forEach(function(k,i){u.searchParams.set(k,raw[i])});history.replaceState(null,'',u.toString())}$('vc-form').addEventListener('input',calc);$('vc-form').addEventListener('change',calc);$('vc-copy-btn').addEventListener('click',function(){if(navigator.clipboard)navigator.clipboard.writeText($('vc-results').innerText)});document.querySelectorAll('.vc-section-toggle').forEach(function(b){b.addEventListener('click',function(){var s=this.closest('.vc-section');s.classList.toggle('vc-open');this.setAttribute('aria-expanded',s.classList.contains('vc-open'))})});var p=new URLSearchParams(location.search),keys=['sample_rate_unit','sample_rate','acquired_samples','fft_length','window','source'],ids=['vc-fs-unit','vc-fs','vc-m','vc-nfft','vc-window','vc-source'];keys.forEach(function(k,i){if(p.has(k))$(ids[i]).value=p.get(k)});calc()})();<\/script>\r\n","protected":false},"excerpt":{"rendered":"<p>Calculate FFT bin-grid spacing,record-limited spacing,Nyquist frequency,one-sided bins and rectangular\/Hann bandwidth from actual acquisition and FFT settings.<\/p>","protected":false},"featured_media":0,"template":"","meta":{"ai_generated_summary":"","footnotes":""},"categories":[],"tags":[],"class_list":["post-100093","calculator","type-calculator","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100093","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator"}],"about":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/types\/calculator"}],"version-history":[{"count":2,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100093\/revisions"}],"predecessor-version":[{"id":102395,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/calculator\/100093\/revisions\/102395"}],"wp:attachment":[{"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/media?parent=100093"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/categories?post=100093"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vibromera.eu\/bn\/wp-json\/wp\/v2\/tags?post=100093"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}