收藏 分销(赏)

实验4 傅立叶变换及其性质.doc

上传人:xrp****65 文档编号:8993435 上传时间:2025-03-10 格式:DOC 页数:10 大小:159.50KB
下载 相关 举报
实验4 傅立叶变换及其性质.doc_第1页
第1页 / 共10页
实验4 傅立叶变换及其性质.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述
傅立叶变换及其性质 一、涉及的MATLAB函数 1. fourier 功能:实现信号的傅立叶变换。 调用格式: F=fourier(f):是符号函数f的傅立叶变换,默认返回函数F是关于的函数。 F=fourier(f,v):是符号函数f的傅立叶变换,默认返回函数F是关于v的函数。 F=fourier(f,u,v):是关于u的函数f的傅立叶变换,返回函数F是关于v的函数。 2. ifourier 功能:实现信号的逆傅立叶变换。 调用格式: f=ifourier(F):是符号函数F的傅立叶逆变换,默认的独立变换为,默认返回是关于x的函数。 f=ifourier(F,u):返回函数F是关于u的函数,而不是默认的x的函数。 f=ifourier(F,v,u):是对关于v的函数F的傅立叶逆变换,返回关于u的函数f。 二、实验内容 1、利用fourier函数计算常见信号的傅立叶变换 (1) 已知连续时间信号,通过程序完成信号的傅立叶变换。 MATLAB程序: syms t; f= exp(-2*abs(t)); % 等价于f=sym(‘exp(-2*abs(t))’) Fw=fourier(f); ezplot(Fw); 信号的傅立叶变换如下图所示。 图4.1 信号f(t)的傅立叶变换 (2)试画出单边指数信号的波形及其幅频特性曲线: MATLAB程序如下(a=3): syms t f=2/3*exp(-3*t)*heaviside(t); -- heaviside 是Symbolic Math Toolbox一个阶跃函数 Fw=fourier(f); subplot(211); ezplot(f); subplot(212); w=(-2:.01:2)*pi; Fw1=subs(Fw, w); %将Fw中在符号变量w用数值来取代 Plot(w,abs(Fw1);grid on 信号的波形及其幅频特性曲线如下图4.2所示。 图4.2信号的波形及其幅频特性曲线图 思考:改变单边指数信号的的大小,观察的变化对频谱的影响? 2、利用ifourer计算常见信号的傅立叶逆变换 (1) 已知,求信号的逆傅立叶变换。 syms w Fw=1/(1+(w^2)); ft=ifourier(Fw,t) 结果如下: ft =1/2*exp(-t)*Heaviside(t)+1/2*exp(t)*Heaviside(-t) 其中Heaviside(t)是阶跃函数。 (2) 已知,求信号的逆傅立叶变换。 syms t w Fw=heaviside(w+10)-heaviside(w-10); ft=ifourier(Fw,t); 结果如下: ft =1/t*sin(10*t)/pi 3、在MATLAB 中验证傅立叶变换的性质 (1) 傅立叶变换的时移特性 分别绘出信号与信号的频谱图,并观察信号时移对信号频谱的影响。 MATLAB程序: %验证傅立叶变换的时移性质 clf; syms t ft=1/2*exp(-2*t)*heaviside(t); subplot(221) ezplot(ft,[-0.5 2]);grid;xlabel('t'); title('信号f(t)的波形'); ft1=1/2*exp(-2*(t-0.2))*heaviside(t-0.2); subplot(222) ezplot(ft1,[-0.5 2]);grid;xlabel('t'); title('信号f(t-0.2)的波形'); w=(-4:0.01:4)*pi; Fw=fourier(ft); subplot(223) plot(w,abs(subs(Fw)));grid; xlabel('\omega'); title('信号f(t)的幅度频谱'); w=(-4:0.01:4)*pi; Fw1=fourier(ft1); subplot(224) plot(w,abs(subs(Fw1)));grid; xlabel('\omega'); title('信号f(t-0.2)的幅度频谱'); 傅立叶变换的时移特性如下图4.3所示。 图4.3 傅立叶变换的时移特性 (2) 傅立叶变换的频移特性 信号为门函数,试绘出信号频谱图,并与原信号频谱图进行比较。 MATLAB程序: %验证傅立叶变换的频移性质 clear clf; ft=inline('stepfun(t,-1)-stepfun(t,1)'); % stepfun函数可以用heaviside 函数代替 t=-3:0.01:3; subplot(221) plot(t,ft(t));grid;xlabel('t'); title('信号f(t)的波形'); axis([-3 3 -1.5 1.5]); w0=10; ft1=ft(t).*cos(w0*t); subplot(222) plot(t,ft1);grid; xlabel('t'); title(['信号f(t)*cos(' num2str(w0) 't)的波形']); axis([-3 3 -1.5 1.5]); syms t; f=heaviside(t+1)-heaviside(t-1); w=(-6:0.01:6)*pi; Fw=fourier(f); subplot(223) plot(w,abs(subs(Fw)));grid; xlabel('\omega'); title('信号f(t)的频谱'); f1=f.*cos(w0*t); w=(-6:0.01:6)*pi; Fw1=fourier(f1); subplot(224) plot(w,abs(subs(Fw1)));grid; xlabel('\omega'); title(['信号f(t)*cos(' num2str(w0) 't)的频谱']); 傅立叶变换的频移特性如下图4.4所示。 图4.4傅立叶变换的频移特性 (2) 傅立叶变换的尺度变换性质 设信号为门函数,试绘出信号及的频谱图,并与原信号频谱图进行比较。 %验证傅立叶变换的尺度变换性质 clear clf; ft=inline('stepfun(t,-1)-stepfun(t,1)'); % stepfun函数可以用heaviside 函数代替 t=-3:0.01:3; subplot(321) plot(t,ft(t));grid;xlabel('t'); title('信号f(t)的波形'); axis([-3 3 -1.5 1.5]); a1=1/2; % 对信号时域进行扩展 ft1=ft(a1*t); subplot(323) plot(t,ft1);grid; xlabel('t'); title(['信号f(t/' num2str(1/a1) ')的波形']); axis([-3 3 -1.5 1.5]); a2=2; % 对信号时域进行压缩 ft2=ft(a2*t); subplot(325) plot(t,ft2);grid; xlabel('t'); title(['信号f(' num2str(a2) 't)的波形']); axis([-3 3 -1.5 1.5]); % 求出信号f(t)的频谱 syms t; f=heaviside(t+1)-heaviside(t-1); w=(-6:0.01:6)*pi; Fw=fourier(f); subplot(322) plot(w/2/pi,abs(subs(Fw)));grid; xlabel('\omega'); title(['信号f(t)的频谱']); syms t; f=heaviside(t*a1+1)-heaviside(t*a1-1); w=(-6:0.01:6)*pi; Fw=fourier(f); subplot(324) plot(w/pi/2,abs(subs(Fw)));grid; xlabel('\omega'); title(['信号f(t/' num2str(1/a1) ')的频谱']); syms t; f=heaviside(t*a2+1)-heaviside(t*a2-1); w=(-6:0.01:6)*pi; Fw=fourier(f); subplot(326) plot(w/2/pi,abs(subs(Fw)));grid; xlabel('\omega'); title(['信号f(' num2str(a2) 't)的频谱']); 傅立叶变换的频移特性如下图4.5所示。 图4.5 傅立叶变换的频尺度变换特性 3、 傅立叶变换数值计算* 已知门函数,试采用数值计算方法确定信号的傅立叶变换。 MATLAB程序: %利用数值计算方法来计算连续信号的傅立叶变换 clear tou=0.1; f=@(t)(stepfun(t,0.1)-stepfun(t,0.1+tou)); % 定义时域信号f(t) %f=inline(stepfun(t,0.1)-stepfun(t,0.1+tou)); % inline 函数中不能带有其它参数 Ts=tou/20; % Ts 抽样时间间隔 Ws=2*pi/Ts; % 抽样信号频谱的周期 t=0:Ts:2; % 对信号f(t) 在时域进行抽样 N=length(t); % 总抽样点数 n=0:N-1; k=n; w=k*Ws/N; % 对信号F(w)进行抽样 Fw=Ts*f(n*Ts)*exp(-j*2*pi/N*n'*k);% 计算F(w)各个频率采样点上的频谱 subplot(221) % 绘出信号f(t)的波形 plot(t,f(t));xlabel('t');grid; axis([0 ,1.5 -1/2 2]);title('连续信号f(t)'); subplot(222) Fw1=tou*sinc(w*tou/2/pi); plot(w/2/pi,abs(Fw1));grid; % 理论计算信号f(t)的频谱 xlabel('Hz');title('连续信号的频谱F(w)'); f1=f(t); % 信号f(t)的抽样信号 subplot(223) stem(t,f1);xlabel('t');grid; xlabel('t');title(['离散信号f(t)|_{t=nTs} (Ts=' num2str(Ts) ')']); axis([0 ,1.5 -1/2 2]); subplot(224) plot(w/2/pi,abs(Fw));grid; xlabel('Hz');title(['抽样信号的频谱F_s(w)']); 信号的傅立叶变换如下图所示: 图4.6 信号的傅立叶变换 4、 频域抽样定理的验证* 由频域抽样定理知,若信号是时限信号,它集中在的时间区间内,则信号的频谱可以用等间隔的抽样值惟一的表示,条件是频域抽样间隔必须不大于。 以三角脉冲信号为例,利用MATLAB软件编程来观察该信号的频谱经抽样后得到的频域抽样信号及其对应的时域信号,并通过对频域抽样间隔的调整,观察临界抽样、过抽样、欠抽样频谱混叠的情况。 已知三角脉冲信号为: 程序中设定参数,则。 clear clf; E=1; tou=1; a=3; f1=1.25; %频域采样间隔 T1=1/f1; f=@(t)((2*E/tou*(t+tou/2)).*(stepfun(t,-tou/2)-stepfun(t,0))+... (2*E/tou*(-t+tou/2)).*(stepfun(t,0)-stepfun(t,tou/2))); Fw=@(w)(E*tou/2*sinc(w*tou/4/pi).^2); Ts=0.01; t=-2:Ts:2; w=(-a/tou:0.1:a/tou)*4*pi; subplot(221) plot(t,f(t));grid;xlabel('t'); title('三角脉冲信号f(t)'); subplot(222) plot(w,abs(Fw(w)));grid;xlabel('\omega'); axis([-a/tou*4*pi a/tou*4*pi 0 E*tou/2]); title('三角脉冲信号的频谱F(\omega)'); wk1=(0:f1:4*a/tou)*2*pi; wk=[-fliplr(wk1) wk1(2:end)]; ft1=Fw(wk)*exp(j*wk'*t)/T1; w=(-4:f1/8:4)*a*pi; subplot(223) plot(t,abs(ft1));grid;xlabel('t'); axis([-2 2 0 1]); title('频域抽样信号对应的时域信号f_1(t)'); subplot(224) plot(w,abs(Fw(w)),'--');hold on;grid;xlabel('\omega'); axis([-a/tou*4*pi a/tou*4*pi 0 E*tou/2]); stem(wk,abs(Fw(wk)),'r*'); title(['频域抽样信号F_1(\omega)' ]); 以下程序把频谱图改成了横坐标以频率为单位 clf; E=1; tou=1; a=3; f1=0.5; %频域采样间隔 T1=1/f1; f=@(t)((2*E/tou*(t+tou/2)).*(stepfun(t,-tou/2)-stepfun(t,0))+... (2*E/tou*(-t+tou/2)).*(stepfun(t,0)-stepfun(t,tou/2))); Fw=@(w)(E*tou/2*sinc(w*tou/4/pi).^2); Ts=0.01; t=-2:Ts:2; w=(-a/tou:0.01:a/tou)*4*pi; subplot(221) plot(t,f(t));grid;xlabel('t'); title('三角脉冲信号f(t)'); subplot(222) plot(w/2/pi,abs(Fw(w)));grid;xlabel('f/Hz'); axis([-a/tou*2 a/tou*2 0 E*tou/2]); title('三角脉冲信号的频谱F(\omega)'); wk1=(0:f1:4*a/tou)*2*pi; wk=[-fliplr(wk1) wk1(2:end)]; ft1=Fw(wk)*exp(j*wk'*t)/T1; w=(-4:f1/8:4)*a*pi; subplot(223) plot(t,abs(ft1));grid;xlabel('t'); axis([-2 2 0 1]); title('频域抽样信号对应的时域信号f_1(t)'); subplot(224) plot(w/2/pi,abs(Fw(w)),'--');hold on;grid;xlabel('f/Hz'); axis([-a/tou*2 a/tou*2 0 E*tou/2]); stem(wk/2/pi,abs(Fw(wk)),'r*'); title(['频域抽样信号F_1(\omega)' ]);
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服