tag 标签: 傅立叶

相关博文
  • 热度 23
    2015-5-12 16:13
    6850 次阅读|
    0 个评论
    傅立叶分析是一种分析复杂周期性信号的方法。它将非正弦周期信号分解为一系列正弦波、余弦波和直流分量之和。 傅立叶分析以图表或图形方式给出信号电压分量的幅值频谱和相位频谱。傅立叶分析同时也计算了信号的总谐波失真(THD),THD定义为信号的各次谐波幅度平方和的平方根再除以信号的基波幅度。 构造电路 构造一个单管放大电路,电路中电源电压、各电阻和电容取值如图所示。该放大电路在输入信号源电压幅值达到 50mv 时,输出端电压信号已出现较严重的非线性失真,这也就意味着在输出信号中出现了输入信号中未有的谐波分量。 启动交流分析工具 执行菜单命令 Simulate/Analyses ,在列出的可操作分析类型中选择 Fourier Analysis ,则出现傅立叶分析对话框,如图所示。 傅立叶分析对话框中Analysis Parameters页的设置项目及默认值等内容见表所示。 检查分析结果 傅立叶分析结果如图所示。如果放大电路输出信号没有失真,在理想情况下,信号的直流分量应该为零,各次谐波分量幅值也应该为零,总谐波失真也应该为零。 从图可以看出,输出信号直流分量幅值约为 1.15V ,基波分量幅值约为 4.36 V , 2 次谐波分量幅值约为 1.58 V ,从图表中还可以查出 3 次、 4 次及 5 次谐波幅值。同时可以看到总谐波失真( THD )约为 35.96% ,这表明输出信号非线性失真相当严重。线条图形方式给出的信号幅频图谱直观地显示了各次谐波分量的幅值。
  • 热度 6
    2015-5-12 16:05
    1904 次阅读|
    1 个评论
    #includestdio.h #includemath.h classcomplex// 定义一个类 , 实现复数的所有操作 { doubleReal,Image;// 实部与虚部 public: complex(doubler="0",doublei="0"){Real=r;Image=i;} doubleGetR(){returnReal;}// 取出实部 doubleGetI(){returnImage;}// 取出虚部 complexoperator+(complex);// 复数加法 complexoperator-(complex);// 复数减法 complexoperator*(complex);// 复数乘法 voidoperator=(complex);// 复数赋值 }; complexcomplex::operator+(complexc)// 复数加法 { complext; t.Real=Real+c.Real; t.Image=Image+c.Image; returnt; } complexcomplex::operator-(complexc)// 复数减法 { complext; t.Real=Real-c.Real; t.Image=Image-c.Image; returnt; } complexcomplex::operator*(complexc)// 复数乘法 { complext; t.Real=Real*c.Real-Image*c.Image; t.Image=Real*c.Image+Image*c.Real; returnt; } voidcomplex::operator=(complexc)// 复数赋值 { Real=c.Real; Image=c.Image; } voidfft(complexa ; a =t; } } for(m=1;m=jishu;m++)// 第 m 级蝶形运算 , 总级数为 jishu { kind=(int)pow(2,m-1);// 第 m 级有 2^(m-1) 种蝶形运算 distance=2*kind;// 同种蝶形结相邻距离为 2^m u=complex(1,0);// 旋转因子初始值为 1 tmp=PI/kind; Wn=complex(cos(tmp),-sin(tmp));// 旋转因子 Wn for(j=0;jkind;j++)// 每种蝶形运算的起始点为 j, 共有 kind 种 { for(i=j;ilength;i+=distance)// 同种蝶形运算 { other=i+kind;// 蝶形运算的两个因子对应单元下标的距离为 2^(m-1) t=a *u;// 蝶形运算的乘积项 a =a-t;// 蝶形运算 a=a+t;// 蝶形运算 } u="u"*Wn;// 修改旋转因子 , 多乘一个基本 DFT 因子 WN } } } voidmain(void) { doublea,b; complexx ;// 此程序以 8 点序列测试 printf("8 点序列 :\n"); for(inti="0";i8;i++)// 初始化并输出原始序列 { x=complex(i,i+1); printf("x(%d)=%lf+%lfi\n",i+1,x.GetR(),x.GetI()); } fft(x,8,3);// 调用 fft 函数 printf("fft 变换的结果为 :\n"); for(i=0;i8;i++)// 输出结果 printf("X(%d)=%lf+%lfi\n",i+1,x.GetR(),x.GetI()); }
  • 热度 3
    2015-5-12 15:39
    1541 次阅读|
    0 个评论
    傅立叶变换 (动画演示) 1、为什么要进行傅里叶变换,其物理意义是什么? 傅立叶变换是数字信号处理领域一种很重要的算法。要知道傅立叶变换算法的意义,首先要了解傅立叶原理的意义。傅立叶原理表明:任何连续测量的时序或信号,都可以表示为不同频率的正弦波信号的无限叠加。而根据该原理创立的傅立叶变换算法利用直接测量到的原始信号,以累加方式来计算该信号中不同正弦波信号的频 率、振幅和相位。 和傅立叶变换算法对应的是反傅立叶变换算法。该反变换从本质上说也是一种累加处理,这样就可以将单独改变的正弦波信号转换成一个信号。 因此,可以说,傅立叶变换将原来难以处理的时域信号转换成了易于分析的频域信号(信号的频谱),可以利用一些工具对这些频域信号进行处理、加工。最后还可以利用傅立叶反变换将这些频域信号转换成时域信号。 从现代数学的眼光来看,傅里叶变换是一种特殊的积分变换。它能将满足一定条件的某个函数表示成正弦基函数的线性组合或者积分。在不同的研究领域,傅里叶变换具有多种不同的变体形式,如连续傅里叶变换和离散傅里叶变换。 在数学领域,尽管最初傅立叶分析是作为热过程的解析分析的工具,但是其思想方法仍然具有典型的还原论和分析主义的特征。"任意"的函数通过一定的分解,都能够表示为正弦函数的线性组合的形式,而正弦函数在物理上是被充分研究而相对简单的函数类:1. 傅立叶变换是线性算子,若赋予适当的范数,它还是酉算子;2. 傅立叶变换的逆变换容易求出,而且形式与正变换非常类似;3. 正弦基函数是微分运算的本征函数,从而使得线性微分方程的求解可以转化为常系数的代数方程的求解.在线性时不变杂的卷积运算为简单的乘积运算,从而提供了计算卷积的一种简单手段;5. 离散形式的傅立叶的物理系统内,频率是个不变的性质,从而系统对于复杂激励的响应可以通过组合其对不同频率正弦信号的响应来获取;4.著名的卷积定理指出:傅立叶变换可以化复变换可以利用数字计算机快速的算出(其算法称为快速傅立叶变换算法(FFT))。 正是由于上述的良好性质,傅里叶变换在物理学、数论、组合数学、信号处理、概率、统计、密码学、声学、光学等领域都有着广泛的应用。 2、 图像傅立叶变换的物理意义 图像的频率是表征图像中灰度变化剧烈程度的指标,是灰度在平面空间上的梯度。如:大面积的沙漠在图像中是一片灰度变化缓慢的区域,对应的频率值很低;而对于地表属性变换剧烈的边缘区域在图像中是一片灰度变化剧烈的区域,对应的频率值较高。傅立叶变换在实际中有非常明显的物理意义,设f是一个能量有限的模拟信号,则其傅立叶变换就表示f的谱。从纯粹的数学意义上看,傅立叶变换是将一个函数转换为一系列周期函数来处理的。从物理效果看,傅立叶变换是将图像从空间域转换到频率域,其逆变换是将图像从频率域转换到空间域。换句话说,傅立叶变换的物理意义是将图像的灰度分布函数变换为图像的频率分布函数,傅立叶逆变换是将图像的频率分布函数变换为 灰度分布函数 傅立叶变换以前,图像(未压缩的位图)是由对在连续空间(现实空间)上的采样得到一系列点的集合,我们习惯用一个二维矩阵表示空间上各点,则图像可由 z=f( x,y ) 来 表示。由于空间是三维的,图像是二维的,因此空间中物体在另一个维度上的关系就由梯度来表示,这样我们可以通过观察图像得知物体在三维空间中的对应关系。 为什么要提梯度? 因为实际上对图像进行二维傅立叶变换得到频谱图,就是图像梯度的分布图,当然频谱图上的各点与图像上各点并不存在一一对应的关系,即使在 不移频的情况下也是没有。傅立叶频谱图上我们看到的明暗不一的亮点,实际上图像上某一点与邻域点差异的强弱,即梯度的大小,也即该点的频率的大小(可以这么理解,图像中的低频部分指低梯度的点,高频部分相反)。一般来讲,梯度大则该点的亮度强,否则该点亮度弱。这样通过观察傅立叶变换后的频谱图,也叫功率图,我们首先就可以看出,图像的能量分布,如果频谱图中暗的点数更多,那么实际图像是比较柔和的(因为各点与邻域差异都不大,梯度相对较小),反之,如果频谱图中亮的点数多,那么实际图像一定是尖锐的,边界分明且边界两边像素差异较大的。对频谱移频到原点以后,可以看出图像的频率分布是以原点为圆心,对称分布的。将频谱移频到圆心除了可以清晰地看出图像频率分布以外,还有一个好处,它可以分离出有周期性规律的干扰信号,比如正弦干扰,一副带有正弦干扰,移频到原点的频谱图上可以看出除了中心以外还存在以某一点为中心,对称分布的亮点集合,这个集合就是干扰噪音产生的,这时可以很直观的通过在该位置放置带阻 滤波器消除干扰 另外我还想说明以下几点: 1、图像经过二维傅立叶变换后,其变换系数矩阵表明: 若变换矩阵 Fn 原点设在中心,其频谱能量集中分布在变换系数短阵的中心附近 ( 图中阴影区 ) 。若所用的二维傅立叶变换矩阵 Fn 的原点设在左上角,那么图像信号能量将集中在系数矩阵的四个角上。这是由二维傅立叶变换本身性质决定的。同时也表明一股图像能量集中低频区域。 2  、变换之后的图像在原点平移之前四角是低频,最亮,平移之后中间部分是低频,最亮,亮度大说明低频的能量大(幅角比较大)