《实验三MATLAB求Fourier变换及逆变换》由会员分享,可在线阅读,更多相关《实验三MATLAB求Fourier变换及逆变换(17页珍藏版)》请在金锄头文库上搜索。
1、实验三实验三 MATLAB求求Fourier变换及逆变换变换及逆变换(一)(一) 实验类型:综合性实验类型:综合性(二)(二) 实验类别:基础实验实验类别:基础实验(三)(三) 实验学时数:实验学时数:2学时学时.F=fourier(f,u,v)其中f是需要变换的表达式;u是变量;v是算子就是最后的表达式是z或者v的函数基本命令基本命令1、fourier指令的使用例1求Fourier变换解symstw;ut=sym(Heaviside(t);%定义0时刻起跳的单位阶跃函数UT=fourier(ut)%实施Fourier变换,给出与理论一致的结果UT=pi*Dirac(w)-i/w2、simpl
2、e指令matlab中中simple函数的用法函数的用法simple(s),s是字符串是字符串, 如果是对某个字符函数如果是对某个字符函数,如如y=(2+x)/x 化简,直接用化简,直接用simple(y)就得到就得到2/x+1; 有有时表达式比较复杂,一次化简结果不太理想,就再时表达式比较复杂,一次化简结果不太理想,就再次化简,可以用次化简,可以用simple(simple(y)simplify和和simple是是Matlab符号数学工具箱提供符号数学工具箱提供的两个简化函数,区别如下:的两个简化函数,区别如下: simplify的调用格的调用格式为:式为:simplify(S);对表达式;对
3、表达式S进行化简。进行化简。Simple是通过对表达式尝试多种不同的方法(包括是通过对表达式尝试多种不同的方法(包括simplify)进行化简,以寻求符号表达式进行化简,以寻求符号表达式S的最简形式的最简形式对上述例1求Fourier变换symstw;ut=sym(Heaviside(t);%定义0时刻起跳的单位阶跃函数UT=fourier(ut)%实施Fourier变换,给出与理论一致的结果UTC=maple(convert,UT,piecewise,w)%计算结果起指示作用UTS=simple(UT)%在此是5.3版的运算结果,简化导致漏项!UT=pi*Dirac(w)-i/wUTC=PI
4、ECEWISE(undefined,w=0,0,otherwise)UTS=pi*Dirac(w)-i/w3、ifourier(Yw,w,t)逆变换命令的使用对上述例1求Fourier逆变换进行验算解symstw;UT=pi*Dirac(w)-i/w;Ut=ifourier(UT,w,t)%结果与原函数相等Ut=heaviside(t)或解1symstw;Yw=pi*Dirac(w)-i/w;ifourier(Yw,w,t)ans=heaviside(t)4、fourier的缺省调用格式的使用例2求的Fourier变换.演示:fourier的缺省调用格式的使用要十分谨慎.symstxw;ft=
5、exp(-(t-x)*sym(Heaviside(t-x);F1=simple(fourier(ft,t,w)%给出以w为频率变量的正确结果F2=simple(fourier(ft)%误把x当作时间变量F3=simple(fourier(ft,t)%误把x当作时间变量,又误把t当作频率变量F1=1/exp(i*x*w)/(1+i*w)F2=i*exp(-i*t*w)/(i+w)F3=i*exp(-t*(2+i*t)/(i+t)(1)sym的意思是symbol,就是后面括号里面是个代数式,要进行符号运算,不加意思就完全变了(2)Dirac-函数(3)Heaviside-一般表示为阶跃函数func
6、tionf=heaviside(t)f=(t0);小于0的都为0;大于0的为1;就是阶跃函数.注释:注释:【Matlab源程序源程序】symstWfourier(1/t)%结果为结果为:ans = i*pi*(1-2*heaviside(w)求求Fourier变换还可用方法:变换还可用方法:fourier, simple 指令指令的配合使用的配合使用解:解:【Matlab源程序源程序】%结果为结果为:F =1/b*pi(1/2)*exp(-1/4*w2/b2)syms x w;syms b positive ;%定义符号参量定义符号参量bf=exp(-b2*x2);F=simple(fouri
7、er(f)求多个函数的求多个函数的Fourier 变换变换【Matlab源程序源程序】例例5 求函数求函数的的Fourier 变换变换解:解:【Matlab源程序源程序】%结果为结果为:F = pi*(dirac(-w+a)+dirac(w+a)G = i*pi*(-dirac(-w+a)+dirac(w+a)syms t w a; syms a positive;%定义符号参量定义符号参量af=cos(a*t);g=sin(a*t);F=simple(fourier(f)G=simple(fourier(g)例例6 写出下列写出下列【Matlab源程序源程序】的结果的结果 syms t w;
8、 syms beta positive;%定义符号参量定义符号参量beta g=sym(Heaviside(t); f=t*exp(-beta*t)*g; F=fourier(f) %结果为结果为: F = 1/(beta+i*w)2例例7 求求 的的Fourier逆变换逆变换解解: 【Matlab源程序源程序】 syms t u w ifourier(w*exp(-3*w)*sym(Heaviside(w)%结果为结果为: ans =1/2/(-3+i*x)2/pi例例8 矩形脉冲信号的傅氏变换矩形脉冲信号的傅氏变换n编写信号M=8;tend=1;T=10;N=2M;dt=T/N;n=0:N
9、-1;t=n*dt;w=zeros(size(t,2),1);Tow=find(tend-t)0);w(Tow,1)=ones(length(Tow),1);plot(t,w,b,LineWidth,2.5);title(矩形脉冲信号);xlabel(t-);n在命令窗口输入cftbyfft(w,t);得到该信号的傅氏变换频谱图n或者在命令窗口输入exp8_2_;得到该信号的傅氏变换频谱图与理论值的对比图.注意,当M的取值过小时,就会出现混跌引起图形的差别.y=(x0);小于0的都为0;大于0的为1;就是阶跃信号;z=fft(y);plot(abs(z);例例9作业:做下列实验,写出实验报告作业:做下列实验,写出实验报告一、求下列函数一、求下列函数f的的Fourier 变换变换1、g=sym(Heaviside(t);f=exp(-beta*t)*g;2、f=exp(-beta*abs(t).1、f=sin(t)/t;二、求下列函数二、求下列函数f的的Fourier 变换及变换及Fourier 逆变换逆变换2、f=exp(-(t-t_0)2);3、f=2*(sin(3*t)2.