当前位置:首页 » 操作系统 » 波峰算法

波峰算法

发布时间: 2023-01-11 21:08:51

A. visual c++已经得到一个信号的波形,怎样检测波峰和波谷

求局部的最大最小值吧,a[n]>a[n-1]&a[n]>a[n+1]类似这种的算法

B. zig指标哪个期货软件有

zig指标大智慧这个期货软件有,因为根据资料显示,该软件的质量很高,用户体验感不错,得到用户一致好评,其拥有众多指标,其中就包括zig指标,因此zig指标大智慧这个期货软件有

C. 已知一组数据点,求点曲线的波峰波谷,曲线不规则,如下图。VB 求点1,2,3。满意追加100

我想主要是确定波峰波谷的条件。
波峰:左右相邻点的值比自己小;进一步的,左右相邻的n个点值比自己小;
波谷:左右相邻点的值比自己大;进一步的,左右相邻的n个点值比自己大;
按这个思路去设计算法就可以了。编程是小问题但代码量不小这事情俺就不做了。

D. DOA估计算法

学号:20000300055

姓名:王铎澎

嵌牛导读:文章对DOA算法进行了简单的介绍。

嵌牛正文:https://blog.csdn.net/zhangziju/article/details/100730081?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160689878119725222413438%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=160689878119725222413438&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~_landing_v2~default-1-100730081.pc_first_rank_v2_rank_v28&utm_term=Musicsuanfa&spm=1018.2118.3001.4449

DOA估计算法

DOA(Direction Of Arrival)波达方向定位技术主要有ARMA谱分析、最大似然法、熵谱分析法和特征分解法,特征分解法主要有MUSIC算法、ESPRIT算法WSF算法等。

MUSIC (Multiple Signal Classification)算法,即多信号分类算法,由Schmidt等人于1979年提出。MUSIC算法是一种基于子空间分解的算法,它利用信号子空间和噪声子空间的正交性,构建空间谱函数,通过谱峰搜索,估计信号的参数。对于声源定位来说,需要估计信号的DOA。MUSIC算法对DOA的估计有很高的分辨率,且对麦克风阵列的形状没有特殊要求,因此应用十分广泛。

运用矩阵的定义,可得到更为简洁的表达式:

X = A S + N X=AS+NX=AS+N

式中

X = [ x 1 ( t ) , x 2 ( t ) , . . . x M ( t ) ] T X=[x_1(t),x_2(t),...x_M(t)]^TX=[x1​(t),x2​(t),...xM​(t)]T,

S = [ S 1 ( t ) , S 2 ( t ) , . . . S D ( t ) ] T S=[S_1(t),S_2(t),...S_D(t)]^TS=[S1​(t),S2​(t),...SD​(t)]T,

A = [ a ( θ 1 ) , a ( θ 2 ) , . . . a ( θ D ) ] T A=[a(\theta_1),a(\theta_2),...a(\theta_D)]^TA=[a(θ1​),a(θ2​),...a(θD​)]T,

N = [ n 1 ( t ) , n 2 ( t ) , . . . n M ( t ) ] T N=[n_1(t),n_2(t),...n_M(t)]^TN=[n1​(t),n2​(t),...nM​(t)]T。

X XX为阵元的输出,A AA为方向响应向量,S SS是入射信号,N NN表示阵列噪声。

其中 φ k = 2 π d λ s i n θ k \varphi_k=\frac{2\pi d}{\lambda}sin\theta_kφk​=λ2πd​sinθk​有

A = [ a ( θ 1 ) , a ( θ 2 ) , . . . a ( θ D ) ] T = [ 1 1 ⋯ 1 e − j φ 1 e − j φ 2 ⋯ e − j φ D ⋮ ⋮ ⋱ ⋮ e − j ( M − 1 ) φ 1 e − j ( M − 1 ) φ 2 ⋯ e − j ( M − 1 ) φ D ] A=[a(\theta_1),a(\theta_2),...a(\theta_D)]^T=\left[

1e−jφ1⋮e−j(M−1)φ11e−jφ2⋮e−j(M−1)φ2⋯⋯⋱⋯1e−jφD⋮e−j(M−1)φD11⋯1e−jφ1e−jφ2⋯e−jφD⋮⋮⋱⋮e−j(M−1)φ1e−j(M−1)φ2⋯e−j(M−1)φD

\right]A=[a(θ1​),a(θ2​),...a(θD​)]T=⎣⎢⎢⎢⎡​1e−jφ1​⋮e−j(M−1)φ1​​1e−jφ2​⋮e−j(M−1)φ2​​⋯⋯⋱⋯​1e−jφD​⋮e−j(M−1)φD​​⎦⎥⎥⎥⎤​

对x m ( t ) x_m(t)xm​(t)进行N点采样,要处理的问题就变成了通过输出信号x m ( t ) x_m(t)xm​(t)的采样{ x m ( i ) = 1 , 2 , . . . , M } \{ x_m (i)=1,2,...,M\}{xm​(i)=1,2,...,M}估计信号源的波达方向角θ 1 , θ 2 . . . θ D \theta_1,\theta_2...\theta_Dθ1​,θ2​...θD​,由此可以很自然的将阵列信号看作是噪声干扰的若干空间谐波的叠加,从而将波达方向估计问题与谱估计联系起来。

对阵列输出X做相关处理,得到其协方差矩阵

R x = E [ X X H ] R_x=E[XX^H]Rx​=E[XXH]

其中H HH表示矩阵的共轭转置。

根据已假设信号与噪声互不相关、噪声为零均值白噪声,因此可得到:

R x = E [ ( A S + N ) ( A S + N ) H ] = A E [ S S H ] A H + E [ N N H ] = A R S A H + R N R_x=E[(AS+N)(AS+N)^H] =AE[SS^H]A^H+E[NN^H]=AR_SA^H+R_NRx​=E[(AS+N)(AS+N)H]=AE[SSH]AH+E[NNH]=ARS​AH+RN​

