当前位置:文档之家› 吴镇杨matlab实验三快速傅里叶变换及其应用

吴镇杨matlab实验三快速傅里叶变换及其应用

吴镇杨matlab实验三快速傅里叶变换及其应用
吴镇杨matlab实验三快速傅里叶变换及其应用

实验三快速傅里叶变换及其应用

一:实验目的

(1)加深对FFT的理解,熟悉matlab中的有关函数。

(2)应用FFT对典型信号进行频谱分析。

(3)了解应用FFT进行信号频谱分析过程中可能出现的问题,以便在实际中正确应用FFT.

(4)应用FFT实现序列的线性卷积和相关。

二:实验原理:

在各种信号序列中,有限长序列信号处理占有很重要地位,对有限长序列,我们可以使用离散Fouier变换(DFT)。这一变换不但可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现,当序列x(n)的长度为N时,

它的DFT定义为:反变换为:

有限长序列的DFT是其Z变换在单位圆上的等距采样,或者说是序列Fourier变换的等距采样,因此可以用于序列的谱分析。

FFT并不是与DFT不同的另一种变换,而是为了减少DFT运算次数的一种快速算法。它是对变换式进行一次次分解,使其成为若干小点数的组合,从而减少运算量。常用的FFT是以2为基数的,其长度。它的效率高,程序简

单,使用非常方便,当要变换的序列长度不等于2的整数次方时,为了使用以2为基数的FFT,可以用末位补零的方法,使其长度延长至2的整数次方。

(一)在运用DFT进行频谱分析的过程中可能的产生三种误差

(1) 混叠

序列的频谱是被采样信号的周期延拓,当采样速率不满足Nyquist定理时,就会发生频谱混叠,使得采样后的信号序列频谱不能真实的反映原信号的频谱。

避免混叠现象的唯一方法是保证采样速率足够高,使频谱混叠现象不致出现,即在确定采样频率之前,必须对频谱的性质有所了解,在一般情况下,为了保证高于折叠频率的分量不会出现,在采样前,先用低通模拟滤波器对信号进行滤波。

(2) 泄漏

实际中我们往往用截短的序列来近似很长的甚至是无限长的序列,这样可以使用较短的DFT来对信号进行频谱分析,这种截短等价于给原信号序列乘以一个矩形窗函数,也相当于在频域将信号的频谱和矩形窗函数的频谱卷积,所得的频谱是原序列频谱的扩展。

泄漏不能与混叠完全分开,因为泄漏导致频谱的扩展,从而造成混叠。为了减少泄漏的影响,可以选择适当的窗函数使频谱的扩散减至最小。

(3) 栅栏效应

DFT是对单位圆上Z变换的均匀采样,所以它不可能将频谱视为一个连续函数,就一定意义上看,用DFT来观察频谱就好像通过一个栅栏来观看一个图景一样,只能在离散点上看到真实的频谱,这样就有可能发生一些频谱的峰点或谷点被“尖桩的栅栏”所拦住,不能别我们观察到。

减小栅栏效应的一个方法就是借助于在原序列的末端填补一些零值,从而变动DFT的点数,这一方法实际上是人为地改变了对真实频谱采样的点数和位置,相当于搬动了每一根“尖桩栅栏”的位置,从而使得频谱的峰点或谷点暴露出来。

(二)用FFT计算线性卷积

用FFT可以实现两个序列的圆周卷积。在一定的条件下,可以使圆周卷积等于线性卷积。一般情况,设两个序列的长度分别为N1和N2,要使圆周卷积等于线性卷积的充要条件是FFT的长度N≥N1+N2

对于长度不足N 的两个序列,分别将他们补零延长到N 。

当两个序列中有一个序列比较长的时候,我们可以采用分段卷积的方法。有两种方法:

(1)重叠相加法。将长序列分成与短序列相仿的片段,分别用FFT 对它们作线性卷积,再将分段卷积各段重叠的部分相加构成总的卷积输出。

(2) 重叠保留法。这种方法在长序列分段时,段与段之间保留有互相重叠的部分,在构成总的卷积输出时只需将各段线性卷积部分直接连接起来,省掉了输出段的直接相加。

(三)用FFT 计算相关函数

两个长为N 的实离散时间序列)(n x 与)(n y 的互相关函数定义为 :

)

()()()()()()(10

1

m y m x n y m n x m n y n x m r N n N m xy *-=-=+=∑∑-=-=

)

(n r xy 的离散傅里叶变换为:

1

0),

()()(-≤≤=*N k k Y k X k R xy

当)()(n y n x =时,得到)(n x 的自相关函数为:km N

j N n N k xx e k X N m n x n x m r π

22

1

01

0)(1)()()(∑∑-=-==+=

利用FFT 求两个有限长序列线性相关的步骤(设)(n x 长1N ,)(n y 长2N ):

(1)为了使两个有限长序列的线性相关可用其圆周相关代替而不产生混淆,选择周期L

N 2=≥121-+N N ,以便使

用FFT ,将)(n x ,)(n y 补零至长为N 。 (2)用FFT 计算10),(),(-≤≤N k k Y k X

(3)

1

0),

()()(-≤≤=*N k k Y k X k R xy

(4)对

)

(k R xy 作IFFT ;取后1-N 项,得11)(-≤≤+-m N m r xy ;取前N 项,得1

0)(-≤≤N m m r xy 。

三、实验容及步骤

实验中用到的信号序列:

a)高斯(Gaussian )序列 b)衰减正弦序列

???

??≤≤=--其它

150)(2

)

(n e

n x q p n a

??

?≤≤=-其它015

0)

2sin()(n fn e n x an b π

c)三角波序列 d)反三角波序列

??

?

??≤≤-≤≤=其它

