{
  "__type": "IngestedDoc",
  "__tag": 4010,
  "_content": {
    "Notes": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "This computation uses the tridiagonal eigenvector formulation given in "
            },
            {
              "__type": "FootnoteReference",
              "__tag": 4066,
              "label": "2"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "The default normalization for "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "Kmax=None"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", i.e. window-generation mode, simply using the l-infinity norm would create a window with two unity values, which creates slight normalization differences between even and odd orders. The approximate correction of "
            },
            {
              "__type": "InlineCode",
              "__tag": 4051,
              "value": "M**2/float(M**2+NW)"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": " for even sample numbers is used to counteract this effect (see Examples below)."
            }
          ]
        },
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "For very long signals (e.g., 1e6 elements), it can be useful to compute windows orders of magnitude shorter and use interpolation (e.g., "
            },
            {
              "__type": "CrossRef",
              "__tag": 4002,
              "value": "scipy.interpolate.interp1d",
              "reference": {
                "__type": "RefInfo",
                "__tag": 4000,
                "module": "scipy",
                "version": "?",
                "kind": "module",
                "path": "scipy.interpolate._interpolate:interp1d"
              },
              "kind": "module"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ") to obtain tapers of length "
            },
            {
              "__type": "ParamRef",
              "__tag": 4071,
              "name": "M"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": ", but this in general will not preserve orthogonality between the tapers."
            }
          ]
        },
        {
          "__type": "Admonition",
          "__tag": 4056,
          "kind": "versionadded",
          "base_type": "neutral",
          "children": [
            {
              "__type": "AdmonitionTitle",
              "__tag": 4055,
              "children": [
                {
                  "__type": "Text",
                  "__tag": 4046,
                  "value": "versionadded 1.1"
                }
              ]
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Warns": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Raises": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Yields": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Methods": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Returns": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Parameters",
          "__tag": 4026,
          "children": [
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "v",
              "annotation": "ndarray, shape (Kmax, M) or (M,)",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The DPSS windows. Will be 1D if "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "Kmax"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is None."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "r",
              "annotation": "ndarray, shape (Kmax,) or float, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "The concentration ratios for the windows. Only returned if "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "return_ratios"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " evaluates to True. Will be 0D if "
                    },
                    {
                      "__type": "ParamRef",
                      "__tag": 4071,
                      "name": "Kmax"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is None."
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Summary": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "Compute the Discrete Prolate Spheroidal Sequences (DPSS)."
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Receives": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Warnings": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Attributes": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    },
    "Parameters": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Parameters",
          "__tag": 4026,
          "children": [
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "M",
              "annotation": "int",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Window length."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "NW",
              "annotation": "float",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Standardized half bandwidth corresponding to "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "2*NW = BW/f0 = BW*M*dt"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " where "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "dt"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " is taken as 1."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "Kmax",
              "annotation": "int | None, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Number of DPSS windows to return (orders "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "0"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " through "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "Kmax-1"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "). If None (default), return only a single window of shape "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "(M,)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " instead of an array of windows of shape "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "(Kmax, M)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "sym",
              "annotation": "bool, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "When True (default), generates a symmetric window, for use in filter design. When False, generates a periodic window, for use in spectral analysis."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "norm",
              "annotation": "{2, 'approximate', 'subsample'} | None, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "If 'approximate' or 'subsample', then the windows are normalized by the maximum, and a correction scale-factor for even-length windows is applied either using "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "M**2/(M**2+NW)"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " (\"approximate\") or a FFT-based subsample shift (\"subsample\"), see Notes for details. If None, then \"approximate\" is used when "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "Kmax=None"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": " and 2 otherwise (which uses the l2 norm)."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "return_ratios",
              "annotation": "bool, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "If True, also return the concentration ratios in addition to the windows."
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "xp",
              "annotation": "array_namespace, optional",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "Optional array namespace. Should be compatible with the array API standard, or supported by array-api-compat. Default: "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "numpy"
                    }
                  ]
                }
              ]
            },
            {
              "__type": "DocParam",
              "__tag": 4016,
              "name": "device",
              "annotation": "any",
              "desc": [
                {
                  "__type": "Paragraph",
                  "__tag": 4045,
                  "children": [
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "optional device specification for output. Should match one of the supported device specification in "
                    },
                    {
                      "__type": "InlineCode",
                      "__tag": 4051,
                      "value": "xp"
                    },
                    {
                      "__type": "Text",
                      "__tag": 4046,
                      "value": "."
                    }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Extended Summary": {
      "__type": "Section",
      "__tag": 4015,
      "children": [
        {
          "__type": "Paragraph",
          "__tag": 4045,
          "children": [
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "DPSS (or Slepian sequences) are often used in multitaper power spectral density estimation (see "
            },
            {
              "__type": "FootnoteReference",
              "__tag": 4066,
              "label": "1"
            },
            {
              "__type": "Text",
              "__tag": 4046,
              "value": "). The first window in the sequence can be used to maximize the energy concentration in the main lobe, and is also called the Slepian window."
            }
          ]
        }
      ],
      "title": [],
      "level": 0,
      "target": null
    },
    "Other Parameters": {
      "__type": "Section",
      "__tag": 4015,
      "children": [],
      "title": [],
      "level": 0,
      "target": null
    }
  },
  "_ordered_sections": [
    "Summary",
    "Extended Summary",
    "Parameters",
    "Attributes",
    "Methods",
    "Returns",
    "Yields",
    "Receives",
    "Other Parameters",
    "Raises",
    "Warns",
    "Warnings",
    "Notes"
  ],
  "item_file": "build-install/usr/lib/python3.14/site-packages/scipy/signal/windows/_windows.py",
  "item_line": 2138,
  "item_type": "function",
  "aliases": [
    "scipy.signal.windows.dpss"
  ],
  "example_section_data": {
    "__type": "Section",
    "__tag": 4015,
    "children": [
      {
        "__type": "Text",
        "__tag": 4046,
        "value": "We can compare the window to `kaiser`, which was invented as an alternative\nthat was easier to calculate [3]_ (example adapted from\n`here <https://ccrma.stanford.edu/~jos/sasp/Kaiser_DPSS_Windows_Compared.html>`_):\n\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "import numpy as np\nimport matplotlib.pyplot as plt\nfrom scipy.signal import windows, freqz\nM = 51\nfig, axes = plt.subplots(3, 2, figsize=(5, 7))\n",
        "execution_status": "success",
        "out": ""
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "for ai, alpha in enumerate((1, 3, 5)):\n    win_dpss = windows.dpss(M, alpha)\n    beta = alpha*np.pi\n    win_kaiser = windows.kaiser(M, beta)\n    for win, c in ((win_dpss, 'k'), (win_kaiser, 'r')):\n        win /= win.sum()\n        axes[ai, 0].plot(win, color=c, lw=1.)\n        axes[ai, 0].set(xlim=[0, M-1], title=rf'$\\alpha$ = {alpha}',\n                        ylabel='Amplitude')\n        w, h = freqz(win)\n        axes[ai, 1].plot(w, 20 * np.log10(np.abs(h)), color=c, lw=1.)\n        axes[ai, 1].set(xlim=[0, np.pi],\n                        title=rf'$\\beta$ = {beta:0.2f}',\n                        ylabel='Magnitude (dB)')\n",
        "execution_status": "failure",
        "out": "[<matplotlib.lines.Line2D object at 0x7f3f68fd8440>]\n[(0.0, 50.0), Text(0.5, 1.0, '$\\\\alpha$ = 1'), Text(0, 0.5, 'Amplitude')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fdba10>]\n[(0.0, 3.141592653589793), Text(0.5, 1.0, '$\\\\beta$ = 3.14'), Text(0, 0.5, 'Magnitude (dB)')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fd9d30>]\n[(0.0, 50.0), Text(0.5, 1.0, '$\\\\alpha$ = 1'), Text(0, 0.5, 'Amplitude')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fda120>]\n[(0.0, 3.141592653589793), Text(0.5, 1.0, '$\\\\beta$ = 3.14'), Text(0, 0.5, 'Magnitude (dB)')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fd96a0>]\n[(0.0, 50.0), Text(0.5, 1.0, '$\\\\alpha$ = 3'), Text(0, 0.5, 'Amplitude')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fdbcb0>]\n[(0.0, 3.141592653589793), Text(0.5, 1.0, '$\\\\beta$ = 9.42'), Text(0, 0.5, 'Magnitude (dB)')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fdbb60>]\n[(0.0, 50.0), Text(0.5, 1.0, '$\\\\alpha$ = 3'), Text(0, 0.5, 'Amplitude')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fdacf0>]\n[(0.0, 3.141592653589793), Text(0.5, 1.0, '$\\\\beta$ = 9.42'), Text(0, 0.5, 'Magnitude (dB)')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fda900>]\n[(0.0, 50.0), Text(0.5, 1.0, '$\\\\alpha$ = 5'), Text(0, 0.5, 'Amplitude')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fd9e80>]\n[(0.0, 3.141592653589793), Text(0.5, 1.0, '$\\\\beta$ = 15.71'), Text(0, 0.5, 'Magnitude (dB)')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fd97f0>]\n[(0.0, 50.0), Text(0.5, 1.0, '$\\\\alpha$ = 5'), Text(0, 0.5, 'Amplitude')]\n[<matplotlib.lines.Line2D object at 0x7f3f68fd8ad0>]\n[(0.0, 3.141592653589793), Text(0.5, 1.0, '$\\\\beta$ = 15.71'), Text(0, 0.5, 'Magnitude (dB)')]\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "for ax in axes.ravel():\n    ax.grid(True)\n",
        "execution_status": "success",
        "out": ""
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "axes[2, 1].legend(['DPSS', 'Kaiser'])\n",
        "execution_status": "failure",
        "out": "<matplotlib.legend.Legend object at 0x7f3f68fda510>\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "fig.tight_layout()\nplt.show()\n",
        "execution_status": "success",
        "out": ""
      },
      {
        "__type": "Figure",
        "__tag": 4024,
        "value": {
          "__type": "RefInfo",
          "__tag": 4000,
          "module": "scipy",
          "version": "2.0.0.dev0+git20260907.41eeb59",
          "kind": "assets",
          "path": "fig-4254fa6e0d586666.png"
        }
      },
      {
        "__type": "Text",
        "__tag": 4046,
        "value": "\nAnd here are examples of the first four windows, along with their\nconcentration ratios:\n\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "M = 512\nNW = 2.5\nwin, eigvals = windows.dpss(M, NW, 4, return_ratios=True)\nfig, ax = plt.subplots(1)\n",
        "execution_status": "success",
        "out": ""
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "ax.plot(win.T, linewidth=1.)\nax.set(xlim=[0, M-1], ylim=[-0.1, 0.1], xlabel='Samples',\n       title=f'DPSS, {M:d}, {NW:0.1f}')\nax.legend([f'win[{ii}] ({ratio:0.4f})'\n           for ii, ratio in enumerate(eigvals)])\n",
        "execution_status": "failure",
        "out": "<matplotlib.legend.Legend object at 0x7f3f68867620>\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "fig.tight_layout()\nplt.show()\n",
        "execution_status": "success",
        "out": ""
      },
      {
        "__type": "Figure",
        "__tag": 4024,
        "value": {
          "__type": "RefInfo",
          "__tag": 4000,
          "module": "scipy",
          "version": "2.0.0.dev0+git20260907.41eeb59",
          "kind": "assets",
          "path": "fig-bfb40387411520aa.png"
        }
      },
      {
        "__type": "Text",
        "__tag": 4046,
        "value": "\nUsing a standard :math:`l_{\\infty}` norm would produce two unity values\nfor even `M`, but only one unity value for odd `M`. This produces uneven\nwindow power that can be counteracted by the approximate correction\n``M**2/float(M**2+NW)``, which can be selected by using\n``norm='approximate'`` (which is the same as ``norm=None`` when\n``Kmax=None``, as is the case here). Alternatively, the slower\n``norm='subsample'`` can be used, which uses subsample shifting in the\nfrequency domain (FFT) to compute the correction:\n\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "Ms = np.arange(1, 41)\nfactors = (50, 20, 10, 5, 2.0001)\nenergy = np.empty((3, len(Ms), len(factors)))\nfor mi, M in enumerate(Ms):\n    for fi, factor in enumerate(factors):\n        NW = M / float(factor)\n        # Corrected using empirical approximation (default)\n        win = windows.dpss(M, NW)\n        energy[0, mi, fi] = np.sum(win ** 2) / np.sqrt(M)\n        # Corrected using subsample shifting\n        win = windows.dpss(M, NW, norm='subsample')\n        energy[1, mi, fi] = np.sum(win ** 2) / np.sqrt(M)\n        # Uncorrected (using l-infinity norm)\n        win /= win.max()\n        energy[2, mi, fi] = np.sum(win ** 2) / np.sqrt(M)\nfig, ax = plt.subplots(1)\nhs = ax.plot(Ms, energy[2], '-o', markersize=4,\n             markeredgecolor='none')\nleg = [hs[-1]]\nfor hi, hh in enumerate(hs):\n    h1 = ax.plot(Ms, energy[0, :, hi], '-o', markersize=4,\n                 color=hh.get_color(), markeredgecolor='none',\n                 alpha=0.66)\n    h2 = ax.plot(Ms, energy[1, :, hi], '-o', markersize=4,\n                 color=hh.get_color(), markeredgecolor='none',\n                 alpha=0.33)\n    if hi == len(hs) - 1:\n        leg.insert(0, h1[0])\n        leg.insert(0, h2[0])\n",
        "execution_status": "success",
        "out": ""
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "ax.set(xlabel='M (samples)', ylabel=r'Power / $\\sqrt{M}$')\nax.legend(leg, ['Uncorrected', r'Corrected: $\\frac{M^2}{M^2+NW}$',\n                'Corrected (subsample)'])\n",
        "execution_status": "failure",
        "out": "<matplotlib.legend.Legend object at 0x7f3f687ca270>\n"
      },
      {
        "__type": "Code",
        "__tag": 4050,
        "value": "fig.tight_layout()\n",
        "execution_status": "success",
        "out": ""
      }
    ],
    "title": [],
    "level": 0,
    "target": null
  },
  "see_also": [],
  "signature": {
    "__type": "SignatureNode",
    "__tag": 4029,
    "kind": "function",
    "parameters": [
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "M",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": {
          "__type": "Empty",
          "__tag": 4031
        }
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "NW",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": {
          "__type": "Empty",
          "__tag": 4031
        }
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "Kmax",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "None"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "sym",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "True"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "norm",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "None"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "return_ratios",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "POSITIONAL_OR_KEYWORD",
        "default": "False"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "xp",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "KEYWORD_ONLY",
        "default": "None"
      },
      {
        "__type": "SigParam",
        "__tag": 4030,
        "name": "device",
        "annotation": {
          "__type": "Empty",
          "__tag": 4031
        },
        "kind": "KEYWORD_ONLY",
        "default": "None"
      }
    ],
    "return_annotation": {
      "__type": "Empty",
      "__tag": 4031
    },
    "target_name": "dpss"
  },
  "references": [
    ".. [1] Percival DB, Walden WT. Spectral Analysis for Physical Applications:",
    "   Multitaper and Conventional Univariate Techniques.",
    "   Cambridge University Press; 1993.",
    ".. [2] Slepian, D. Prolate spheroidal wave functions, Fourier analysis, and",
    "   uncertainty V: The discrete case. Bell System Technical Journal,",
    "   Volume 57 (1978), 1371430.",
    ".. [3] Kaiser, JF, Schafer RW. On the Use of the I0-Sinh Window for",
    "   Spectrum Analysis. IEEE Transactions on Acoustics, Speech and",
    "   Signal Processing. ASSP-28 (1): 105-107; 1980."
  ],
  "qa": "scipy.signal.windows._windows:dpss",
  "arbitrary": [],
  "local_refs": [
    "Kmax",
    "M",
    "NW",
    "device",
    "norm",
    "r",
    "return_ratios",
    "sym",
    "v",
    "xp"
  ]
}