其中R s = E [ S S H ] R_s=E[SS^H]Rs​=E[SSH]称为信号相关矩阵

R N = σ 2 I R_N=\sigma^2IRN​=σ2I是噪声相关阵

σ 2 \sigma^2σ2是噪声功率

I II是M × M M\times MM×M阶的单位矩阵

在实际应用中通常无法直接得到R x R_xRx​,能使用的只有样本的协方差矩阵:

R x ^ = 1 N ∑ i = 1 N X ( i ) X H ( i ) \hat{R_x}=\frac{1}{N} \sum_{i=1}^{N}X(i)X^H (i)Rx​^​=N1​∑i=1N​X(i)XH(i),R x ^ \hat{R_x}Rx​^​是R x R_xRx​的最大似然估计。

当采样数N → ∞ N\to\inftyN→∞,他们是一致的,但实际情况将由于样本数有限而造成误差。根据矩阵特征分解的理论,可对阵列协方差矩阵进行特征分解,首先考虑理想情况,即无噪声的情况:R x = A R s A H R_x=AR_sA^HRx​=ARs​AH,对均匀线阵,矩阵A由

A = [ a ( θ 1 ) , a ( θ 2 ) , . . . a ( θ D ) ] T = [ 1 1 ⋯ 1 e − j φ 1 e − j φ 2 ⋯ e − j φ D ⋮ ⋮ ⋱ ⋮ e − j ( M − 1 ) φ 1 e − j ( M − 1 ) φ 2 ⋯ e − j ( M − 1 ) φ D ] A=[a(\theta_1),a(\theta_2),...a(\theta_D)]^T=\left[

1e−jφ1⋮e−j(M−1)φ11e−jφ2⋮e−j(M−1)φ2⋯⋯⋱⋯1e−jφD⋮e−j(M−1)φD11⋯1e−jφ1e−jφ2⋯e−jφD⋮⋮⋱⋮e−j(M−1)φ1e−j(M−1)φ2⋯e−j(M−1)φD

\right]A=[a(θ1​),a(θ2​),...a(θD​)]T=⎣⎢⎢⎢⎡​1e−jφ1​⋮e−j(M−1)φ1​​1e−jφ2​⋮e−j(M−1)φ2​​⋯⋯⋱⋯​1e−jφD​⋮e−j(M−1)φD​​⎦⎥⎥⎥⎤​

所定义的范德蒙德矩阵,只要满足θ i ≠ θ j , i ≠ j \theta_i\neq \theta_j,i\neq jθi​​=θj​,i​=j,则他的各列相互独立。

若R s R_sRs​为非奇异矩阵R a n k ( R s ) = D Rank(R_s)=DRank(Rs​)=D,各信号源两两不相干,且M > D M>DM>D,则r a n d ( A R s A H ) = D rand(AR_sA^H)=Drand(ARs​AH)=D,

由于R x = E [ X X H ] R_x=E[XX^H]Rx​=E[XXH],有:

R s H = R x R_s^H=R_xRsH​=Rx​

即R s R_sRs​为Hermite矩阵,它的特性是都是实数,又由于R s R_sRs​为正定的,因此A R s A … … H AR_sA……HARs​A……H为半正定的,它有D个正特征值和M − D M-DM−D个零特征值。

再考虑有噪声存在的情况

R x = A R s A H + σ 2 I R_x=AR_sA^H+\sigma^2IRx​=ARs​AH+σ2I

由于σ 2 > 0 \sigma^2>0σ2>0,R x R_xRx​为满秩阵,所以R x R_xRx​有M个正实特征值λ 1 , λ 2 . . . λ M \lambda_1,\lambda_2...\lambda_Mλ1​,λ2​...λM​

分别对应于M个特征向量v 1 , v 2 . . . v M v_1,v_2...v_Mv1​,v2​...vM​。又由于R x R_xRx​为Hermite矩阵,所以各特征向量是正交的,即:v i H v j = 0 , i ≠ j v_i^Hv_j=0,i\neq jviH​vj​=0,i​=j与信号有关的特征值只有D个,分别等于矩阵A R s A H AR_sA^HARs​AH的各特征值与σ 2 \sigma^2σ2之和,其余M − D M-DM−D个特征值为σ 2 \sigma^2σ2,即σ 2 \sigma^2σ2为R RR的最小特征值,它是M − D M-DM−D维的,对应的特征向量v i , i = 1 , 2 , . . . , M v_i,i=1,2,...,Mvi​,i=1,2,...,M中,也有D个是与信号有关的,另外M − D M-DM−D个是与噪声有关的,可利用特征分解的性质求出信号源的波达方向θ k \theta_kθk​。

MUSIC算法的原理及实现

通过对协方差矩阵的特征值分解,可得到如下结论:

将矩阵R x R_xRx​的特征值进行从小到大的排序,即λ 1 ≥ λ 2 ≥ . . . ≥ λ M > 0 \lambda_1 \geq \lambda_2\geq...\geq\lambda_M>0λ1​≥λ2​≥...≥λM​>0,其中D个较大的特征值对应于信号,M − D M-DM−D个较小的特征值对应于噪声。

矩阵R x R_xRx​的属于这些特征值的特征向量也分别对应于各个信号和噪声,因此可把R x R_xRx​的特征值(特征向量)划分为信号特征(特征向量)与噪声特征(特征向量)。

设λ i \lambda_iλi​为R x R_xRx​的第i ii个特征值,v i v_ivi​是与λ i \lambda_iλi​个相对应的特征向量,有:

R x v i = λ i v i R_xv_i=\lambda_iv_iRx​vi​=λi​vi​

