blob: db015e4f0d3380ea811f849bc07b843daf5830e7 [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[118],{512:function(s,t,a){"use strict";a.r(t);var n=a(29),e=Object(n.a)({},(function(){var s=this,t=s._self._c;return t("ContentSlotsDistributor",{attrs:{"slot-key":s.$parent.slotKey}},[t("h1",{attrs:{id:"frequency-domain-analysis"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#frequency-domain-analysis"}},[s._v("#")]),s._v(" Frequency Domain Analysis")]),s._v(" "),t("h2",{attrs:{id:"conv"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#conv"}},[s._v("#")]),s._v(" Conv")]),s._v(" "),t("h3",{attrs:{id:"usage"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage"}},[s._v("#")]),s._v(" Usage")]),s._v(" "),t("p",[s._v("This function is used to calculate the convolution, i.e. polynomial multiplication.")]),s._v(" "),t("p",[t("strong",[s._v("Name:")]),s._v(" CONV")]),s._v(" "),t("p",[t("strong",[s._v("Input:")]),s._v(" Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.")]),s._v(" "),t("p",[t("strong",[s._v("Output:")]),s._v(" Output a single series. The type is DOUBLE. It is the result of convolution whose timestamps starting from 0 only indicate the order.")]),s._v(" "),t("p",[t("strong",[s._v("Note:")]),s._v(" "),t("code",[s._v("NaN")]),s._v(" in the input series will be ignored.")]),s._v(" "),t("h3",{attrs:{id:"examples"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples"}},[s._v("#")]),s._v(" Examples")]),s._v(" "),t("p",[s._v("Input series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+---------------+---------------+\n| Time|root.test.d2.s1|root.test.d2.s2|\n+-----------------------------+---------------+---------------+\n|1970-01-01T08:00:00.000+08:00| 1.0| 7.0|\n|1970-01-01T08:00:00.001+08:00| 0.0| 2.0|\n|1970-01-01T08:00:00.002+08:00| 1.0| null|\n+-----------------------------+---------------+---------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br")])]),t("p",[s._v("SQL for query:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" conv"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s1"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("s2"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d2\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+--------------------------------------+\n| Time|conv(root.test.d2.s1, root.test.d2.s2)|\n+-----------------------------+--------------------------------------+\n|1970-01-01T08:00:00.000+08:00| 7.0|\n|1970-01-01T08:00:00.001+08:00| 2.0|\n|1970-01-01T08:00:00.002+08:00| 7.0|\n|1970-01-01T08:00:00.003+08:00| 2.0|\n+-----------------------------+--------------------------------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br")])]),t("h2",{attrs:{id:"deconv"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#deconv"}},[s._v("#")]),s._v(" Deconv")]),s._v(" "),t("h3",{attrs:{id:"usage-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage-2"}},[s._v("#")]),s._v(" Usage")]),s._v(" "),t("p",[s._v("This function is used to calculate the deconvolution, i.e. polynomial division.")]),s._v(" "),t("p",[t("strong",[s._v("Name:")]),s._v(" DECONV")]),s._v(" "),t("p",[t("strong",[s._v("Input:")]),s._v(" Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.")]),s._v(" "),t("p",[t("strong",[s._v("Parameters:")])]),s._v(" "),t("ul",[t("li",[t("code",[s._v("result")]),s._v(": The result of deconvolution, which is 'quotient' or 'remainder'. By default, the quotient will be output.")])]),s._v(" "),t("p",[t("strong",[s._v("Output:")]),s._v(" Output a single series. The type is DOUBLE. It is the result of deconvolving the second series from the first series (dividing the first series by the second series) whose timestamps starting from 0 only indicate the order.")]),s._v(" "),t("p",[t("strong",[s._v("Note:")]),s._v(" "),t("code",[s._v("NaN")]),s._v(" in the input series will be ignored.")]),s._v(" "),t("h3",{attrs:{id:"examples-2"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples-2"}},[s._v("#")]),s._v(" Examples")]),s._v(" "),t("h4",{attrs:{id:"calculate-the-quotient"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#calculate-the-quotient"}},[s._v("#")]),s._v(" Calculate the quotient")]),s._v(" "),t("p",[s._v("When "),t("code",[s._v("result")]),s._v(" is 'quotient' or the default, this function calculates the quotient of the deconvolution.")]),s._v(" "),t("p",[s._v("Input series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+---------------+---------------+\n| Time|root.test.d2.s3|root.test.d2.s2|\n+-----------------------------+---------------+---------------+\n|1970-01-01T08:00:00.000+08:00| 8.0| 7.0|\n|1970-01-01T08:00:00.001+08:00| 2.0| 2.0|\n|1970-01-01T08:00:00.002+08:00| 7.0| null|\n|1970-01-01T08:00:00.003+08:00| 2.0| null|\n+-----------------------------+---------------+---------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br")])]),t("p",[s._v("SQL for query:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" deconv"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s3"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("s2"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d2\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+----------------------------------------+\n| Time|deconv(root.test.d2.s3, root.test.d2.s2)|\n+-----------------------------+----------------------------------------+\n|1970-01-01T08:00:00.000+08:00| 1.0|\n|1970-01-01T08:00:00.001+08:00| 0.0|\n|1970-01-01T08:00:00.002+08:00| 1.0|\n+-----------------------------+----------------------------------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br")])]),t("h4",{attrs:{id:"calculate-the-remainder"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#calculate-the-remainder"}},[s._v("#")]),s._v(" Calculate the remainder")]),s._v(" "),t("p",[s._v("When "),t("code",[s._v("result")]),s._v(" is 'remainder', this function calculates the remainder of the deconvolution.")]),s._v(" "),t("p",[s._v("Input series is the same as above, the SQL for query is shown below:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" deconv"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s3"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v("s2"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'result'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'remainder'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d2\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v('+-----------------------------+--------------------------------------------------------------+\n| Time|deconv(root.test.d2.s3, root.test.d2.s2, "result"="remainder")|\n+-----------------------------+--------------------------------------------------------------+\n|1970-01-01T08:00:00.000+08:00| 1.0|\n|1970-01-01T08:00:00.001+08:00| 0.0|\n|1970-01-01T08:00:00.002+08:00| 0.0|\n|1970-01-01T08:00:00.003+08:00| 0.0|\n+-----------------------------+--------------------------------------------------------------+\n')])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br")])]),t("h2",{attrs:{id:"dwt"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#dwt"}},[s._v("#")]),s._v(" DWT")]),s._v(" "),t("h3",{attrs:{id:"usage-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage-3"}},[s._v("#")]),s._v(" Usage")]),s._v(" "),t("p",[s._v("This function is used to calculate 1d discrete wavelet transform of a numerical series.")]),s._v(" "),t("p",[t("strong",[s._v("Name:")]),s._v(" DWT")]),s._v(" "),t("p",[t("strong",[s._v("Input:")]),s._v(" Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.")]),s._v(" "),t("p",[t("strong",[s._v("Parameters:")])]),s._v(" "),t("ul",[t("li",[t("code",[s._v("method")]),s._v(": The type of wavelet. May select 'Haar', 'DB4', 'DB6', 'DB8', where DB means Daubechies. User may offer coefficients of wavelet transform and ignore this parameter. Case ignored.")]),s._v(" "),t("li",[t("code",[s._v("coef")]),s._v(": Coefficients of wavelet transform. When providing this parameter, use comma ',' to split them, and leave no spaces or other punctuations.")]),s._v(" "),t("li",[t("code",[s._v("layer")]),s._v(": Times to transform. The number of output vectors equals $layer+1$. Default is 1.")])]),s._v(" "),t("p",[t("strong",[s._v("Output:")]),s._v(" Output a single series. The type is DOUBLE. The length is the same as the input.")]),s._v(" "),t("p",[t("strong",[s._v("Note:")]),s._v(" The length of input series must be an integer number power of 2.")]),s._v(" "),t("h3",{attrs:{id:"examples-3"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples-3"}},[s._v("#")]),s._v(" Examples")]),s._v(" "),t("h4",{attrs:{id:"haar-wavelet-transform"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#haar-wavelet-transform"}},[s._v("#")]),s._v(" Haar wavelet transform")]),s._v(" "),t("p",[s._v("Input series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+---------------+\n| Time|root.test.d1.s1|\n+-----------------------------+---------------+\n|1970-01-01T08:00:00.000+08:00| 0.0|\n|1970-01-01T08:00:00.100+08:00| 0.2|\n|1970-01-01T08:00:00.200+08:00| 1.5|\n|1970-01-01T08:00:00.300+08:00| 1.2|\n|1970-01-01T08:00:00.400+08:00| 0.6|\n|1970-01-01T08:00:00.500+08:00| 1.7|\n|1970-01-01T08:00:00.600+08:00| 0.8|\n|1970-01-01T08:00:00.700+08:00| 2.0|\n|1970-01-01T08:00:00.800+08:00| 2.5|\n|1970-01-01T08:00:00.900+08:00| 2.1|\n|1970-01-01T08:00:01.000+08:00| 0.0|\n|1970-01-01T08:00:01.100+08:00| 2.0|\n|1970-01-01T08:00:01.200+08:00| 1.8|\n|1970-01-01T08:00:01.300+08:00| 1.2|\n|1970-01-01T08:00:01.400+08:00| 1.0|\n|1970-01-01T08:00:01.500+08:00| 1.6|\n+-----------------------------+---------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br")])]),t("p",[s._v("SQL for query:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" dwt"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s1"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"method"')]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v('"haar"')]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d1\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v('+-----------------------------+-------------------------------------+\n| Time|dwt(root.test.d1.s1, "method"="haar")|\n+-----------------------------+-------------------------------------+\n|1970-01-01T08:00:00.000+08:00| 0.14142135834465192|\n|1970-01-01T08:00:00.100+08:00| 1.909188342921157|\n|1970-01-01T08:00:00.200+08:00| 1.6263456473052773|\n|1970-01-01T08:00:00.300+08:00| 1.9798989957517026|\n|1970-01-01T08:00:00.400+08:00| 3.252691126023161|\n|1970-01-01T08:00:00.500+08:00| 1.414213562373095|\n|1970-01-01T08:00:00.600+08:00| 2.1213203435596424|\n|1970-01-01T08:00:00.700+08:00| 1.8384776479437628|\n|1970-01-01T08:00:00.800+08:00| -0.14142135834465192|\n|1970-01-01T08:00:00.900+08:00| 0.21213200063848547|\n|1970-01-01T08:00:01.000+08:00| -0.7778174761639416|\n|1970-01-01T08:00:01.100+08:00| -0.8485281289944873|\n|1970-01-01T08:00:01.200+08:00| 0.2828427799095765|\n|1970-01-01T08:00:01.300+08:00| -1.414213562373095|\n|1970-01-01T08:00:01.400+08:00| 0.42426400127697095|\n|1970-01-01T08:00:01.500+08:00| -0.42426408557066786|\n+-----------------------------+-------------------------------------+\n')])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br")])]),t("h2",{attrs:{id:"fft"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#fft"}},[s._v("#")]),s._v(" FFT")]),s._v(" "),t("h3",{attrs:{id:"usage-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage-4"}},[s._v("#")]),s._v(" Usage")]),s._v(" "),t("p",[s._v("This function is used to calculate the fast Fourier transform (FFT) of a numerical series.")]),s._v(" "),t("p",[t("strong",[s._v("Name:")]),s._v(" FFT")]),s._v(" "),t("p",[t("strong",[s._v("Input:")]),s._v(" Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.")]),s._v(" "),t("p",[t("strong",[s._v("Parameters:")])]),s._v(" "),t("ul",[t("li",[t("code",[s._v("method")]),s._v(": The type of FFT, which is 'uniform' (by default) or 'nonuniform'. If the value is 'uniform', the timestamps will be ignored and all data points will be regarded as equidistant. Thus, the equidistant fast Fourier transform algorithm will be applied. If the value is 'nonuniform' (TODO), the non-equidistant fast Fourier transform algorithm will be applied based on timestamps.")]),s._v(" "),t("li",[t("code",[s._v("result")]),s._v(": The result of FFT, which is 'real', 'imag', 'abs' or 'angle', corresponding to the real part, imaginary part, magnitude and phase angle. By default, the magnitude will be output.")]),s._v(" "),t("li",[t("code",[s._v("compress")]),s._v(": The parameter of compression, which is within (0,1]. It is the reserved energy ratio of lossy compression. By default, there is no compression.")])]),s._v(" "),t("p",[t("strong",[s._v("Output:")]),s._v(" Output a single series. The type is DOUBLE. The length is the same as the input. The timestamps starting from 0 only indicate the order.")]),s._v(" "),t("p",[t("strong",[s._v("Note:")]),s._v(" "),t("code",[s._v("NaN")]),s._v(" in the input series will be ignored.")]),s._v(" "),t("h3",{attrs:{id:"examples-4"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples-4"}},[s._v("#")]),s._v(" Examples")]),s._v(" "),t("h4",{attrs:{id:"uniform-fft"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#uniform-fft"}},[s._v("#")]),s._v(" Uniform FFT")]),s._v(" "),t("p",[s._v("With the default "),t("code",[s._v("type")]),s._v(", uniform FFT is applied.")]),s._v(" "),t("p",[s._v("Input series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+---------------+\n| Time|root.test.d1.s1|\n+-----------------------------+---------------+\n|1970-01-01T08:00:00.000+08:00| 2.902113|\n|1970-01-01T08:00:01.000+08:00| 1.1755705|\n|1970-01-01T08:00:02.000+08:00| -2.1755705|\n|1970-01-01T08:00:03.000+08:00| -1.9021131|\n|1970-01-01T08:00:04.000+08:00| 1.0|\n|1970-01-01T08:00:05.000+08:00| 1.9021131|\n|1970-01-01T08:00:06.000+08:00| 0.1755705|\n|1970-01-01T08:00:07.000+08:00| -1.1755705|\n|1970-01-01T08:00:08.000+08:00| -0.902113|\n|1970-01-01T08:00:09.000+08:00| 0.0|\n|1970-01-01T08:00:10.000+08:00| 0.902113|\n|1970-01-01T08:00:11.000+08:00| 1.1755705|\n|1970-01-01T08:00:12.000+08:00| -0.1755705|\n|1970-01-01T08:00:13.000+08:00| -1.9021131|\n|1970-01-01T08:00:14.000+08:00| -1.0|\n|1970-01-01T08:00:15.000+08:00| 1.9021131|\n|1970-01-01T08:00:16.000+08:00| 2.1755705|\n|1970-01-01T08:00:17.000+08:00| -1.1755705|\n|1970-01-01T08:00:18.000+08:00| -2.902113|\n|1970-01-01T08:00:19.000+08:00| 0.0|\n+-----------------------------+---------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br")])]),t("p",[s._v("SQL for query:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" fft"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s1"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d1\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+----------------------+\n| Time| fft(root.test.d1.s1)|\n+-----------------------------+----------------------+\n|1970-01-01T08:00:00.000+08:00| 0.0|\n|1970-01-01T08:00:00.001+08:00| 1.2727111142703152E-8|\n|1970-01-01T08:00:00.002+08:00| 2.385520799101839E-7|\n|1970-01-01T08:00:00.003+08:00| 8.723291723972645E-8|\n|1970-01-01T08:00:00.004+08:00| 19.999999960195904|\n|1970-01-01T08:00:00.005+08:00| 9.999999850988388|\n|1970-01-01T08:00:00.006+08:00| 3.2260694930700566E-7|\n|1970-01-01T08:00:00.007+08:00| 8.723291605373329E-8|\n|1970-01-01T08:00:00.008+08:00| 1.108657103979944E-7|\n|1970-01-01T08:00:00.009+08:00| 1.2727110997246171E-8|\n|1970-01-01T08:00:00.010+08:00|1.9852334701272664E-23|\n|1970-01-01T08:00:00.011+08:00| 1.2727111194499847E-8|\n|1970-01-01T08:00:00.012+08:00| 1.108657103979944E-7|\n|1970-01-01T08:00:00.013+08:00| 8.723291785769131E-8|\n|1970-01-01T08:00:00.014+08:00| 3.226069493070057E-7|\n|1970-01-01T08:00:00.015+08:00| 9.999999850988388|\n|1970-01-01T08:00:00.016+08:00| 19.999999960195904|\n|1970-01-01T08:00:00.017+08:00| 8.723291747109068E-8|\n|1970-01-01T08:00:00.018+08:00| 2.3855207991018386E-7|\n|1970-01-01T08:00:00.019+08:00| 1.2727112069910878E-8|\n+-----------------------------+----------------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br")])]),t("p",[s._v("Note: The input is $y=sin(2\\pi t/4)+2sin(2\\pi t/5)$ with a length of 20. Thus, there are peaks in $k=4$ and $k=5$ of the output.")]),s._v(" "),t("h4",{attrs:{id:"uniform-fft-with-compression"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#uniform-fft-with-compression"}},[s._v("#")]),s._v(" Uniform FFT with Compression")]),s._v(" "),t("p",[s._v("Input series is the same as above, the SQL for query is shown below:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" fft"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s1"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'result'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'real'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'compress'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'0.99'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" fft"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s1"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'result'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'imag'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'compress'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'0.99'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d1\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v('+-----------------------------+----------------------+----------------------+\n| Time| fft(root.test.d1.s1,| fft(root.test.d1.s1,|\n| | "result"="real",| "result"="imag",|\n| | "compress"="0.99")| "compress"="0.99")|\n+-----------------------------+----------------------+----------------------+\n|1970-01-01T08:00:00.000+08:00| 0.0| 0.0|\n|1970-01-01T08:00:00.001+08:00| -3.932894010461041E-9| 1.2104201863039066E-8|\n|1970-01-01T08:00:00.002+08:00|-1.4021739447490164E-7| 1.9299268669082926E-7|\n|1970-01-01T08:00:00.003+08:00| -7.057291240286645E-8| 5.127422242345858E-8|\n|1970-01-01T08:00:00.004+08:00| 19.021130288047125| -6.180339875198807|\n|1970-01-01T08:00:00.005+08:00| 9.999999850988388| 3.501852745067114E-16|\n|1970-01-01T08:00:00.019+08:00| -3.932894898639461E-9|-1.2104202549376264E-8|\n+-----------------------------+----------------------+----------------------+\n')])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br")])]),t("p",[s._v("Note: Based on the conjugation of the Fourier transform result, only the first half of the compression result is reserved.\nAccording to the given parameter, data points are reserved from low frequency to high frequency until the reserved energy ratio exceeds it.\nThe last data point is reserved to indicate the length of the series.")]),s._v(" "),t("h2",{attrs:{id:"highpass"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#highpass"}},[s._v("#")]),s._v(" HighPass")]),s._v(" "),t("h3",{attrs:{id:"usage-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage-5"}},[s._v("#")]),s._v(" Usage")]),s._v(" "),t("p",[s._v("This function performs low-pass filtering on the input series and extracts components above the cutoff frequency.\nThe timestamps of input will be ignored and all data points will be regarded as equidistant.")]),s._v(" "),t("p",[t("strong",[s._v("Name:")]),s._v(" HIGHPASS")]),s._v(" "),t("p",[t("strong",[s._v("Input:")]),s._v(" Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.")]),s._v(" "),t("p",[t("strong",[s._v("Parameters:")])]),s._v(" "),t("ul",[t("li",[t("code",[s._v("wpass")]),s._v(": The normalized cutoff frequency which values (0,1). This parameter cannot be lacked.")])]),s._v(" "),t("p",[t("strong",[s._v("Output:")]),s._v(" Output a single series. The type is DOUBLE. It is the input after filtering. The length and timestamps of output are the same as the input.")]),s._v(" "),t("p",[t("strong",[s._v("Note:")]),s._v(" "),t("code",[s._v("NaN")]),s._v(" in the input series will be ignored.")]),s._v(" "),t("h3",{attrs:{id:"examples-5"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples-5"}},[s._v("#")]),s._v(" Examples")]),s._v(" "),t("p",[s._v("Input series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+---------------+\n| Time|root.test.d1.s1|\n+-----------------------------+---------------+\n|1970-01-01T08:00:00.000+08:00| 2.902113|\n|1970-01-01T08:00:01.000+08:00| 1.1755705|\n|1970-01-01T08:00:02.000+08:00| -2.1755705|\n|1970-01-01T08:00:03.000+08:00| -1.9021131|\n|1970-01-01T08:00:04.000+08:00| 1.0|\n|1970-01-01T08:00:05.000+08:00| 1.9021131|\n|1970-01-01T08:00:06.000+08:00| 0.1755705|\n|1970-01-01T08:00:07.000+08:00| -1.1755705|\n|1970-01-01T08:00:08.000+08:00| -0.902113|\n|1970-01-01T08:00:09.000+08:00| 0.0|\n|1970-01-01T08:00:10.000+08:00| 0.902113|\n|1970-01-01T08:00:11.000+08:00| 1.1755705|\n|1970-01-01T08:00:12.000+08:00| -0.1755705|\n|1970-01-01T08:00:13.000+08:00| -1.9021131|\n|1970-01-01T08:00:14.000+08:00| -1.0|\n|1970-01-01T08:00:15.000+08:00| 1.9021131|\n|1970-01-01T08:00:16.000+08:00| 2.1755705|\n|1970-01-01T08:00:17.000+08:00| -1.1755705|\n|1970-01-01T08:00:18.000+08:00| -2.902113|\n|1970-01-01T08:00:19.000+08:00| 0.0|\n+-----------------------------+---------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br")])]),t("p",[s._v("SQL for query:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" highpass"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s1"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'wpass'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'0.45'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d1\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v('+-----------------------------+-----------------------------------------+\n| Time|highpass(root.test.d1.s1, "wpass"="0.45")|\n+-----------------------------+-----------------------------------------+\n|1970-01-01T08:00:00.000+08:00| 0.9999999534830373|\n|1970-01-01T08:00:01.000+08:00| 1.7462829277628608E-8|\n|1970-01-01T08:00:02.000+08:00| -0.9999999593178128|\n|1970-01-01T08:00:03.000+08:00| -4.1115269056426626E-8|\n|1970-01-01T08:00:04.000+08:00| 0.9999999925494194|\n|1970-01-01T08:00:05.000+08:00| 3.328126513330016E-8|\n|1970-01-01T08:00:06.000+08:00| -1.0000000183304454|\n|1970-01-01T08:00:07.000+08:00| 6.260191433311374E-10|\n|1970-01-01T08:00:08.000+08:00| 1.0000000018134796|\n|1970-01-01T08:00:09.000+08:00| -3.097210911744423E-17|\n|1970-01-01T08:00:10.000+08:00| -1.0000000018134794|\n|1970-01-01T08:00:11.000+08:00| -6.260191627862097E-10|\n|1970-01-01T08:00:12.000+08:00| 1.0000000183304454|\n|1970-01-01T08:00:13.000+08:00| -3.328126501424346E-8|\n|1970-01-01T08:00:14.000+08:00| -0.9999999925494196|\n|1970-01-01T08:00:15.000+08:00| 4.111526915498874E-8|\n|1970-01-01T08:00:16.000+08:00| 0.9999999593178128|\n|1970-01-01T08:00:17.000+08:00| -1.7462829341296528E-8|\n|1970-01-01T08:00:18.000+08:00| -0.9999999534830369|\n|1970-01-01T08:00:19.000+08:00| -1.035237222742873E-16|\n+-----------------------------+-----------------------------------------+\n')])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br")])]),t("p",[s._v("Note: The input is $y=sin(2\\pi t/4)+2sin(2\\pi t/5)$ with a length of 20. Thus, the output is $y=sin(2\\pi t/4)$ after high-pass filtering.")]),s._v(" "),t("h2",{attrs:{id:"ifft"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#ifft"}},[s._v("#")]),s._v(" IFFT")]),s._v(" "),t("h3",{attrs:{id:"usage-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage-6"}},[s._v("#")]),s._v(" Usage")]),s._v(" "),t("p",[s._v("This function treats the two input series as the real and imaginary part of a complex series, performs an inverse fast Fourier transform (IFFT), and outputs the real part of the result.\nFor the input format, please refer to the output format of "),t("code",[s._v("FFT")]),s._v(" function.\nMoreover, the compressed output of "),t("code",[s._v("FFT")]),s._v(" function is also supported.")]),s._v(" "),t("p",[t("strong",[s._v("Name:")]),s._v(" IFFT")]),s._v(" "),t("p",[t("strong",[s._v("Input:")]),s._v(" Only support two input series. The types are both INT32 / INT64 / FLOAT / DOUBLE.")]),s._v(" "),t("p",[t("strong",[s._v("Parameters:")])]),s._v(" "),t("ul",[t("li",[t("code",[s._v("start")]),s._v(": The start time of the output series with the format 'yyyy-MM-dd HH:mm:ss'. By default, it is '1970-01-01 08:00:00'.")]),s._v(" "),t("li",[t("code",[s._v("interval")]),s._v(": The interval of the output series, which is a positive number with an unit. The unit is 'ms' for millisecond, 's' for second, 'm' for minute, 'h' for hour and 'd' for day. By default, it is 1s.")])]),s._v(" "),t("p",[t("strong",[s._v("Output:")]),s._v(" Output a single series. The type is DOUBLE. It is strictly equispaced. The values are the results of IFFT.")]),s._v(" "),t("p",[t("strong",[s._v("Note:")]),s._v(" If a row contains null points or "),t("code",[s._v("NaN")]),s._v(", it will be ignored.")]),s._v(" "),t("h3",{attrs:{id:"examples-6"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples-6"}},[s._v("#")]),s._v(" Examples")]),s._v(" "),t("p",[s._v("Input series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+----------------------+----------------------+\n| Time| root.test.d1.re| root.test.d1.im|\n+-----------------------------+----------------------+----------------------+\n|1970-01-01T08:00:00.000+08:00| 0.0| 0.0|\n|1970-01-01T08:00:00.001+08:00| -3.932894010461041E-9| 1.2104201863039066E-8|\n|1970-01-01T08:00:00.002+08:00|-1.4021739447490164E-7| 1.9299268669082926E-7|\n|1970-01-01T08:00:00.003+08:00| -7.057291240286645E-8| 5.127422242345858E-8|\n|1970-01-01T08:00:00.004+08:00| 19.021130288047125| -6.180339875198807|\n|1970-01-01T08:00:00.005+08:00| 9.999999850988388| 3.501852745067114E-16|\n|1970-01-01T08:00:00.019+08:00| -3.932894898639461E-9|-1.2104202549376264E-8|\n+-----------------------------+----------------------+----------------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br")])]),t("p",[s._v("SQL for query:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" ifft"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("re"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" im"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'interval'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'1m'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'start'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'2021-01-01 00:00:00'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d1\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v('+-----------------------------+-------------------------------------------------------+\n| Time|ifft(root.test.d1.re, root.test.d1.im, "interval"="1m",|\n| | "start"="2021-01-01 00:00:00")|\n+-----------------------------+-------------------------------------------------------+\n|2021-01-01T00:00:00.000+08:00| 2.902112992431231|\n|2021-01-01T00:01:00.000+08:00| 1.1755704705132448|\n|2021-01-01T00:02:00.000+08:00| -2.175570513757101|\n|2021-01-01T00:03:00.000+08:00| -1.9021130389094498|\n|2021-01-01T00:04:00.000+08:00| 0.9999999925494194|\n|2021-01-01T00:05:00.000+08:00| 1.902113046743454|\n|2021-01-01T00:06:00.000+08:00| 0.17557053610884188|\n|2021-01-01T00:07:00.000+08:00| -1.1755704886020932|\n|2021-01-01T00:08:00.000+08:00| -0.9021130371347148|\n|2021-01-01T00:09:00.000+08:00| 3.552713678800501E-16|\n|2021-01-01T00:10:00.000+08:00| 0.9021130371347154|\n|2021-01-01T00:11:00.000+08:00| 1.1755704886020932|\n|2021-01-01T00:12:00.000+08:00| -0.17557053610884144|\n|2021-01-01T00:13:00.000+08:00| -1.902113046743454|\n|2021-01-01T00:14:00.000+08:00| -0.9999999925494196|\n|2021-01-01T00:15:00.000+08:00| 1.9021130389094498|\n|2021-01-01T00:16:00.000+08:00| 2.1755705137571004|\n|2021-01-01T00:17:00.000+08:00| -1.1755704705132448|\n|2021-01-01T00:18:00.000+08:00| -2.902112992431231|\n|2021-01-01T00:19:00.000+08:00| -3.552713678800501E-16|\n+-----------------------------+-------------------------------------------------------+\n')])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br"),t("span",{staticClass:"line-number"},[s._v("25")]),t("br")])]),t("h2",{attrs:{id:"lowpass"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#lowpass"}},[s._v("#")]),s._v(" LowPass")]),s._v(" "),t("h3",{attrs:{id:"usage-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#usage-7"}},[s._v("#")]),s._v(" Usage")]),s._v(" "),t("p",[s._v("This function performs low-pass filtering on the input series and extracts components below the cutoff frequency.\nThe timestamps of input will be ignored and all data points will be regarded as equidistant.")]),s._v(" "),t("p",[t("strong",[s._v("Name:")]),s._v(" LOWPASS")]),s._v(" "),t("p",[t("strong",[s._v("Input:")]),s._v(" Only support a single input series. The type is INT32 / INT64 / FLOAT / DOUBLE.")]),s._v(" "),t("p",[t("strong",[s._v("Parameters:")])]),s._v(" "),t("ul",[t("li",[t("code",[s._v("wpass")]),s._v(": The normalized cutoff frequency which values (0,1). This parameter cannot be lacked.")])]),s._v(" "),t("p",[t("strong",[s._v("Output:")]),s._v(" Output a single series. The type is DOUBLE. It is the input after filtering. The length and timestamps of output are the same as the input.")]),s._v(" "),t("p",[t("strong",[s._v("Note:")]),s._v(" "),t("code",[s._v("NaN")]),s._v(" in the input series will be ignored.")]),s._v(" "),t("h3",{attrs:{id:"examples-7"}},[t("a",{staticClass:"header-anchor",attrs:{href:"#examples-7"}},[s._v("#")]),s._v(" Examples")]),s._v(" "),t("p",[s._v("Input series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v("+-----------------------------+---------------+\n| Time|root.test.d1.s1|\n+-----------------------------+---------------+\n|1970-01-01T08:00:00.000+08:00| 2.902113|\n|1970-01-01T08:00:01.000+08:00| 1.1755705|\n|1970-01-01T08:00:02.000+08:00| -2.1755705|\n|1970-01-01T08:00:03.000+08:00| -1.9021131|\n|1970-01-01T08:00:04.000+08:00| 1.0|\n|1970-01-01T08:00:05.000+08:00| 1.9021131|\n|1970-01-01T08:00:06.000+08:00| 0.1755705|\n|1970-01-01T08:00:07.000+08:00| -1.1755705|\n|1970-01-01T08:00:08.000+08:00| -0.902113|\n|1970-01-01T08:00:09.000+08:00| 0.0|\n|1970-01-01T08:00:10.000+08:00| 0.902113|\n|1970-01-01T08:00:11.000+08:00| 1.1755705|\n|1970-01-01T08:00:12.000+08:00| -0.1755705|\n|1970-01-01T08:00:13.000+08:00| -1.9021131|\n|1970-01-01T08:00:14.000+08:00| -1.0|\n|1970-01-01T08:00:15.000+08:00| 1.9021131|\n|1970-01-01T08:00:16.000+08:00| 2.1755705|\n|1970-01-01T08:00:17.000+08:00| -1.1755705|\n|1970-01-01T08:00:18.000+08:00| -2.902113|\n|1970-01-01T08:00:19.000+08:00| 0.0|\n+-----------------------------+---------------+\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br")])]),t("p",[s._v("SQL for query:")]),s._v(" "),t("div",{staticClass:"language-sql line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-sql"}},[t("code",[t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("select")]),s._v(" lowpass"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v("(")]),s._v("s1"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(",")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'wpass'")]),t("span",{pre:!0,attrs:{class:"token operator"}},[s._v("=")]),t("span",{pre:!0,attrs:{class:"token string"}},[s._v("'0.45'")]),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(")")]),s._v(" "),t("span",{pre:!0,attrs:{class:"token keyword"}},[s._v("from")]),s._v(" root"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("test"),t("span",{pre:!0,attrs:{class:"token punctuation"}},[s._v(".")]),s._v("d1\n")])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br")])]),t("p",[s._v("Output series:")]),s._v(" "),t("div",{staticClass:"language- line-numbers-mode"},[t("pre",{pre:!0,attrs:{class:"language-text"}},[t("code",[s._v('+-----------------------------+----------------------------------------+\n| Time|lowpass(root.test.d1.s1, "wpass"="0.45")|\n+-----------------------------+----------------------------------------+\n|1970-01-01T08:00:00.000+08:00| 1.9021130073323922|\n|1970-01-01T08:00:01.000+08:00| 1.1755704705132448|\n|1970-01-01T08:00:02.000+08:00| -1.1755705286582614|\n|1970-01-01T08:00:03.000+08:00| -1.9021130389094498|\n|1970-01-01T08:00:04.000+08:00| 7.450580419288145E-9|\n|1970-01-01T08:00:05.000+08:00| 1.902113046743454|\n|1970-01-01T08:00:06.000+08:00| 1.1755705212076808|\n|1970-01-01T08:00:07.000+08:00| -1.1755704886020932|\n|1970-01-01T08:00:08.000+08:00| -1.9021130222335536|\n|1970-01-01T08:00:09.000+08:00| 3.552713678800501E-16|\n|1970-01-01T08:00:10.000+08:00| 1.9021130222335536|\n|1970-01-01T08:00:11.000+08:00| 1.1755704886020932|\n|1970-01-01T08:00:12.000+08:00| -1.1755705212076801|\n|1970-01-01T08:00:13.000+08:00| -1.902113046743454|\n|1970-01-01T08:00:14.000+08:00| -7.45058112983088E-9|\n|1970-01-01T08:00:15.000+08:00| 1.9021130389094498|\n|1970-01-01T08:00:16.000+08:00| 1.1755705286582616|\n|1970-01-01T08:00:17.000+08:00| -1.1755704705132448|\n|1970-01-01T08:00:18.000+08:00| -1.9021130073323924|\n|1970-01-01T08:00:19.000+08:00| -2.664535259100376E-16|\n+-----------------------------+----------------------------------------+\n')])]),s._v(" "),t("div",{staticClass:"line-numbers-wrapper"},[t("span",{staticClass:"line-number"},[s._v("1")]),t("br"),t("span",{staticClass:"line-number"},[s._v("2")]),t("br"),t("span",{staticClass:"line-number"},[s._v("3")]),t("br"),t("span",{staticClass:"line-number"},[s._v("4")]),t("br"),t("span",{staticClass:"line-number"},[s._v("5")]),t("br"),t("span",{staticClass:"line-number"},[s._v("6")]),t("br"),t("span",{staticClass:"line-number"},[s._v("7")]),t("br"),t("span",{staticClass:"line-number"},[s._v("8")]),t("br"),t("span",{staticClass:"line-number"},[s._v("9")]),t("br"),t("span",{staticClass:"line-number"},[s._v("10")]),t("br"),t("span",{staticClass:"line-number"},[s._v("11")]),t("br"),t("span",{staticClass:"line-number"},[s._v("12")]),t("br"),t("span",{staticClass:"line-number"},[s._v("13")]),t("br"),t("span",{staticClass:"line-number"},[s._v("14")]),t("br"),t("span",{staticClass:"line-number"},[s._v("15")]),t("br"),t("span",{staticClass:"line-number"},[s._v("16")]),t("br"),t("span",{staticClass:"line-number"},[s._v("17")]),t("br"),t("span",{staticClass:"line-number"},[s._v("18")]),t("br"),t("span",{staticClass:"line-number"},[s._v("19")]),t("br"),t("span",{staticClass:"line-number"},[s._v("20")]),t("br"),t("span",{staticClass:"line-number"},[s._v("21")]),t("br"),t("span",{staticClass:"line-number"},[s._v("22")]),t("br"),t("span",{staticClass:"line-number"},[s._v("23")]),t("br"),t("span",{staticClass:"line-number"},[s._v("24")]),t("br")])]),t("p",[s._v("Note: The input is $y=sin(2\\pi t/4)+2sin(2\\pi t/5)$ with a length of 20. Thus, the output is $y=2sin(2\\pi t/5)$ after low-pass filtering.")])])}),[],!1,null,null,null);t.default=e.exports}}]);