BHG平谷北京拼车微信号华联微信

这个函数是:
onPictureTaken(byte[]&data,&final&Camera&camera)
我希望得到的一个图片的原始数据,也就是400*500这样的数据
我看代码的时候,看到有人用data弄出了一个位图
但是只有200*200,但是,我的手机肯定不止这么大,应该是压缩后的
怎么才能得到原始图?
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:27次
排名:千里之外算法设计(3)
基于倒频谱的语音识别
移动互联网时代对于语音处理的需求急剧增长,目前语音识别算法复杂度和准确度有限,特别是连续语音自动识别,只能识别标准普通话,对于非标准语音,比如方言,藏语,维语,现有语音识别基本没辙.目前来往对于语音内容审核的需求要求语音识别不仅仅能够识别普通话,还要能识别以上各种非标准语言.比如不同的维吾尔人说了句相同的违禁语言,我们得通过机器自动将他们识别出来,为此本文将在语音底层特征级别而不是语义级别利用语音特征提取音频特征,然后通过聚类的方式将所有语音特征转换为特征向量,最后通过比较特征向量的相似性来判别.
音频分析基础理论
1.&&&&&&音频信号在本质上是非平稳的,即间隔很短的时间(比如10ms)就会发生剧烈的变化,所以不存在像视频中存在的”关键音频帧”.
2.&&&&&&音频信号具有短时稳定性,因此通常在较短的时间窗口(音频帧)内对采样点进行处理.
3.&&&&&&音频处理的两种形式:音频帧和音频例子.
使用音频帧提取特征是基于语音信号处理理论,前提假设是信号的短时稳定性.
音频例子是考虑音频语义级别的信号稳定性,如持续一段时间的爆炸声和掌声等.
4.&&&&&&特征提取方式分为时域特征:短时平均能量,线性预测系数和过零率;
频域特征:Mel系数,LPC倒频谱系数和熵特征;
时频特征:小波系数
5.&&&&&&特征相似度匹配分为基于时间序列上的(如隐马尔科夫和支持向量机)和基于几何意义上的(如聚类统计).
6.&&&&&&音频信号总可以分解为正弦信号的叠加,每一个音频信号是由不同时刻,不同频率和不同能量幅度的声波组成,作为滤波器的人耳有选择的接收不同频率的不同能量.音频分析通常在频域上进行.
表示X=采样时间,Y=采样幅度值的时域信号
表示X=频率,Y=采样时间内能量总和的频域信号
从上面频谱图可见,音频信号是由不同频率上所带不同的能量组成的,在100Hz和260Hz上携带了最多的能量.除此之外,语音信号中更多的信息也可以在频域中得到,如声音的辨识属性,声道形状等.所谓声道形状可以直接从短时功率谱的包络中体现出来, MFCC就是一种准确描述这个包络的一种特征。MFCC(Mel Frequency Cepstral Coefficents)是一种在自动语音和说话人识别中广泛使用的特征。它是在1980年由Davis和Mermelstein提出。
&& 下面从声谱图讲起。
声谱图(Spectrogram)
这里,这段语音被分为很多帧,每帧语音都对应于一个频谱(通过短时FFT计算),频谱表示频率与能量的关系。在实际使用中,频谱图有三种,即线性振幅谱、对数振幅谱、自功率谱(对数振幅谱中各谱线的振幅都作了对数计算,所以其纵坐标的单位是dB(分贝)。这个变换的目的是使那些振幅较低的成分相对高振幅成分得以拉高,以便观察掩盖在低幅噪声中的周期信号)。
& 我们先将其中一帧语音的频谱通过坐标表示出来,如上图左。现在我们将左边的频谱旋转90度。得到中间的图。然后把这些幅度映射到一个灰度级表示(也可以理解为将连续的幅度量化为256个量化值?),0表示黑,255表示白色。幅度值越大,相应的区域越黑。这样就得到了最右边的图。那为什么要这样呢?为的是增加时间这个维度,这样就可以显示一段语音而不是一帧语音的频谱,而且可以直观的看到静态和动态的信息。优点稍后呈上。
这样我们会得到一个随着时间变化的频谱图,这个就是描述语音信号的spectrogram声谱图。
在声谱图中表示语音的原因可归结为如下几点:
1.&&&&&&音素(Phones)的属性可以更好的在这里面观察出来。
2.&&&&&&通过观察共振峰和它们的转变可以更好的识别声音;
3.&&&&&&隐马尔科夫模型(Hidden Markov Models)就是隐含地对声谱图进行建模以达到好的识别性能;
4.&&&&&&可以直观的评估TTS系统(text to speech)的好坏。
倒谱分析(CepstrumAnalysis)
& 下面是一个语音的频谱图。峰值就表示语音的主要频率成分,我们把这些峰值称为共振峰(formants),而共振峰就是携带了声音的辨识属性(就是个人身份证一样)。所以它特别重要。用它就可以识别不同的声音。
我们要提取的不仅仅是共振峰的位置,还得提取它们转变的过程。所以我们提取的是频谱的包络(Spectral Envelope)。这包络就是一条连接这些共振峰点的平滑曲线。
原始的频谱由两部分组成:包络和频谱的细节,分别对应频谱的低频和高频部分。这里用到的是对数频谱,所以单位是dB。现在将这两部分分离开就可以得到包络了。在给定log X[k]的基础上,求得log H[k] 和 log E[k]以满足log X[k] = log H[k] + log E[k]就是对频谱做FFT。在频谱上做傅里叶变换就相当于逆傅里叶变换Inverse FFT (IFFT)。
于是倒谱分析的过程可总结为如下过程:
这个过程实际就是一个同态信号处理。它的目的是将非线性问题转化为线性问题的处理方法。对应上面就是原来的语音信号实际上是一个卷性信号(声道相当于一个线性时不变系统,声音的产生可以理解为一个激励通过这个系统),第一步通过卷积将其变成了乘性信号(时域的卷积相当于频域的乘积)。第二步通过取对数将乘性信号转化为加性信号,第三步进行逆变换,使其恢复为卷性信号。这时候,虽然前后均是时域序列,但它们所处的离散时域显然不同,所以后者称为倒谱频域。
Mel频率分析(Mel-FrequencyAnalysis)
到这里我们可以得到语音的频谱包络(连接所有共振峰值点的平滑曲线)了。但是,对于人类听觉感知的实验表明,人类听觉的感知只聚焦在某些特定的区域,而不是整个频谱包络。
而Mel频率分析就是基于人类听觉感知实验的。实验观测发现人耳就像一个滤波器组一样,它只关注某些特定的频率分量(人的听觉对频率是有选择性的)。也就说,它只让某些频率的信号通过,而压根就直接无视它不想感知的某些频率信号。但是这些滤波器在频率坐标轴上却不是统一分布的,在低频区域有很多的滤波器,他们分布比较密集,但在高频区域,滤波器的数目就变得比较少,分布很稀疏。
&& 梅尔频率倒谱系数(Mel Frequency Cepstrum Coefficient, MFCC)考虑到了人类的听觉特征,先将线性频谱映射到基于听觉感知的Mel非线性频谱中,然后转换到倒谱上。
&&&&&&& 将普通频率转化到Mel频率的公式是:
由下图可以看到,它可以将不统一的频率转化为统一的频率,也就是统一的滤波器组。
在Mel频谱上面获得的倒谱系数h[k]就称为Mel频率倒谱系数,简称MFCC。
MFCC特征提取过程
<span style="color:#.预加重
预加重处理其实是将语音信号通过一个高通滤波器:
式中μ的&#20540;介于<span style="color:#.9-1.0之间,我们通常取<span style="color:#.97。预加重的目的是提升高频部分,使信号的频谱变得平坦,保持在低频到高频的整个频带中,能用同样的信噪比求频谱。同时,也是为了消除发生过程中声带和嘴唇的效应,来补偿语音信号受到发音系统所抑制的高频部分,也为了突出高频的共振峰。
<span style="color:#.分帧
先将N个采样点集合成一个观测单位,称为帧。通常情况下N的&#20540;为<span style="color:#6或<span style="color:#2,涵盖的时间约为<span style="color:#~30ms左右。为了避免相邻两帧的变化过大,因此会让两相邻帧之间有一段重叠区域,此重叠区域包含了M个取样点,通常M的&#20540;约为N的<span style="color:#/2或<span style="color:#/3。通常语音识别所采用语音信号的采样频率为<span style="color:#KHz或<span style="color:#KHz,以<span style="color:#KHz来说,若帧长度为<span style="color:#6个采样点,则对应的时间长度是<span style="color:#6/=32ms。
<span style="color:#.加窗(Hamming Window)
将每一帧乘以汉明窗,以增加帧左端和右端的连续性。假设分帧后的信号为S(n),n=0,1…,N-1, N为帧的大小,那么乘上汉明窗
后,W(n)形式如下:
不同的a&#20540;会产生不同的汉明窗,一般情况下a取<span style="color:#.46
<span style="color:#.快速傅里叶变换
由于信号在时域上的变换通常很难看出信号的特性,所以通常将它转换为频域上的能量分布来观察,不同的能量分布,就能代表不同语音的特性。所以在乘上汉明窗后,每帧还必须再经过快速傅里叶变换以得到在频谱上的能量分布。对分帧加窗后的各帧信号进行快速傅里叶变换得到各帧的频谱。并对语音信号的频谱取模平方得到语音信号的功率谱。设语音信号的DFT为:
& & & && &式中x(n)为输入的语音信号,N表示傅里叶变换的点数。
&5.&三角带通滤波器
&将能量谱通过一组Mel尺度的三角形滤波器组,定义一个有M个滤波器的滤波器组(滤波器的个数和临界带的个数相近),采用的滤波器为三角滤波器,中心频率为f(m),m=1,2,...,M。M通常取<span style="color:#-26。各f(m)之间的间隔随着m&#20540;的减小而缩小,随着m&#20540;的增大而增宽,如图所示:
三角带通滤波器有两个主要目的:
对频谱进行平滑化,并消除谐波的作用,突显原先语音的共振峰。(因此一段语音的音调或音高,是不会呈现在 MFCC参数内,换句话说,以 MFCC为特征的语音辨识系统,并不会受到输入语音的音调不同而有所影响)此外,还可以降低运算量。
<span style="color:#.计算每个滤波器组输出的对数能量为:
<span style="color:#.经离散余弦变换(DCT)得到MFCC系数&&&&&&&&&&&
将上述的对数能量带入离散余弦变换,求出L阶的Mel-scale Cepstrum参数。L阶指MFCC系数阶数,通常取<span style="color:#-16。这里M是三角滤波器个数。
<span style="color:#.对数能量
此外,一帧的音量(即能量),也是语音的重要特征,而且非常容易计算。因此,通常再加上一帧的对数能量(定义:一帧内信号的平方和,再取以<span style="color:#为底的对数&#20540;,再乘以<span style="color:#)使得每一帧基本的语音特征就多了一维,包括一个对数能量和剩下的倒频谱参数。
注:若要加入其它语音特征以测试识别率,也可以在此阶段加入,这些常用的其它语音特征包含音高、过零率以及共振峰等。
<span style="color:#.动态差分参数的提取(包括一阶差分和二阶差分)
标准的倒谱参数MFCC只反映了语音参数的静态特性,语音的动态特性可以用这些静态特征的差分谱来描述。实验证明:把动、静态特征结合起来才能有效提高系统的识别性能。差分参数的计算可以采用下面的公式:
特征匹配和查询(未完待续)
Reference:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:10744次
排名:千里之外
(1)(1)(2)(1)(1)(1)(5)(3)(2)(1)1362人阅读
其他(30)
第一课 什么是卷积 卷积有什么用 什么是傅利叶变换 什么是拉普拉斯变换
很多朋友和我一样,工科电子类专业,学了一堆信号方面的课,什么都没学懂,背了公式考了试,然后毕业了。
& &先说&卷积有什么用&这个问题。(有人抢答,&卷积&是为了学习&信号与系统&这门课的后续章节而存在的。我大&#21564;一声,把他拖出去枪毙!)
& &讲一个故事:
& &张三刚刚应聘到了一个电子产品公司做测试人员,他没有学过&信号与系统&这门课程。一天,他拿到了一个产品,开发人员告诉他,产品有一个输入端,有一个输出端,有限的输入信号只会产生有限的输出。
& &然后,经理让张三测试当输入sin(t)(t&1秒)信号的时候(有信号发生器),该产品输出什么样的波形。张三照做了,花了一个波形图。
& &&很好!&经理说。然后经理给了张三一叠A4纸: &这里有几千种信号,都用公式说明了,输入信号的持续时间也是确定的。你分别测试以下我们产品的输出波形是什么吧!&
& &这下张三懵了,他在心理想&上帝,帮帮我把,我怎么画出这些波形图呢?&
& &于是上帝出现了: &张三,你只要做一次测试,就能用数学的方法,画出所有输入波形对应的输出波形&。
& &上帝接着说:&给产品一个脉冲信号,能量是1焦耳,输出的波形图画出来!&
& &张三照办了,&然后呢?&
& &上帝又说,&对于某个输入波形,你想象把它微分成无数个小的脉冲,输入给产品,叠加出来的结果就是你的输出波形。你可以想象这些小脉冲排着队进入你的产品,每个产生一个小的输出,你画出时序图的时候,输入信号的波形好像是反过来进入系统的。&
& &张三领悟了:& 哦,输出的结果就积分出来啦!感谢上帝。这个方法叫什么名字呢?&
& &上帝说:&叫卷积!&
& &从此,张三的工作轻松多了。每次经理让他测试一些信号的输出结果,张三都只需要在A4纸上做微积分就是提交任务了!
----------------------------------------
& &张三愉快地工作着,直到有一天,平静的生活被打破。
& &经理拿来了一个小的电子设备,接到示波器上面,对张三说: &看,这个小设备产生的波形根本没法用一个简单的函数来说明,而且,它连续不断的发出信号!不过幸好,这个连续信号是每隔一段时间就重复一次的。张三,你 来测试以下,连到我们的设备上,会产生什么输出波形!&
& &张三摆摆手:&输入信号是无限时长的,难道我要测试无限长的时间才能得到一个稳定的,重复的波形输出吗?&
& &经理怒了:&反正你给我搞定,否则炒鱿鱼!&
& &张三心想:&这次输入信号连公式都给出出来,一个很混乱的波形;时间又是无限长的,卷积也不行了,怎么办呢?&
& &及时地,上帝又出现了:&把混乱的时间域信号映射到另外一个数学域上面,计算完成以后再映射回来&
& &&宇宙的每一个原子都在旋转和震荡,你可以把时间信号看成若干个震荡叠加的效果,也就是若干个可以确定的,有固定频率特性的东西。&
& &&我给你一个数学函数f,时间域无限的输入信号在f域有限的。时间域波形混乱的输入信号在f域是整齐的容易看清楚的。这样你就可以计算了&
& &&同时,时间域的卷积在f域是简单的相乘关系,我可以证明给你看看&
& &&计算完有限的程序以后,取f(-1)反变换回时间域,你就得到了一个输出波形,剩下的就是你的数学计算了!&
& &张三谢过了上帝,保住了他的工作。后来他知道了,f域的变换有一个名字,叫做傅利叶,什么什么... ...
----------------------------------------
& &再后来,公司开发了一种新的电子产品,输出信号是无限时间长度的。这次,张三开始学拉普拉斯了......
& &不是我们学的不好,是因为教材不好,老师讲的也不好。
& &很欣赏Google的面试题: 用3句话像老太太讲清楚什么是数据库。这样的命题非常好,因为没有深入的理解一个命题,没有仔细的思考一个东西的设计哲学,我们就会陷入细节的泥沼: 背公式,数学推导,积分,做题;而没有时间来回答&为什么要这样&。做大学老师的做不到&把厚书读薄&这一点,讲不出哲学层面的道理,一味背书和翻讲 ppt,做着枯燥的数学证明,然后责怪&现在的学生一代不如一代&,有什么意义吗?
第二课 到底什么是频率 什么是系统?
& & 这一篇,我展开的说一下傅立叶变换F。注意,傅立叶变换的名字F可以表示频率的概念(freqence),也可以包括其他任何概念,因为它只是一个概念模 型,为了解决计算的问题而构造出来的(例如时域无限长的输入信号,怎么得到输出信号)。我们把傅立叶变换看一个C语言的函数,信号的输出输出问题看为IO 的问题,然后任何难以求解的x-&y的问题都可以用x-&f(x)-&f-1(x)-&y来得到。
1. 到底什么是频率?
& &一个基本的假设: 任何信息都具有频率方面的特性,音频信号的声音高低,光的频谱,电子震荡的周期,等等,我们抽象出一个件谐振动的概念,数学名称就叫做频率。想象在x-y 平面上有一个原子围绕原点做半径为1匀速圆周运动,把x轴想象成时间,那么该圆周运动在y轴上的投影就是一个sin(t)的波形。相信中学生都能理解这 个。
& &那么,不同的频率模型其实就对应了不同的圆周运动速度。圆周运动的速度越快,sin(t)的波形越窄。频率的缩放有两种模式
(a) 老式的收音机都是用磁带作为音乐介质的,当我们快放的时候,我们会感觉歌唱的声音变得怪怪的,调子很高,那是因为&圆周运动&的速度增倍了,每一个声音分量的sin(t)输出变成了sin(nt)。
(b) 在CD/计算机上面快放或满放感觉歌手快唱或者慢唱,不会出现音调变高的现象:因为快放的时候采用了时域采样的方法,丢弃了一些波形,但是承载了信息的输出波形不会有宽窄的变化;满放时相反,时域信号填充拉长就可以了。
2. F变换得到的结果有负数/复数部分,有什么物理意义吗?
& &解释: F变换是个数学工具,不具有直接的物理意义,负数/复数的存在只是为了计算的完整性。
3. 信号与系统这们课的基本主旨是什么?
& &对于通信和电子类的学生来说,很多情况下我们的工作是设计或者OSI七层模型当中的物理层技术,这种技术的复杂性首先在于你必须确立传输介质的电气特 性,通常不同传输介质对于不同频率段的信号有不同的处理能力。以太网线处理基带信号,广域网光线传出高频调制信号,移动通信,2G和3G分别需要有不同的 载频特性。那么这些介质(空气,电线,光纤等)对于某种频率的输入是否能够在传输了一定的距离之后得到基本不变的输入呢? 那么我们就要建立介质的频率相应数学模型。同时,知道了介质的频率特性,如何设计在它上面传输的信号才能大到理论上的最大传输速率?----这就是信号与
系统这们课带领我们进入的一个世界。
& &当然,信号与系统的应用不止这些,和香农的信息理论挂钩,它还可以用于信息处理(声音,图像),模式识别,智能控制等领域。如果说,计算机专业的课程是 数据表达的逻辑模型,那么信号与系统建立的就是更底层的,代表了某种物理意义的数学模型。数据结构的知识能解决逻辑信息的编码和纠错,而信号的知识能帮我 们设计出码流的物理载体(如果接受到的信号波形是混乱的,那我依据什么来判断这个是1还是0? 逻辑上的纠错就失去了意义)。在工业控制领域,计算机的应用前提是各种数模转换,那么各种物理现象产生的连续模拟信号(温度,电阻,大小,压力,速度等)
如何被一个特定设备转换为有意义的数字信号,首先我们就要设计一个可用的数学转换模型。
4. 如何设计系统?
& &设计物理上的系统函数(连续的或离散的状态),有输入,有输出,而中间的处理过程和具体的物理实现相关,不是这们课关心的重点(电子电路设计?)。信号 与系统归根到底就是为了特定的需求来设计一个系统函数。设计出系统函数的前提是把输入和输出都用函数来表示(例如sin(t))。分析的方法就是把一个复 杂的信号分解为若干个简单的信号累加,具体的过程就是一大堆微积分的东西,具体的数学运算不是这门课的中心思想。
& &那么系统有那些种类呢?
(a) 按功能分类: 调制解调(信号抽样和重构),叠加,滤波,功放,相位调整,信号时钟同步,负反馈锁相环,以及若干子系统组成的一个更为复杂的系统----你可以画出系统 流程图,是不是很接近编写程序的逻辑流程图? 确实在符号的空间里它们没有区别。还有就是离散状态的数字信号处理(后续课程)。
(b) 按系统类别划分,无状态系统,有限状态机,线性系统等。而物理层的连续系统函数,是一种复杂的线性系统。
5. 最好的教材?
& & 符号系统的核心是集合论,不是微积分,没有集合论构造出来的系统,实现用到的微积分便毫无意义----你甚至不知道运算了半天到底是要作什么。以计算机的观点来学习信号与系统,最好的教材之一就是&&, 作者是UC Berkeley的Edward A.Lee and Pravin Varaiya----先定义再实现,符合人类的思维习惯。国内的教材通篇都是数学推导,就是不肯说这些推导是为了什么目的来做的,用来得到什么,建设什 么,防止什么;不去从认识论和需求上讨论,通篇都是看不出目的的方法论,本末倒置了。
第三课 抽样定理是干什么的
1. 举个例子,打电话的时候,电话机发出的信号是PAM脉冲调幅,在电话线路上传的不是话音,而是话音通过信道编码转换后的脉冲序列,在收端恢复语音波形。那 么对于连续的说话人语音信号,如何转化成为一些列脉冲才能保证基本不失真,可以传输呢? 很明显,我们想到的就是取样,每隔M毫秒对话音采样一次看看电信号振幅,把振幅转换为脉冲编码,传输出去,在收端按某种规则重新生成语言。
& & 那么,问题来了,每M毫秒采样一次,M多小是足够的? 在收端怎么才能恢复语言波形呢?
& & 对于第一个问题,我们考虑,语音信号是个时间频率信号(所以对应的F变换就表示时间频率)把语音信号分解为若干个不同频率的单音混合体(周期函数的复利叶 级数展开,非周期的区间函数,可以看成补齐以后的周期信号展开,效果一样),对于最高频率的信号分量,如果抽样方式能否保证恢复这个分量,那么其他的低频 率分量也就能通过抽样的方式使得信息得以保存。如果人的声音高频限制在3000Hz,那么高频分量我们看成sin(3000t),这个sin函数要通过抽 样保存信息,可以看为: 对于一个周期,波峰采样一次,波谷采样一次,也就是采样频率是最高频率分量的2倍(奈奎斯特抽样定理),我们就可以通过采样信号无损的表示原始的模拟连续
信号。这两个信号一一对应,互相等价。
& & 对于第二个问题,在收端,怎么从脉冲序列(梳装波形)恢复模拟的连续信号呢? 首先,我们已经肯定了在频率域上面的脉冲序列已经包含了全部信息,但是原始信息只在某一个频率以下存在,怎么做? 我们让输入脉冲信号I通过一个设备X,输出信号为原始的语音O,那么I(*)X=O,这里(*)表示卷积。时域的特性不好分析,那么在频率域 F(I)*F(X)=F(O)相乘关系,这下就很明显了,只要F(X)是一个理想的,低通滤波器就可以了(在F域画出来就是一个方框),它在时间域是一个 钟型函数(由于包含时间轴的负数部分,所以实际中不存在),做出这样的一个信号处理设备,我们就可以通过输入的脉冲序列得到几乎理想的原始的语音。在实际
应用中,我们的抽样频率通常是奈奎斯特频率再多一点,3k赫兹的语音信号,抽样标准是8k赫兹。
2. 再举一个例子,对于数字图像,抽样定理对应于图片的分辨率----抽样密度越大,图片的分辨率越高,也就越清晰。如果我们的抽样频率不够,信息就会发生混 叠----网上有一幅图片,近视&#30524;戴&#30524;镜看到的是爱因斯坦,摘掉&#30524;睛看到的是梦露----因为不带&#30524;睛,分辨率不够(抽样频率太低),高频分量失真被混入 了低频分量,才造成了一个视觉陷阱。在这里,图像的F变化,对应的是空间频率。
& & 话说回来了,直接在信道上传原始语音信号不好吗? 模拟信号没有抗干扰能力,没有纠错能力,抽样得到的信号,有了数字特性,传输性能更佳。
& & 什么信号不能理想抽样? 时域有跳变,频域无穷宽,例如方波信号。如果用有限带宽的抽样信号表示它,相当于复利叶级数取了部分和,而这个部分和在恢复原始信号的时候,在不可导的点上面会有毛刺,也叫吉布斯现象。
3. 为什么傅立叶想出了这么一个级数来? 这个源于西方哲学和科学的基本思想: 正交分析方法。例如研究一个立体形状,我们使用x,y,z三个互相正交的轴: 任何一个轴在其他轴上面的投影都是0。这样的话,一个物体的3视图就可以完全表达它的形状。同理,信号怎么分解和分析呢? 用互相正交的三角函数分量的无限和:这就是傅立叶的贡献。
入门第四课 傅立叶变换的复数 小波
& & 说的广义一点,&复数&是一个&概念&,不是一种客观存在。
& & 什么是&概念&? 一张纸有几个面? 两个,这里&面&是一个概念,一个主观对客观存在的认知,就像&大&和&小&的概念一样,只对人的意识有意义,对客观存在本身没有意义(康德: 纯粹理性的批判)。把纸条的两边转一下相连接,变成&莫比乌斯圈&,这个纸条就只剩下一个&面&了。概念是对客观世界的加工,反映到意识中的东西。
& & 数的概念是这样被推广的: 什么数x使得x^2=-1? 实数轴显然不行,(-1)*(-1)=1。那么如果存在一个抽象空间,它既包括真实世界的实数,也能包括想象出来的x^2=-1,那么我们称这个想象空间 为&复数域&。那么实数的运算法则就是复数域的一个特例。为什么1*(-1)=-1? &#43;-符号在复数域里面代表方向,-1就是&向后,转!&这样的命令,一个1在圆周运动180度以后变成了-1,这里,直线的数轴和圆周旋转,在复数的空间 里面被统一了。
& & 因此,(-1)*(-1)=1可以解释为&向后转&&#43;&向后转&=回到原地。那么复数域如何表示x^2=-1呢? 很简单,&向左转&,&向左转&两次相当于&向后转&。由于单轴的实数域(直线)不包含这样的元素,所以复数域必须由两个正交的数轴表示--平面。很明 显,我们可以得到复数域乘法的一个特性,就是结果的绝对&#20540;为两个复数绝对&#20540;相乘,旋转的角度=两个复数的旋转角度相加。高中时代我们就学习了迪莫弗定理。 为什么有这样的乘法性质? 不是因为复数域恰好具有这样的乘法性质(性质决定认识),而是发明复数域的人就是根据这样的需求去弄出了这么一个复数域(认识决定性质),是一种主观唯心
主义的研究方法。为了构造x^2=-1,我们必须考虑把乘法看为两个元素构成的集合: 乘积和角度旋转。
& & 因为三角函数可以看为圆周运动的一种投影,所以,在复数域,三角函数和乘法运算(指数)被统一了。我们从实数域的傅立叶级数展开入手,立刻可以得到形式更 简单的,复数域的,和实数域一一对应的傅立叶复数级数。因为复数域形式简单,所以研究起来方便----虽然自然界不存在复数,但是由于和实数域的级数一一 对应,我们做个反映射就能得到有物理意义的结果。
& & 那么傅立叶变换,那个令人难以理解的转换公式是什么含义呢? 我们可以看一下它和复数域傅立叶级数的关系。什么是微积分,就是先微分,再积分,傅立叶级数已经作了无限微分了,对应无数个离散的频率分量冲击信号的和。 傅立叶变换要解决非周期信号的分析问题,想象这个非周期信号也是一个周期信号: 只是周期为无穷大,各频率分量无穷小而已(否则积分的结果就是无穷)。那么我们看到傅立叶级数,每个分量常数的求解过程,积分的区间就是从T变成了正负无 穷大。而由于每个频率分量的常数无穷小,那么让每个分量都去除以f,就得到有&#20540;的数----所以周期函数的傅立叶变换对应一堆脉冲函数。同理,各个频率分
量之间无限的接近,因为f很小,级数中的f,2f,3f之间几乎是挨着的,最后挨到了一起,和卷积一样,这个复数频率空间的级数求和最终可以变成一个积分 式:傅立叶级数变成了傅立叶变换。注意有个概念的变化:离散的频率,每个频率都有一个&权&&#20540;,而连续的F域,每个频率的加权&#20540;都是无穷小(面积=0), 只有一个频率范围内的&频谱&才对应一定的能量积分。频率点变成了频谱的线。
& & 因此傅立叶变换求出来的是一个通常是一个连续函数,是复数频率域上面的可以画出图像的东西? 那个根号2Pai又是什么? 它只是为了保证正变换反变换回来以后,信号不变。我们可以让正变换除以2,让反变换除以Pi,怎么都行。慢点,怎么有&负数&的部分,还是那句话,是数轴 的方向对应复数轴的旋转,或者对应三角函数的相位分量,这样说就很好理解了。有什么好处? 我们忽略相位,只研究&振幅&因素,就能看到实数频率域内的频率特性了。
& & 我们从实数(三角函数分解)-&复数(e和Pi)-&复数变换(F)-&复数反变换(F-1)-&复数(取幅度分量)-& 实数,看起来很复杂,但是这个工具使得,单从实数域无法解决的频率分析问题,变得可以解决了。两者之间的关系是: 傅立叶级数中的频率幅度分量是a1-an,b1-bn,这些离散的数表示频率特性,每个数都是积分的结果。而傅立叶变换的结果是一个连续函数: 对于f域每个取&#20540;点a1-aN(N=无穷),它的&#20540;都是原始的时域函数和一个三角函数(表示成了复数)积分的结果----这个求解和级数的表示形式是一样
的。不过是把N个离散的积分式子统一为了一个通用的,连续的积分式子。
& & 复频域,大家都说画不出来,但是我来画一下!因为不是一个图能够表示清楚的。我用纯中文来说:
1. 画一个x,y轴组成的平面,以原点为中心画一个圆(r=1)。再画一条竖直线: (直线方程x=2),把它看成是一块挡板。
2. 想象,有一个原子,从(1,0)点出发,沿着这个圆作逆时针匀速圆周运动。想象太阳光从x轴的复数方向射向x轴的正数方向,那么这个原子运动在挡板(x=2)上面的投影,就是一个简协震动。
3. 再修改一下,x=2对应的不是一个挡板,而是一个打印机的出纸口,那么,原子运动的过程就在白纸上画下了一条连续的sin(t)曲线!
& & 上面3条说明了什么呢? 三角函数和圆周运动是一一对应的。如果我想要sin(t&#43;x),或者cos(t)这种形式,我只需要让原子的起始位置改变一下就可以了:也就是级坐标的向量,半径不变,相位改变。
& & 傅立叶级数的实数展开形式,每一个频率分量都表示为AnCos(nt)&#43;BnSin(nt),我们可以证明,这个式子可以变成 sqr(An^2&#43;Bn^2)sin(nt&#43;x)这样的单个三角函数形式,那么:实数&#20540;对(An,Bn),就对应了二维平面上面的一个点,相位x对应这个 点的相位。实数和复数之间的一一对应关系便建立起来了,因此实数频率唯一对应某个复数频率,我们就可以用复数来方便的研究实数的运算:把三角运算变成指数 和乘法加法运算。
-------------------------------------------------------------------------
& & 但是,F变换仍然是有限制的(输入函数的表示必须满足狄义赫立条件等),为了更广泛的使用&域&变换的思想来表示一种&广义&的频率信息,我们就发明出了 拉普拉斯变换,它的连续形式对应F变换,离散形式就成了Z变换。离散信号呢? 离散周期函数的F级数,项数有限,离散非周期函数(看为周期延拓以后仍然是离散周期函数),离散F级数,仍然项数有限。离散的F变换,很容易理解---- 连续信号通过一个周期采样滤波器,也就是频率域和一堆脉冲相乘。时域取样对应频域周期延拓。为什么? 反过来容易理解了,时域的周期延拓对应频率域的一堆脉冲。
& & 两者的区别:FT=从负无穷到正无穷对积分 LT=从零到正无穷对积分 (由于实际应用,通常只做单边Laplace变换,即积分从零开始) 具体地,在Fourier积分变换中,所乘因子为exp(-jwt),此处,-jwt显然是为一纯虚数;而在laplace变换中,所乘因子为 exp(-st),其中s为一复数:s=D&#43;jw,jw是为虚部,相当于Fourier变换中的jwt,而D则是实部,作为衰减因子,这样就能将许多无法 作Fourier变换的函数(比如exp(at),a&0)做域变换。
& & 而Z变换,简单地说,就是离散信号(也可以叫做序列)的Laplace变换,可由抽样信号的Laplace变换导出。ZT=从n为负无穷到正无穷对求和。 Z域的物理意义: 由于&#20540;被离散了,所以输入输出的过程和花费的物理时间已经没有了必然的关系(t只对连续信号有意义),所以频域的考察变得及其简单起来,我们把 (1,-1,1,-1,1,-1)这样的基本序列看成是数字频率最高的序列,他的数字频率是1Hz(数字角频率2Pi),其他的数字序列频率都是N分之 1Hz,频率分解的结果就是0-2Pi角频率当中的若干个&#20540;的集合,也是一堆离散的数。由于时频都是离散的,所以在做变换的时候,不需要写出冲击函数的因
& & 离散傅立叶变换到快速傅立叶变换----由于离散傅立叶变换的次数是O(N^2),于是我们考虑把离散序列分解成两两一组进行离散傅立叶变换,变换的计算复杂度就下降到了O(NlogN),再把计算的结果累加O(N),这就大大降低了计算复杂度。
& & 再说一个高级话题: 小波。在实际的工程应用中,前面所说的这些变换大部分都已经被小波变换代替了。
& & 什么是小波?先说什么是波:傅立叶级数里面的分量,sin/cos函数就是波,sin(t)/cos(t)经过幅度的放缩和频率的收紧,变成了一系列的波 的求和,一致收敛于原始函数。注意傅立叶级数求和的收敛性是对于整个数轴而言的,严&#26684;的。不过前面我们说了,实际应用FFT的时候,我们只需要关注部分信 号的傅立叶变换然后求出一个整体和就可以了,那么对于函数的部分分量,我们只需要保证这个用来充当砖块的&波函数&,在某个区间(用窗函数来滤波)内符合 那几个可积分和收敛的定义就可以了,因此傅立叶变换的&波&因子,就可以不使用三角函数,而是使用一系列从某些基本函数构造出来的函数族,只要这个基本函
数符合那些收敛和正交的条件就可以了。怎么构造这样的基本函数呢?sin(t)被加了方形窗以后,映射到频域是一堆无穷的散列脉冲,所以不能再用三角函数 了。我们要得到频率域收敛性好的函数族,能覆盖频率域的低端部分。说的远一点,如果是取数字信号的小波变换,那么基础小波要保证数字角频率是最大的 2Pi。利用小波进行离频谱分析的方法,不是像傅立叶级数那样求出所有的频率分量,也不是向傅立叶变换那样看频谱特性,而是做某种滤波,看看在某种数字角 频率的波峰&#20540;大概是多少。可以根据实际需要得到如干个数字序列。
& & 我们采用(0,f),(f,2f),(2f,4f)这样的倍频关系来考察函数族的频率特性,那么对应的时间波形就是倍数扩展(且包含调制---所以才有频 谱搬移)的一系列函数族。频域是窗函数的基本函数,时域就是钟形函数。当然其他类型的小波,虽然频率域不是窗函数,但是仍然可用:因为小波积分求出来的变 换,是一个&#20540;,例如(0,f)里包含的总能量&#20540;,(f,2f)里面包含的总能量&#20540;。所以即使频域的分割不是用长方形而是其他的图形,对于结果来说影响不 大。同时,这个频率域的&#20540;,它的分辨率密度和时域小波基函数的时间分辨率是冲突的(时域紧频域宽,时域宽频域紧),所以设计的时候受到海森堡测不准原理的
制约。Jpeg2000压缩就是小波:因为时频都是局部的,变换结果是数&#20540;点而不是向量,所以,计算复杂度从FFT的O(NlgN)下降到了O(N),性 能非常好。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:411333次
积分:4437
积分:4437
排名:第5271名
原创:61篇
转载:81篇
评论:71条
(2)(1)(4)(1)(3)(5)(10)(4)(5)(6)(4)(7)(10)(32)(48)

我要回帖

更多关于 平谷微信群 的文章

 

随机推荐