再设λ i = σ 2 \lambda_i=\sigma^2λi​=σ2是R x R_xRx​的最小特征值R x v i = σ 2 v i i = D + 1 , D + 2... M R_xv_i=\sigma^2v_i i=D+1,D+2...MRx​vi​=σ2vi​i=D+1,D+2...M,

将R x = A R s A H + σ 2 I R_x=AR_sA^H+\sigma^2IRx​=ARs​AH+σ2I代入可得σ 2 v i = ( A R s A H + σ 2 I ) v i \sigma^2v_i=(AR_sA^H+\sigma^2I)v_iσ2vi​=(ARs​AH+σ2I)vi​,

将其右边展开与左边比较得:

A R s A H v i = 0 AR_sA^Hv_i=0ARs​AHvi​=0

因A H A A^HAAHA是D ∗ D D*DD∗D维的满秩矩阵,( A H A ) − 1 (A^HA)^{-1}(AHA)−1存在;

而R s − 1 R_s^{-1}Rs−1​同样存在,则上式两边同乘以R s − 1 ( A H A ) − 1 A H R_s^{-1}(A^HA)^{-1}A^HRs−1​(AHA)−1AH,

有:

R s − 1 ( A H A ) − 1 A H A R s A H v i = 0 R_s^{-1}(A^HA)^{-1}A^HAR_sA^Hv_i=0Rs−1​(AHA)−1AHARs​AHvi​=0

于是有

A H v i = 0 , i = D + 1 , D + 2 , . . . , M A^Hv_i=0,i=D+1,D+2,...,MAHvi​=0,i=D+1,D+2,...,M

上式表明:噪声特征值所对应的特征向量(称为噪声特征向量)v i v_ivi​,与矩阵A AA的列向量正交,而A AA的各列是与信号源的方向相对应的,这就是利用噪声特征向量求解信号源方向的出发点。

用各噪声特征向量为例,构造一个噪声矩阵E n E_nEn​:

E n = [ v D + 1 , v D + 2 , . . . v M ] E_n=[v_{D+1},v_{D+2},...v_{M}]En​=[vD+1​,vD+2​,...vM​]

定义空间谱P m u ( θ ) P_{mu}(\theta)Pmu​(θ):

P m u ( θ ) = 1 a H ( θ ) E n E n H a ( θ ) = 1 ∥ E n H a ( θ ) ∥ 2 P_{mu}(\theta)=\frac{1}{{a^H}(\theta)}E_nE_n^Ha(\theta)=\frac{1}{\Vert E_n^Ha(\theta)\Vert^2}Pmu​(θ)=aH(θ)1​En​EnH​a(θ)=∥EnH​a(θ)∥21​

该式中分母是信号向量和噪声矩阵的内积,当a ( θ ) a(\theta)a(θ)和E n E_nEn​的各列正交时,该分母为零,但由于噪声的存在,它实际上为一最小值,因此P m u ( θ ) P_{mu}(\theta)Pmu​(θ)有一尖峰值,由该式,使θ \thetaθ变化,通过寻找波峰来估计到达角。

MUSIC算法实现的步骤

1.根据N个接收信号矢量得到下面协方差矩阵的估计值:

R x = 1 N ∑ i = 1 N X ( i ) X H ( i ) R_x=\frac{1}{N} \sum_{i=1}^NX(i)X^H(i)Rx​=N1​∑i=1N​X(i)XH(i)

对上面得到的协方差矩阵进行特征分解

R x = A R s A H + σ 2 I R_x=AR_sA^H+\sigma^2IRx​=ARs​AH+σ2I

2.按特征值的大小排序 将与信号个数D DD相等的特征值和对应的特征向量看做信号部分空间,将剩下的M − D M-DM−D个特征值和特征向量看做噪声部分空间,得到噪声矩阵E n E_nEn​:

A H v i = 0 , i = D + 1 , D + 2 , . . . , M A^Hv_i=0,i=D+1,D+2,...,MAHvi​=0,i=D+1,D+2,...,M

E n = [ v D + 1 , v D + 2 , . . . v M ] E_n=[v_{D+1},v_{D+2},...v_{M}]En​=[vD+1​,vD+2​,...vM​]

3.使θ \thetaθ变化 ,按照式

P m u ( θ ) = 1 a H ( θ ) E n E n H a ( θ ) P_{mu}(\theta)=\frac{1}{{a^H}(\theta)E_nE_n^Ha(\theta)}Pmu​(θ)=aH(θ)En​EnH​a(θ)1​

来计算谱函数,通过寻求峰值来得到波达方向的估计值。

clear; close all;

%%%%%%%% MUSIC for Uniform Linear Array%%%%%%%%

derad = pi/180;      %角度->弧度

N = 8;              % 阵元个数       

M = 3;              % 信源数目

theta = [-30 0 60];  % 待估计角度

snr = 10;            % 信噪比

K = 512;            % 快拍数

dd = 0.5;            % 阵元间距

d=0:dd:(N-1)*dd;

