第8章基于CVI的测试信号第8章基于CVI的测试信号8.1信号分析概述8.2基于CVI的联合时频分析8.3基于CVI的小波分析8.4CVI信号分析函数说明第8章基于CVI的测试信号8.1信号分析概述8.1.1信号处理的发展历史久远,19世纪发展起来的经典傅里叶(Fourier)分析和以概率论为基础的统计分析,构成了传统信号处理技术的理论框架。然而,信号处理作为一门独立的学科,是伴随着20世纪五六十年代计算机的普及和数字信号处理技术的广泛运用而真正全面发展起来的。其中,一个标志性的进展是20世纪60年代,快速傅里叶变换算法(FFT)的提出和实现,使信号实时在线的频谱分析成为可能。第8章基于CVI的测试信号在非线性动力系统中,自组织是一种有效而特殊的行为和手段,它通过调节自身的结构、参数、准则函数等动态地跟踪系统的反馈信息,更迅速准确地逼近系统的稳定状态。其中最常见的是自组织方法在神经网络中的应用,典型的自组织神经网络ART(AdaptiveResonanceTheory)具有如下特点:(1)可完成实时学习,且可适应非平稳的环境。(2)对已学习过的对象具有稳定的快速识别能力,同时又能迅速适应未学习的新对象。第8章基于CVI的测试信号(3)具有自归一能力,根据某些特征在全体中所占的比例,有时作为关键特征,有时被当作噪声处理。(4)不需要事先已知样本结果,可非监督学习。(5)容量不受输入通道数的限制,存储对象也不要求是正交的。从这些特点可以容易地预见到,自组织方法在模式识别等信号处理领域具有广阔的应用前景。第8章基于CVI的测试信号8.1.2LabWindows/CVI信号高级分析库1)数组类对一维和二维数组进行算术操作,包括的子类如下:(1)一维数组类,包含对一维数组进行操作的函数。(2)二维数组类,包含对二维数组进行操作的函数。第8章基于CVI的测试信号2)复数类完成复数的算术操作。该类函数可以对复数标量或数组操作,分别处理复数的实部和虚部,包括的子类如下:(1)复数标量类,包含完成复数标量算术操作的函数。(2)复数数组类,包含完成复数数组算术操作的函数。第8章基于CVI的测试信号3)统计类完成基本统计功能,包括的子类如下:(1)基本操作类,包含使用各种常用描述数据集的方法的函数。(2)概率分布类,包含对概率分布函数及其反函数进行操作的函数。(3)方差分析类,包含对各种统计模型的方差进行分析的函数。(4)非参数统计类,包含对非正态分布数据进行分析的函数。第8章基于CVI的测试信号4)向量和矩阵代数类完成对向量和矩阵的操作,包括的子类如下:(1)实矩阵类,包含对实数值矩阵和向量进行操作的函数。(2)复矩阵类,包含对复数值矩阵和向量进行操作的函数。5)曲线拟合类使用最小二乘法(LeastSquareTechnique)进行数据拟合,包括线性拟合、指数拟合、多项式拟合和非线性拟合。第8章基于CVI的测试信号6)信号生成类按指定波形生成信号并将波形数据以数组形式输出。第8章基于CVI的测试信号7)信号处理类在频域、时域或通过数字滤波器进行数据分析,包括的子类如下:(1)频域类,包含在时频域间进行变换和在频域内进行分析的函数。(2)时域类,包含对信号进行直接时间序列分析的函数。(3)IIR数字滤波器类,包含通过将模拟特性映射到数字特性的无限冲激响应数字滤波操作的函数。具体包括:巴特沃兹滤波器、切比雪夫滤波器、逆切比雪夫滤波器和椭圆滤波器;(4)FIR数字滤波器类,包含设计有限冲激响应滤波器的函数。该类函数实际上不能进行数字滤波。(5)窗函数类,包含在数据采集应用中频繁使用的窗函数。第8章基于CVI的测试信号8)测量类包含使用实际单位(如赫兹、秒)来完成频谱分析和全谐波失真分析的函数。9)插值类包含取函数的已知点集合,以此猜测函数在某一具体的中间点处的取值的函数。第8章基于CVI的测试信号10)附加数字方法类包含完成诸如数值积分和峰值检测等,在信号处理中广泛应用的操作的函数。另外,NI公司提供的信号处理工具箱(SPT6.0版)包括:联合时频分析(JTFA)、基于模型的超分辨率频谱分析和小波分析,以及FIR和IIR数字滤波器的设计与使用。第8章基于CVI的测试信号在本章仅介绍正在广泛使用和发展的联合时频分析和小波分析。使用高级分析库函数时,应注意以下几点:(1)运行LabWindows/CVI的计算机性能会影响分析函数的处理速度,特别是数字协处理器会提高浮点计算的速度。在使用分析函数面板时,若长时间无响应,则通常是由于硬件限制造成的。第8章基于CVI的测试信号(2)很多数组分析函数同址运算,即把输入数据和输出数据保存在相同数组中。在处理大量数据时记住这一点非常重要。庞大的双精度数组消耗大量内存。若要获得的结果不需要保存在最初的数组或中间数组中,就可以在相同地址进行分析操作。(3)分析函数返回值对应类型AnalysisLibErrType的一个枚举值,该类型在头文件analysis.h中声明。分析函数根据该返回类型在头文件中作声明,使函数面板以符号名代替错误码的整型值显示返回值。将变量声明为AnalysisLibErrType类型,使变量窗口以符号名而不是整数形式显示数值。第8章基于CVI的测试信号8.2基于CVI的联合时频分析8.2.1进行JTFA传统上对信号进行分析时,要么仅在时域上,要么仅在频域上进行分析。JTFA可以同时在时域和频域上对信号进行分析,这样可以更好地理解和处理某些类型的信号。JTFA主要用于观察信号的功率谱随时间的变化,然而古典算法(如傅里叶变换的平方)仅表示信号的平均功率谱。并且,JTFA算法还可以分析瞬时谱。图8.1左上方所示的曲线是一个基于时间的谱图,它描述了作为时间和频率函数的信号的能量。第8章基于CVI的测试信号图8.1语言信号时频分析第8章基于CVI的测试信号JTFA的另一个重要应用是处理噪声污染的信号。通常,随机噪声在时域和频域的分布趋向均匀,但信号通常集中在短的时间区间或一个窄的频率段。把噪声污染的信号转换到联合时频域,可以充分的改善局部或全部信噪比(SNR)。图8.2描述了从某人造卫星接收到的一个脉冲信号。脉冲信号通过像电离层这样离散介质后,变成了非线性的Chirp信号。从图8.2上可以看出,在时间波形和功率谱上,随机噪声表现最强,观察不到脉冲信号的存在。但从基于时间的谱图上,马上可以确定Chirp类信号的存在,确定其在联合时频域成弓形。水平线相当于无线载波信号,经过一段时间后,基本保持不变。第8章基于CVI的测试信号图8.2电离脉冲信号时频分析第8章基于CVI的测试信号基于联合时频表示法,可以更深一步地分离所希望得到的信号,如图8.3中的顶图所示。通过逆变换来恢复无噪声的时间波形。图8.3中的底图表示噪声和重构信号。像许多卫星信号这样低SNR的信号,JTFA可能是惟一能够提取有用信号的方法。第8章基于CVI的测试信号图8.3重构的脉冲信号第8章基于CVI的测试信号8.2.21.线性联合时频分析算法线性联合时频分析包括:Gabor展开,包含短时傅里叶逆变换;用于计算Gabor系数的短时傅里叶变换(STFT);自适应表示,包含自适应变换逆变换;自适应变换。1)Gabor展开和STFT在方程(8.1)中,Gabor展开用时移函数mNnNninmMmihCis10/2j,e][][(8.1)第8章基于CVI的测试信号这里,Gabor的系数Cm,n用STFT来计算,方程为NniinmMmiisnMmC/2j*0,e][][],STFT[(8.2)这里,N表示频率段的个数,ΔM表示采样时间间隔。可以使用像γ[i]一样的任意函数,只要它的对偶函数h[i]存在。对于理想的重构,过采样率N/ΔM必须大于等于1。给定h[i]或γ[i],LabWindows/CVI用户可以使用SPTFastDualFunction来计算相应的对偶函数。STFT来计算Gabor系数Cm,n,就没有对γ[i]或N/ΔM之比的限制。第8章基于CVI的测试信号2)在Gabor展开方程(8.1)中,基本函数h[i-mΔM]ej2πni/N是对信号原型函数h[i]用时移和频率调制的解释。为了更好地与分析信号匹配,可以用自适应表示法,见方程(8.2),把信号s[i]分解成线性自适应调制的高斯函数之和。10][][DkkkihAis(8.2)这里,自适应高斯函数hk[i])[π2(j2][exp)π(][225.0kkkkkkiiiiih第8章基于CVI的测试信号2.二次JTFA算法二次JTFA算法包括的内容有:STFT谱图、Wigner-Ville分布(WVD)和伪Wigner-Ville分布(PWVD)、Cohen类、Choi-Williams分布(CWD)、锥形分布、Gabor谱图和自适应谱图。1)STFT基于STFT的谱图定义为STFT的平方,方程为20/2je][][],[SPiNniMmiisnMm这里,N表示频率段的数目,ΔM表示采样时间间隔。基于STFT的谱图简单又快但受窗口影响(主要体现在频率分辨率和时间分辨率上)。第8章基于CVI的测试信号图8.4窄带汉宁窗处理的三音调测试信号STFT谱第8章基于CVI的测试信号图8.5宽带汉宁窗处理的三音调测试信号STFT谱第8章基于CVI的测试信号2)Wigner-Ville分布和伪Wigner-Ville对于一个信号s[i],Wigner-Ville分布是/2/2-/2je],[],WVD[LLmLkmmiRki这里,z[i]是s[i]的解析或内插形式,函数R[i,m]是由下式给出的瞬时相关,即R[i,m]=z[i+m]z*[i-m]WVD也可用下式计算:/2/2-/2je],[],WVD[LLmLkmmiRki这里,R[i,m]=Z[i+m]Z*[i-m],Z[k]表示z[i]的傅里叶变换。第8章基于CVI的测试信号Wigner-Ville分布(即WVD方法)简单又快。在所有已知的二次JTFA算法中,具有最好的联合时间—频率分辨率。然而,假如所分析的信号包含多个成份,WVD方法将会受到交叉干涉的影响。图8.6描述了三个音调测试信号的WVD。这三个真实信号分别集中在(0.03s,400Hz)、(0.09s,100Hz)和(0.09s,400Hz)区域内。计算后存在三个交叉干涉项,在图8.6上分别标注为①、②和③。第8章基于CVI的测试信号图8.6三音调测试信号的Wigner-Ville分布(①、②和③为交叉干涉项)第8章基于CVI的测试信号一个交叉干涉项反映了两个信号之间的相关性。交叉干涉项总是处于两个信号之间的中间位置,通常是振荡的。尽管一个交叉干涉项的量级可能很大,但它的平均值通常是有限的。处在(0.03s,400Hz)和(0.09s,400Hz)的两个信号发生在不同的时刻,导致交叉干涉项1;处在(0.09s,100Hz)和(0.09s,400Hz)的两个信号有不同的频率,导致交叉干涉项3;处在(0.03s,400Hz)和(0.09s,400Hz)的两个信号导致交叉干涉项2。为了降低交叉项的干涉,可以分配瞬间相关R[i,m]的不同权值,给R[i,m]分配不同的权值用来抑制信号少量重要部分和增强信号的基本部分。第8章基于CVI的测试信号存在两个传统的方法适应于给瞬间相关R[i,m]分配不同的权值,第一种方法是在时域,即伪Wigner-Ville分布(PWVD),方程为/2/2-/2je],[][],PWVD[LLmLkmmiRmwki(8.3)PWVD适应于发生在不同时刻的两个信号,能有效地抑制交叉干涉,如图8.6中所示的交叉干涉项①和②。图8.7显示了用高斯窗函数w[m]完成的PWVD,与图8.6的WVD相比,PWVD成功地消除了交叉干涉项①和②。第8章基于CVI的测试信号图8.7高斯窗函数w[m]完成的三音调测试信号的伪Wigner-Ville分布第8章基于