074830)(n n

n n n x c

??

?

??≤≤-≤≤-=其它

0744

304)(n n n n n x d

上机实验容:

(1)观察高斯序列的时域和幅频特性,固定信号xa(n)中参数p=8,改变q 的值,使q 分别等于2,4,8,观察它们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域幅频特性的影响;固定q=8,改变p ,使p 分别等于8,13,14,观察参数p 变化对信号序列的时域及幅频特性的影响,观察p 等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。 参数p=8不变 主要代码如下: i=1:15; p=8;q=2;

subplot(3,2,1);

x(i)=exp((-(i-p).^2)/q); stem(x);xlabel('n'); subplot(3,2,2); G=fft(x);

plot(abs(G(1:15)));xlabel('k'); 运行结果如下:

对比三图可知:

P 不变,随着q 值的增大,时域信号幅值变化缓慢时域幅度对应变大,波形变胖,低频分量变多,频域信号频谱泄露程度减小。

参数q=8不变

代码和之前相比只要改变相应几个参数而已,故不列出;

运行结果如下:

可见,当q不变,随着p的增大,时域信号幅值不变,会在时间轴移位,对应右移,可见p决定了波形位置,

当实验中q=8,p=13时,明显出现泄漏。

(2)观察衰减正弦序列xb(n)的时域和幅频特性,a=0.1,f=0.0625,检查谱峰出现位置是否正确,注意频谱的形状,绘出幅频特性曲线,改变f,使f分别等于0.4375和0.5625,观察这两种情况下,频谱的形状和谱峰出现位置,有无混叠和泄漏现象?说明产生现象的原因。

其中一段代码如下(其他的都是改变参数而已):

a=0.1;f=0.0625;

for i=1:16

x(i)=exp(-a*(i-1))*sin(2*pi*f*(i-1));

按频率抽取基2-快速傅里叶逆变换算法_MATLAB代码

function x=MyIFFT_FB(y) %MyIFFT_TB:My Inverse Fast Fourier Transform Time Based %按频率抽取基2-傅里叶逆变换算法 %input: % y -- 傅里叶正变换结果,1*N的向量 %output: % x -- 逆变换结果,1*N的向量 %参考文献: % https://www.doczj.com/doc/346292549.html,/view/fea1e985b9d528ea81c779ee.html N=length(y); x=conj(y); %求共轭 x=MyFFT_FB(x);%求FFT x=conj(x);%求共轭 x=x./N;%除以N end %% 内嵌函数====================================================== function y=MyFFT_FB(x,n) %MYFFT_TB:My Fast Fourier Transform Frequency Based %按频率抽取基2-fft算法 %input: % x -- 输入的一维样本 % n -- 变换长度,缺省时n=length(x) 当n小于x数据长度时,x数据被截断到第n个数据% 当n大于时,x数据在尾部补0直到x 含n个数据 %output: % y -- 1*n的向量,快速傅里叶变换结果 %variable define: % N -- 一维数据x的长度 % xtem -- 临时储存x数据用 % m,M -- 对N进行分解N=2^m*M,M为不能被2整除的整数 % two_m -- 2^m % adr -- 变址,1*N的向量 % l -- 当前蝶形运算的级数 % W -- 长为N/2的向量,记录W(0,N),W(1,N),...W(N/2-1,N) % d -- 蝶形运算两点间距离 % t -- 第l级蝶形运算含有的奇偶数组的个数 % mul -- 标量,乘数 % ind1,ind2 -- 标量,下标 % tem -- 标量,用于临时储存 %参考文献: % https://www.doczj.com/doc/346292549.html,/view/fea1e985b9d528ea81c779ee.html %% 输入参数个数检查

快速傅里叶变更fft的Matlab实现 实验报告

一、实验目的 1在理论学习的基础上,通过本实验加深对快速傅立叶变换的理解; 2熟悉并掌握按时间抽取FFT算法的程序; 3了解应用FFT进行信号频谱分析过程中可能出现的问题,例如混淆、泄漏、栅栏效应等,以便在实际中正确应用FFT。 二、实验内容 1仔细分析教材第六章‘时间抽取法FFT ’的算法结构,编制出相应的用FFT 进行信号分析的C语言(或MATLAB 语言)程序; 用MATLAB语言编写的FFT源程序如下: %% 输入数据f、N、T及是否补零 clc; clear; f=input('输入信号频率f:'); N=input('输入采样点数N:'); T=input('输入采样间隔T:'); C=input('信号是否补零(补零输入1,不补零输入0):'); %补零则输入1,不补则输入0 if(C==0) t=0:T:(N-1)*T; x=sin(2*pi*f*t); b=0; e lse b=input('输入补零的个数:'); while(log2(N+b)~=fix(log2(N+b))) b=input('输入错误,请重新输入补零的个数:'); end t=0:T:(N+b-1)*T; x=sin(2*pi*f*t).*(t<=(N-1)*T); end %% fft算法的实现 A=bitrevorder(x); % 将序列按二进制倒序 N=N+b; M=log2(N); % M为蝶形算法的层数 W=exp(-j*2*pi/N); for L=1:1:M %第L层蝶形算法 B=2^L/2; % B为每层蝶形算法进行加减运算的两个数的间隔 K=N/(2^L); % K为每层蝶形算法中独立模块的个数 for k=0:1:K-1 for J=0:1:B-1

阿贝成像原理实验报告

佛山科学技术学院 实验报告 课程名称近代物理实验实验项目阿贝成像原理和空间滤波 专业班级 10物师姓名邓新炬学号 02 仪器组号 指导教师朱星成绩日期 2013年月日

2、关于阿贝成像原理 成像的这两个步骤本质上就是两次傅里叶变换。第一步把物面光场的空间分布()y x g ,变为频谱面上空间频率分布() y x f f G ,,第二步则是再作一次变换,又将() y x f f G ,还原到空间分布()y x g ,。 3、空间滤波 空间函数变为频谱函数,再变回到空间函数(忽略放大率)。显然如果我们在频谱面(即透镜的后焦面)上放一些不同结构的光阑,以提取(或摒弃)某些频段的物信息,则必然使像面上的图像发生相应的变化,这样的图像处理称为空间滤波,频谱面上这种光阑称为滤波器。滤波器使频谱面上一个或一部分频率分量通过,而挡住其它频率分量,从而改变了像面上图像的频率成分。例如光轴上的圆孔光栏可以作为一个低通滤波器,而圆屏就可以用作为高通滤波器。 四 实验步骤 1、实验光路调节 在光具座上将小圆孔光阑靠近激光管的输出端,上下左右调节激光管,使激光束能穿过小孔;然后移远小孔,如光束偏离光阑,调节激光管的仰俯,再使激光能穿过小孔,重新将光阑移近,反复调节,直至小孔光阑在光具座上平移时,激光束能通过小孔光阑。 2、阿贝成像原理实验 如实验光路图在物平面上放上一维光栅,用激光器发出的细锐光束垂直照到光栅上,用一短焦距薄透镜(6~10cm )组装一个放大的成像系统,调节透镜位置,使光栅狭缝清晰地成像在像平面屏上,那么在频谱面上的衍射点如图所示。在频谱面上放上可调狭缝或滤波模板,使通过的衍射点如下图所示:(a )全部;(b )零级;(c )零和±1级;分别记录图片信息。 3、阿贝一波特实验(方向滤波) (1)光路不变,将一维光栅的物换成二维正交光栅,在频谱面上可以观察到二维分立的光点阵(频谱),像面上可以看到放大了的正交光栅像,测出像面上的网格间距。 (2)在频谱面放上可旋转狭缝光阑(方向滤波器),在下述情况:(a )只让光轴上水平的一行频谱分量通过;(b )只让光轴上垂直的一行频谱分量通过;(c )只让光轴上45°的一行频谱分量通过。记录像面上的图像变化、像面上条纹间距,并做出适当的解释。 五 实验数据和数据处理 1. 1解释阿贝成像实验

Matlab傅里叶变换傅里叶逆变换-FFT-IFFT

Matlab傅里叶变换傅里叶逆变换 %% 信号经过傅里叶变换然后进行傅里叶逆变换后信号的变化 clear all;clc; %------Author&Date------ %Author: %Date: 2013/07/31 %========================================================================== Fs=8e3; %采样率 t=0:1/Fs:1; %采样点 len=length(t); %采样长度 f1=10; %频率1 f2=100; %频率2 f3=1000; %频率3 A1=1; %幅度1 A2=0.8; %幅度2 A3=0.3; %幅度3 MaxS=A1+A2+A3; %信号幅度的最大值 signal=A1*sin(2*pi*f1*t)+A2*sin(2*pi*f2*t)+A3*sin(2*pi*f3*t); X=fft(signal,len); %傅里叶变换 magX=abs(X); %信号的幅度 angX=angle(X); %信号的相位 Y=magX.*exp(1i*angX); %信号的频域表示 y=ifft(Y,len); %信号进行傅里叶逆变换 y=real(y); er=signal-y; %原始信号和还原信号的误差 subplot(311);plot(t,signal);axis([0 1 -MaxS MaxS]);xlabel('时间');ylabel('振幅');title('原始信号'); subplot(312);plot(t,y);axis([0 1 -MaxS MaxS]);xlabel('时间');ylabel('振幅');title('还原信号'); subplot(313);plot(t,er);xlabel('时间');ylabel('振幅');title('误差'); % End Script

傅里叶光学实验

傅里叶光学的空间频谱与空间滤波实验11系09级姓名张世杰日期2011年3月30日学号PB09210044 实验目的: 1.了解傅里叶光学中基本概念,如空间频率,空间频谱,空间滤波和卷积 2.理解透镜成像的物理过程 3.通过阿贝尔成像原理,了解透镜孔径对分辨率的影响 实验原理: 一、基本概念 频谱面:透镜的后焦面 空间函数:实质即光波照明图形时从图形反射或透射出来的光波可用空间两维复变函数 空间频谱:一个复变函数f(x,y)的傅立叶变换为 ??+ ) exp[ , F)] ( ( (π , u ) { , ( )} v =dxdy vy ? = f ux - y x 2i f x y F(u,v)叫作f(x,y)的变换函数或频谱函数 空间滤波:在频谱面上放一些光栅以提取某些频段的物信息的过程 滤波器:频谱面上的光阑 二、阿贝尔成像原理 本质就是经过两次傅里叶变换,先是使单色平行光照在光栅上,经衍射分解成不同方向的很多束平行光,经过透镜分别在后焦面上形成点阵,然后代表不同空间频率的光束又在向面上复合而成像。 需要提及的是,由于透镜的大小有限,总有一部分衍射角度大的高频成分不 能进入到透镜而被丢弃了,因此像平面上总是可能会丢失一些高频的信息,即在 透镜的后焦平面上得到的不是物函数的严格的傅立叶变换(频谱),不过只有一 个位相因子的差别,对于一般情况的滤波处理可以不考虑。这个光路的优点是光 路简单,而且可以得到很大的像以便于观察。

三、空间滤波器 在频谱面上放置特殊的光阑,以滤去特定的光信号(1)单透镜系统 (2)双透镜系统 (3)三透镜系统

四、空间滤波器的种类 a .低通滤波:在频谱面上放如图2.4-3(1)所示的光阑,只允许位于频谱面中心及附近的低频分量通过,可以滤掉高频噪音。 b .高通滤波:在频谱面上放如图2.4-3(2)所示的光阑,它阻挡低频分量而让高频分量通过,可以实现图像的衬度反转或边缘增强。 c . 带通滤波:在频谱面上放如图2.4-3(3)所示的光阑,它只允许特定区域的频谱通过,可以去除随机噪音。 d .方向滤波:在频谱面上放如图2.4-3(4)或(5)所示的光阑,它阻挡或允许特定方向上的频谱分量通过,可以突出图像的方向特征。 以上滤波光阑因透光部分是完全透光,不透光部分是将光全 部挡掉,所以称作“二元振幅滤波器”。还有各种其它形式的滤波器,如:“振幅 滤波器”、“相位滤波器”和“复数滤波器”等。 e .相幅滤波器:是将位相转变为振幅的滤波器,它的重要应用就是把”位相物体”显现出来,所谓位相物体是指那些只有空间的位相结构而透明度却一样的透明物体。如生物切片、油膜、热塑等,它们只改变入射光的位相而不影响其振幅。所以人眼不能直接看到透明体中的位相分布也就是它们的形状和结构,利用相幅转换技术就能使人眼看到透明体的形状和结构,从而扩展了人眼的视觉功能。 图 3 图2.4-3 各种形式的空间滤波器

傅里叶变换matlab代码

%傅里叶变换 clc;clear all;close all; tic Fs=128;%采样频率,频谱图的最大频率 T=1/Fs;%采样时间,原始信号的时间间隔 L=256;%原始信号的长度,即原始离散信号的点数 t=(0:L-1)*T;%原始信号的时间取值范围 x=7*cos(2*pi*15*t-pi)+3*cos(2*pi*40*t-90*pi/180)+3*cos(2*pi*30*t-90*pi/ 180); z=7*cos(2*pi*15*t-pi)+3*cos(2*pi*40*t-90*pi/180); z1=6*cos(2*pi*30*t-90*pi/180); z1(1:L/2)=0; z=z+z1; y=x;%+randn(size(t)); figure; plot(t,y) title('含噪信号') xlabel('时间(s)') hold on plot(t,z,'r--') N=2^nextpow2(L);%N为使2^N>=L的最小幂 Y=fft(y,N)/N*2; Z=fft(z,N)/N*2;%快速傅里叶变换之后每个点的幅值是直流信号以外的原始信号幅值的N/2倍(是直流信号的N倍) f=Fs/N*(0:N-1);%频谱图的频率取值范围 A=abs(Y);%幅值 A1=abs(Z); B=A; %让很小的数置零. B1=A1; A(A<10^-10)=0; % A1(A1<10^-10)=0; P=angle(Y).*A./B; P1=angle(Z).*A1./B1; P=unwrap(P,pi);%初相位值,以除去了振幅为零时的相位值 P1=unwrap(P1,pi); figure subplot(211) plot(f(1:N/2),A(1:N/2))%函数ffs返回值的数据结构具有对称性,因此只取前一半 hold on plot(f(1:N/2),A1(1:N/2),'r--') title('幅值频谱')

matlab-离散信号傅里叶变换

1.请用MATLAB编写程序,实现任意两个有限长度序列的卷积和。要求用图 形显示两个序列及卷积结果。 解:y(n)=∑x(i)h(n-i) 假设x(n)={1,2,3,4,5}; h(n)={3,6,7,2,1,6}; y(n)=x(n)*h(n) 验证:y[n]=[1,12,28,46,65,72,58,32,29,30] 【程序】 N=5 M=6 L=N+M-1 x=[1,2,3,4,5] h=[3,6,7,2,1,6] y=conv(x,h) nx=0:N-1 nh=0:M-1 ny=0:L-1 subplot(131);stem(nx,x,'*b');xlabel('n');ylabel('x(n)');grid on subplot(132);stem(nh,h,'*b');xlabel('n');ylabel('h(h)');grid on subplot(133);stem(ny,y,'*r');xlabel('n');ylabel('y(h)');grid on 【运行结果】

2.已知两个序列x[n]=cos(n*pi/2), y[n]=e j*pi*n/4x[n],请编写程序绘制 X(e jw)和Y(e jw)和幅度和相角,说明它们的频移关系。 –提示:用abs函数求幅度,用angle求相角。 【程序】 n=0:15; x=cos(n*pi/2); y=exp(j*pi*n/4).*x; X=fft(x); Y=fft(y); magX=abs(X); angX=angle(X); magY=abs(Y); angY=angle(Y); subplot(221);stem(n,magX,'*r');xlabel('频率');ylabel('幅度');grid on; subplot(222);stem(n,angX,'*b');xlabel('频率');ylabel('相位');grid on; subplot(223);stem(n,magY,'*r');xlabel('频率');ylabel('幅度');grid on; subplot(224);stem(n,angY,'*b');xlabel('频率');ylabel('相位');grid on;

MATLAB实验傅里叶分析

MATLAB实验傅里叶分析

实验七 傅里叶变换 一、实验目的 傅里叶变换是通信系统、图像处理、数字信号处理以及物理学等领域内的一种重要的数学分析工具。通过傅里叶变换技术可以将时域上的波形分 布变换为频域上的分布,从而获得信号的频谱特性。MATLAB 提供了专门的函数fft 、ifft 、fft2(即2维快速傅里叶变换)、ifft2以及fftshift 用于实现对信号的傅里叶变换。本次实验的目的就是练习使用fft 、ifft 以及fftshift 函数,对一些简单的信号处理问题能够获取其频谱特性(包括幅频和相频特性)。 二、实验预备知识 1. 离散傅里叶变换(DFT)以及快速傅里叶变换(FFT)简介 设x (t )是给定的时域上的一个波形,则其傅里叶变换为 2()() (1)j ft X f x t e dt π∞--∞=? 显然X ( f )代表频域上的一种分布(波形),一般来说X ( f )是复数。而傅里叶逆变换定义为: 2()() (2)j ft x t X f e df π∞-∞ =?

因此傅里叶变换将时域上的波形变换为频域上的波形,反之,傅里叶逆变换则将频域上的波形变换为时域上的波形。 由于傅里叶变换的广泛应用,人们自然希望能够使用计算机实现傅里叶变换,这就需要对傅里叶变换(即(1)式)做离散化处理,使 之符合电脑计算的特征。另外,当 把傅里叶变换应用于实验数据的分 析和处理时,由于处理的对象具有 离散性,因此也需要对傅里叶变换 进行离散化处理。而要想将傅里叶 变换离散化,首先要对时域上的波 形x (t )进行离散化处理。采用一个 时域上的采样脉冲序列: δ (t -nT ), n = 0, 1, 2, …, N -1; 可以实现上述目的,如图所示。其中N 为采样点数,T 为采样周期;f s = 1/T 是采样频率。注意采样时,采样频率f s 必须大于两倍的信号频率(实际是截止频率),才能避免混迭效应。 接下来对离散后的时域波形()()()(x t x t t n T x n T δ= -=的傅里叶变换()X f 进行离散处理。与上述做法类 似,采用频域上的δ脉冲序列: x (t δ x (t )δ t t t

傅里叶光学实验报告

实验原理:(略) 实验仪器: 光具座、氦氖激光器、白色像屏、作为物的一维、二维光栅、白色像屏、傅立叶透镜、小透镜 实验内容与数据分析 1.测小透镜的焦距f 1 (付里叶透镜f 2=45.0CM ) 光路:激光器→望远镜(倒置)(出射应是平行光)→小透镜→屏 操作及测量方法:打开氦氖激光器,在光具座上依次放上扩束镜,小透镜和光屏,调节各光学元件的相对位置是激光沿其主轴方向射入,将小透镜固定,调节光屏的前后位置,观察光斑的会聚情况,当屏上亮斑达到最小时,即屏处于小透镜的焦点位置,测量出此时屏与小透镜的距离,即为小透镜的焦距。 112.1913.2011.67 12.3533 f cm ++= = 0.7780cm σ= = 1.320.5929 p A p t t cm μ=== 0.68P = 0.0210.00673 B p B p t k cm C μ?==?= 0.68P = 0.59cm μ== 0.68P = 1(12.350.59)f cm =± 0.68P =

2.利用弗朗和费衍射测光栅的的光栅常数 光路:激光器→光栅→屏(此光路满足远场近似) 在屏上会观察到间距相等的k 级衍射图样,用锥子扎孔或用笔描点,测出衍射图样的间距,再根据sin d k θλ=测出光栅常数d (1)利用夫琅和费衍射测一维光栅常数; 衍射图样见原始数据; 数据列表: sin || i k Lk d x λλ θ= ≈ 取第一组数据进行分析: 2105 13 43.0910******* 4.00106.810d m ----????==?? 210 523 43.0910******* 3.871014.110d m ----????==?? 2105 33 43.0910******* 3.95106.910d m ----????==?? 210 543 43.0910******* 4.191013.010 d m ----????==?? 554.00 3.87 3.95 4.19 10 4.0025104 d m m --+++= ?=? 61.3610d m σ-=? 忽略b 类不确定度:

MATLAB数字图像处理几何变换傅里叶变换

Matlab数字图像处理实验指导 实验目的: 通过实验,深入理解和掌握图像处理的基本技术,提高动手实践能力。 实验环境: Matlab变成 实验一图像的几何变换 实验内容:设计一个程序,能够实现图像的各种几何变换。 实验要求:读入图像,打开图像,实现图像的平移变换、比例缩放、转置变换、镜像变换、旋转变换等操作。 实验原理: 图像几何变换又称为图像空间变换,它将一幅图像中的坐标位置映射到另一幅图像中的新坐标位置。学习几何变换的关键就是要确定这种空间映射关系,以及映射过程中的变化参数。 几何变换不改变图像的像素值,只是在图像平面上进行像素的重新安排。一个几何变换需要两部分运算:首先是空间变换所需的运算,如平移、镜像和旋转等,需要用它来表示输出图像与输入图像之间的(像素)映射关系;此外,还需要使用灰度插值算法,因为按照这种变换关系进行计算,输出图像的像素可能被映射到输入图像的非整数坐标上。 设原图像f(x0,y0)经过几何变换产生的目标图像为g(x1,y1),则该空间变换(映射)关系可表示为: x1=s(x0,y0) y1=t(x0,y0) 其中,s(x0,y0)和t(x0,y0)为由f(x0,y0)到g(x1,y1)的坐标换变换函数。 一、图像平移 图像平移就是将图像中所有的点按照指定的平移量水平或者垂直移动。

二、图像镜像 镜像变换又分为水平镜像和垂直镜像。水平镜像即将图像左半部分和右半部分以图像竖直中轴线为中心轴进行对换;而竖直镜像则是将图像上半部分和下半部分以图像水平中轴线为中心轴进行对换。 三、图像转置 图像转置是将图像像素的x坐标和y坐标呼唤。图像的大小会随之改变——高度和宽度将呼唤。

信号与系统matlab实验傅里叶分析及应用报告答案

实验二傅里叶分析及应用 姓名学号班级 一、实验目的 (一)掌握使用Matlab进行周期信号傅里叶级数展开和频谱分析 1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数的物理含义 2、学会使用Matlab分析周期信号的频谱特性 (二)掌握使用Matlab求解信号的傅里叶变换并分析傅里叶变换的性质 1、学会运用Matlab求连续时间信号的傅里叶变换 2、学会运用Matlab求连续时间信号的频谱图 3、学会运用Matlab分析连续时间信号的傅里叶变换的性质 (三)掌握使用Matlab完成信号抽样并验证抽样定理 1、学会运用MATLAB完成信号抽样以及对抽样信号的频谱进行分析 2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号的频谱变化 3、学会运用MATLAB对抽样后的信号进行重建 二、实验条件 需要一台PC机和一定的matlab编程能力 三、实验内容 2、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。

符号运算法: Ft= sym('t*(Heaviside(t+2)-Heaviside(t+1))+Heaviside(t+1)-Heaviside(t-1)+(-t)*(Heavi side(t-1)-Heaviside(t-2))'); Fw = fourier(Ft); ezplot(abs(Fw)),grid on; phase = atan(imag(Fw)/real(Fw)); ezplot(phase);grid on; title('|F|'); title('phase'); 3、试用Matlab 命令求ω ωωj 54 -j 310)F(j ++= 的傅里叶反变换,并绘出其时域信号图。

光学仪器实验报告

常用光电仪器原理及使用 实验报告 班级:11级光信息1班 姓名:姜萌萌 学号:110104060016 指导老师:李炳新

数字存储示波器 一、实验目的 1、熟悉数字存储示波器的使用方法; 2、测量数字存储示波器产生方波的上升时间; 二、实验仪器 数字存储示波器 三、实验步骤 1、产生方波波形 ⑴、打开示波器电源阅读探头警告,然后按下OK。按下“DEFAULT SETUP”按钮,默认的电压探头衰减选项是10X。 ⑵、在P2200探头上将开关设定到10X并将探头连接到示波器的通道1上,然后向右转动将探头锁定到位,将探头端部和基线导线连接到“PROBE COMP”终端上。 ⑶、按下“AUTOSET”按钮,在数秒钟内,看到频率为1KHz 电压为5V峰峰值得方波。按两次CH1BNC按钮删除通道1,

按下CH2BNC按钮显示通道2,重复第二步和第三步。 2、自动测量 ⑴、按下“MUASURE”按钮,查看测量菜单。 ⑵、按下顶部的选项按钮,显示“测量1菜单”。 ⑶、按下“类型”“频率”“值”读书将显示测量结果级更新信息。 ⑷、按下“后退”选项按钮。 ⑸、按下顶部第二个选项按钮;显示“测量2菜单”。 ⑹、按下“类型”“周期”“值”读数将显示测量结果与更新信息。 ⑺、按下“后退”选项按钮。 ⑻、按下中间选项按钮;显示“测量3菜单”。 ⑼、按下“类型”“峰-峰值”“值”读数将显示测量结果与更新信息。 ⑽、按下“后退”选项按钮。 ⑾、按下底部倒数第二个按钮;显示“测量4菜单”。⑿、按下“类型”“上升时间”“值”读数将显示测量结果与更新信息。

LCR测试仪 一、实验目的 1、熟悉LCR测试仪的使用方法; 2、了解LCR测试仪的工作原理; 3、精确测量一些电阻,电感,电容的值; 二、实验仪器 LCR测试仪,电阻,电容,电感等元件 三、LCR测试原理 根据待测元器件实际使用的条件和组合上的差别,LCR 测量仪有两种检测模式,串联模式和并联模式。串联模式以检测元器件Z为基础,并联模式以检测元器件的导纳Y为基础,当用户将测出流过待测元件的电流I,数字电压表将测出待测元件两端的电压V,数字鉴相器将测出电压V和电流I 之间的相位角 。检测结果被储存在仪器内部微型计算机的

MATLAB实验二傅里叶分析及应用

实验二傅里叶分析及应用 、实验目的 (一)掌握使用Matlab 进行周期信号傅里叶级数展开和频谱分析 1、学会使用Matlab 分析傅里叶级数展开,深入理解傅里叶级数的物理含义 2、学会使用Matlab 分析周期信号的频谱特性 二)掌握使用Matlab 求解信号的傅里叶变换并分析傅里叶变换的性质 1、学会运用Matlab 求连续时间信号的傅里叶变换 2、学会运用Matlab 求连续时间信号的频谱图 3、学会运用Matlab 分析连续时间信号的傅里叶变换的性质 三)掌握使用Matlab 完成信号抽样并验证抽样定理 1、学会运用MATLAB 完成信号抽样以及对抽样信号的频谱进行分析 2、学会运用MATLAB 改变抽样时间间隔,观察抽样后信号的频谱变化 3、学会运用MATLAB 对抽样后的信号进行重建 、实验条件 Win7系统,MATLAB R2015a 三、实验内容 1、分别利用Matlab 符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。

Code: ft = sym( ' (t+2)*(heaviside(t+2)-heavisi de(t+1))+(heaviside(t+1)-heav iside(t- 1))+(2-t)*(heaviside( t-1)-heaviside(t- 2))' ); fw = simplify(fourier(ft)); subplot(2, 1, 1); ezplot(abs(fw)); grid on; title( 'amp spectrum' ); phi = atan(imag(fw) / real(fw)); subplot(2, 1, 2); ezplot(phi); grid on ; title( 'phase spectrum' ); 符号运算法 Code: dt = 0.01; t = -2: dt: 2; ft (t+2).*(uCT(t+2)- uCT(t+1))+(u CT(t+1)-uCT(t- 1))+(2-t).*(uCT (t-1)- uCT(t-2)); N = 2000; k = -N: N; w = pi * k / (N*dt); fw = dt*ft*exp(-i*t'*w); fw = abs(fw); plot(w, fw), grid on; axis([-2*pi 2*pi -1 3.5]); 数值运算法

用Matlab对信号进行傅里叶变换实例

目录 用Matlab 对信号进行傅里叶变换 (2) Matlab 的傅里叶变换实例 (5) Matlab 方波傅立叶变换画出频谱图 (7)

用 Matlab 对信号进行傅里叶变换 1. 离散序列的傅里叶变换 DTFT(Discrete Time Fourier Transform) 代码: %原离散信号有 8 点 %原信号是 1行 8列的矩阵 %构建原始信号,为指数信号 %频域共-800 +800 的长度(本应是无穷, 高 %求 dtft 变换,采用原始定义的方法,对复指 7 subplot(311) 8 stem(n,xn); 9 title('原始信号(指数信号 )'); 10 subplot(312); 11 plot(w/pi,abs(X)); 12 title('DTFT 变换 ') 结果: 分析:可见,离散序列的 dtft 变换是周期的,这也符合 Nyquist 采样 定理的描述, 连续时间信号经周期采样之后, 所得的离散信号的频谱 是原连续信号频谱的周期延拓。 2. 离散傅里叶变换 1 N=8; 2 n=[0:1:N-1] 3 xn=0.5.^n; 4 5 w=[-800:1:800]*4*pi/800; 频分量很少,故省去) 6 X=xn*exp(-j*(n'*w)); 数分 量求和而得

与 1 中 DTFT 不一样的是, DTFT 的求和区间是整个频域,这对 N=8; % 原离散信号有 8 点 n=[0:1:N-1] %原信号是 1行 8列的矩阵 xn=0.5.^n; %构建原始信号,为指数信号 w=[-8:1:8]*4*pi/8; %频域共 -800 +800 的长度(本应是无穷, 高频分量很少, 故省去) X=xn*exp(-j*(n'*w)); %求 dtft 变换,采用原始定义的方法,对复指数分量求和而得 subplot(311) stem(n,xn); w1=[-4:1:4]*4*pi/4; X1=xn*exp(-j*(n'*w1)); title(' 原始信号 (指数信号 )'); subplot(312); stem(w/pi,abs(X)); title(' 原信号的 16 点 DFT 变换 ') subplot(313) stem(w1/pi,abs(X1)); title(' 原信号的 8 点 DFT 变换 ') 计算机的计算来说是不可以实现的, DFT 就是序列的有限傅里叶变换。 实际上, 1 中代码也只是对频域的 -800 +800 中间的 1601 结果图: 分析: DFT 只是 DTFT 的现实版本,因为 DTFT 要求求和区间无穷, 而 DFT 只在有限点内求和。 3. 快速傅里叶变换 FFT ( Fast Fourier Transform ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

【免费下载】matlab实现傅里叶变换

一、傅立叶变化的原理; (1)原理 正交级数的展开是其理论基础!将一个在时域收敛的函数展开成一系列不同频率谐波的叠加,从而达到解决周期函数问题的目的。在此基础上进行推广,从而可以对一个非周期函数进行时频变换。 从分析的角度看,他是用简单的函数去逼近(或代替)复杂函数,从几何的角度看,它是以一族正交函数为基向量,将函数空间进行正交分解,相应的系数即为坐标。从变幻的角度的看,他建立了周期函数与序列之间的对应关系;而从物理意义上看,他将信号分解为一些列的简谐波的复合,从而建立了频谱理论。 当然Fourier积分建立在傅氏积分基础上,一个函数除了要满足狄氏条件外, 一般来说还要在积分域上绝对可积,才有古典意义下的傅氏变换。引入衰减因子e^(-st),从而有了Laplace变换。(好像走远了)。 (2)计算方法 连续傅里叶变换将平方可积的函数f(t)表示成复指数函数的积分或级数形式。 这是将频率域的函数F(ω)表示为时间域的函数f(t)的积分形式。 为 连续傅里叶变换的逆变换 (inverse Fourier transform) 即将时间域的函数f(t)表示为频率域的函数F(ω)的积分。 一般可称函数f(t)为原函数,而称函数F(ω)为傅里叶变换的像函数,原函数和像函数构成一个傅里叶变换对(transform pair)。 二、傅立叶变换的应用; DFT在诸多多领域中有着重要应用,下面仅是颉取的几个例子。需要指出 的是,所有DFT的实际应用都依赖于计算离散傅里叶变换及其逆变换的快速算

法,即快速傅里叶变换(快速傅里叶变换(即FFT )是计算离散傅里叶变换及其逆变换的快速算法。)。(1)、频谱分析DFT 是连续傅里叶变换的近似。因此可以对连续信号x(t)均匀采样并截断以得到有限长的离散序列,对这一序列作离散傅里叶变换,可以分析连续信号x(t)频谱的性质。前面还提到DFT 应用于频谱分析需要注意的两个问题:即采样可能导致信号混叠和截断信号引起的频谱泄漏。可以通过选择适当的采样频率(见奈奎斯特频率)消减混叠。选择适当的序列长度并加窗可以抑制频谱泄漏。(2)、数据压缩由于人类感官的分辨能力存在极限,因此很多有损压缩算法利用这一点将语音、音频、图像、视频等信号的高频部分除去。高频信号对应于信号的细节,滤除高频信号可以在人类感官可以接受的范围内获得很高的压缩比。这一去除高频分量的处理就是通过离散傅里叶变换完成的。将时域或空域的信号转换到频域,仅储存或传输较低频率上的系数,在解压缩端采用逆变换即可重建信号。(3)、OFDM OFDM (正交频分复用)在宽带无线通信中有重要的应用。这种技术将带宽为N 个等间隔的子载波,可以证明这些子载波相互正交。尤其重要的是,OFDM 调制可以由IDFT 实现,而解调可以由DFT 实现。OFDM 还利用DFT 的移位性质,在每个帧头部加上循环前缀(Cyclic Prefix ),使得只要信道延时小于循环前缀的长度,就能消除信道延时对传输的影响。三、傅里叶变换的本质; 傅里叶变换的公式为dt e t f F t j ?+∞∞--=ωω)()(可以把傅里叶变换也成另外一种形式: t j e t f F ωπ ω),(21)(=可以看出,傅里叶变换的本质是内积,三角函数是完备的正交函数集,不同频率的三 角函数的之间的内积为0,只有频率相等的三角函数做内积时,才不为0。)(2,21)(2121Ω-Ω==?Ω-ΩΩΩπδdt e e e t j t j t j

傅里叶变换的应用,matlab程序,C语言程序

1 利用FFT 计算连续时间信号的傅里叶变换 设()x t 是连续时间信号,并假设0t <时()0x t =,则其傅里叶变换由下式给出 0()()i t X x t e dt ωω∞ -=? 令Γ是一个固定的正实数,N 是一个固定的正整数。当,0,1,2,,1k k N ω=Γ=-L 时,利用FFT 算法可计算()X ω。 已知一个固定的时间间隔T ,选择T 足够小,使得每一个T 秒的间隔(1)nT t n T ≤<+内,()x t 的变化很小,则式中积分可近似为 (1)0 ()()()n T iwt nT n X e dt x nT ω∞+-==∑? (1)01[ ]()i t t n T t nT n e x nT i ωω ∞-=+==-=∑ 0 1()i T i nT n e e x nT i ωωω-∞-=-=∑ (27) 假设N 足够大,对于所有n N ≥的整数,幅值()x nT 很小,则式(27)变为 1 01()()i T N i nT n e X e x nT i ωωωω---=-=∑ (28) 当2/k NT ωπ=时,式(28)两边的值为 2/2/12/0211()()[]2/2/i k N i k N N i nk N n k e e X e x nT X k NT i k NT i k NT ππππππ----=--==∑ (29) 其中[]X k 代表抽样信号[]()x n x nT =的N 点DFT 。最后令2/NT πΓ=,则上式变为 2/1()[]0,1,2,,12/i k N e X k X k k N i k NT ππ--Γ==-L (30) 首先用FFT 算法求出[]X k ,然后可用上式求出0,1,2,,1k N =-L 时的()X k Γ。 应该强调的是,式(28)只是一个近似表示,计算得到的()X ω只是一个近似值。通过取更小的抽样间隔T ,或者增加点数N ,可以得到更精确的值。如果B ω>时,幅度谱()X ω很小,对应于奈奎斯特抽样频率2s B ω=,抽样间隔T 选择/B π比较合适。如果已知信号只在时间区间10t t ≤≤内存在,可以通过对1nT t >时的抽样信号[]()x n x nT =补零,使N 足够大。 例1 利用FFT 计算傅里叶变换

实验三 周期信号的傅里叶级数分析及MATLAB实现

实验三周期信号的傅里叶级数分析及MATLAB实现 一、实验目的: 1.利用MATLAB实现周期信号的分解与合成,并图示仿真结果; 2.用MATLAB实现周期信号的频谱,画图观察和分析周期信号的频谱; 3.通过MATLAB对周期信号频谱的仿真,进一步加深对周期信号频谱理论知识的理解。 二、实验内容 9.1(a):程序: display('Please input the value of m(傅里叶级数展开项数)'); m=input('m='); t=-3*pi:0.01:3*pi; n=round(length(t)/4); f=cos(t).*(heaviside(t+2.5*pi)-heaviside(t+1.5*pi)+heaviside(t+0.5*pi)-heaviside(t-0.5 *pi)+heaviside(t-1.5*pi)-heaviside(t-2.5*pi)); y=zeros(m+1,max(size(t))); y(m+1,:)=f'; figure(1); plot(t/pi,y(m+1,:)); grid; axis([-3 3 -1 1.5]); title('半波余弦'); xlabel('单位:pi','Fontsize',8); x=zeros(size(t)); kk='1'; syms tx n T=2*pi; fx=sym('cos(tx)'); Nn=30; An=zeros(m+1,1); Bn=zeros(m+1,1); a0=2*int(fx,tx,-T/4,T/4)/T an=2*int(fx*cos(2*pi*(n+eps/2)*tx/T),tx,-T/4,T/4)/T bn=2*int(fx*sin(2*pi*(n+eps/2)*tx/T),tx,-T/4,T/4)/T An(1)=double(vpa(a0,Nn)); An(2)=0.5; for k=2:m An(k+1)=double(vpa(subs(an,n,k),Nn)); Bn(k+1)=double(vpa(subs(bn,n,k),Nn));

大学物理实验傅里叶分析实验报告

脉搏、语音及图像信号的傅里叶分析 一、实验简介 任何波形的周期信号均可用傅里叶级数来表示。傅里叶级数的各项代表了不同频率的正弦或余弦信号,即任何波形的周期信号都可以看作是这些信号(谐波)的叠加。利用不同的方法,可以从周期信号中分解出它的各次谐波的幅值和相位。也可依据信号的傅里叶级数表达式,将各次谐波按表达式的要求叠加得到所期望的信号。 二、实验目的 1、了解常用周期信号的傅里叶级数表示。 2、了解周期脉搏信号、语音信号及图像信号的傅里叶分析过程 3、理解体会傅里叶分析的理论及现实意义 三、实验仪器 脉搏语音实验仪器,数字信号发生器,示波器 四、实验原理 1、周期信号傅里叶分析的数学基础 任意一个周期为T 的函数f(t)都可以表示为傅里叶级数: 00010000 1 ()(cos sin ) 21()() 1 ()cos()()1 ()sin()()n n n n n f t a a n t b n t a f t d t a f t n t d t b f t n t d t π π π ππ πωωωωπ ωωωπ ωωωπ ∞ =-- - =++=== ∑??? 其中0ω为角频率,称为基频,0a 为常数,n a 和n b 称为第n 次谐波的幅值。任何

周期性非简谐交变信号均可用上述傅里叶级数进行展开,即分解为一系列不同次谐波的叠加。 对于如图1所示的方波,一个周期内的函数表达式为: (0t<)2() (-t 0) 2 h f t h ππ? ≤??=? ?-≤

利用MATLAB编写FFT快速傅里叶变换

一、实验目的 1.利用MATLAB 编写FFT 快速傅里叶变换。 2.比较编写的myfft 程序运算结果与MATLAB 中的FFT 的有无误差。 二、实验条件 PC 机,MATLAB7.0 三、实验原理 1. FFT (快速傅里叶变换)原理: 将一个N 点的计算分解为两个N/2点的计算,每个N/2点的计算再进一步分解为N/4点的计算,以此类推。根据DFT 的定义式,将信号x[n]根据采样号n 分解为偶采样点和奇采样点。设偶采样序列为y[n]=x[2n],奇采样序列为z[n]=x[2n+1]。 上式中的k N W -为旋转因子N k j e /2π-。下式则为y[n]与z[n]的表达式: 2. 蝶形变换的原理: 下图给出了蝶形变换的运算流图,可由两个N/2点的FFT (Y[k]和Z[k]得出N 点FFT X[k])。同理,每个N/2点的FFT 可以由两个N/4点的FFT 求得。按这种方法,该过程可延迟后推到2点的FFT 。 下图为N=8的分解过程。图中最右边的为8个时域采样点的8点FFTX[k],由偶编号采样点的4点FFT 和奇编号采样点的4点得到。这4点偶编号又由偶编号的偶采

样点的2点FFT 和奇编号的偶采样点的2点FFT 产生。相同的4点奇编号也是如此。依次往左都可以用相同的方法算出,最后由偶编号的奇采样点和奇编号的偶采样点的2点FFT 算出。图中没2点FFT 成为蝶形,第一级需要每组一个蝶形的4组,第二级有每组两个蝶形的两组,最后一级需要一组4个蝶形。 四、实验内容 1.定义函数disbutterfly ,程序根据FFT 的定义:]2[][][N n x n x n y + +=、n N W N n x n x n z -+-=])2 [][(][,将序列x 分解为偶采样点y 和奇采样点z 。 function [y,z]=disbutterfly(x) N=length(x); n=0:N/2-1; w=exp(-2*1i*pi/N).^n; x1=x(n+1); x2=x(n+1+N/2); y=x1+x2; z=(x1-x2).*w; 2.定义函数rader ,纠正输出序列的输出顺序。 function y=rader(x,N) n=[0:N-1]; bn=dec2bin(n); rbn=fliplr(bn); rn=bin2dec(rbn); y=x(rn+1); 3.定义函数myfft ,程序中套了两个循环。 function X=myfft(x) N=length(x); h=log2(N); %h=3 for i=1:h %第一次i=1;第二次i=2 s=[]; for j=1:2^(i-1);%i=1时,j=1;i=2时,j=1:2 M=2^(h-i+1);%M:M=8;M=4 xj=x([1:M]+(j-1)*M);%xj=x([1:8]+(1-1)*8)=x(1)+x(2)...+x(8); %j=1:xj=x([1:4]);j=2:xj=x([1:4]+4) [y,z]=disbutterfly(xj); s=[s,y,z]; end x=s;

相关主题
文本预览
相关文档 最新文档