| import{_ as e,O as i,P as l,ah as t,aW as a,Q as s,U as n}from"./framework-62ad666a.js";const d={},r=a(`<h1 id="频域分析" tabindex="-1"><a class="header-anchor" href="#频域分析" aria-hidden="true">#</a> 频域分析</h1><h2 id="conv" tabindex="-1"><a class="header-anchor" href="#conv" aria-hidden="true">#</a> Conv</h2><h3 id="函数简介" tabindex="-1"><a class="header-anchor" href="#函数简介" aria-hidden="true">#</a> 函数简介</h3><p>本函数对两个输入序列进行卷积,即多项式乘法。</p><p><strong>函数名:</strong> CONV</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,它是两个序列卷积的结果。序列的时间戳从0开始,仅用于表示顺序。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h3 id="使用示例" tabindex="-1"><a class="header-anchor" href="#使用示例" aria-hidden="true">#</a> 使用示例</h3><p>输入序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+---------------+---------------+ |
| | Time|root.test.d2.s1|root.test.d2.s2| |
| +-----------------------------+---------------+---------------+ |
| |1970-01-01T08:00:00.000+08:00| 1.0| 7.0| |
| |1970-01-01T08:00:00.001+08:00| 0.0| 2.0| |
| |1970-01-01T08:00:00.002+08:00| 1.0| null| |
| +-----------------------------+---------------+---------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> conv<span class="token punctuation">(</span>s1<span class="token punctuation">,</span>s2<span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d2 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+--------------------------------------+ |
| | Time|conv(root.test.d2.s1, root.test.d2.s2)| |
| +-----------------------------+--------------------------------------+ |
| |1970-01-01T08:00:00.000+08:00| 7.0| |
| |1970-01-01T08:00:00.001+08:00| 2.0| |
| |1970-01-01T08:00:00.002+08:00| 7.0| |
| |1970-01-01T08:00:00.003+08:00| 2.0| |
| +-----------------------------+--------------------------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="deconv" tabindex="-1"><a class="header-anchor" href="#deconv" aria-hidden="true">#</a> Deconv</h2><h3 id="函数简介-1" tabindex="-1"><a class="header-anchor" href="#函数简介-1" aria-hidden="true">#</a> 函数简介</h3><p>本函数对两个输入序列进行去卷积,即多项式除法运算。</p><p><strong>函数名:</strong> DECONV</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>result</code>:去卷积的结果,取值为'quotient'或'remainder',分别对应于去卷积的商和余数。在缺省情况下,输出去卷积的商。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE。它是将第二个序列从第一个序列中去卷积(第一个序列除以第二个序列)的结果。序列的时间戳从0开始,仅用于表示顺序。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h3 id="使用示例-1" tabindex="-1"><a class="header-anchor" href="#使用示例-1" aria-hidden="true">#</a> 使用示例</h3><h4 id="计算去卷积的商" tabindex="-1"><a class="header-anchor" href="#计算去卷积的商" aria-hidden="true">#</a> 计算去卷积的商</h4><p>当<code>result</code>参数缺省或为'quotient'时,本函数计算去卷积的商。</p><p>输入序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+---------------+---------------+ |
| | Time|root.test.d2.s3|root.test.d2.s2| |
| +-----------------------------+---------------+---------------+ |
| |1970-01-01T08:00:00.000+08:00| 8.0| 7.0| |
| |1970-01-01T08:00:00.001+08:00| 2.0| 2.0| |
| |1970-01-01T08:00:00.002+08:00| 7.0| null| |
| |1970-01-01T08:00:00.003+08:00| 2.0| null| |
| +-----------------------------+---------------+---------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> deconv<span class="token punctuation">(</span>s3<span class="token punctuation">,</span>s2<span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d2 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+----------------------------------------+ |
| | Time|deconv(root.test.d2.s3, root.test.d2.s2)| |
| +-----------------------------+----------------------------------------+ |
| |1970-01-01T08:00:00.000+08:00| 1.0| |
| |1970-01-01T08:00:00.001+08:00| 0.0| |
| |1970-01-01T08:00:00.002+08:00| 1.0| |
| +-----------------------------+----------------------------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h4 id="计算去卷积的余数" tabindex="-1"><a class="header-anchor" href="#计算去卷积的余数" aria-hidden="true">#</a> 计算去卷积的余数</h4><p>当<code>result</code>参数为'remainder'时,本函数计算去卷积的余数。输入序列同上,用于查询的SQL语句如下:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> deconv<span class="token punctuation">(</span>s3<span class="token punctuation">,</span>s2<span class="token punctuation">,</span><span class="token string">'result'</span><span class="token operator">=</span><span class="token string">'remainder'</span><span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d2 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+--------------------------------------------------------------+ |
| | Time|deconv(root.test.d2.s3, root.test.d2.s2, "result"="remainder")| |
| +-----------------------------+--------------------------------------------------------------+ |
| |1970-01-01T08:00:00.000+08:00| 1.0| |
| |1970-01-01T08:00:00.001+08:00| 0.0| |
| |1970-01-01T08:00:00.002+08:00| 0.0| |
| |1970-01-01T08:00:00.003+08:00| 0.0| |
| +-----------------------------+--------------------------------------------------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="dwt" tabindex="-1"><a class="header-anchor" href="#dwt" aria-hidden="true">#</a> DWT</h2><h3 id="函数简介-2" tabindex="-1"><a class="header-anchor" href="#函数简介-2" aria-hidden="true">#</a> 函数简介</h3><p>本函数对输入序列进行一维离散小波变换。</p><p><strong>函数名:</strong> DWT</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p>`,44),c=s("ul",null,[s("li",null,[s("code",null,"method"),n(":小波滤波的类型,提供'Haar', 'DB4', 'DB6', 'DB8',其中DB指代Daubechies。若不设置该参数,则用户需提供小波滤波的系数。不区分大小写。")]),s("li",null,[s("code",null,"coef"),n(":小波滤波的系数。若提供该参数,请使用英文逗号','分割各项,不添加空格或其它符号。")]),s("li",null,[s("code",null,"layer"),n(":进行变换的次数,最终输出的向量个数等同于"),s("span",{class:"katex"},[s("span",{class:"katex-mathml"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("semantics",null,[s("mrow",null,[s("mi",null,"l"),s("mi",null,"a"),s("mi",null,"y"),s("mi",null,"e"),s("mi",null,"r"),s("mo",null,"+"),s("mn",null,"1")]),s("annotation",{encoding:"application/x-tex"},"layer+1")])])]),s("span",{class:"katex-html","aria-hidden":"true"},[s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.8889em","vertical-align":"-0.1944em"}}),s("span",{class:"mord mathnormal",style:{"margin-right":"0.01968em"}},"l"),s("span",{class:"mord mathnormal"},"a"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.02778em"}},"yer"),s("span",{class:"mspace",style:{"margin-right":"0.2222em"}}),s("span",{class:"mbin"},"+"),s("span",{class:"mspace",style:{"margin-right":"0.2222em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.6444em"}}),s("span",{class:"mord"},"1")])])]),n(".默认取1。")])],-1),m=a(`<p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,长度与输入相等。</p><p><strong>提示:</strong> 输入序列长度必须为2的整数次幂。</p><h3 id="使用示例-2" tabindex="-1"><a class="header-anchor" href="#使用示例-2" aria-hidden="true">#</a> 使用示例</h3><h4 id="haar变换" tabindex="-1"><a class="header-anchor" href="#haar变换" aria-hidden="true">#</a> Haar变换</h4><p>输入序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+---------------+ |
| | Time|root.test.d1.s1| |
| +-----------------------------+---------------+ |
| |1970-01-01T08:00:00.000+08:00| 0.0| |
| |1970-01-01T08:00:00.100+08:00| 0.2| |
| |1970-01-01T08:00:00.200+08:00| 1.5| |
| |1970-01-01T08:00:00.300+08:00| 1.2| |
| |1970-01-01T08:00:00.400+08:00| 0.6| |
| |1970-01-01T08:00:00.500+08:00| 1.7| |
| |1970-01-01T08:00:00.600+08:00| 0.8| |
| |1970-01-01T08:00:00.700+08:00| 2.0| |
| |1970-01-01T08:00:00.800+08:00| 2.5| |
| |1970-01-01T08:00:00.900+08:00| 2.1| |
| |1970-01-01T08:00:01.000+08:00| 0.0| |
| |1970-01-01T08:00:01.100+08:00| 2.0| |
| |1970-01-01T08:00:01.200+08:00| 1.8| |
| |1970-01-01T08:00:01.300+08:00| 1.2| |
| |1970-01-01T08:00:01.400+08:00| 1.0| |
| |1970-01-01T08:00:01.500+08:00| 1.6| |
| +-----------------------------+---------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> dwt<span class="token punctuation">(</span>s1<span class="token punctuation">,</span><span class="token string">"method"</span><span class="token operator">=</span><span class="token string">"haar"</span><span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d1 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+-------------------------------------+ |
| | Time|dwt(root.test.d1.s1, "method"="haar")| |
| +-----------------------------+-------------------------------------+ |
| |1970-01-01T08:00:00.000+08:00| 0.14142135834465192| |
| |1970-01-01T08:00:00.100+08:00| 1.909188342921157| |
| |1970-01-01T08:00:00.200+08:00| 1.6263456473052773| |
| |1970-01-01T08:00:00.300+08:00| 1.9798989957517026| |
| |1970-01-01T08:00:00.400+08:00| 3.252691126023161| |
| |1970-01-01T08:00:00.500+08:00| 1.414213562373095| |
| |1970-01-01T08:00:00.600+08:00| 2.1213203435596424| |
| |1970-01-01T08:00:00.700+08:00| 1.8384776479437628| |
| |1970-01-01T08:00:00.800+08:00| -0.14142135834465192| |
| |1970-01-01T08:00:00.900+08:00| 0.21213200063848547| |
| |1970-01-01T08:00:01.000+08:00| -0.7778174761639416| |
| |1970-01-01T08:00:01.100+08:00| -0.8485281289944873| |
| |1970-01-01T08:00:01.200+08:00| 0.2828427799095765| |
| |1970-01-01T08:00:01.300+08:00| -1.414213562373095| |
| |1970-01-01T08:00:01.400+08:00| 0.42426400127697095| |
| |1970-01-01T08:00:01.500+08:00| -0.42426408557066786| |
| +-----------------------------+-------------------------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="fft" tabindex="-1"><a class="header-anchor" href="#fft" aria-hidden="true">#</a> FFT</h2><h3 id="函数简介-3" tabindex="-1"><a class="header-anchor" href="#函数简介-3" aria-hidden="true">#</a> 函数简介</h3><p>本函数对输入序列进行快速傅里叶变换。</p><p><strong>函数名:</strong> FFT</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>method</code>:傅里叶变换的类型,取值为'uniform'或'nonuniform',缺省情况下为'uniform'。当取值为'uniform'时,时间戳将被忽略,所有数据点都将被视作等距的,并应用等距快速傅里叶算法;当取值为'nonuniform'时,将根据时间戳应用非等距快速傅里叶算法(未实现)。</li><li><code>result</code>:傅里叶变换的结果,取值为'real'、'imag'、'abs'或'angle',分别对应于变换结果的实部、虚部、模和幅角。在缺省情况下,输出变换的模。</li><li><code>compress</code>:压缩参数,取值范围(0,1],是有损压缩时保留的能量比例。在缺省情况下,不进行压缩。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,长度与输入相等。序列的时间戳从0开始,仅用于表示顺序。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h3 id="使用示例-3" tabindex="-1"><a class="header-anchor" href="#使用示例-3" aria-hidden="true">#</a> 使用示例</h3><h4 id="等距傅里叶变换" tabindex="-1"><a class="header-anchor" href="#等距傅里叶变换" aria-hidden="true">#</a> 等距傅里叶变换</h4><p>当<code>type</code>参数缺省或为'uniform'时,本函数进行等距傅里叶变换。</p><p>输入序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+---------------+ |
| | Time|root.test.d1.s1| |
| +-----------------------------+---------------+ |
| |1970-01-01T08:00:00.000+08:00| 2.902113| |
| |1970-01-01T08:00:01.000+08:00| 1.1755705| |
| |1970-01-01T08:00:02.000+08:00| -2.1755705| |
| |1970-01-01T08:00:03.000+08:00| -1.9021131| |
| |1970-01-01T08:00:04.000+08:00| 1.0| |
| |1970-01-01T08:00:05.000+08:00| 1.9021131| |
| |1970-01-01T08:00:06.000+08:00| 0.1755705| |
| |1970-01-01T08:00:07.000+08:00| -1.1755705| |
| |1970-01-01T08:00:08.000+08:00| -0.902113| |
| |1970-01-01T08:00:09.000+08:00| 0.0| |
| |1970-01-01T08:00:10.000+08:00| 0.902113| |
| |1970-01-01T08:00:11.000+08:00| 1.1755705| |
| |1970-01-01T08:00:12.000+08:00| -0.1755705| |
| |1970-01-01T08:00:13.000+08:00| -1.9021131| |
| |1970-01-01T08:00:14.000+08:00| -1.0| |
| |1970-01-01T08:00:15.000+08:00| 1.9021131| |
| |1970-01-01T08:00:16.000+08:00| 2.1755705| |
| |1970-01-01T08:00:17.000+08:00| -1.1755705| |
| |1970-01-01T08:00:18.000+08:00| -2.902113| |
| |1970-01-01T08:00:19.000+08:00| 0.0| |
| +-----------------------------+---------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> fft<span class="token punctuation">(</span>s1<span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d1 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+----------------------+ |
| | Time| fft(root.test.d1.s1)| |
| +-----------------------------+----------------------+ |
| |1970-01-01T08:00:00.000+08:00| 0.0| |
| |1970-01-01T08:00:00.001+08:00| 1.2727111142703152E-8| |
| |1970-01-01T08:00:00.002+08:00| 2.385520799101839E-7| |
| |1970-01-01T08:00:00.003+08:00| 8.723291723972645E-8| |
| |1970-01-01T08:00:00.004+08:00| 19.999999960195904| |
| |1970-01-01T08:00:00.005+08:00| 9.999999850988388| |
| |1970-01-01T08:00:00.006+08:00| 3.2260694930700566E-7| |
| |1970-01-01T08:00:00.007+08:00| 8.723291605373329E-8| |
| |1970-01-01T08:00:00.008+08:00| 1.108657103979944E-7| |
| |1970-01-01T08:00:00.009+08:00| 1.2727110997246171E-8| |
| |1970-01-01T08:00:00.010+08:00|1.9852334701272664E-23| |
| |1970-01-01T08:00:00.011+08:00| 1.2727111194499847E-8| |
| |1970-01-01T08:00:00.012+08:00| 1.108657103979944E-7| |
| |1970-01-01T08:00:00.013+08:00| 8.723291785769131E-8| |
| |1970-01-01T08:00:00.014+08:00| 3.226069493070057E-7| |
| |1970-01-01T08:00:00.015+08:00| 9.999999850988388| |
| |1970-01-01T08:00:00.016+08:00| 19.999999960195904| |
| |1970-01-01T08:00:00.017+08:00| 8.723291747109068E-8| |
| |1970-01-01T08:00:00.018+08:00| 2.3855207991018386E-7| |
| |1970-01-01T08:00:00.019+08:00| 1.2727112069910878E-8| |
| +-----------------------------+----------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,28),o=s("p",null,[n("注:输入序列服从"),s("span",{class:"katex"},[s("span",{class:"katex-mathml"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("semantics",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"="),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mi",{mathvariant:"normal"},"/"),s("mn",null,"4"),s("mo",{stretchy:"false"},")"),s("mo",null,"+"),s("mn",null,"2"),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mi",{mathvariant:"normal"},"/"),s("mn",null,"5"),s("mo",{stretchy:"false"},")")]),s("annotation",{encoding:"application/x-tex"},"y=sin(2\\pi t/4)+2sin(2\\pi t/5)")])])]),s("span",{class:"katex-html","aria-hidden":"true"},[s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.625em","vertical-align":"-0.1944em"}}),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"y"),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}}),s("span",{class:"mrel"},"="),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),s("span",{class:"mord mathnormal"},"s"),s("span",{class:"mord mathnormal"},"in"),s("span",{class:"mopen"},"("),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"π"),s("span",{class:"mord mathnormal"},"t"),s("span",{class:"mord"},"/4"),s("span",{class:"mclose"},")"),s("span",{class:"mspace",style:{"margin-right":"0.2222em"}}),s("span",{class:"mbin"},"+"),s("span",{class:"mspace",style:{"margin-right":"0.2222em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal"},"s"),s("span",{class:"mord mathnormal"},"in"),s("span",{class:"mopen"},"("),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"π"),s("span",{class:"mord mathnormal"},"t"),s("span",{class:"mord"},"/5"),s("span",{class:"mclose"},")")])])]),n(",长度为20,因此在输出序列中"),s("span",{class:"katex"},[s("span",{class:"katex-mathml"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("semantics",null,[s("mrow",null,[s("mi",null,"k"),s("mo",null,"="),s("mn",null,"4")]),s("annotation",{encoding:"application/x-tex"},"k=4")])])]),s("span",{class:"katex-html","aria-hidden":"true"},[s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.6944em"}}),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03148em"}},"k"),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}}),s("span",{class:"mrel"},"="),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.6444em"}}),s("span",{class:"mord"},"4")])])]),n("和"),s("span",{class:"katex"},[s("span",{class:"katex-mathml"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("semantics",null,[s("mrow",null,[s("mi",null,"k"),s("mo",null,"="),s("mn",null,"5")]),s("annotation",{encoding:"application/x-tex"},"k=5")])])]),s("span",{class:"katex-html","aria-hidden":"true"},[s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.6944em"}}),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03148em"}},"k"),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}}),s("span",{class:"mrel"},"="),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.6444em"}}),s("span",{class:"mord"},"5")])])]),n("处有尖峰。")],-1),u=a(`<h4 id="等距傅里叶变换并压缩" tabindex="-1"><a class="header-anchor" href="#等距傅里叶变换并压缩" aria-hidden="true">#</a> 等距傅里叶变换并压缩</h4><p>输入序列同上,用于查询的SQL语句如下:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> fft<span class="token punctuation">(</span>s1<span class="token punctuation">,</span> <span class="token string">'result'</span><span class="token operator">=</span><span class="token string">'real'</span><span class="token punctuation">,</span> <span class="token string">'compress'</span><span class="token operator">=</span><span class="token string">'0.99'</span><span class="token punctuation">)</span><span class="token punctuation">,</span> fft<span class="token punctuation">(</span>s1<span class="token punctuation">,</span> <span class="token string">'result'</span><span class="token operator">=</span><span class="token string">'imag'</span><span class="token punctuation">,</span><span class="token string">'compress'</span><span class="token operator">=</span><span class="token string">'0.99'</span><span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d1 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+----------------------+----------------------+ |
| | Time| fft(root.test.d1.s1,| fft(root.test.d1.s1,| |
| | | "result"="real",| "result"="imag",| |
| | | "compress"="0.99")| "compress"="0.99")| |
| +-----------------------------+----------------------+----------------------+ |
| |1970-01-01T08:00:00.000+08:00| 0.0| 0.0| |
| |1970-01-01T08:00:00.001+08:00| -3.932894010461041E-9| 1.2104201863039066E-8| |
| |1970-01-01T08:00:00.002+08:00|-1.4021739447490164E-7| 1.9299268669082926E-7| |
| |1970-01-01T08:00:00.003+08:00| -7.057291240286645E-8| 5.127422242345858E-8| |
| |1970-01-01T08:00:00.004+08:00| 19.021130288047125| -6.180339875198807| |
| |1970-01-01T08:00:00.005+08:00| 9.999999850988388| 3.501852745067114E-16| |
| |1970-01-01T08:00:00.019+08:00| -3.932894898639461E-9|-1.2104202549376264E-8| |
| +-----------------------------+----------------------+----------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>注:基于傅里叶变换结果的共轭性质,压缩结果只保留前一半;根据给定的压缩参数,从低频到高频保留数据点,直到保留的能量比例超过该值;保留最后一个数据点以表示序列长度。</p><h2 id="highpass" tabindex="-1"><a class="header-anchor" href="#highpass" aria-hidden="true">#</a> HighPass</h2><h3 id="函数简介-4" tabindex="-1"><a class="header-anchor" href="#函数简介-4" aria-hidden="true">#</a> 函数简介</h3><p>本函数对输入序列进行高通滤波,提取高于截止频率的分量。输入序列的时间戳将被忽略,所有数据点都将被视作等距的。</p><p><strong>函数名:</strong> HIGHPASS</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>wpass</code>:归一化后的截止频率,取值为(0,1),不可缺省。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,它是滤波后的序列,长度与时间戳均与输入一致。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h3 id="使用示例-4" tabindex="-1"><a class="header-anchor" href="#使用示例-4" aria-hidden="true">#</a> 使用示例</h3><p>输入序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+---------------+ |
| | Time|root.test.d1.s1| |
| +-----------------------------+---------------+ |
| |1970-01-01T08:00:00.000+08:00| 2.902113| |
| |1970-01-01T08:00:01.000+08:00| 1.1755705| |
| |1970-01-01T08:00:02.000+08:00| -2.1755705| |
| |1970-01-01T08:00:03.000+08:00| -1.9021131| |
| |1970-01-01T08:00:04.000+08:00| 1.0| |
| |1970-01-01T08:00:05.000+08:00| 1.9021131| |
| |1970-01-01T08:00:06.000+08:00| 0.1755705| |
| |1970-01-01T08:00:07.000+08:00| -1.1755705| |
| |1970-01-01T08:00:08.000+08:00| -0.902113| |
| |1970-01-01T08:00:09.000+08:00| 0.0| |
| |1970-01-01T08:00:10.000+08:00| 0.902113| |
| |1970-01-01T08:00:11.000+08:00| 1.1755705| |
| |1970-01-01T08:00:12.000+08:00| -0.1755705| |
| |1970-01-01T08:00:13.000+08:00| -1.9021131| |
| |1970-01-01T08:00:14.000+08:00| -1.0| |
| |1970-01-01T08:00:15.000+08:00| 1.9021131| |
| |1970-01-01T08:00:16.000+08:00| 2.1755705| |
| |1970-01-01T08:00:17.000+08:00| -1.1755705| |
| |1970-01-01T08:00:18.000+08:00| -2.902113| |
| |1970-01-01T08:00:19.000+08:00| 0.0| |
| +-----------------------------+---------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> highpass<span class="token punctuation">(</span>s1<span class="token punctuation">,</span><span class="token string">'wpass'</span><span class="token operator">=</span><span class="token string">'0.45'</span><span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d1 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+-----------------------------------------+ |
| | Time|highpass(root.test.d1.s1, "wpass"="0.45")| |
| +-----------------------------+-----------------------------------------+ |
| |1970-01-01T08:00:00.000+08:00| 0.9999999534830373| |
| |1970-01-01T08:00:01.000+08:00| 1.7462829277628608E-8| |
| |1970-01-01T08:00:02.000+08:00| -0.9999999593178128| |
| |1970-01-01T08:00:03.000+08:00| -4.1115269056426626E-8| |
| |1970-01-01T08:00:04.000+08:00| 0.9999999925494194| |
| |1970-01-01T08:00:05.000+08:00| 3.328126513330016E-8| |
| |1970-01-01T08:00:06.000+08:00| -1.0000000183304454| |
| |1970-01-01T08:00:07.000+08:00| 6.260191433311374E-10| |
| |1970-01-01T08:00:08.000+08:00| 1.0000000018134796| |
| |1970-01-01T08:00:09.000+08:00| -3.097210911744423E-17| |
| |1970-01-01T08:00:10.000+08:00| -1.0000000018134794| |
| |1970-01-01T08:00:11.000+08:00| -6.260191627862097E-10| |
| |1970-01-01T08:00:12.000+08:00| 1.0000000183304454| |
| |1970-01-01T08:00:13.000+08:00| -3.328126501424346E-8| |
| |1970-01-01T08:00:14.000+08:00| -0.9999999925494196| |
| |1970-01-01T08:00:15.000+08:00| 4.111526915498874E-8| |
| |1970-01-01T08:00:16.000+08:00| 0.9999999593178128| |
| |1970-01-01T08:00:17.000+08:00| -1.7462829341296528E-8| |
| |1970-01-01T08:00:18.000+08:00| -0.9999999534830369| |
| |1970-01-01T08:00:19.000+08:00| -1.035237222742873E-16| |
| +-----------------------------+-----------------------------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,22),p=s("p",null,[n("注:输入序列服从"),s("span",{class:"katex"},[s("span",{class:"katex-mathml"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("semantics",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"="),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mi",{mathvariant:"normal"},"/"),s("mn",null,"4"),s("mo",{stretchy:"false"},")"),s("mo",null,"+"),s("mn",null,"2"),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mi",{mathvariant:"normal"},"/"),s("mn",null,"5"),s("mo",{stretchy:"false"},")")]),s("annotation",{encoding:"application/x-tex"},"y=sin(2\\pi t/4)+2sin(2\\pi t/5)")])])]),s("span",{class:"katex-html","aria-hidden":"true"},[s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.625em","vertical-align":"-0.1944em"}}),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"y"),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}}),s("span",{class:"mrel"},"="),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),s("span",{class:"mord mathnormal"},"s"),s("span",{class:"mord mathnormal"},"in"),s("span",{class:"mopen"},"("),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"π"),s("span",{class:"mord mathnormal"},"t"),s("span",{class:"mord"},"/4"),s("span",{class:"mclose"},")"),s("span",{class:"mspace",style:{"margin-right":"0.2222em"}}),s("span",{class:"mbin"},"+"),s("span",{class:"mspace",style:{"margin-right":"0.2222em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal"},"s"),s("span",{class:"mord mathnormal"},"in"),s("span",{class:"mopen"},"("),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"π"),s("span",{class:"mord mathnormal"},"t"),s("span",{class:"mord"},"/5"),s("span",{class:"mclose"},")")])])]),n(",长度为20,因此高通滤波之后的输出序列服从"),s("span",{class:"katex"},[s("span",{class:"katex-mathml"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("semantics",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"="),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mi",{mathvariant:"normal"},"/"),s("mn",null,"4"),s("mo",{stretchy:"false"},")")]),s("annotation",{encoding:"application/x-tex"},"y=sin(2\\pi t/4)")])])]),s("span",{class:"katex-html","aria-hidden":"true"},[s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.625em","vertical-align":"-0.1944em"}}),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"y"),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}}),s("span",{class:"mrel"},"="),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),s("span",{class:"mord mathnormal"},"s"),s("span",{class:"mord mathnormal"},"in"),s("span",{class:"mopen"},"("),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"π"),s("span",{class:"mord mathnormal"},"t"),s("span",{class:"mord"},"/4"),s("span",{class:"mclose"},")")])])]),n("。")],-1),v=a(`<h2 id="ifft" tabindex="-1"><a class="header-anchor" href="#ifft" aria-hidden="true">#</a> IFFT</h2><h3 id="函数简介-5" tabindex="-1"><a class="header-anchor" href="#函数简介-5" aria-hidden="true">#</a> 函数简介</h3><p>本函数将输入的两个序列作为实部和虚部视作一个复数,进行逆快速傅里叶变换,并输出结果的实部。输入数据的格式参见<code>FFT</code>函数的输出,并支持以<code>FFT</code>函数压缩后的输出作为本函数的输入。</p><p><strong>函数名:</strong> IFFT</p><p><strong>输入序列:</strong> 仅支持两个输入序列,类型均为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>start</code>:输出序列的起始时刻,是一个格式为'yyyy-MM-dd HH:mm:ss'的时间字符串。在缺省情况下,为'1970-01-01 08:00:00'。</li><li><code>interval</code>:输出序列的时间间隔,是一个有单位的正数。目前支持五种单位,分别是'ms'(毫秒)、's'(秒)、'm'(分钟)、'h'(小时)和'd'(天)。在缺省情况下,为1s。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE。该序列是一个等距时间序列,它的值是将两个输入序列依次作为实部和虚部进行逆快速傅里叶变换的结果。</p><p><strong>提示:</strong> 如果某行数据中包含空值或<code>NaN</code>,该行数据将会被忽略。</p><h3 id="使用示例-5" tabindex="-1"><a class="header-anchor" href="#使用示例-5" aria-hidden="true">#</a> 使用示例</h3><p>输入序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+----------------------+----------------------+ |
| | Time| root.test.d1.re| root.test.d1.im| |
| +-----------------------------+----------------------+----------------------+ |
| |1970-01-01T08:00:00.000+08:00| 0.0| 0.0| |
| |1970-01-01T08:00:00.001+08:00| -3.932894010461041E-9| 1.2104201863039066E-8| |
| |1970-01-01T08:00:00.002+08:00|-1.4021739447490164E-7| 1.9299268669082926E-7| |
| |1970-01-01T08:00:00.003+08:00| -7.057291240286645E-8| 5.127422242345858E-8| |
| |1970-01-01T08:00:00.004+08:00| 19.021130288047125| -6.180339875198807| |
| |1970-01-01T08:00:00.005+08:00| 9.999999850988388| 3.501852745067114E-16| |
| |1970-01-01T08:00:00.019+08:00| -3.932894898639461E-9|-1.2104202549376264E-8| |
| +-----------------------------+----------------------+----------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> ifft<span class="token punctuation">(</span>re<span class="token punctuation">,</span> im<span class="token punctuation">,</span> <span class="token string">'interval'</span><span class="token operator">=</span><span class="token string">'1m'</span><span class="token punctuation">,</span> <span class="token string">'start'</span><span class="token operator">=</span><span class="token string">'2021-01-01 00:00:00'</span><span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d1 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+-------------------------------------------------------+ |
| | Time|ifft(root.test.d1.re, root.test.d1.im, "interval"="1m",| |
| | | "start"="2021-01-01 00:00:00")| |
| +-----------------------------+-------------------------------------------------------+ |
| |2021-01-01T00:00:00.000+08:00| 2.902112992431231| |
| |2021-01-01T00:01:00.000+08:00| 1.1755704705132448| |
| |2021-01-01T00:02:00.000+08:00| -2.175570513757101| |
| |2021-01-01T00:03:00.000+08:00| -1.9021130389094498| |
| |2021-01-01T00:04:00.000+08:00| 0.9999999925494194| |
| |2021-01-01T00:05:00.000+08:00| 1.902113046743454| |
| |2021-01-01T00:06:00.000+08:00| 0.17557053610884188| |
| |2021-01-01T00:07:00.000+08:00| -1.1755704886020932| |
| |2021-01-01T00:08:00.000+08:00| -0.9021130371347148| |
| |2021-01-01T00:09:00.000+08:00| 3.552713678800501E-16| |
| |2021-01-01T00:10:00.000+08:00| 0.9021130371347154| |
| |2021-01-01T00:11:00.000+08:00| 1.1755704886020932| |
| |2021-01-01T00:12:00.000+08:00| -0.17557053610884144| |
| |2021-01-01T00:13:00.000+08:00| -1.902113046743454| |
| |2021-01-01T00:14:00.000+08:00| -0.9999999925494196| |
| |2021-01-01T00:15:00.000+08:00| 1.9021130389094498| |
| |2021-01-01T00:16:00.000+08:00| 2.1755705137571004| |
| |2021-01-01T00:17:00.000+08:00| -1.1755704705132448| |
| |2021-01-01T00:18:00.000+08:00| -2.902112992431231| |
| |2021-01-01T00:19:00.000+08:00| -3.552713678800501E-16| |
| +-----------------------------+-------------------------------------------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><h2 id="lowpass" tabindex="-1"><a class="header-anchor" href="#lowpass" aria-hidden="true">#</a> LowPass</h2><h3 id="函数简介-6" tabindex="-1"><a class="header-anchor" href="#函数简介-6" aria-hidden="true">#</a> 函数简介</h3><p>本函数对输入序列进行低通滤波,提取低于截止频率的分量。输入序列的时间戳将被忽略,所有数据点都将被视作等距的。</p><p><strong>函数名:</strong> LOWPASS</p><p><strong>输入序列:</strong> 仅支持单个输入序列,类型为 INT32 / INT64 / FLOAT / DOUBLE</p><p><strong>参数:</strong></p><ul><li><code>wpass</code>:归一化后的截止频率,取值为(0,1),不可缺省。</li></ul><p><strong>输出序列:</strong> 输出单个序列,类型为DOUBLE,它是滤波后的序列,长度与时间戳均与输入一致。</p><p><strong>提示:</strong> 输入序列中的<code>NaN</code>将被忽略。</p><h3 id="使用示例-6" tabindex="-1"><a class="header-anchor" href="#使用示例-6" aria-hidden="true">#</a> 使用示例</h3><p>输入序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+---------------+ |
| | Time|root.test.d1.s1| |
| +-----------------------------+---------------+ |
| |1970-01-01T08:00:00.000+08:00| 2.902113| |
| |1970-01-01T08:00:01.000+08:00| 1.1755705| |
| |1970-01-01T08:00:02.000+08:00| -2.1755705| |
| |1970-01-01T08:00:03.000+08:00| -1.9021131| |
| |1970-01-01T08:00:04.000+08:00| 1.0| |
| |1970-01-01T08:00:05.000+08:00| 1.9021131| |
| |1970-01-01T08:00:06.000+08:00| 0.1755705| |
| |1970-01-01T08:00:07.000+08:00| -1.1755705| |
| |1970-01-01T08:00:08.000+08:00| -0.902113| |
| |1970-01-01T08:00:09.000+08:00| 0.0| |
| |1970-01-01T08:00:10.000+08:00| 0.902113| |
| |1970-01-01T08:00:11.000+08:00| 1.1755705| |
| |1970-01-01T08:00:12.000+08:00| -0.1755705| |
| |1970-01-01T08:00:13.000+08:00| -1.9021131| |
| |1970-01-01T08:00:14.000+08:00| -1.0| |
| |1970-01-01T08:00:15.000+08:00| 1.9021131| |
| |1970-01-01T08:00:16.000+08:00| 2.1755705| |
| |1970-01-01T08:00:17.000+08:00| -1.1755705| |
| |1970-01-01T08:00:18.000+08:00| -2.902113| |
| |1970-01-01T08:00:19.000+08:00| 0.0| |
| +-----------------------------+---------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><p>用于查询的SQL语句:</p><div class="language-sql line-numbers-mode" data-ext="sql"><pre class="language-sql"><code><span class="token keyword">select</span> lowpass<span class="token punctuation">(</span>s1<span class="token punctuation">,</span><span class="token string">'wpass'</span><span class="token operator">=</span><span class="token string">'0.45'</span><span class="token punctuation">)</span> <span class="token keyword">from</span> root<span class="token punctuation">.</span>test<span class="token punctuation">.</span>d1 |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div></div></div><p>输出序列:</p><div class="language-text line-numbers-mode" data-ext="text"><pre class="language-text"><code>+-----------------------------+----------------------------------------+ |
| | Time|lowpass(root.test.d1.s1, "wpass"="0.45")| |
| +-----------------------------+----------------------------------------+ |
| |1970-01-01T08:00:00.000+08:00| 1.9021130073323922| |
| |1970-01-01T08:00:01.000+08:00| 1.1755704705132448| |
| |1970-01-01T08:00:02.000+08:00| -1.1755705286582614| |
| |1970-01-01T08:00:03.000+08:00| -1.9021130389094498| |
| |1970-01-01T08:00:04.000+08:00| 7.450580419288145E-9| |
| |1970-01-01T08:00:05.000+08:00| 1.902113046743454| |
| |1970-01-01T08:00:06.000+08:00| 1.1755705212076808| |
| |1970-01-01T08:00:07.000+08:00| -1.1755704886020932| |
| |1970-01-01T08:00:08.000+08:00| -1.9021130222335536| |
| |1970-01-01T08:00:09.000+08:00| 3.552713678800501E-16| |
| |1970-01-01T08:00:10.000+08:00| 1.9021130222335536| |
| |1970-01-01T08:00:11.000+08:00| 1.1755704886020932| |
| |1970-01-01T08:00:12.000+08:00| -1.1755705212076801| |
| |1970-01-01T08:00:13.000+08:00| -1.902113046743454| |
| |1970-01-01T08:00:14.000+08:00| -7.45058112983088E-9| |
| |1970-01-01T08:00:15.000+08:00| 1.9021130389094498| |
| |1970-01-01T08:00:16.000+08:00| 1.1755705286582616| |
| |1970-01-01T08:00:17.000+08:00| -1.1755704705132448| |
| |1970-01-01T08:00:18.000+08:00| -1.9021130073323924| |
| |1970-01-01T08:00:19.000+08:00| -2.664535259100376E-16| |
| +-----------------------------+----------------------------------------+ |
| </code></pre><div class="line-numbers" aria-hidden="true"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div>`,32),h=s("p",null,[n("注:输入序列服从"),s("span",{class:"katex"},[s("span",{class:"katex-mathml"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("semantics",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"="),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mi",{mathvariant:"normal"},"/"),s("mn",null,"4"),s("mo",{stretchy:"false"},")"),s("mo",null,"+"),s("mn",null,"2"),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mi",{mathvariant:"normal"},"/"),s("mn",null,"5"),s("mo",{stretchy:"false"},")")]),s("annotation",{encoding:"application/x-tex"},"y=sin(2\\pi t/4)+2sin(2\\pi t/5)")])])]),s("span",{class:"katex-html","aria-hidden":"true"},[s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.625em","vertical-align":"-0.1944em"}}),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"y"),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}}),s("span",{class:"mrel"},"="),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),s("span",{class:"mord mathnormal"},"s"),s("span",{class:"mord mathnormal"},"in"),s("span",{class:"mopen"},"("),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"π"),s("span",{class:"mord mathnormal"},"t"),s("span",{class:"mord"},"/4"),s("span",{class:"mclose"},")"),s("span",{class:"mspace",style:{"margin-right":"0.2222em"}}),s("span",{class:"mbin"},"+"),s("span",{class:"mspace",style:{"margin-right":"0.2222em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal"},"s"),s("span",{class:"mord mathnormal"},"in"),s("span",{class:"mopen"},"("),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"π"),s("span",{class:"mord mathnormal"},"t"),s("span",{class:"mord"},"/5"),s("span",{class:"mclose"},")")])])]),n(",长度为20,因此低通滤波之后的输出序列服从"),s("span",{class:"katex"},[s("span",{class:"katex-mathml"},[s("math",{xmlns:"http://www.w3.org/1998/Math/MathML"},[s("semantics",null,[s("mrow",null,[s("mi",null,"y"),s("mo",null,"="),s("mn",null,"2"),s("mi",null,"s"),s("mi",null,"i"),s("mi",null,"n"),s("mo",{stretchy:"false"},"("),s("mn",null,"2"),s("mi",null,"π"),s("mi",null,"t"),s("mi",{mathvariant:"normal"},"/"),s("mn",null,"5"),s("mo",{stretchy:"false"},")")]),s("annotation",{encoding:"application/x-tex"},"y=2sin(2\\pi t/5)")])])]),s("span",{class:"katex-html","aria-hidden":"true"},[s("span",{class:"base"},[s("span",{class:"strut",style:{height:"0.625em","vertical-align":"-0.1944em"}}),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"y"),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}}),s("span",{class:"mrel"},"="),s("span",{class:"mspace",style:{"margin-right":"0.2778em"}})]),s("span",{class:"base"},[s("span",{class:"strut",style:{height:"1em","vertical-align":"-0.25em"}}),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal"},"s"),s("span",{class:"mord mathnormal"},"in"),s("span",{class:"mopen"},"("),s("span",{class:"mord"},"2"),s("span",{class:"mord mathnormal",style:{"margin-right":"0.03588em"}},"π"),s("span",{class:"mord mathnormal"},"t"),s("span",{class:"mord"},"/5"),s("span",{class:"mclose"},")")])])]),n("。")],-1);function b(g,T){return i(),l("div",null,[t(` |
| |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| |
| `),r,c,m,o,u,p,v,h])}const k=e(d,[["render",b],["__file","Frequency-Domain.html.vue"]]);export{k as default}; |