{"id":64464,"date":"2025-05-12T09:40:45","date_gmt":"2025-05-12T06:40:45","guid":{"rendered":"https:\/\/wpcalc.com\/en\/?p=64464"},"modified":"2026-09-30T18:23:00","modified_gmt":"2026-09-30T15:23:00","slug":"inverse-discrete-fourier-transform","status":"publish","type":"post","link":"https:\/\/wpcalc.com\/en\/engineering\/inverse-discrete-fourier-transform\/","title":{"rendered":"Inverse Discrete Fourier Transform Calculator"},"content":{"rendered":"<section class=\"not-prose calculator-box\" aria-labelledby=\"calculator-title\"><div class=\"flex items-baseline sm:items-center justify-between gap-2 sm:gap-3\"><div class=\"flex flex-col sm:flex-row sm:items-center gap-2\"><span class=\"icon icon-calculator text-primary-700! text-base! dark:text-primary-300!\" aria-hidden=\"true\"><\/span><h2 id=\"calculator-title\" class=\"text-lg font-display font-bold\">IDFT Time-Domain Signal Reconstructor<\/h2><\/div><div class=\"calcdash-favorite group\">\n  <button type=\"button\" class=\"favorite\" id=\"favorite\" data-favorite-id=\"64464\" data-favorite-title=\"Inverse Discrete Fourier Transform\" data-favorite-url=\"https:\/\/wpcalc.com\/en\/engineering\/inverse-discrete-fourier-transform\/\" data-favorite-excerpt=\"Convert frequency-domain components X[k] back into a time-domain sequence x[n] with this free Inverse Discrete Fourier Transform (IDFT) calculator. Enter comma-separated real or complex values and get the result instantly.\" aria-label=\"Add to Favorites\" data-favorite-icon=\"icon icon-electrical\">\n    <span class=\"icon icon-shape-star-empty\" aria-hidden=\"true\"><\/span>\n  <\/button>\n  <div class=\"calcdash-favorite__tip\" aria-hidden=\"true\">\n   <span class=\"favorite-tooltip\" id=\"favorite-tooltip\"><\/span>\n  <\/div>\n  <span class=\"sr-only\" role=\"status\" id=\"favorite-status\"><\/span>\n<\/div><\/div><form action=\"https:\/\/wpcalc.com\/en\/engineering\/inverse-discrete-fourier-transform\/\" method=\"POST\" class=\"calculator\" id=\"calculator-64464\" data-post=\"64464\"><fieldset class=\"fieldset-input\"><legend class=\"sr-only\">Input Fields<\/legend><div class=\"field is-single has-term\" id=\"input-1\"><label for=\"field-1\">Frequency domain values<\/label><div class=\"term\">X[k]<\/div>  <div class=\"absolute bottom-0 left-16 top-8 w-2 h-0.5 bg-blue-500\"><\/div><input type=\"text\" name=\"frequency_domain_values\" id=\"field-1\" aria-describedby=\"calc-info-1\" step=\"any\" value=\"1, 0, 0, 0\"\/><small id=\"calc-info-1\">Comma-separated real or complex values (e.g. 1, 0, 0, 0 or 1+2j, 0, -1, 0)<\/small><\/div><\/fieldset><div class=\"buttons\"><button type=\"submit\" data-text=\"Re-Calculate\" id=\"calculate-button\" data-post=\"64464\">Calculate<\/button><button type=\"reset\">Reset<\/button><\/div><div class=\"field is-checkbox hidden!\" id=\"field-auto-calc\"><input type=\"checkbox\" id=\"auto-calc\"><label for=\"auto-calc\">Calculate automatically<\/label><small>If enabled, the result will update automatically when you change any value.<\/small><\/div><div class=\"fieldset-result is-hidden\" aria-labelledby=\"result-title\" aria-live=\"polite\" role=\"region\"> <h3 class=\"result-title bg-gradient-to-r from-primary-50 to-gray-50 dark:from-primary-900 dark:to-gray-800\" id=\"result-title\"><span class=\"icon icon-s-pulse\" aria-hidden=\"true\"><\/span> Your Results<\/h3><div class=\"result-box\"><div class=\"field-result\" id=\"output-1\"><span class=\"field-title\"><span>Time domain sequence x[n]<\/span><\/span><span class=\"field-value\" id=\"result-1\"><\/span><button type=\"button\" class=\"copy-result\" data-tooltip=\"Copy Result\" aria-label=\"Copy Result\"><span class=\"copy-icon icon icon-document-copy\" aria-hidden=\"true\"><\/span><\/button><\/div><\/div><div class=\"result-actions\"><button type=\"button\" class=\"copy-link\"><svg viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\"><path d=\"M12.232 4.232a2.5 2.5 0 0 1 3.536 3.536l-1.225 1.224a.75.75 0 0 0 1.061 1.06l1.224-1.224a4 4 0 0 0-5.656-5.656l-3 3a4 4 0 0 0 .225 5.865.75.75 0 0 0 .977-1.138 2.5 2.5 0 0 1-.142-3.667l3-3Z\"\/><path d=\"M11.603 7.963a.75.75 0 0 0-.977 1.138 2.5 2.5 0 0 1 .142 3.667l-3 3a2.5 2.5 0 0 1-3.536-3.536l1.225-1.224a.75.75 0 0 0-1.061-1.06l-1.224 1.224a4 4 0 1 0 5.656 5.656l3-3a4 4 0 0 0-.225-5.865Z\"\/><\/svg><span class=\"copy-link__text\">Copy link to this calculation<\/span><\/button><span class=\"sr-only\" role=\"status\" id=\"copy-link-status\"><\/span><\/div><\/div><a href=\"#respond\" class=\"hidden transition-opacity duration-300 opacity-0 w-50 text-sm justify-center items-center gap-2 px-4 py-2 rounded bg-gray-200 text-gray-700 hover:bg-gray-300\" id=\"leave-comment\"><span class=\"icon icon-comments\" aria-hidden=\"true\"><\/span>Leave a Comment<\/a><\/form><\/section><section id=\"calc-reactions\" class=\"not-prose hidden my-12 bg-gradient-to-r from-primary-50 to-gray-50 border border-indigo-100 rounded-xl px-6 py-4 shadow-sm\" data-post=\"64464\" aria-live=\"polite\" aria-labelledby=\"calc-reactions-title\"><p id=\"calc-reactions-title\" class=\"text-sm text-gray-500 text-center mb-2\">How did this result make you feel?<\/p><div role=\"group\" aria-labelledby=\"calc-reactions-title\" class=\"grid grid-cols-3 sm:flex sm:flex-row sm:justify-around gap-4 sm:items-center sm:flex-wrap\"><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"like\"><span class=\"reaction-count\" data-reaction-count=\"like\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude00 <\/span><span class=\"reaction-description font-medium\">Like <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"helpful\"><span class=\"reaction-count\" data-reaction-count=\"helpful\">2<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\udca1 <\/span><span class=\"reaction-description font-medium\">Helpful <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"confused\"><span class=\"reaction-count\" data-reaction-count=\"confused\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude15 <\/span><span class=\"reaction-description font-medium\">Confused <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"disappointed\"><span class=\"reaction-count\" data-reaction-count=\"disappointed\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\ud83d\ude1e <\/span><span class=\"reaction-description font-medium\">Disappointed <\/span><\/button><button type=\"button\" aria-pressed=\"false\" class=\"reaction-btn flex flex-col items-center gap-1 text-sm text-gray-700 hover:text-primary-600 cursor-pointer transition-transform hover:scale-105\" data-reaction=\"inaccurate\"><span class=\"reaction-count\" data-reaction-count=\"inaccurate\">0<\/span><span class=\"reaction text-3xl\" aria-hidden=\"true\">\u274c <\/span><span class=\"reaction-description font-medium\">Inaccurate <\/span><\/button><\/div><div id=\"reaction-message\" class=\"hidden mt-8 rounded-md border border-primary-100 bg-white\/50 backdrop-blur-sm px-4 py-2 text-sm text-center shadow-sm\"><\/div><\/section><div class=\"calcdash-ad not-prose calcdash-ad--calc_result calcdash-ad--in-article\"><ins class=\"adsbygoogle\" style=\"display:block\" data-ad-client=\"ca-pub-1721569815777345\" data-ad-slot=\"6317458308\" data-ad-layout=\"in-article\" data-ad-format=\"fluid\"><\/ins><script>(adsbygoogle = window.adsbygoogle || []).push({});<\/script><\/div>\n<style id=\"wpcoderpro-inline-1\">.formula-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section class=\"formula-box\" aria-labelledby=\"formula-title\">\r\n\t<div id=\"formula-title\" class=\"not-prose font-display mb-4\"><span class=\"icon icon-formula\" aria-hidden=\"true\"><\/span><h2>Inverse Discrete Fourier Transform Formula<\/h2><\/div>\r\n\t<figure class=\"not-prose formula\">\r\n\t\t<figcaption class=\"formula-title\">Formula<\/figcaption>\r\n\t\t<div class=\"text-base text-gray-800\" id=\"formula\">\n\\[ x[n] = \\frac{1}{N} \\sum_{k=0}^{N-1} X[k] \\, e^{j 2\\pi kn \/ N}, \\quad n = 0, 1, \\ldots, N-1 \\]\n<\/div>\r\n\t<\/figure>\r\n\t<\/p>\n<p><strong>Where:<\/strong><\/p>\n<ul>\n<li>\\(x[n]\\) \u2014 time-domain sample at index \\(n\\)<\/li>\n<li>\\(X[k]\\) \u2014 frequency-domain (spectral) component at index \\(k\\)<\/li>\n<li>\\(N\\) \u2014 total number of samples, equal to the number of values entered<\/li>\n<li>\\(j\\) \u2014 imaginary unit, \\(j^2 = -1\\)<\/li>\n<li>\\(n\\) \u2014 sample index in the time domain (\\(0 \\le n \\le N-1\\))<\/li>\n<li>\\(k\\) \u2014 frequency-bin index (\\(0 \\le k \\le N-1\\))<\/li>\n<\/ul>\n<p>This is the standard definition of the IDFT: each time-domain sample is a sum of all spectral components weighted by complex exponentials, scaled by \\(1\/N\\). It exactly inverts the Discrete Fourier Transform (DFT).<\/p>\n<p>\r\n<\/section>\n<style id=\"wpcoderpro-inline-459\">.calculation-box {\r\n\tborder-bottom: none !important;\r\n}<\/style><section id=\"calculation\" class=\"calculation-box\" aria-labelledby=\"calculation-title\">\r\n\t<div id=\"calculation-title\" class=\"not-prose font-display\"><span class=\"icon icon-unordered-list\" aria-hidden=\"true\"><\/span><h2>Inverse DFT \u2013 Calculation Example<\/h2><\/div>\r\n\r\n<\/p>\n<p><strong>Example:<\/strong> the frequency-domain sequence \\(X[k] = 1, 0, 0, 0\\) (the calculator's default values), so \\(N = 4\\).<\/p>\n<p>\\[ x[n] = \\frac{1}{4} \\sum_{k=0}^{3} X[k]\\, e^{j 2\\pi kn\/4} = \\frac{1}{4} \\left( X[0] \\cdot e^{j 0} \\right) = \\frac{1}{4} \\cdot 1 = 0.25 \\]<\/p>\n<p>Because only \\(X[0]\\) is non-zero, every sample receives the same contribution.<\/p>\n<p><strong>Result:<\/strong> \\(x[n] = 0.25, 0.25, 0.25, 0.25\\) \u2014 a constant (DC) sequence. A single non-zero bin \\(X[0]\\) always reconstructs a flat signal.<\/p>\n<p><strong>Second example (complex input):<\/strong> \\(X[k] = 1+2j,\\; 0,\\; -1,\\; 0\\).<\/p>\n<p>\\[ x[0] = \\tfrac{1}{4}\\left[(1+2j) + 0 + (-1) + 0\\right] = 0.5j \\]<\/p>\n<p><strong>Result:<\/strong> \\(x[n] = 0.5j,\\; 0.5+0.5j,\\; 0.5j,\\; 0.5+0.5j\\). Note the repeating pattern: bins 0 and 2 are the even (conjugate-symmetric) components of the spectrum.<\/p>\n<p>\n\r\n<\/section>\n<h2>How to Use the Calculator<\/h2>\n<ol>\n<li>Enter your frequency-domain values in the <strong>Frequency domain values<\/strong> field as a comma-separated list, e.g. <code>1, 0, 0, 0<\/code> or <code>1+2j, 0, -1, 0<\/code>.<\/li>\n<li>Use plain real numbers (<code>3<\/code>, <code>-2.5<\/code>) or complex numbers in <code>a+bj<\/code> form (<code>1+2j<\/code>, <code>-1-1.5j<\/code>). A purely imaginary value can be written as <code>2j<\/code>. Do not use spaces inside a complex number.<\/li>\n<li>Click <strong>Calculate<\/strong>.<\/li>\n<li>Read the reconstructed sequence in the <strong>Time domain sequence x[n]<\/strong> result field. The output has exactly as many samples as values you entered, in order \\(x[0], x[1], \\ldots, x[N-1]\\).<\/li>\n<\/ol>\n<h2>What Is the Inverse Discrete Fourier Transform?<\/h2>\n<p>The Inverse Discrete Fourier Transform (IDFT) is the operation that maps a signal's frequency-domain representation back to the time domain. Its counterpart, the DFT, decomposes a sequence of \\(N\\) time samples into \\(N\\) complex spectral coefficients; the IDFT reverses that process, rebuilding the original samples from the spectrum. Applying the DFT and then the IDFT (with the same \\(1\/N\\) scaling used here) returns the original signal exactly, up to rounding error.<\/p>\n<p>The IDFT matters because much of modern signal processing happens in the frequency domain. Filters are designed by shaping a magnitude response, communication systems modulate data onto specific frequency bins, and audio codecs (such as MP3 or AAC) store signals as spectral coefficients. At the end of all these operations, the IDFT is the step that turns the processed spectrum back into samples you can hear or transmit. In practice it is computed with the FFT algorithm, which produces identical results far faster; this calculator performs the direct sum, which is ideal for learning and verification.<\/p>\n<p>Interpreting the output is straightforward once you know a few properties. Bin \\(X[0]\\) represents the DC (average) component, so a large \\(X[0]\\) yields a signal with a constant offset. Higher bins correspond to faster oscillations: bin \\(k\\) completes \\(k\\) full cycles across the \\(N\\) samples. If the input spectrum has conjugate symmetry \u2014 \\(X[N-k] = X[k]^*\\) \u2014 the reconstructed signal is purely real, which is why real-world signals produce symmetric spectra. Asymmetric input, like the second example above, produces complex-valued samples.<\/p>\n<h2>Assumptions, Limitations and Tips<\/h2>\n<ul>\n<li><strong>Normalization convention:<\/strong> the calculator applies the \\(1\/N\\) factor on the inverse transform only (the \"1\/N backward\" convention). If your DFT definition uses \\(1\/\\sqrt{N}\\) on both sides, scale the output by \\(\\sqrt{N}\\) to compare.<\/li>\n<li><strong>Number of points:<\/strong> \\(N\\) equals the number of comma-separated values you enter. Pad with zeros to reach a desired length \u2014 zero-padding in one domain interpolates in the other.<\/li>\n<li><strong>Complex format:<\/strong> use <code>j<\/code> (not <code>i<\/code>) for the imaginary unit, with no spaces: <code>2-3j<\/code> is valid, <code>2 - 3i<\/code> is not.<\/li>\n<li><strong>Precision:<\/strong> results are shown with 4 decimal places. Very small residual imaginary parts (e.g. <code>0.0000j<\/code>) on theoretically real outputs are normal rounding artifacts.<\/li>\n<li><strong>Practical size:<\/strong> the direct \\(O(N^2)\\) computation is fine for sequences up to a few hundred points; for large spectra use an FFT implementation.<\/li>\n<\/ul>\n<p>A good sanity check: enter a flat spectrum such as <code>1, 1, 1, 1<\/code> \u2014 the IDFT should return a single impulse \\(1, 0, 0, 0\\), since a constant spectrum is the DFT of an impulse.<\/p>\n<p>WPCalc also offers a range of other engineering tools, from the <a href=\"https:\/\/wpcalc.com\/en\/engineering\/parallel-resistance\/\">parallel resistance calculator<\/a> and the <a href=\"https:\/\/wpcalc.com\/en\/engineering\/series-inductance\/\">series inductance calculator<\/a> to the <a href=\"https:\/\/wpcalc.com\/en\/engineering\/real-reactive-power\/\">real and reactive power calculator<\/a> for AC circuit analysis.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Convert frequency-domain components X[k] back into a time-domain sequence x[n] with this free Inverse Discrete Fourier Transform (IDFT) calculator. Enter comma-separated real or complex values and get the result instantly.<\/p>\n","protected":false},"author":70,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[4],"tags":[21],"class_list":["post-64464","post","type-post","status-publish","format-standard","hentry","category-engineering","tag-electrical"],"acf":[],"_links":{"self":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/64464","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/users\/70"}],"replies":[{"embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/comments?post=64464"}],"version-history":[{"count":3,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/64464\/revisions"}],"predecessor-version":[{"id":65979,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/posts\/64464\/revisions\/65979"}],"wp:attachment":[{"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/media?parent=64464"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/categories?post=64464"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wpcalc.com\/en\/wp-json\/wp\/v2\/tags?post=64464"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}