傅里叶变换轮廓术的MATLAB GUI设计与仿真
[转载]MATLAB中傅里叶fft函数使用(仿真程序和图形结果)
![[转载]MATLAB中傅里叶fft函数使用(仿真程序和图形结果)](https://img.taocdn.com/s3/m/b62cfc250a4c2e3f5727a5e9856a561252d32117.png)
[转载]MATLAB中傅⾥叶fft函数使⽤(仿真程序和图形结
果)
原⽂地址:MATLAB中傅⾥叶fft函数使⽤(仿真程序和图形结果)作者:西电⼤宝Chuck
MATLAB中的傅⾥叶变换时是⾮常常⽤的,研究信号处理时不可避免,尤其在频域。
这是⼀个例⼦,使⽤MATLAB时对于信号的采样频率选择很重要,⾸先要满⾜奈奎斯特采样定理,
然后最好选择4倍以上的奶奎斯特采样频率作为fs,这样绘制出的图形和结果才能⽐较精确直观。
N=512;fs=1200;%采样点数和采样频率
n=0:N-1;t=n/fs;%时间序列
y=sin(2*pi*50*t)+sin(2*pi*120*t);%定义⼀个含有50hz和120hz两种频率的信号
Y=fft(y,N);%快速傅⾥叶变换
f=n*fs/N;%频率序列
Y=abs(Y);%求模
plot(f,Y);%绘制信号频域图形
仿真结果:课件两个频率在50和120hz处
推荐⼀⾸歌,我很喜欢 small things,是不是很舒服西电⼤宝。
基于Matlab的傅里叶变换性质仿真

强教 学效 果 。
其对应的频谱 , 可以得 出结论 : 信号 f ( a t ) 的带宽是
信号 f ( t ) 带宽的 a 倍 。我们可 以播放一段 门铃音 f ( t ) , 正常播放 时持续时间为 1 . 2 s ; 将播放时间压缩 为0 . 6 s , 相当于 f ( 2 t ) , 听起来感觉声音频率变高了 ;
冲激函数 ; f - j 函数的傅里叶变换为抽样 函数 ; 抽样信
e
号的傅里叶变换则应为门函数 。 用 Ma t l a b 分别绘出 抽样信号 f i ( t ) = S a ( t ) 和门信号  ̄ ( t ) - r r g 2 ( t ) 的时域 波形及频谱 , 仿真结果如图一所示 , 上一行从左到右
形图,我们知道后一信号相对于前一信号仅仅是发 生了平移 , 这就比较好理解 了。 用 Ma t l a b 分别绘出 f i ( t ) = 1 e - 2 t u ( t ) ; i f ( t ) =1
2
则: F ( t ) + + 2 T T f ( 一【 ^ J ) 。 我们都知道冲激信号的傅里 叶变换的幅度谱 为常数 ; 直流信号的傅里叶变换为
上 的波 形相 同 。
1 . 2时域 平移 性质
幅度谱 , 可 以看到平移后信号的幅度谱未变, 三信号 的幅度谱重叠 ; 下图是信号的的相位谱 , 三个信号的
相位 谱是 不 同的 。
1 . 3 频 域平 移性 质
假设 函数 f ( t ) + ÷ F ( 【 ^ J ) 构成一傅里 叶变 换对 , 则: it f +t 0 ) + + e J  ̄ F ( j t o o信号时域平移 , 则在频域 上只是附加 了一个线性相位 , 我们这样来理解 : 正弦 信号 s i n ( t ) 和s i n ( t + 4 5 。 ), 两个 信号幅度 、 频率是 相同的 , 区别仅仅是在初始相位上 , 画出两信号的波
matlab绘制方波傅里叶变换代码

一、引言Matlab是一款功能强大的数学软件,可以进行多种数学运算和数据可视化处理。
其中,绘制方波并进行傅里叶变换是其常用的功能之一。
本文将介绍如何使用Matlab绘制方波并进行傅里叶变换的代码。
二、绘制方波1. 打开Matlab软件,创建一个新的脚本文件。
2. 输入以下代码用于绘制方波:```matlabt = linspace(0, 1, 1000); 生成时间序列f = square(2*pi*5*t); 生成频率为5Hz的方波plot(t, f); 绘制方波图形xlabel('Time (s)'); X轴标签ylabel('Amplitude'); Y轴标签title('Square Wave'); 图形标题```3. 运行代码,即可在Matlab中看到绘制的方波图形。
三、进行傅里叶变换1. 接下来,我们将对绘制的方波进行傅里叶变换。
2. 输入以下代码进行傅里叶变换:```matlabL = length(t); 信号的长度N = 2^nextpow2(L); 计算最近的2的幂Y = fft(f, N)/L; 进行傅里叶变换frequencies = 1/(2*1)*linspace(0,1,N/2); 计算频率amplitude = 2*abs(Y(1:N/2)); 计算幅值plot(frequencies, amplitude); 绘制傅里叶变换图形xlabel('Frequency (Hz)'); X轴标签ylabel('Amplitude'); Y轴标签title('Fourier Transform of Square Wave'); 图形标题```3. 运行代码,即可在Matlab中看到绘制的傅里叶变换图形。
四、总结通过以上步骤,我们成功地使用Matlab绘制了方波并进行了傅里叶变换。
基于MATLAB GUI平台连续时间信号的傅里叶变换系统设计

基于 MATLAB GUI 平台的连续时间信号的傅里叶变化与傅里叶 反变换系统平台的设计报告
院系: 电子信息与电气工程学院
专业: 光电信息科学与工程
班级: 2016 级光电 1 班
学号:
201614590117
作者:
郭艳喜
基于 MATLAB GUI 平台连续时间信号傅里叶变换与傅里叶反变换系统的开发课题报告 光电班 郭艳喜 学号:201614590117
%启用 axes1
ezplot(f3);
%在 axes1 中绘制原函数图像
grid on;
%打开网格
an=char(ifourier(f3));
%获取傅里叶变换
set(handles.t14,'string',an);
%给显示窗口赋值
ft2=sym(get(handles.t14,'string'));
三、 连续时间信号的傅里叶变换与傅里叶反变换系统的设计开发
(一)设计的基本内容 本系统主要针对信号与系统中的连续时间信号处理部分,通过 GUI 平台输入一个函数可以 对连续时间信号进行傅里叶变换、对频域信号进行傅里叶反变换以及两种信号的原信号、变 换信号的图像绘制,本系统的傅里叶变换与傅里叶反变换通过 fourier()和 ifourier() 函数实现;绘图功能用通 ezplot()函数数实现。经过测试可以对信号进行傅里叶变换和反 变换,但在绘图师由于某些函数可能包含一些不能直接用符号表达的式子,所以变换后的图 像绘制存在一定问题。
基于 MATLAB GUI 的连续时间信号的傅里叶变换与傅里叶反变换系统的开发,主要涉及两 个方面的问题:1.MATLAB GUI 的图形设计;2.用 MATLAB 傅里叶变换分析的建模与仿真。
Matlab在工程设计与仿真中的应用案例

Matlab在工程设计与仿真中的应用案例近年来,Matlab(全称Matrix Laboratory)在工程设计与仿真中的应用越来越广泛。
Matlab是一款功能强大的计算软件,具有矩阵计算、数据处理和可视化等多种功能。
本文将通过几个实际案例,展示Matlab在工程设计与仿真中的应用。
一、电路设计与仿真电路设计是工程领域中重要的一环,而Matlab提供了强大的电路设计与仿真工具。
以滤波器设计为例,Matlab配备了丰富的滤波器设计函数,可以根据特定的滤波系数和频响要求,快速设计出满足需求的滤波器。
同时,Matlab还支持频域仿真,可以对信号进行傅里叶变换和滤波操作,以实现不同的信号处理需求。
二、机械系统建模与控制在机械系统建模与控制方面,Matlab也发挥了重要的作用。
例如,在机械结构设计中,Matlab可以通过有限元分析建立结构的数值模型,对结构的强度、刚度等进行分析与求解。
同时,Matlab还支持控制系统建模与仿真,可以通过控制系统的设计,提高机械系统的性能和稳定性。
三、通信系统设计与仿真通信系统设计与仿真是Matlab应用的另一个重要领域。
例如,在无线通信系统设计中,Matlab提供了丰富的信号处理工具,可以对传输信号进行调制、解调和通道编码等操作,实现数据的可靠传输。
此外,Matlab还支持多输入多输出系统的建模与仿真,可以分析和优化系统的传输性能。
四、图像处理与计算机视觉近年来,图像处理和计算机视觉成为热门的研究领域。
而Matlab提供了一系列的图像处理函数与工具箱,可以进行图像的滤波、分割、特征提取和目标识别等操作。
通过Matlab的强大功能,研究人员可以开展多样化的图像处理与计算机视觉应用,如人脸识别、车牌识别等。
五、仿真与优化算法Matlab凭借其强大的数值计算能力和优化算法,成为工程设计中的重要辅助工具。
例如,在电力系统中,Matlab可以应用潮流计算和稳定性分析等算法,发现潮流分布、电压质量等问题,优化电力系统的稳定性和效率。
傅里叶变换轮廓术的Matlab仿真实现

傅里叶变换轮廓术的Matlab仿真实现吴应山;张启灿【摘要】在傅里叶变换轮廓术测量方法中,测量系统从一个角度投影结构光场,系统中的成像装置从另一个角度获取由物体高度调制后的变形光场,并通过傅里叶变换、频域滤波和傅里叶逆变换恢复出物体的高度信息.FTP测量方法中,关于傅里叶变换,相位展开的相关知识,涉及大量复杂的数学运算使其抽象难以理解.针对这一问题,文中设计了基于Matlab的仿真实验.根据相应原理编写了仿真代码,运用Matlab的数学运算和可视化功能,模拟整个测量流程,完成了仿真实验.这有助于学习和理解FTP测量方法原理及相关知识.%In the method of Fourier transform profilometry (FTP), the measurement system obtains the deformation ofthe object height modulated light field by the imaging device, and restores the height information of the object through the Fourier transform, frequency domain filtering and Fourier inverse transformation.The Fourier transform and phase unwrapping knowledge in the FTP measurement method involves a large number of complex mathematical calculations, making it abstract and difficult to understand.In view of this situation, we design simulation experiments based on Matlab and prepare the corresponding simulation codes.The entire measurement process is simulated by using Matlab numerical calculation and visualization function, which helps to understand the principles of the FTP measurement.【期刊名称】《电子科技》【年(卷),期】2017(030)006【总页数】4页(P9-12)【关键词】傅里叶变换轮廓术;Matlab;相位展开【作者】吴应山;张启灿【作者单位】四川大学电子信息学院,四川成都 610064;四川大学电子信息学院,四川成都 610064【正文语种】中文【中图分类】TN29随着计算机技术的发展,三维数字化技术逐步成熟,并广泛用于各个领域[1-3],傅里叶变换轮廓术是1983年由M.Takeda和K.Mutoh将傅里叶变换用于三维物体的测量中而提出的三维面形测量技术[4],只需采集一或两幅变形条纹图,就可以进行三维重构,实现对物体轮廓的测量。
傅里叶变换及带通滤波器仿真Matlab试验报告

傅里叶变换及带通滤波器仿真Matlab试验报告一.实验目的1.学习软件matlab的编辑语言、绘图、函数等功能的运用2.了解傅里叶级数的复数形式表示方波,并运用matlab绘出。
3.熟悉带通滤波器的工作原理,并用matlab仿真带通滤波器,绘出相应的图形,最后用pspice验证。
二.实验平台1. Matlab7.02. Pspice三.实验内容实验一用matlab模拟计算傅里叶分量叠加近似方波的过程,并将叠加过程用图形表示,最后画出谐波的振幅频谱。
实验原理1.根据傅里叶定理,任何一个角频率为ω的周期函数都可以表示成无穷多个频率为ω整数倍的正弦函数和余弦函数之和。
2.将傅里叶级数交流分量各项相叠加后,可得到原始的方波信号。
参加叠加的傅里叶分量越多,其和就越接近原来的方波。
3.谐波的振幅随频率的增加而快速减少。
实验步骤1.设计叠加傅里叶交流分量的算法。
2.打开Matlab,编辑程序实现算法。
3.运用Matlab的绘图函数将叠加过程用图形表示。
4.用Matlab绘出振幅频谱图。
实验程序代码%时间t从0到2,每隔0.001秒取一点t=0:0.001:pi;y=0;%通过循环绘出a小于等于5和a=16时的图像for a=1:6n=2*a-1y=y+4./(n*pi)*sin(n*pi*t);figure(1)subplot(2,3,a);plot(t,y,'-g')xlabel('Time');ylabel('F');ends=0;for b=1:16s=s+4./((b*2-1)*pi)*sin((b*2-1)*pi*t);endplot(t,s,'-g')%绘出振幅频谱图像figure(2)k=1:2:12;A=4./(k*pi);bar(k,A,0.1);实验结果傅里叶波形图振幅频谱图实验结果分析与结论1.根据傅里叶波形图可以看出,通过逐项叠加傅里叶级数交流分量可以形成原始方波。
有关傅里叶变换的MATLAB仿真

有关傅里叶变换的MATLAB仿真Homework 1:1) Determine the DFT of sequence x(n)=R4(n) with N=4, N=8 and N=16 by MATLAB, and plot the figures;程序如下:function[Xk] = DFT(xn,N)k = [0:1:N-1];n = [0:1:N-1];Wn = exp(-j*2*pi/N);kn = k'*n;Wn_kn = Wn.^kn;Xk = xn*Wn_kn;clearxn1=[1 1 1 1];xn2=[1 1 1 1 0 0 0 0];xn3=[1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0];N1=length(xn1);N2=length(xn2);N3=length(xn3);XK1=DFT(xn1,N1); magX1=abs(XK1);XK2=DFT(xn2,N2); magX2=abs(XK2);XK3=DFT(xn3,N3); magX3=abs(XK3)subplot(3,1,1);L1=0:1:N1-1;stem(L1,magX1); axis([0 N1 0 5]);subplot(3,1,2);L2=0:1:N2-1;stem(L2,magX2); axis([0 N2 0 5]);subplot(3,1,3);L3=0:1:N3-1;stem(L3,magX3);axis([0 N3 0 5]);最终方针波形如下:2) Determine the FT of sequence x(n)=R4(n) by MATLAB, and plot the figure;程序如下:function Ke=FT(xn,N)n=0:1:N-1;w=0:0.01*pi:2*pi;Wn=exp(-j*n'*w);Ke=xn*Wn;endclear;xn=[1 1 1 1];w=0:0.01*pi:2*pi;N=length(xn);Ke=FT(xn,N);Ke1=abs(Ke);plot(w,Ke1);axis([0 2*pi 0 5]);最终仿真波形如下:3) Compare figures and give the relationship between DFT and FT;程序如下:(调用函数上边已经求得,这里不再重复)clearxn1=[1 1 1 1];xn2=[1 1 1 1 0 0 0 0];xn3=[1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0];N1=length(xn1);N2=length(xn2);N3=length(xn3);XK1=DFT(xn1,N1);magX1=abs(XK1);XK2=DFT(xn2,N2);magX2=abs(XK2);XK3=DFT(xn3,N3);magX3=abs(XK3);subplot(4,1,1);L1=0:1:N1-1;stem(L1,magX1);axis([0 N1 0 5]);xlabel('N=4');subplot(4,1,2);L2=0:1:N2-1; stem(L2,magX2); axis([0 N2 0 5]); xlabel('N=8');subplot(4,1,3);L3=0:1:N3-1; stem(L3,magX3); axis([0 N3 0 5]); xlabel('N=16');subplot(4,1,4);xn=[1 1 1 1];w=0:0.01*pi:2*pi; N=length(xn);Ke=FT(xn,N);Ke1=abs(Ke); plot(w,Ke1);axis([0 2*pi 0 5]); xlabel('FT');Homework 2:1) Computing the 24-points DFTs of the two sequences that x1(n)= cos(nπ/6) and x2(n)= cos(nπ/4) using a single 24-point DFT by Matlab;2) Plot the figure of x1(n), x2(n), |X1(k)| and |X2(k)|;3) Analysis the value of |X1(k)| and |X2(k)|;4) Applying IDFT to X1(k) and X2(k) to obtain x1N(n) and x2N(n);程序如下:function[Xk] = DFT(xn,N)k = [0:1:N-1];n = [0:1:N-1];Wn = exp(-j*2*pi/N);kn = k'*n;Wn_kn = Wn.^kn;Xk = xn*Wn_kn;function[xn] =IDFT(Xk,N) k = [0:1:N-1];n = [0:1:N-1];Wn = exp(-j*2*pi/N);kn = k'*n;Wn_kn = Wn.^(-kn);xn = (Xk*Wn_kn)/N;clearN=24;n=0:23;xn1=cos(n*pi/6);xn2=cos(n*pi/4);xn=xn1+j*xn2;XK=DFT(xn,N);XKN=conj(XK);for k=2:NXKN(k)=conj(XK(N-k+2)); endXK1=(XK+XKN)/2XK2=(XK-XKN)/(2*j)x1n=IDFT(XK1,N);x2n=IDFT(XK2,N);subplot(2,2,1)stem(n,xn1);subplot(2,2,2)stem(n,xn2);subplot(2,2,3)stem(n,x1n);axis([0 30 -1 1]);subplot(2,2,4)stem(n,x2n);axis([0 30 -1 1]);最终仿真波形如下图:5) Compare x1(n) and x1N(n);Compare x2(n) and x2N(n);这里,x1(n)是程序中的xn1,x2(n)是程序中的xn2;x1N(n)是程序中的x1n,x1N(n)是程序中的x2n,他们的比较如上图所示。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Applied Physics 应用物理, 2016, 6(1), 1-6Published Online January 2016 in Hans. /journal/app/10.12677/app.2016.61001The Design and Simulation of MATLAB GUIBased on Fourier Transform ProfilometryManning Sun*, Lijuan Yang, Yimei Shu, Ju Cheng, Xiantian BianImportant Laboratory of Modern Testing Technology and Intelligent System of Jiangsu, Huaiyin NormalUniversity, Huai’an JiangsuReceived: Jan. 5th, 2016; accepted: Jan. 22nd, 2016; published: Jan. 28th, 2016Copyright © 2016 by authors and Hans Publishers Inc.This work is licensed under the Creative Commons Attribution International License (CC BY)./licenses/by/4.0/AbstractOn the basis of Fourier transform profilometry, we design interactive simulation interface of Fourier transform profilometry (FTP) with MATLAB GUI, then we can get the simulation results of three-dimensional shape measurement. The platform has the advantages of friendly man-machine interface, convenient operation, fast speed and so on; at the same time it can combine the three- dimensional shape measurement with experiment. By using theoretical analysis and computer simulation, a new approach has been opened up for the teaching and research of three-dimen- sional measurement.KeywordsThree-Dimensional Measurement, GUI Interface, Fourier Transform Profilometry傅里叶变换轮廓术的MATLAB GUI设计与仿真孙漫凝*,杨丽娟,束益梅,程菊,边心田淮阴师范学院,江苏省现代检测技术与智能系统重点建设实验室,江苏淮安*通讯作者。
孙漫凝 等收稿日期:2016年1月5日;录用日期:2016年1月22日;发布日期:2016年1月28日摘 要在傅里叶变换轮廓术的基础上,利用MATLAB 的用户界面设计了基于傅里叶变换轮廓术的仿真交互界面,给出了三维面形测量的仿真结果。
该平台具有人机界面友好、操作方便、速度快等优点,将三维面形测量和实验很好的结合起来。
利用理论分析和计算机模拟,为三维测量的教学和研究工作开辟了新的途径。
关键词三维测量,GUI 界面,傅里叶变换轮廓术1. 引言光学三维传感具有非接触性、测量精度高等优点,在逆向工程、工业检测、机器视觉、文物保护、生物医学等领域具有广泛的应用[1]-[5]。
其中,基于条纹投影的傅里叶变换轮廓术[6] (FTP)具有单帧获取、高分辨率、实时性好等优点,自1983年FTP 提出[7]以来,受到人们广泛的关注。
MATLAB 因其强大的数值计算、数据分析和可视化仿真能力,在高校和科研机构得到广泛的应用。
MATLAB 为用户提供了功能强大的可视化图形界面开发环境(GUI),通过GUI ,用户可以快捷方便地创建GUI应用程序,可以根据用户设计的GUI 布局,自动生成M 文件的框架,用户使用这一框架编写自己的应用程序。
GUI 用户界面友好、使用简单,运用广泛,能够快速、方便地进行某种技术或方法的演示,将GUI 运用到三维测量中也为实验演示与教学提供了新的途径[7] [8]。
2. 基本原理2.1. 光栅模型我们所使用的傅里叶变换方式的测量系统的光路图如下图1所示,A 为投影仪的出射光瞳,摄像系统光轴C0垂直于参考面并且与投影系统光轴AO 相交于O 点,投影光栅的栅线垂直于AOC 的平面,不失一般性,设AC d =,CO l =,AO 与其参考面上发现的夹角为α。
Figure 1. The light path diagram of FTP measurement system图1. FTP 测量系统光路图孙漫凝 等不失一般性,我们可以设OF x =,O E x ′′′=,由几何知识知[9]:22d l x x lf dx +′=′+ (1) 式中f 为投影仪的焦距。
投影到参考面上的条纹是等周期分布的,使其周期为0P ,其参考面上的相位分布()x φ是坐标x 的线性函数,投影仪上E'点与参考面上的F 点的相位相对应,因此由(1)式可得,投影光栅的相位分布函数[9]为:()2202πd l x x P lf dx ϕ+′=′+ (2) 2.2. 测量原理测量系统的光路[5]如图1所示,AO 是投影光轴,CO 是摄像系统的光轴,且CO 垂直于参考平面并与投影光轴AO 相交于O 点,OF 所在的平面为参考平面。
l 是C 点到参考平面的距离,d 是A 点与C 点之间的距离。
D 点和F 点是参考平面上的两点,G 点是物体上的一点。
我们采用正弦光栅投影到物体的表面上,经过物体表面的漫反射,CCD 接收到参考光栅像(),g x y 和变形光栅像()0,g x y ,然后对采集到的图像进行傅里叶变换、滤波、傅里叶逆变换等操作最终恢复出参考光栅(),g x y ′和变形光栅()0,g x y ′∗的光场分布分布。
被测物体的相位分布可表示[6]为: ()()(){}0,Im ln ,*,x y g x y g x y φ′′∆= (3) 式中,Im 表示取其复数的虚部,∗表示共轭运算。
从图1中,我们可以将三维表面上被测量的点G 的高度记为h ,由相似三角形ACG ∆和FDG ∆可以计算出物体表面的高度分布[5]为:()()()00,,,2πL x y h x y x y f d φφ∆=∆− (4)由此我们可以得到物体的三维图像的恢复,同时,我们也可以从上式当中看出,物体恢复重建的精度取决于相位(),x y φ∆的测量精度、光栅像的基频0f 以及投影系统光轴与摄影系统光轴的距离d 。
3. FTP 的GUI 设计与仿真3.1. 框架设计打开MATLAB 找到GUI 设计的界面,然后在布局编辑器中设置以下控件:建立4个坐标轴对象用来显示所要投影条纹的图像、变形之后投影条纹的图像、恢复物体的三维图像以及误差分析的图像;建立4个静态文本标签,标注相应的控件提示;建立4个可编辑文本框,分别显示频率、系统参数d 和L 、以及噪声;建立4个滑动条用以控制频率、系统参数d 和L 、以及噪声;建立6个按钮,分别绘制所需的所有图像,以及整个操作过程的开始与结束。
设置以上所有控件的String 和Tag 属性,便于程序的编辑,如图2所示。
在MATLAB 里对于每一幅所要展示的图相对应的程序代码进行编写,定义相应的函数形式也可直接调用MATLAB 里自身的函数设置。
1) 在初始程序中,我们可以设置条纹频率f 的值为0.08,系统参数成像系统到参考面的距离L 为1800 cm ,系统参数投影系统与成像系统之间的距离d 为900 cm ,在条纹图强度上加入随机噪声为0.01。
孙漫凝 等Figure 2. Simulation interface图2. 仿真界面相应的程序如下:()set handles.edit1,String ',0.08; %设置条纹频率的大小()set handles.edit2,String ',1800; %设置系统参数L 的大小()set handles.edit3,String ',750; %设置系统参数d 的大小()set handles.edit1,String ',0.03; %设置噪声的大小2) 就这4个滑动条而言,我们首先需要设置的就是滑动条的最大值和最小值,其次,我们要将滑动条显示的数据体现在动态文本框中。
相应的程序如下:()slider1 value get handles.slider1,Value';= %获得条纹频率的滑动条数值()()set handles.edit1,String',num2str slider1 value ; %将滑动条的数值显示在动态文本框3) 调用pushbutton1_Callback 函数,根据设置的具体参数绘制相应的初始条纹图、变形条纹图、恢复物体图以及误差分析图。
程序调试完成后运行的界面如图3所示。
3.2. 仿真平台的使用在程序编写完成以后,我们首先根据经验将初始值先设定好,如图4中所示,条纹频率f 设置为0.05,系统参数成像系统到参考面的距离L 为1800 cm ,系统参数投影系统与成像系统之间的距离d 为900 cm ,在条纹图强度上加入随机噪声为0.03,分别点击事先设定好的相应按钮,便会出现如下图所示的情况。
我们能够清楚的看到,在将初始的条纹图进行一定程度上的变形后,可以明显的看到条纹的变形处有一个类似圆形的形状,而将其恢复时(见下图中的恢复物体图),与原图相比较而言出现了一定的差距,通过变化,将其与原图像的差距进行弥补,而就是由于其与原图有一定的差距,从而使我们能够得到第四幅图——误差分析。
孙漫凝等Figure 3. The show figure of program debugging图3. 程序调试展示图Figure 4. The interface diagram of simulation operation图4.仿真运行界面图模拟运行的过程当中,我们通过滑动条来不断的改变条纹频率f、系统参数L和d、以及噪声这4个参数,与此同时条纹图和恢复物体的图像都会随之发生相应的变化,从而由此产生不同的误差分析的结果[9]。