熵普滤波算法
‘壹’ 自适应滤波的几种典型的自适应滤波算法
对自适应滤波算法 的研究是当今自适应信号处理中最为活跃的研究课题之一。自适应滤波算法广泛应用于系统辨识、回波消除、自适应谱线增强、自适应信道均衡、语音线性预测、自适应天线阵等诸多领域中。总之,寻求收敛速度快,计算复杂性低,数值稳定性好的自适应滤波算法是研究人员不断努力追求的目标。虽然线性自适应滤波器和相应的算法具有结构简单、计算复杂性低的优点而广泛应用于实际,但由于对信号的处理能力有限而在应用中受到限制。由于非线性自适应滤波器,如Voletrra滤波器和基于神经网络的自适应滤波器,具有更强的信号处理能力,已成为自适应信号处理中的一个研究热点。其中较典型的几种算法包括: LMS自适应滤波算法 RLS自适应滤波算法 变换域自适应滤波算法 仿射投影算法 共扼梯度算法 基于子带分解的自适应滤波算法 基于QR分解的自适应滤波算法 算法性能评价
变步长的自适应滤波算法 虽然解决了收敛速度、时变系统跟踪速度与收敛精度方面对算法调整步长因子u的矛盾,但变步长中的其它参数的选取还需实验来确定,应用起来不太方便。对RLS算法的各种改进,其目的均是保留RLS算法收敛速度快的特点而降低其计算复杂性。变换域类算法亦是想通过作某些正交变换使输入信号自相关矩阵的特征值发散程度变小,提高收敛速度。而仿射投影算法的性能介于LMS算法和RLS算法之间。共扼梯度自适应滤波算法的提出是为了降低RLS类算法的复杂性和克服某些快速RLS算法存在的数值稳定性问题。信号的子带分解能降低输入信号的自相关矩阵的特征值发散程度,从而加快自适应滤波算法的收敛速度,同时便于并行处理,带来了一定的灵活性。矩阵的QR分解具有良好的数值稳定性。
‘贰’ 滤波在数学上是如何实现的
在单片机进行数据采集时,会遇到数据的随机误差,随机误差是由随机干扰引起的,其特点是在相同条件下测量同一量时,其大小和符号会现无规则的变化而无法预测,但多次测量的结果符合统计规律。为克服随机干扰引起的误差,硬件上可采用滤波技术,软件上可采用软件算法实现数字滤波。滤波算法往往是系统测控算法的一个重要组成部分,实时性很强。
采用数字滤波算法克服随机干扰的误差具有以下优点:
1、数字滤波无需其他的硬件成本,只用一个计算过程,可靠性高,不存在阻抗匹配问题。尤其是数字滤波可以对频率很低的信号进行滤波,这是模拟滤波器做不到的。
2、数字滤波使用软件算法实现,多输入通道可共用一个滤波程序,降低系统开支。
3、只要适当改变滤波器的滤波程序或运算,就能方便地改变其滤波特性,这对于滤除低频干扰和随机信号会有较大的效果。
4、在单片机系统中常用的滤波算法有限幅滤波法、中值滤波法、算术平均滤波法、加权平均滤波法、滑动平均滤波等。
(1)限幅滤波算法
该运算的过程中将两次相邻的采样相减,求出其增量,然后将增量的绝对值,与两次采样允许的最大差值A进行比较。A的大小由被测对象的具体情况而定,如果小于或等于允许的最大差值,则本次采样有效;否则取上次采样值作为本次数据的样本。
算法的程序代码如下:
#defineA //允许的最大差值
chardata; //上一次的数据
char filter()
{
chardatanew; //新数据变量
datanew=get_data(); //获得新数据变量
if((datanew-data)>A||(data-datanew>A))
return data;
else
returndatanew;
}
说明:限幅滤波法主要用于处理变化较为缓慢的数据,如温度、物体的位置等。使用时,关键要选取合适的门限制A。通常这可由经验数据获得,必要时可通过实验得到。
(2)中值滤波算法
该运算的过程是对某一参数连续采样N次(N一般为奇数),然后把N次采样的值按从小到大排列,再取中间值作为本次采样值,整个过程实际上是一个序列排序的过程。
算法的程序代码如下:
#define N11 //定义获得的数据个数
char filter()
{
charvalue_buff[N]; //定义存储数据的数组
char count,i,j,temp;
for(count=0;count
{
value_buf[count]=get_data();
delay(); //如果采集数据比较慢,那么就需要延时或中断
}
for(j=0;j
{
for(value_buff[i]>value_buff[i+1]
{
temp=value_buff[i];
value_buff[i]=value_buff[i+1];
value_buff[i+1]=temp;
}
}
returnvalue_buff[(N-1)/2];
}
说明:中值滤波比较适用于去掉由偶然因素引起的波动和采样器不稳定而引起的脉动干扰。若被测量值变化比较慢,采用中值滤波法效果会比较好,但如果数据变化比较快,则不宜采用此方法。
(3)算术平均滤波算法
该算法的基本原理很简单,就是连续取N次采样值后进行算术平均。
算法的程序代码如下:
char filter()
{
int sum=0;
for(count=0;count
{
sum+=get_data();
delay():
}
return (char)(sum/N);
}
说明:算术平均滤波算法适用于对具有随机干扰的信号进行滤波。这种信号的特点是有一个平均值,信号在某一数值附近上下波动。信号的平均平滑程度完全到决于N值。当N较大时,平滑度高,灵敏度低;当N较小时,平滑度低,但灵敏度高。为了方便求平均值,N一般取4、8、16、32之类的2的整数幂,以便在程序中用移位操作来代替除法。
(4)加权平均滤波算法
由于前面所说的“算术平均滤波算法”存在平滑度和灵敏度之间的矛盾。为了协调平滑度和灵敏度之间的关系,可采用加权平均滤波。它的原理是对连续N次采样值分别乘上不同的加权系数之后再求累加,加权系数一般先小后大,以突出后面若干采样的效果,加强系统对参数变化趋势的认识。各个加权系数均小于1的小数,且满足总和等于1的结束条件。这样加权运算之后的累加和即为有效采样值。其中加权平均数字滤波的数学模型是:
式中:D为N个采样值的加权平均值:XN-i为第N-i次采样值;N为采样次数;Ci为加权系数。加权系数Ci体现了各种采样值在平均值中所占的比例。一般来说采样次数越靠后,取的比例越大,这样可增加新采样在平均值中所占的比重。加权平均值滤波法可突出一部分信号抵制另一部分信号,以提高采样值变化的灵敏度。
样例程序代码如下:
char codejq[N]={1,2,3,4,5,6,7,8,9,10,11,12}; //code数组为加权系数表,存在程序存储区
char codesum_jq=1+2+3+4+5+6+7+8+9+10+11+12;
char filter()
{
char count;
char value_buff[N];
int sum=0;
for(count=0;count
{
value_buff[count]=get_data();
delay();
}
for(count=0;count
sum+=value_buff[count]*jq[count];
return(char)(sum/sum_jq);
}
(5)滑动平均滤波算法
以上介绍和各种平均滤波算法有一个共同点,即每获取一个有效采样值必须连续进行若干次采样,当采速度慢时,系统的实时得不到保证。这里介绍的滑动平均滤波算法只采样一次,将一次采样值和过去的若干次采样值一起求平均,得到的有效采样值即可投入使用。如果取N个采样值求平均,存储区中必须开辟N个数据的暂存区。每新采集一个数据便存入暂存区中,同时去掉一个最老数据,保存这N个数据始终是最新更新的数据。采用环型队列结构可以方便地实现这种数据存放方式。
程序代码如下:
char value_buff[N];
char i=0;
char filter()
{
char count;
int sum=0;
value_buff[i++]=get_data();
if(i==N)
i=0;
for(count=0;count
sum=value_buff[count];
return (char)(sum/N);
}
(6)低通滤波
将普通硬件RC低通滤波器的微分方程用差分方程来表求,变可以采用软件算法来模拟硬件滤波的功能,经推导,低通滤波算法如下:
Yn=a* Xn+(1-a) *Yn-1
式中 Xn——本次采样值
Yn-1——上次的滤波输出值;
,a——滤波系数,其值通常远小于1;
Yn——本次滤波的输出值。
由上式可以看出,本次滤波的输出值主要取决于上次滤波的输出值(注意不是上次的采样值,这和加权平均滤波是有本质区别的),本次采样值对滤波输出的贡献是比较小的,但多少有些修正作用,这种算法便模拟了具体有教大惯性的低通滤波器功能。滤波算法的截止频率可用以下式计算:
fL=a/2Pit pi为圆周率3.14…
式中 a——滤波系数;
, t——采样间隔时间;
例如:当t=0.5s(即每秒2次),a=1/32时;
fL=(1/32)/(2*3.14*0.5)=0.01Hz
当目标参数为变化很慢的物理量时,这是很有效的。另外一方面,它不能滤除高于1/2采样频率的干搅信号,本例中采样频率为2Hz,故对1Hz以上的干搅信号应采用其他方式滤除,
低通滤波算法程序于加权平均滤波相似,但加权系数只有两个:a和1-a。为计算方便,a取一整数,1-a用256-a,来代替,计算结果舍去最低字节即可,因为只有两项,a和1-a,均以立即数的形式编入程序中,不另外设表格。虽然采样值为单元字节(8位A/D)。为保证运算精度,滤波输出值用双字节表示,其中一个字节整数,一字节小数,否则有可能因为每次舍去尾数而使输出不会变化。
设Yn-1存放在30H(整数)和31H(小数)两单元中,Yn存放在32H(整数)和33H(小数)中。滤波程序如下:
虽千万里,吾往矣。
‘叁’ DVR的H.264编码是什么原理,优势是什么
H.264和MPEG4 的压缩算法 (一) 形成二进制I帧数据1、8×8的宏块经过DCT变化;2、经过quant量化系数处理;3、经过之字形(Zigzag)扫描;形成0101的二进制数据; (二) 形成帧间预测帧1、 I帧的二进制数据通过逆向dequant量化系数变化再通过逆向DCT变化形成下个P帧的参考帧;2、 P帧中的宏块进行运动匹配,在I帧中找到最相似的宏块;3、 记录这两个宏块的(level、run、last)等信息,然后这两个宏块进行残差运算(会形成很多0),然后在进行DCT、quant、之字形(Zigzag)扫描和双扫描后形成二进制可压缩数据;4、 然后P帧复原后在形成下一帧的参考帧; 以上是MPEG4和H.264的标准过程,H.264在此基础上更新了很多。一、帧内预测:帧内编码用来缩减图像的空间冗余。为了提高H.264帧内编码的效率,在给定帧中充分利用相邻宏块的空间相关性,相邻的宏块通常含有相似的属性。因此,在对一给定宏块编码时,首先可以根据周围的宏块预测(典型的是根据左上角的宏块,因为此宏块已经被编码处理),然后对预测值与实际值的差值进行编码,这样,相对于直接对该帧编码而言,可以大大减小码率。H.264提供6种模式进行4×4像素宏块预测,包括1种直流预测和5种方向预测,如图2所示。在图中,相邻块的A到I共9个像素均已经被编码,可以被用以预测,如果我们选择模式4,那么,a、b、c、d4个像素被预测为与E相等的值,e、f、g、h4个像素被预测为与F相等的值,对于图像中含有很少空间信息的平坦区,H.264也支持16×16的帧内编码。 图2 帧内编码模式二、小尺寸4×4的dct整数变换视频压缩编码中以往的常用单位为8×8块。在H.264中却采用小尺寸的4×4块,由于变换块的尺寸变小了,运动物体的划分就更为精确。这种情况下,图像变换过程中的计算量小了,而且在运动物体边缘的衔接误差也大为减少。 当图像中有较大面积的平滑区域时,为了不产生因小尺寸变换带来的块间灰度差异,H.264可对帧内宏块亮度数据的16个4×4块的DCT系数进行第二次4×4块的变换,对色度数据的4个4×4块的DC系数(每个小块一个,共4个DC系数)进行2×2块的变换。H.263不仅使图像变换块尺寸变小,而且这个变换是整数操作,而不是实数运算,即编码器和解码器的变换和反变换的精度相同,没有“反变换误差”。与浮点运算相比,整数DCT变换会引起一些额外的误差,但因为DCT变换后的量化也存在量化误差,与之相比,整数DCT变换引起的量化误差影响并不大。此外,整数DCT变换还具有减少运算量和复杂度,有利于向定点DSP移植的优点。 三、多种更好的运动估计高精度估计在H.263中采用了半像素估计,在H.264中则进一步采用1/4像素甚至1/8像素的运动估计。即真正的运动矢量的位移可能是以1/4甚至1/8像素为基本单位的。显然,运动矢量位移的精度越高,则帧间剩余误差越小,传输码率越低,即压缩比越高。在H.264中采用了6阶FIR滤波器的内插获得1/2像素位置的值。当1/2像素值获得后, 1/4像素值可通过线性内插获得,对于4:1:1的视频格式,亮度信号的1/4 像素精度对应于色度部分的1/8像素的运动矢量,因此需要对色度信号进行1/8像素的内插运算。理论上,如果将运动补偿的精度增加一倍(例如从整像素精度提高到1/2像素精度),可有0.5bit/Sample的编码增益,但实际验证发现在运动矢量精度超过1/8像素后,系统基本上就没有明显增益了,因此,在H.264中,只采用了1/4像素精度的运动矢量模式,而不是采用1/8像素的精度。多宏块划分模式估计在H.264的预测模式中,一个宏块(MB)可划分成7种不同模式的尺寸,这种多模式的灵活、细微的宏块划分,更切合图像中的实际运动物体的形状,于是,在每个宏块中可包含有1、2、4、8或16个运动矢量。多参数帧估计,安联锐视 http://www.raysharp.cn 是领先的DVR制造商,采用H.264编码,在H.264中,可采用多个参数帧的运动估计,即在编码器的缓存中存有多个刚刚编码好的参数帧,编码器从其中选择一个给出更好的编码效果的作为参数帧,并指出是哪个帧被用于预测,这样就可获得比只用上一个刚编码好的帧作为预测帧的更好的编码效果。 四、环路滤波:H.264/MPEG-4 AVC标准定义了一个对16X16宏块和4X4块边界的解块过滤过程。在宏块这种情况下,过滤的目的是消除由于相邻宏块有不同的运动估计类型(比如运动估计和内部估计)或者不同的量化参数导致的人工痕迹。在块边界这种情况下,过滤的目的是消除可能由于变换/量化和来自于相邻块运动矢量的差别引起的人工痕迹。环路滤波通过一个内容自适应的非线性算法修改在宏块/块边界的同一边的两个像素。 H.264抗块效应滤波器 一、对抗块效应滤波器的描述应用抗块效应滤波器的目的是为了减少块失真。抗块效应滤波器是在编码器和解码器的反变换之后应用的。滤波器有两种好处:(a)平滑块边缘,改善解码图像质量(特别是在较高的压缩比时);(b)为了在编码器中对后面的帧进行运动补偿预测,使用滤波宏块,造成预测后产生一个较小的残差。操作过程是这样的:对帧内编码宏块进行滤波,使用未滤波的重建宏块形成预测帧,进行帧内预测,但整幅图像边缘不被滤波。按下列顺序,对一个宏块中垂直或水平4×4的边缘块进行滤波:(1)对亮度分量的4个垂直边界进行滤波(在图1中按a,b,c,d的顺序);(2)对亮度分量的4个水平边界进行滤波(在图1中按e,f,g,h的顺序);(3)对每个色度分量2个垂直边界进行滤波(i,j);(4)对每个色度分量的2个水平边界进行滤波(k,l)。每个滤波运算影响到边界两侧的三个像素。图2显示了相邻块p和q(p0,p1,p2,p3和q0,q1,q2,q3)的垂直或水平边界两侧的4个像素。邻近的块编码模式和穿过图像抽样值边界的梯度,取决于目前的量化器,可能造成一些后果:(a)没有像素被滤波。(b)p0,p1,p2,q0,q1,q2被滤波,输出像素P0,P1,P2,Q0,Q1和Q2。 五、熵编码在熵编码之前,4X4的量化系数必须被重排序。根据这些系数原来采用的预测算法为运动估计或者内部估计的不同来选择不同的扫描类型创建一个重排序的串行化流。扫描类型按照从低频到高频的顺序排序这些系数。既然高频系数大多数趋向于零,那么利用游程编码就可以缩减零的数目,从而高效的达到熵编码的目的。在熵编码步骤通过映射符号的字节流来表示运动矢量,量化系数和宏块头。熵编码通过设计用一个较少的比特位数来表示频繁使用的符号,比较多的比特位数来表示不经常使用的符号。
‘肆’ 什么是滤波算法
卡尔曼滤波器(Kalman Filter)是一个最优化自回归数据处理算法(optimal recursive data processing algorithm)。对于解决很大部分的问题,他是最优,效率最高甚至是最有用的。他的广泛应用已经超过30年,包括机器人导航,控制,传感器数据融合甚至在军事方面的雷达系统以及导弹追踪等等。近年来更被应用于计算机图像处理,例如头脸识别,图像分割,图像边缘检测等等。
最佳线性滤波理论起源于40年代美国科学家Wiener和前苏联科学家Kолмогоров等人的研究工作,后人统称为维纳滤波理论。从理论上说,维纳滤波的最大缺点是必须用到无限过去的数据,不适用于实时处理。为了克服这一缺点,60年代Kalman把状态空间模型引入滤波理论,并导出了一套递推估计算法,后人称之为卡尔曼滤波理论。卡尔曼滤波是以最小均方误差为估计的最佳准则,来寻求一套递推估计的算法,其基本思想是:采用信号与噪声的状态空间模型,利用前一时刻地估计值和现时刻的观测值来更新对状态变量的估计,求出现时刻的估计值。它适合于实时处理和计算机运算。
现设线性时变系统的离散状态防城和观测方程为:
X(k) = F(k,k-1)·X(k-1)+T(k,k-1)·U(k-1)
Y(k) = H(k)·X(k)+N(k)
其中
X(k)和Y(k)分别是k时刻的状态矢量和观测矢量
F(k,k-1)为状态转移矩阵
U(k)为k时刻动态噪声
T(k,k-1)为系统控制矩阵
H(k)为k时刻观测矩阵
N(k)为k时刻观测噪声
则卡尔曼滤波的算法流程为:
预估计X(k)^= F(k,k-1)·X(k-1)
计算预估计协方差矩阵
C(k)^=F(k,k-1)×C(k)×F(k,k-1)'+T(k,k-1)×Q(k)×T(k,k-1)'
Q(k) = U(k)×U(k)'
计算卡尔曼增益矩阵
K(k) = C(k)^×H(k)'×[H(k)×C(k)^×H(k)'+R(k)]^(-1)
R(k) = N(k)×N(k)'
更新估计
X(k)~=X(k)^+K(k)×[Y(k)-H(k)×X(k)^]
计算更新后估计协防差矩阵
C(k)~ = [I-K(k)×H(k)]×C(k)^×[I-K(k)×H(k)]'+K(k)×R(k)×K(k)'
X(k+1) = X(k)~
C(k+1) = C(k)~
‘伍’ 全息影像的原理是什么
全息技术是利用干涉和衍射原理记录并再现物体真实的三维图像的记录和再现的技术。其第一步是利用干涉原理记录物体光波信息,此即拍摄过程:被摄物体在激光辐照下形成漫射式的物光束;另一部分激光作为参考光束射到全息底片上,和物光束叠加产生干涉,把物体光波上各点的位相和振幅转换成在空间上变化的强度,从而利用干涉条纹间的反差和间隔将物体光波的全部信息记录下来。记录着干涉条纹的底片经过显影、定影等处理程序后,便成为一张全息图,或称全息照片;其第二步是利用衍射原理再现物体光波信息,这是成象过程:全息图犹如一个复杂的光栅,在相干激光照射下,一张线性记录的正弦型全息图的衍射光波一般可给出两个象,即原始象(又称初始象)和共轭象。再现的图像立体感强,具有真实的视觉效应。全息图的每一部分都记录了物体上各点的光信息,故原则上它的每一部分都能再现原物的整个图像,通过多次曝光还可以在同一张底片上记录多个不同的图像,而且能互不干扰地分别显示出来。 [编辑本段]原理 全息原理是“一个系统原则上可以由它的边界上的一些自由度完全描述”,是基于黑洞的量子性质提出的一个新的基本原理。其实这个基本原理是联系量子元和量子位结合的量子论的。其数学证明是,时空有多少维,就有多少量子元;有多少量子元,就有多少量子位。它们一起组成类似矩阵的时空有限集,即它们的排列组合集。全息不全,是说选排列数,选空集与选全排列,有对偶性。即一定维数时空的全息性完全等价于少一个量子位的排列数全息性;这类似“量子避错编码原理”,从根本上解决了量子计算中的编码错误造成的系统计算误差问题。而时空的量子计算,类似生物DNA的双螺旋结构的双共轭编码,它是把实与虚、正与负双共轭编码组织在一起的量子计算机。这可叫做“生物时空学”,这其中的“熵”,也类似“宏观的熵”,不但指混乱程度,也指一个范围。时间指不指一个范围?从“源于生活”来说,应该指。因此,所有的位置和时间都是范围。位置“熵”为面积“熵”,时间“熵”为热力学箭头“熵”。其次,类似N数量子元和N数量子位的二元排列,与N数行和N数列的行列式或矩阵类似的二元排列,其中有一个不相同,是行列式或矩阵比N数量子元和N数量子位的二元排列少了一个量子位,这是否类似全息原理,N数量子元和N数量子位的二元排列是一个可积系统,它的任何动力学都可以用低一个量子位类似N数行和N数列的行列式或矩阵的场论来描述呢?数学上也许是可以证明或探究的。 1、反德西特空间,即为点、线、面内空间,是可积的。因为点、线、面内空间与点、线、面外空间交接处趋于“超零”或“零点能”零,到这里是一个可积系统,它的任何动力学都可以有一个低一维的场论来实现。也就是说,由于反德西特空间的对称性,点、线、面内空间场论中的对称性,要大于原来点、线、面外空间的洛仑兹对称性,这个比较大一些的对称群叫做共形对称群。当然这能通过改变反德西特空间内部的几何来消除这个对称性,从而使得等价的场论没有共形对称性,这可叫新共形共形。如果把马德西纳空间看作“点外空间”,一般“点外空间”或“点内空间”也可看作类似球体空间。反德西特空间,即“点内空间”是场论中的一种特殊的极限。“点内空间”的经典引力与量子涨落效应,其弦论的计算很复杂,计算只能在一个极限下作出。例如上面类似反德西特空间的宇宙质量轨道圆的暴涨速率,是光速的8.88倍,就是在一个极限下作出的。在这类极限下,“点内空间”过渡到一个新的时空,或叫做pp波背景。可精确地计算宇宙弦的多个态的谱,反映到对偶的场论中,我们可获得物质族质量谱计算中一些算子的反常标度指数。 2、这个技巧是,弦并不是由有限个球量子微单元组成的。要得到通常意义下的弦,必须取环量子弦论极限,在这个极限下,长度不趋于零,每条由线旋耦合成环量子的弦可分到微单元10的-33次方厘米,而使微单元的数目不是趋于无限大,从而使得弦本身对应的物理量如能量动量是有限的。在场论的算子构造中,如果要得到pp波背景下的弦态,我们恰好需要取这个极限。这样,微单元模型是一个普适的构造,也清楚了。在pp波这个特殊的背景之下,对应的场论描述也是一个可积系统。 [编辑本段]特点和优势 1、 再造出来的立体影像有利于保存珍贵的艺术品资料进行收藏。 2、 拍摄时每一点都记录在全息片的任何一点上,一旦照片损坏也关系不大。 3、 全息照片的景物立体感强,形象逼真,借助激光器可以在各种展览会上进行展示,会得到非常好的效果。 [编辑本段]应用 全息学的原理适用于各种形式的波动,如X射线、微波、声波、电子波等。只要这些波动在形成干涉花样时具有足够的相干性即可。光学全息术可望在立体电影、电视、展览、显微术、干涉度量学、投影光刻、军事侦察监视、水下探测、金属内部探测、保存珍贵的历史文物、艺术品、信息存储、遥感,研究和记录物理状态变化极快的瞬时现象、瞬时过程(如爆炸和燃烧)等各个方面获得广泛应用。 在生活中,也常常能看到全息摄影技术的运用。比如,在一些信用卡和纸币上,就有运用了俄国物理学家尤里·丹尼苏克在20世纪60年代发明的全彩全息图像技术制作出的聚酯软胶片上的“彩虹”全息图像。但这些全息图像更多只是作为一种复杂的印刷技术来实现防伪目的,它们的感光度低,色彩也不够逼真,远不到乱真的境界。研究人员还试着使用重铬酸盐胶作为感光乳剂,用来制作全息识别设备。在一些战斗机上配备有此种设备,它们可以使驾驶员将注意力集中在敌人身上。把一些珍贵的文物用这项技术拍摄下来,展出时可以真实地立体再现文物,供参观者欣赏,而原物妥善保存,防失窃,大型全息图既可展示轿车、卫星以及各种三维广告,亦可采用脉冲全息术再现人物肖像、结婚纪念照。小型全息图可以戴在颈项上形成美丽装饰,它可再现人们喜爱的动物,多彩的花朵与蝴蝶。迅猛发展的模压彩虹全息图,既可成为生动的卡通片、贺卡、立体邮票,也可以作为防伪标识出现在商标、证件卡、银行信用卡,甚至钞票上。装饰在书籍中的全息立体照片,以及礼品包装上闪耀的全息彩虹,使人们体会到21世纪印刷技术与包装技术的新飞跃。模压全息标识,由于它的三维层次感,并随观察角度而变化的彩虹效应,以及千变万化的防伪标记,再加上与其他高科技防伪手段的紧密结合,把新世纪的防伪技术推向了新的辉煌顶点。 除光学全息外,还发展了红外、微波和超声全息技术,这些全息技术在军事侦察和监视上有重要意义。我们知道,一般的雷达只能探测到目标方位、距离等,而全息照相则能给出目标的立体形象,这对于及时识别飞机、舰艇等有很大作用。因此,备受人们的重视。但是由于可见光在大气或水中传播时衰减很快,在不良的气候下甚至于无法进行工作。为克服这个困难发展出红外、微波及超声全息技术,即用相干的红外光、微波及超声波拍摄全息照片,然后用可见光再现物象,这种全息技术与普通全息技术的原理相同。技术的关键是寻找灵敏记录的介质及合适的再现方法。 超声全息照相能再现潜伏于水下物体的三维图样,因此可用来进行水下侦察和监视。由于对可见光不透明的物体,往往对超声波透明,因此超声全息可用于水下的军事行动,也可用于医疗透视以及工业无损检测测等。 除用光波产生全息图外,已发展到可用计算机产生全息图。全息图用途很广,可作成各种薄膜型光学元件,如各种透镜、光栅、滤波器等,可在空间重叠,十分紧凑、轻巧,适合于宇宙飞行使用。使用全息图贮存资料,具有容量大、易提取、抗污损等优点。 全息照相的方法从光学领域推广到其他领域。如微波全息、声全息等得到很大发展,成功地应用在工业医疗等方面。地震波、电子波、X射线等方面的全息也正在深入研究中。全息图有极其广泛的应用。如用于研究火箭飞行的冲击波、飞机机翼蜂窝结构的无损检验等。现在不仅有激光全息,而且研究成功白光全息、彩虹全息,以及全景彩虹全息,使人们能看到景物的各个侧面。全息三维立体显示正在向全息彩色立体电视和电影的方向发展。 全息技术不仅在实际生活中正得到广泛应用,而且在上世纪兴起并快速发展的科幻文学中也有大量描写和应用,有兴趣的话可去看看。 可见全息技术在未来的发展前景将是十分光明的。 [编辑本段]全息摄影 全息摄影是指一种记录被摄物体反射波的振幅和位相等全部信息的新型摄影技术。普通摄影是记录物体面上的光强分布,它不能记录物体反射光的位相信息,因而失去了立体感。全息摄影采用激光作为照明光源,并将光源发出的光分为两束,一束直接射向感光片,另一束经被摄物的反射后再射向感光片。两束光在感光片上叠加产生干涉,感光底片上各点的感光程度不仅随强度也随两束光的位相关系而不同。所以全息摄影不仅记录了物体上的反光强度,也记录了位相信息。人眼直接去看这种感光的底片,只能看到像指纹一样的干涉条纹,但如果用激光去照射它,人眼透过底片就能看到原来被拍摄物体完全相同的三维立体像。一张全息摄影图片即使只剩下一小部分,依然可以重现全部景物。全息摄影可应用于工业上进行无损探伤,超声全息,全息显微镜,全息摄影存储器,全息电影和电视等许多方面。 全息摄影的拍摄要求 为了拍出一张满意的全息照片,拍摄系统必须具备以下要求: (1)光源必须是相干光源 通过前面分析知道,全息照相是根据光的干涉原理,所以要求光源必须具有很好的相干性。激光的出现,为全息照相提供了一个理想的光源。这是因为激光具有很好的空间相干性和时间相干性,实验中采用He-Ne激光器,用其拍摄较小的漫散物体,可获得良好的全息图。 (2)全息照相系统要具有稳定性 由于全息底片上记录的是干涉条纹,而且是又细又密的干涉条纹,所以在照相过程中极小的干扰都会引起干涉条纹的模糊,甚至使干涉条纹无法记录。比如,拍摄过程中若底片位移一个微米,则条纹就分辨不清,为此,要求全息实验台是防震的。全息台上的所有光学器件都用磁性材料牢固地吸在工作台面钢板上。另外,气流通过光路,声波干扰以及温度变化都会引起周围空气密度的变化。因此,在曝光时应该禁止大声喧哗,不能随意走动,保证整个实验室绝对安静。我们的经验是,各组都调好光路后,同学们离开实验台,稳定一分钟后,再在同一时间内爆光,得到较好的效果。 (3)物光与参考光应满足 物光和参考光的光程差应尽量小,两束光的光程相等最好,最多不能超过2cm,调光路时用细绳量好;两速光之间的夹角要在30°~60°之间,最好在45°左右,因为夹角小,干涉条纹就稀,这样对系统的稳定性和感光材料分辨率的要求较低;两束光的光强比要适当,一般要求在1∶1~1∶10之间都可以,光强比用硅光电池测出。 (4)使用高分辨率的全息底片 因为全息照相底片上记录的是又细又密的干涉条纹,所以需要高分辨率的感光材料。普通照相用的感光底片由于银化物的颗粒较粗,每毫米只能记录50~100个条纹,天津感光胶片厂生产的I型全息干板,其分辨率可达每毫米3000条,能满足全息照相的要求。 (5)全息照片的冲洗过程 冲洗过程也是很关键的。我们按照配方要求配药,配出显影液、停影液、定影液和漂白液。上述几种药方都要求用蒸馏水配制,但实验证明,用纯净的自来水配制,也获得成功。冲洗过程要在暗室进行,药液千万不能见光,保持在室温20℃左右进行冲洗,配制一次药液保管得当,可使用一个月左右。
希望采纳
‘陆’ 什么叫卡尔曼滤波算法其序贯算法
卡尔曼滤波算法(Kalman filtering)一种利用线性系统状态方程,通过系统输入输出观测数据,对系统状态进行最优估计的算法。由于观测数据中包括系统中的噪声和干扰的影响,所以最优估计也可看作是滤波过程。
序贯算法又叫序贯相似性检测算法,是指图像匹配技术是根据已知的图像模块(模板图)在另一幅图像(搜索图)中寻找相应或相近模块的过程,它是计算机视觉和模式识别中的基本手段。已在卫星遥感、空间飞行器的自动导航、机器人视觉、气象云图分析及医学x射线图片处理等许多领域中得到了广泛的应用。研究表明,图像匹配的速度主要取决于匹配算法的搜索策略。
数据滤波是去除噪声还原真实数据的一种数据处理技术, Kalman滤波在测量方差已知的情况下能够从一系列存在测量噪声的数据中,估计动态系统的状态. 由于, 它便于计算机编程实现, 并能够对现场采集的数据进行实时的更新和处理, Kalman滤波是目前应用最为广泛的滤波方法, 在通信, 导航, 制导与控制等多领域得到了较好的应用。
‘柒’ 运用matlab进行随机信号的功率谱密度估计仿真【急求】
好眼熟啊。。。通院08级的随机信号实验题目?
这份是我在网络上找的:
(1).周期图法: 思想:周期图法是为了得到功率谱估值,先取信号序列的离散傅里叶变换,然后取其幅频特性的平方并除以序列长度 N。由于序列 x(n)的离散傅里叶变换 X(k) 具有周期性,因而这种功率谱也具有周期性,常称为周期图。周期图是信号功率谱的一个有偏估值;而且,当信号序列的长度增大到无穷时,估值的方差不趋于零。因此,随着所取的信号序列长度的不同,所得到的周期图也不同,这种现象称为随机起伏。由于随机起伏大,使用周期图不能得到比较稳定的估值。
程序:
%首先,生成输入信号的程序为:
clear ; fs=20000; n=0:1/ fs: 0. 1; N=lengt h( n); W=2000*pi;%因方波频率 F=1000HZ 所以角频率 W=2000pi X1n=square( W*n) ;%方波信号 X2n=randn( 1, N);%白噪声信号 xn=X1n+0. 2*X2n; subplot (3, 1, 1) plot (n, xn) ; xlabel( ' n' ) ylabel('输入信号') %其次,开始用周期图法进行估计; clear all fs=20000; n=0:1/fs:0.1; N=length(n); W=2000*pi; x1n=square(W*n); x2n=randn(1,N); xn=x1n+0.2*x2n; subplot(2,1,1) plot(n,xn); Nfft=256;N=256;%傅里叶变换的采样点数256 Pxx=abs(fft(xn,Nfft).^2)/N; f=(0:length(Pxx)-1)*fs/length(Pxx); subplot(2,1,2), plot(f,10*log10(Pxx)),%转成DB 单位
(2).自相关函数法: 思想: 随机信号 x(n)的相关函数是在时间域内描述随机过程的重要特征。自相关函数是随机信号在不同时刻的值之间的依赖性的量度,是一个很有用的统计平均量,其定义为自相关函数 (1) 式中E【·】表示数学期望,*表示共轭值,m 为时间滞后数。在随机信号处理中,自相关函数可以用来检测淹没在随机噪声干扰中的信号,随机信号的自功率谱等于它的自相关函数的傅里叶变换。因此,通过自相关估计可求得信号的功率谱。利用计算机计算自相关估值有两种方法。一种是直接方法,先计算出随机信号和它的滞后序列的乘积,再取其平均值即得相关函数的估计值。另一种是间接方法,先用快速变换算法计算随机序列的功率谱密度,再作反变换计算出相关函数。
程序: n=0:1/fs:1; N=length(n); W=2000*pi; x1n=square(W*n); x2n=randn(1,N); xn=x1n+0.2*x2n; figure(2) subplot(3,1,1) plot(n,xn);%输入信号 axis([0 0.01 -5 5]) m =-100:100 [r,lag]=xcorr(xn,100,'biased')%求XN 的自相关函数R,biased 为有偏估计,lag 为R 的序列号 subplot(3,1,2) hndl=stem(m,r);%绘制离散图,分布点从-100—+100 set(hndl,'Marker','.') set(hndl,'MarkerSize',2); ylabel('自相关函数R(m)') %利用间接法计算功率谱 k=0:1000;%取1000 个点 w=(pi/500)*k; M=k/500; X=r*(exp(-li*pi/500).^(m'*k));%对R 求傅里叶变换,li 就是j magX=abs(X); subplot(3,1,3) plot(M,10*log10(magX)); xlabel('功率谱的改进直接法估计')
(3).自协方差法: 思想:在实际中,有时用随机信号在两个不同时刻t 1 ,t 2 的取值X(t 1 )和X(t 2 )之间的二阶混合中心矩来描述随机信号 X(t)在任意两个时刻取值起伏变化的相依程度, 即自协方差。自协方差函数与自相关函数描述的特性是一致的,所以其原理与相关函数法近似。
clear all; fs=20000; n=0:1/fs:0.1; P=2000*pi; y=square(P*n); xn=y+0.2*randn(size(n));%绘制信号波形 figure(3) subplot(2,1,1) plot(n,xn) xlabel('时间(s)') ylabel('幅度') title('y+randn(size(n))') ymax_xn=max(xn)+0.2; ymin_xn=min(xn)-0.2; axis([0 0.3 ymin_xn ymax_xn]) %使用协方差法估计序列功率谱 p=floor(length(xn)/3)+1; nfft=1024; [xpsd,f]=pcov(xn,p,nfft,fs,'half'); %绘制功率谱估计 pmax=max(xpsd); xpsd=xpsd/pmax; xpsd=10*log10(xpsd+0.000001); subplot(2,1,2) plot(f,xpsd) title('基于协方差的功率谱估计') ylabel('功率谱估计(db)') xlabel('频率') grid on; ymin=min(xpsd)-2; ymax=max(xpsd)+2; axis([0 fs/2 ymin ymax])
(4).最大熵法 思想:上网查的最大熵法原理是取一组时间序列,使其自相关函数与一组已知数据的自相关函数相同,同时使已知自相关函数以外的部分的随机性最强,以所取时间序列的谱作为已知数据的谱估值。它等效于根据使随机过程的熵为最大的原则,利用 N 个已知的自相关函数值来外推其他未知的自相关函数值所得到的功率谱。最大熵法功率谱估值是一种可获得高分辨率的非线性谱估值方法,特别适用于数据长度较短的情况。最大熵法谱估值对未知数据的假定 ,一个平稳的随机序列,可以用周期图法对其功率谱进行估值。这种估值方法隐含着假定未知数据是已知数据的周期性重复。现有的线性谱估计方法是假定未知数据的自相关函数值为零,这种人为假定带来的误差较大。最大熵法是利用已知的自相关函数值来外推未知的自相关函数值,去除了对未知数据的人为假定,从而使谱估计的结果更为合理。熵在信息论中是信息的度量,事件越不确定,其信息量越大,熵也越大。对于上述问题来说,对随机过程的未知的自相关函数值,除了从已知的自相关函数值得到有关它的信息以外,没有其他的先验知识。因而,在外推时,不希望加以其他任何新的限制,亦即使之“最不确定”。换言之,就是使随机过程的熵最大。
程序: fs=20000; n=0:1/fs:1; N=length(n); W=2000*pi; x1n=square(W*n); x2n=randn(1,N); xn=x1n+0.2*x2n; figure(5) subplot(3,1,1) plot(n,xn); asis([0 0.01 -5 5]) Nfft=256;%分段长度256 [Pxx,f]=pmem(xn,14,Nfft,fs);%调用最大熵函数pmem,滤波器阶数14 subplot(2,1,2), plot(f,10*log10(Pxx)), title(' 最大熵法,滤波器14'),xlabel('频率'),ylabel('功率谱db');
(5).最大似然法: 思想:最大似然法原理是让信号通过一个滤波器,选择滤波器的参数使所关心的频率的正弦波信号能够不失真地通过,同时,使所有其他频率的正弦波通过这个滤波器后输出的均方值最小。在这个条件下,信号经过这个滤波器后输出的均方值就作为其最大似然法功率谱估值。可以证明,如果信号x 是由一个确定性信号S 加上一个高斯白噪声n 所组成,则上述滤波器的输出是信号S 的最大似然估值。如果n 不是高斯噪声,则上述滤波器的输出是信号S 的最小方差的线性的无偏估值,而且它能得到比使用固定的窗口函数的周期图法更高的分辨率。
程序: fs=20000; n=0:1/fs:1; N=length(n); W=2000*pi; x1n=square(W*n); x2n=randn(1,N); xn=x1n+0.2*x2n; figure(4) subplot(3,1,1) plot(n,xn); axis([0 0.01 -5 5]) %估计自相关函数 m=-500:500; [r,lag]=xcorr(xn,500,'biased'); R=[r(501) r(502) r(503) r(504); r(500) r(501) r(502) r(503); r(499) r(500) r(501) r(502); r(498) r(499) r(500) r(501)]; [V,D]=eig(R); V3=[V(1,3),V(2,3),V(3,3),V(4,3)].'; V3=[V(1,4),V(2,4),V(3,4),V(4,4)].'; p=0:3; wm=[0:0.002*pi:2*pi]; B=[(exp(-li)).^(wm'*p)];%li 就是虚数单位j A=B; %最小方差功率谱估计 z=A*inv(R)*A'; Z=diag(z'); pmv=1./Z; subplot(2,1,2) plot(wm/pi,pmv); title('基于最大似然的功率谱估计') ylabel('功率谱幅度(db)') xlabel('角度频率w/pi')
自己分下段就能运行了。
‘捌’ 数字滤波器的算法到底有几种,八种吗,怎么还有Wiener,卡尔曼等算法,还有分布式算法
数字滤波器的算法到底有几种,首先你要弄清楚滤波是什么意思,就是一个信号,通过一个系统(函数),变成了另外一个新的信号,这个新的信号里含有你想要的信息,但是比滤波之前的信息跟明确。
从这个角度来说,滤波器可以有无穷多种,只要是能够实现信息过滤提取的,都是可以叫滤波器。
FIR和IIR 的分类是从这个系统本身对一个冲击信号的响应长度来说的,一般来说,这个系统是能够用有理多项式表示的系统,谈IIR和FIR才有意义。
Wiener,卡尔曼滤波,这个里面用到了高度复杂的非线性函数,但本质上还是提取你想要的信息。已经不是有理多项式能表述的系统了,这个跟IIR和FIR没有太多的关系。
分布式算法的话,那是把同一个事情,交给很多个cpu一起做,这个跟前面说的滤波算法又是另外一回事了。假定你有一个滤波算法,输入是A,输出是B,中间经过了A1,A2,....,An个步骤,你编程的时候把A1,A2,....,An全实现成一个函数,一个cpu来跑,这就是串行算法;你也可以搞n台电脑,每台电脑做一个步骤,最后把结果B汇总出来,运算速度比原来快了N倍,那就是分布式算法。
‘玖’ FIR滤波器算法
FIR滤波器(有限长度冲击响应)是全零点型滤波器,其实现形式如下:
y[n] = a0*x[n] + a1*x[n-1] + ... + a10*x[n-10];
这里 x 是输入序列,y 是输出序列。里面的 a0 到 a10 对应你的11个系数。你要求第500个点对应的输出,那么 n 取500,系数应该乘以自输入点起,最近的11个值,即 x[500],x[499],x[498]...而不是500两侧的11个数。
通过 matlab 的 help 你能得到更全面的解释。
希望对你有帮助