A=exp(-1i*2*pi*d.'*sin(theta*derad));  %方向矢量

%%%%构建信号模型%%%%%

S=randn(M,K);            %信源信号,入射信号

X=A*S;                    %构造接收信号

X1=awgn(X,snr,'measured'); %将白色高斯噪声添加到信号中

% 计算协方差矩阵

Rxx=X1*X1'/K;

% 特征值分解

[EV,D]=eig(Rxx);                  %特征值分解

EVA=diag(D)';                      %将特征值矩阵对角线提取并转为一行

[EVA,I]=sort(EVA);                %将特征值排序 从小到大

EV=fliplr(EV(:,I));                % 对应特征矢量排序

% 遍历每个角度,计算空间谱

for iang = 1:361

    angle(iang)=(iang-181)/2;

    phim=derad*angle(iang);

    a=exp(-1i*2*pi*d*sin(phim)).';

    En=EV(:,M+1:N);                  % 取矩阵的第M+1到N列组成噪声子空间

    Pmusic(iang)=1/(a'*En*En'*a);

end

Pmusic=abs(Pmusic);

Pmmax=max(Pmusic)

Pmusic=10*log10(Pmusic/Pmmax);            % 归一化处理

h=plot(angle,Pmusic);

set(h,'Linewidth',2);

xlabel('入射角/(degree)');

ylabel('空间谱/(dB)');

set(gca, 'XTick',[-90:30:90]);

grid on;

实现结果

E. 股票软件技术指标的参数函数等

行情函数
名 称 用 法 举 例 解 释
ADVANCE 上涨家数 ADVANCE 本函数仅对大盘有效。
AMOUNT 成交额 AMOUNT 取得该周期成交额。
ASKPRICE 委卖价 ASKPRICE(N),N取1――3(本函数仅个股在分笔成交分析周期有效。 取得委卖1――委卖3价格。
ASKVOL 委卖量 ASKVOL(N),N取1――3(本函数仅个股在分笔成交分析周期有效。 取得委卖1――委卖3量。
BIDPRICE 委买价 BIDPRICE(N),N取1――3(本函数仅个股在分笔成交分析周期有效。 取得委买1――委买3量。
BIDVOL 委买量 BIDVOL(N),N取1――3(本函数仅个股在分笔成交分析周期有效。 取得委买1――委买3量。
CLOSE 收盘价 CLOSE 取得该周期收盘价。
DECLINE 下跌家数 DECLINE(本函数仅对大盘有效)。 取得该周期下跌家数。
HIGH 最高价 HIGH 取得该最高价。
LOW 最低价 LOW 取得该周期最低价。
OPEN 开盘价 OPEN 取得该周期开盘价。
VOL 成交量 VOL 取得该周期成交量。
大盘函数
名 称 解 释
INDEXA 表示同期大盘的成交额。
INDEXADV 表示同期大盘的上涨家数。
INDEXC 表示同期大盘的收盘价。
INDEXDEC 表示同期大盘的下跌家数。
INDEXH 表示同期大盘的最高价。
INDEXL 表示同期大盘的最低价。
INCEXO 表示同期大盘的开盘价。
INDEXV 表示同期大盘的成交量。
常用函数
名 称 用 法 注 意
(1)、CAPITAL 流通盘大小 CAPITAL,返回流通盘大小,单位为手。对于A股得到流通A股,B股得到B股总股本,指数为0。 该函数返回常数。
(2)、VOLUNIT 每手股数 VOLUNIT,返回每手股数。对于股票值为100,债券为10。 该函返回常数。
财务数据函数
FINANCE(N) ,N=1-37返回财务数据。
N 含 义 单位 N 含 义 单位 N 含 义 单位
1 总股本 万股 14 长期投资 千元 27 上年损益调整 千元
2 国家股 万股 15 流动负债 千元 28 利润总额 千元
3 发起法人股 万股 16 长期负债 千元 29 税后利润 千元
4 法人股 万股 17 资本公积金 千元 30 净利润 千元
5 B股 万股 18 每股公积金 千元 31 未分配利润 千元
6 H股 万股 19 股东权益 千元 32 每股未分配 元
7 流通A股 万股 20 主营收入 千元 33 每股收益 元
8 职工股 万股 21 主营利润 千元 34 每股净资产 元
9 A2转配股 万股 22 其他利润 千元 35 调每股净资 元
10 总资产 千元 23 营业利润 千元 36 股东权益比
11 流动资产 千元 24 投资收益 千元 37 净资收益率
12 固定资产 千元 25 补贴收入 千元
13 无形资产 千元 26 营业外收支 千元
时间函数
名 称 解 释
DATE 年月日 函数返回有效值范围为(700101-1341231),表示19700101-20341231,取得该周期从1900以来的年月日。
DAY 日期 函数返回有效值范围为(1-31),取得该周期的日期。
HOUR 小时 函数返回有效值范围为(0-23),对于日线及更长的分析周期值为0,取得该周期的小时数。
MINUTE 分钟 函数返回有效值范围为(0-59),对于日线及更长的分析周期值为0,取得该周期的分钟数。
MONTH 月份 函数返回有效值范围为(1-12),取得该周期的月份。
TEME 时分秒 函数返回有效值范围为(000000-235959),取得该周期的时分秒。
WEEK 星期 函数返回有效值范围为(0-6),0表示星期天,取得该周期的星期数。
YEAR 年份 函数返回有效值范围为(1970-2038),取得该周期的年份。
引用函数
名 称 解 释
BACKSET 向前赋值 将当前位置到若干周期前的数据设为1。 用法:BACKSET(X,N),X非0,则将当前位置到N周期前的数值设为1。 例如:BACKSET(CLOSE>OPEN,2),若收阳则将该周期及前一周期数值设为1,否则为0。
BARSCOUNT 有效值周期数 求总的周期数。 用法:BARSCOUNT(X),第一个有效数据到当前的天数。 例如:BARSCOUNT(CLOSE),对于日线数据取得上市以来总交易日数,对于分笔成交取得当日成交笔数,对于1分钟线取得当日交易分钟数。
BARSLAST 上一次条件成立位置 上一次条件成立到当前的周期数。 用法:BARXLAST(X),上一次X不为0到现在的天数。 例如:BARSLAST(CLOSE/REF(CLOSE,1)>=1,1),表示上一个涨停到当前的周期数。
BARSSINCE 第一个条件成立位置 第一个条件成立到当前的周期数。 用法:BARSSINCE(X),第一次X不为0到现在的天数。 例如:BARSSINCE(HIGH>10),表示股价超过10元时到当前的周期数。
COUNT 统计总数 统计满足条件的周期数。 用法:COUNT(X,N),统计N周期中满足X条件的周期数,若N=0则从第一个有效值开始。 例如:COUNT(CLOSE>OPEN,20),表示统计20周期内收阳的周期数。
DMA 动态移动平均 求动态移动平均。 用法:DMA(X,A),求X的动态移动平均。 算法:若Y=DMA(X,A)则Y=A*X+(1-A)*Y’,其中Y’表示上一周期Y值,A必须小于1。 例如:DMA(CLOSE,VOL/CAPITAL),表示求以换手率作平滑因子的平均价。
EMA 指数平滑移动平均 求指数平滑移动平均。 用法:EMA(X,N),求X 的N日指数平滑移动平均。 算法:若Y=EMA(X,N)则Y=[2*X+(N-1)*Y’]/(N+1),其中Y’表示上一周期Y值。 例如:EMA(CLOSE,30),表示求30日指数平滑均价。
FILTER 信号过滤 过滤连续出现的信号。 用法:FILTER(X,N),X满足条件后,删除其后N周期内的数据置为0。 例如:FILTER(CLOSE>OPEN,5),查找阳线,5天内再次出现的阳线不被记录在内。
HHV 最高值 求最高值。 用法:HHV(X,N),求N周期内X最高值,N=0则从第一个有效值开始。 例如:HHB(HIGH,30),表示求30日最高价。
LLV 最低值 求最低值。 用法:LLV(X,N),求N周期内X最低值,N=0则从第一个有效值开始。 例如:LLV(LOW,0),表示求历史最低价。
LLVBARS 上一低点位置 求上一低点到当前的周期数。 用法:LLVBARS(X,N),求N周期内X最低值到当前周期数,N=0表示从第一个有效值开始统计。 例如:LLVBARS(HIGH,20),求得20日最低点到当前的周期数。
MA 简单移动平均 求简单移动平均。 用法:MA(X,N),求X的N日移动平均值。 算法:(X1+X2+X3+…+Xn)/N 例如:MA(CLOSE,10),表示求10日均价。
REF 向前引用 引用若干周期前的数据。 用法:REF(X,A),引用A周期前的X值。 例如:REF(CLOSE,1),表示上一周期的收盘价,在日线上就是昨收。
SMA 移动平均 求移动平均。 用法:SMA(X,N,M),求X的N日移动平均,M为权数。 算法:若Y=SMA(X,N,M)则Y=[M*X+(N-M)*Y’]/N,其中Y’表示上一周期Y值,N必须大于M。 例如:SMA(CLOSE,30,1),表示求30日移动平均价。
SUM 求和 求总和。 用法:SUM(X,N),统计N周期中X的总和,N=0则从第一人有效值开始。 例如:SUM(VOL,0),表示统计从上市第一天以来的成交量总和。
SUMBARS 累加到指定周期数 向前累加到指定值到现在的周期数。 用法:SUMBARS(X,A),将X向前累加直到大于等于A,返回这个区间的周期数。 例如:SUMBARS(VOL,CAPITAL),求完全换手到现在的周期数。
逻辑函数
名 称 解 释
IF 条件函数 根据条件求不同的值。 用法:IF(X,A,B)若X不为0则返回A,否则返回B。 例如:IF(CLOSE>OPEN,HIGH,LOW),表示该周期收阳则返回最高值,否则返回最低值。
ISDOWN 当日下跌 该周期是否收阴。 用法:ISDOWN当收盘<开盘时,返回值为1,否则为0。
ISEQUAL 当日平盘 该周期是否平盘。 用法:ISEQUAL当收盘=开盘时,返回值为1,否则为0。
ISUP 当日上涨 该周期是否收阳。 用法:ISUP当收盘>开盘时,返回值为1,否则为0。
CROSS 交叉函数 CROSS(A,B) A:变量或常量,判断交叉的第一条线。 B:变量或常量,判断交叉的第二条线。 例如:CROSS(MA(CLOSE,5),MA(CLOSE,10)),5日均线与10日均线金叉;CROSS(CLOSE,12),价格由下向上突破12元。
NOT 求逻辑非 NOT(X) 求逻辑非,返回非X,即当X=0时返回1,否则返回0。 例如:NOT(ISUP),是否平盘或收阴。

数学函数
名 称 解 释
ABS 绝对值 求绝对值。 用法:ABS(X)返回X的绝对值。 例如:ABS(-34)返回34。
BETWEEN 介于 介于两个数之间。 用法:BETWEEN(A,B,C),表示A处于B和C之间时返回1,否则返回0。 例如:BETWEEN(CLOSE,MA(CLOSE,10),MA(CLOSE,5)),表示收盘价介于5日均线和10日均线之间。
CROSS 交叉函数 两条线交叉。 用法:CROSS(A,B)表示当A从下方向上穿过B时返回1,否则返回0。 例如:CROSS(MA(CLOSE,5,MA(CLOSE,10))表示5日均线与10日均线交金叉。
LONGCROSS 维持交叉函数 两条线维持一定周期后交叉。 用法:LONGCROSS(A,B,N)表示A在N周期内都小于B,本周期从下方向上穿过B时返回1,否则返回0。 例如:LONGCROSS(MA(CLOSE,5),MA(CLOSE,10),5),表示5日均 线维持5周期后与10日均线金叉。
MAX 最大值 求最大值。 用法:MAX(A,B)返回A和B 中的较大值。 例如:MAX(CLOSE-OPEN,0),表示若收盘价大于开盘价返回它们的差值,否则返回0。
MIN 最小值 求最小值。 用法:MIN(A,B)返回A和B中的较小值。 例如:MIN(CLOSE,OPEN),返回开盘价和收盘价中的较小值。
MOD 求模运算 求模运算。 用法:MOD(A,B)返回A对B求模。 例如:MOD(26,10)返回6。
NOT 求逻辑非 求逻辑非。 用法:MOT(X)返回非X,即当X=0时返回1,否则返回0。 例如:MOT(ISUP)表示平盘或收阴。
RANGE 范围 介于某个范围之间。 用法:RANGE(A,B,C)表示A大于B同时小于C时返回1,否则返回0。 例如:RANGE(CLOSE,MA(CLOSE,5),MA(CLOSE,10))表示收盘价大于5日均线并且小于10日均线。
REVERSE 求相反数 求相反数。 用法:REVERSE(X)返回-X。 例如:REVERSE(CLOSE)返回-CLOSE。
SGN 符号值 求符号值。 用法:SGN(X),当X>0,X<0分别顺1,0,-1。
ACOS 反余弦值 用法:ACOS(X)返回X的反余弦值。
ASIN 反正弦值 用法:ASIN(X)返回X的反正弦值。
ATAN 反正切值 用法:ATAN(X)返回X的反正切值。
CEILING 向上舍入 向数值增大方向舍入。 用法:CEILING(A)返回沿A数值增大方向最接近的整数。 例如:CEILING(12.3)求得13,CEILING(-3.5)求得-3。
COS 余弦值 用法:COS(X)返回X的余弦值。
EXP 指数 用法:EXP(X)为e的X次幂。 例如:EXP(CLOSE)返回e的CLOSE次幂。
FLOOR 向下舍入 向数值减小方向舍入。 用法:FLOOR(A)返回沿A数值减小方向最接近的整数。 例如:FLOOR(12.3)求得12,FLOOR(-3.5)求得-4。
INTPART 取整 绝对值减小取整,即取得数据的整数部分。 用法:INTPART(A)返回沿A绝对值减小方向最接近的整数。 例如:INTPART(12.3)求得12,INTPART(-3.5)求得-3。
LN 自然对数 求自然对数。 用法:LN(X)以e为底的对数。 例如:LN(CLOSE)求收盘价的对数。
LOG 以10为底的对数 用法:LOG(X)取得X的对数。 例如:LOG(100)等于2。
POW 乘幂 用法:POW(A,B)返回A的B次幂。 例如:POW(CLOSE,3)求得收盘价的3次方。
SIN 正弦值 用法:SIN(X)返回X的正弦值。
SQRT 开平方 用法:SQRT(X)为X的平方根。 例如:SQRT(CLOSE)收盘价的平方根。
TAN 正切值 TAN(X)返回X 的正切值。
统计函数(下列函数算法略):
(1)、平均绝对偏差
用法:AVEDET(X,N)
含义:平均绝对偏差,求X的N日平均绝对偏差。
(2)、数据偏差平方和
用法:DEVSQ(X,N)
含义:数据偏差平方和,求X的N日数据偏差平方和。
(3)、线性回归预测值
用法:FORCAST(X,N)为X的N周期线性回归预测值。
(4)、线性回归斜率
用法:SLOPE(X,N)为X的N周期线性回归线的斜率。
例如:SLOPE(CLOSE,10)表示求10周期线性回归线的斜率。
(5)、估算标准差
用法:ATD(X,N)为X的N日估算标准差。
例如:STD(CLOSE,10),求10周期收盘价的估算标准差。
(6)、总体标准差
用法:STDP(X,N)为X的N日总体标准差。
(7)、估算样本方差
用法:VAR(X,N)为X 的N日估算样本差。
(8)、总体样本方差
用法:VARP(X,N)为X的N日总体样本方差。
指标函数
(1)、成本分布
用法:COST(10),表示10%获利盘的价格是多少,即有10%的持仓量在该价格以下,其余90%在该价格以上为套牢盘,该函数仅对日线分析周期有效。
(2)、前M个波峰值――――――前M 个ZIG转向波峰值。
用法:PEAK(K,N,M)表示之字转向ZIG(K,N)的前M个波峰的数值,M必须大于等于1。
例如:PEAK(1,5,1)表示%5最高价ZIG转向的上一个波峰的数值。
(3)、前M个波峰位置――――――前M个ZIG转向波峰到当前距离。
用法:PEAKBARS(K,N,M)表示之字转向ZIG(K,N)的前M个波峰到当前的周期,M必须大于等于1。
例如:PEAKBARS(0,5,1)表示%5开盘价ZIG转向的上一个波峰到当前的周期数。
(4)、抛物转向
用法:SAR(N,S,M0,N为计算周期,S为步长,M为极值。
例如:SAR(10,2,20)表示计算10日抛物转向,步长为2%,极限值为20%。
(5)、抛物转向点
用法:SARTURN(N,S,M),N为计算周期,S为步长,M为极值,若发生向上转向则返回1,若发生向下转向则返回-1,否则为0,其用法与SAR函数相同。
(6)、前M个波谷值――――――前M个ZIG转向波谷值。
用法:TROUGH(K,N,M)表示之字转向ZIH(K,N)的前M个波谷的数值,M必须大于等于1。
例如:TROUGH(2,5,2)表示%5最低价ZIG转向的前2个波谷的数值。
(7)、前M个波谷位置――――――前M个ZIG转向波谷到当前距离。
用法:TROUGHBARS(K,N,M)表示之字转向ZIG(K,N)的前M个波谷到当前的周期数,M必须大于等于1,
例如:TROUGHBARS(2,5,2)表示%5最低价ZIG转向的前2个波谷到当前的周期数。
(8)、获利盘比例
用法:WINNER(CLOSE)表示以当前收市价卖出的获利盘比例。
例如:返回0.1表示10%获利盘:WINNER(10.5)表示10.5元价格的获利盘。该函数仅对日线分析周期有效。
(9)、之字转向
用法:ZIG(K,N),当价格变化量超过N%时转向,K表示0:开盘价,1:最高价,2:最低价,3:收盘价。
例如:ZIG(3,5)表示收盘价的5%的ZIG转向。
绘图函数
(1)、画图标
DRAWICON:在图形上绘制小图标。
用法:DRAWICON(COND,PRICE,TYPE),当COND条件满足时,在PRICE位置画TYPE号图标。
图标代号:1(笑脸)、2(哭脸)、3
(2)、画直线
DRAWLINE:在图形上绘制直线段。
用法:DRAWLINE(COND1, PRICE1, COND2,PRICE2,EXPAND),当COND1条件满足时,在PRICE1位置画直线起点,当COND2条件满足时,在PRICE2位置画直线终点,EXPAND为延长类型。
例如:DRAWLINE(HIGH>=HHV(HIGH,20),HIGH,LOW(<=LLV(LOW,20),LOW,1),表示创20天新高与创20天新低之间画直线向右延长。
(3)、显示文字
DRAWTEXT:在图形上显示文字。
用法:DRAWTEXT(COND,PRICE,TEXT),当COND条件满足时,在PRICE位置书写文字TEXT。
例如:DRAWTEXT(CLOSE/REF(CLOSE,1)>1.08,LOW,’大阳线’)表示当日涨幅大于8%时在最低价位置显示“大阳线”字样,注意,显示的字要用英语状态下的单引号括起。
(4)、画折线
POLYLINE:在图形上绘制折线段。
用法:POLYLINE(COND,PRICE),当COND条件满足时,以PRICE位置为顶点画折线连接。
例如:POLYLINE(HIGH>=HHV(HIGH,20),HIGH),表示在创20天新高点之间画折线。
(5)、画柱线
STICKLINE:在图形上绘制柱线。
用法:STICKLINE(COND,PRICE1,PRICE2,WIDTH,EMPTY),当COND条件满足时,在PRICE1和PRICE2位置之间画柱状线,宽度为WIDTH(10为标准间距 ),EMPTY不为0则画空心柱。
例如:STICKLINE(CLOSE>OPEN,CLOSE,OPEN,8,1),表示画K线中阳线的空心柱。
大智慧的绘图参数:
STICK:在指标点和零线之间画柱线。
COLORSTICK:同上,并用不同颜色区分上涨、下跌。
LINESTICK:指标线和柱线都画。
VOLSTICK:收市价高于昨日的,画红色空心实体;否则画绿色实心实体。
CROSSDOT:“x"点状线。
Circledot:“0"点状线。
各种颜色表示:
红色colorred、灰色colorgray、绿色colorgreen、黄色coloryellow、蓝色colorblue、白色colorwhite.
另外颜色还有:
粉红colorf00ff0、草绿color00ff00、淡蓝colorf0f000、紫色colorff0099、金黄色color008364、紫红color000999、综色color0055ff、深黄色color00cccc、紫罗蓝colore66878、天蓝色colorff937f 深草绿color399c7f
实际上只要在color后面加上0-9、A-F中任6个数字字母组成,如要其它颜色,可自己调。

F. 如何使两个信号波峰对齐

不知道你问的是实际信号还是仿真系统里的信号对齐。
如果是实际电路里,可以在超前的那路里加个延时器。如果是仿真系统,一般也有延时单元或延时算法的,在超前的那一路信号实行延时就行。

G. 波峰焊插件漏查反插AOI设备能检测吗

AOI波峰焊检测设备目前分两种:
一,波峰焊炉前检测AOI设备 (主要检测元器件漏插,反插,插反)
二,波峰焊炉后焊点检测AOI设备 (采用光学原理检测焊点虚焊假焊连焊等)
深圳迈瑞公司研发的波峰焊AOI检测设备是一款超高性价比波峰焊炉前在线检查的设备,在不破坏现有的流水线体基础上实现在线检测,能识别产品的条码、PCBA插件料的错件、漏件、反向。等 ,极大程度上降低了因焊接后人为错误插件等需要补焊的工艺成本。
波峰焊AOI在线式的六大优势:
1、 检测类型广泛:
很完美地对应插件工艺PCBA的各种元件的检测,如白色排插、晶正丝印等其它品牌的炉前检测机所不能检测的元件;
2、 检测速度快:
220*180mm尺寸的PCBA,检测速度达450pcs/H
3、 调试方便:
a、编程简单,同类型的元件可以使用模版一键编程,并可以调取公共数据库节省调试时间;
b、 可以离线调试,在生产过程中不停机修改调试参数
4、 检出率强:
平板电视机主板、电源板等产品几乎无检测盲区,可以涵盖所有插件元件的错、漏、反检测
5、 直通率高:
客户生产工艺相对较好的情况下,直通率可达95%以上
6、 可测范围大:
标准设备可以检测330*250mm尺寸范围,并支持定制更大尺寸检测
AOI检测设备对波峰焊插件缺件的检测
目前正对行业波峰焊插件反插,漏插,等波峰焊前段插件的检测技术,迈瑞公司研发生产了12000000像素的AOI检测设备,解决了行业插件检测前段的难题,该AOI设备主要采用了行业领先技术矢量分析及PAG算法,突破和改变了原来AOI采用的图像对比方法,该项技术以获得国家专利,
AOI设备检测插件错件
错件,主要是用于检测元件本体的检测,检测该元件是否发生错料。该检测项是AOI设备检测的常规检测项。错件可采用四种检测算法,其四种检测算法分别为TOC算法、OCV算法、Match算法和OCR算法。每个错件的检测算法针对检测项目的偏重不一样。
TOC算法类的错件检测,主要用于非字符类元件的错件检测,该类元件主要为电容。该类检测法是通过抽取元件的本体色,判断元件本体色是否改变,来检测元件的错件。其中元件的本体色参数,无默认参数,是根据实际的本体色给出的色彩抽取参数。
OCV算法类的错件检测,主要用于清晰字符类的错件检测,该类元件主要为电阻。该类检测法是通过获取待测字符轮廓与标准字符的字符轮廓的拟合程度,来判断元件是否发生错件。该类检测的判定参数的默认范围为(0, 12)。如标准字符为“123”,待测字符为“351”,拟合返回值为28.3,判定范围为(0, 12),则该元件发生“错件”。
Match类检测算法,主要是用于模糊字符类的错件检测,该类元件主要为二极管、三极管等。该类检测算法主要是通过获取待测字符区域与标准字符区域的相似程度,来判定元件是否发生“错件”。该类错件的判定范围默认为(0,32)。
OCR类检测算法,主要是用于重要部件的元件的检测,该类元件主要为BGA、QFP等。该类算法主要是通过识别待测字符,判定待测字符是否与标准字符一致来检测和判断是否发生错件。如标准字符为“123”,实际字符为“122”,则OCR算法判断该类元件发生“错件”。
AOI检测设备对波峰焊插件缺陷检测
缺件,主要用于检测元件本体是否存在,是AOI常规检测中不可或缺的检测项。该类检测采用的检测算法有TOC、Match、OCV、OCR、Length、Histogarm等检测算法。其中TOC、Match、OCV、OCR与错件的使用一致。
Length算法主要是通过检测Chip件(电容)本体的长度,或者电极的长度,来判断元件是否发生缺件。该算法检测主要应用于炉前检测、红胶检测。Length算法的判定参数的默认范围为(42, 58)。见下图:
上图为Length的外距测量法,检测点的程度为98,标准检测点的长度为95,则返回值为53,其返回值的计算公式如下:
返回值 = 检测点的实际长度 – 检测点的标准长度 + 50
Length的判定范围为(42, 58),则缺件检测结果为“OK”。
Histogram类的检测算法,主要是通过检测Chip件元件的焊点的亮度是否超出范围来判断是否发生缺件。该类算法应用于炉后检测。其默认判定范围为(0, 120),如下:
上图【比率】为100%,该项检测就是均值算法。
波峰焊插件极性反插
极性反,是AOI检测设备对插件极性元件方向的必需检测项。检测极性反可选择的算法有TOC、Match、OCV、OCR和Histogram算法。其中TOC、Match、OCV、OCR的检测算法与错件一致。Histogram类检测算法,采用了最大值(最小值)来检测元件是否发生极性反现象。在极性元件中存在极性标识,该极性标志的亮度明显要大于(小于)元件的本体亮度,可采用最大值(最小值)来检测判断元件是否发生极性反。如极性元件存在一高亮区域,该亮度区域的亮度要大于200,则可设定判定范围(200, 255),采用最大值算法来进行检测,如下:
上图选择【比率】为5,检测模式为【Max】,返回值为243,则该元件的方向OK。
1.4.6. 短路
短路检测,是AOI检测中一种最常见的检测项。短路检测主要应用于IC类的IC脚之间的检测、波峰焊元件之间的检测等。短路检测采用的算法为“Short”,该算法中分为“投影法”和“色彩抽取法”等2种检测方式,2种检测方式分别具备不同的检测意义。
投影法,主要检测IC类的短路,并且IC脚之间无白色丝印干扰。该类检测,主要是检测IC脚之间的亮度是否发生突变性变化(短路现象),如下:
上图为投影类短路检测法的效果处理图,其相关参数如下:
上述参数,一般状态采用“自动参数”获取自动短路参数。
色彩抽取类短路检测,是通过消除检测区域之间的背景,通过分析检测区域之间是否存在非背景成分相连,来判定元件是否发生短路。该类检测是炉后IC、波峰焊检测中最常用的短路检测算法。该类检测用到了一组消除背景参数,如下:
上图中的参数的含义如下:类型
参数说明蓝色下限
当前成分点中,蓝色通道为主要色彩通道,当蓝色通道的亮度值大于蓝色下限时,则该成分点位为焊盘成分点,否则为背景成分点。默认值为60,最小可降低至40。
绿色下限当前成分点中,绿色通道为主要色彩通道,当绿色通道的亮度值大于绿色下限时,则该成分点位为焊盘成分点,否则为背景成分点。默认值为220。
红色下限
当前成分点中,红色通道为主要色彩通道,当红色通道的亮度值大于红色下限时,则该成分点位为焊盘成分点,否则为背景成分点。默认值为230。
亮度上限
当前成分点中,最小通道值小于亮度上限时,则该成分点位焊盘成分点,否则为背景成分点。默认值为255,当背景有高亮度白色背景时,可降低该参数,过滤白色背景。
通过设定以上参数,来消除短路区域之间的背景成分。若还存在未消除的色彩背景时,此时增加背景抽取参数,来消除背景参数,用到算法“TOC”。

H. 不在波峰的质点路程怎么算

使用次函数和旋转矢量算法。不在波峰的质点路程其位移和时间是一个正弦或余弦函数,根据次函数可以求得认识时间的路程和位移。另外一种方法是利用振动的旋转矢量来分析它的路程和位移。

热点内容
奇石脚本业 发布:2025-05-15 14:23:44 浏览:678
android中的socket 发布:2025-05-15 14:22:15 浏览:407
apph5源码 发布:2025-05-15 14:19:51 浏览:664
2d游戏按键精灵脚本教程 发布:2025-05-15 14:10:15 浏览:278
服务器上的邮件如何销毁 发布:2025-05-15 14:02:49 浏览:137
饥荒安卓版如何解除手柄模式 发布:2025-05-15 14:02:05 浏览:112
算法强化班 发布:2025-05-15 14:02:04 浏览:345
c语言编译后图片 发布:2025-05-15 13:51:57 浏览:792
没有被调用的函数会参与编译吗 发布:2025-05-15 13:42:51 浏览:260
在计算机中ftp的中文 发布:2025-05-15 13:41:07 浏览:1000