实验二傅里叶分析及应用.docx
- 文档编号:9264877
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:20
- 大小:525.42KB
实验二傅里叶分析及应用.docx
《实验二傅里叶分析及应用.docx》由会员分享,可在线阅读,更多相关《实验二傅里叶分析及应用.docx(20页珍藏版)》请在冰豆网上搜索。
实验二傅里叶分析及应用
实验二傅里叶分析及应用
一、实验目的
(一)掌握使用Matlab进行周期信号傅里叶级数展开和频谱分析
1、学会使用Matlab分析傅里叶级数展开,深入理解傅里叶级数的物理含义
2、学会使用Matlab分析周期信号的频谱特性
(二)掌握使用Matlab求解信号的傅里叶变换并分析傅里叶变换的性质
1、学会运用Matlab求连续时间信号的傅里叶变换
2、学会运用Matlab求连续时间信号的频谱图
3、学会运用Matlab分析连续时间信号的傅里叶变换的性质
(三)掌握使用Matlab完成信号抽样并验证抽样定理
1、学会运用MATLAB完成信号抽样以及对抽样信号的频谱进行分析
2、学会运用MATLAB改变抽样时间间隔,观察抽样后信号的频谱变化
3、学会运用MATLAB对抽样后的信号进行重建
二、实验条件
装有MATLAB的电脑
三、实验内容
1、分别利用Matlab符号运算求解法和数值计算法求下图所示信号的FT,并画出其频谱图(包括幅度谱和相位谱)[注:
图中时间单位为:
毫秒(ms)]。
符号运算法:
ft=sym('(t+2)*heaviside(t+2)-(t+2)*heaviside(t+1)+heaviside(t+1)-heaviside(t-1)+(2-t)*heaviside(t-1)-(2-t)*heaviside(t-2)');
FW=simplify(fourier(ft))
subplot(211)
ezplot(abs(FW)),gridon
title('幅度谱')
phase=atan(imag(FW)/real(FW));
subplot(212)
ezplot(phase),gridon
title('相位谱')
数值计算法:
dt=0.01;
t=-4:
dt:
4;
ft=(t+2).*uCT(t+2)-(t+2).*uCT(t+1)+uCT(t+1)-uCT(t-1)+(2-t).*uCT(t-1)-(2-t).*uCT(t-2);
N=2000;
k=-N:
N;
W=pi*k/(N*dt);
F=dt*ft*exp(-1i*t'*W);
F=abs(F);
subplot(211)
plot(W,F),gridon
axis([-pipi-13])
xlabel('w'),ylabel('F(w)')
title('幅度谱')
phase=atan(imag(FW)/real(FW));
subplot(212)
ezplot(phase),gridon
title('相位谱')
2、试用Matlab命令求
的傅里叶反变换,并绘出其时域信号图。
代码:
t=sym('t');
Fw=sym('10/(3+i*w)-4/(5+i*w)');
ft=ifourier(Fw,t);
ezplot(abs(ft)),gridon
axis([03-17]);
xlabel('t'),ylabel('F(t)')
3、已知门函数自身卷积为三角波信号,试用Matlab命令验证FT的时域卷积定理。
代码:
f1=sym('heaviside(t+1)-heaviside(t-1)');
F=fourier(f1);
F=simplify(F)*simplify(F);
subplot(2,1,1);
ezplot(F);
yt=sym('(heaviside(t+2)-heaviside(t))*(t+2)+(heaviside(t)-heaviside(t-2))*(-t+2)');
F2=fourier(yt);
F2=simplify(F2);
subplot(2,1,2);
ezplot(F2);
从图中可以很明显的看出时域信号先卷积在进行傅里叶变换与时域信号先进行傅里叶变换后再相乘结果一致,因此验证卷积定理正确。
4、设有两个不同频率的余弦信号,频率分别为
,
;现在使用抽样频率
对这三个信号进行抽样,使用MATLAB命令画出各抽样信号的波形和频谱,并分析其频率混叠现象[建议:
抽样信号的频谱图横坐标范围不小于-10000Hz~10000Hz或-20000*pi~20000*pirad/s]。
答:
在低抽样率时有混叠现象而高抽样率时无混叠现象。
代码:
(1)当
时的抽样函数
Ts=0.00025;
dt=0.00001;
t=-0.006:
dt:
0.006;
a=200*pi;
ft=cos(a*t);
subplot(221)
plot(t,ft),gridon
axis([-0.0060.006-1.61.1]);
xlabel('ʱ¼ä'),ylabel('f(t)')
title('余弦函数图像')
N=5000;
k=-N:
N;
w=2*pi*k/((2*N+1)*dt);
Fw=dt*ft*exp(-1i*t'*w);
subplot(222)
plot(w,abs(Fw))
gridon
axis([-100001000000.008]);
xlabel('w'),ylabel('F(w)')
title('余弦函数的频谱')
t2=-0.006:
Ts:
0.006;
fst=cos(2.*pi.*100*t2);
subplot(223)
plot(t,ft,':
'),holdon
stem(t2,fst),gridon
axis([-0.0060.006-1.51.5])
xlabel('ʱ¼ä'),ylabel('Fs(t)')
title('抽样后的信号'),holdoff
Fsw=Ts*fst*exp(-1i*t2'*w);
subplot(224)
plot(w,abs(Fsw)),gridon
axis([-100001000000.008])
xlabel('w'),ylabel('Fs(w)')
title('抽样信号的频谱')
(2)当
时的抽样函数
Ts=0.00025;
dt=0.00001;
t=-0.006:
dt:
0.006;
a=3800*pi;
ft=cos(a*t);
subplot(221)
plot(t,ft),gridon
axis([-0.0060.006-1.61.1]);
xlabel('ʱ¼ä'),ylabel('f(t)')
title('余弦函数图像')
N=5000;
k=-N:
N;
w=2*pi*k/((2*N+1)*dt);
Fw=dt*ft*exp(-1i*t'*w);
subplot(222)
plot(w,abs(Fw))
gridon
axis([-100001000000.008]);
xlabel('w'),ylabel('F(w)')
title('余弦函数的频谱')
t2=-0.006:
Ts:
0.006;
fst=cos(2.*pi.*100*t2);
subplot(223)
plot(t,ft,':
'),holdon
stem(t2,fst),gridon
axis([-0.0060.006-1.51.5])
xlabel('ʱ¼ä'),ylabel('Fs(t)')
title('抽样后的信号'),holdoff
Fsw=Ts*fst*exp(-1i*t2'*w);
subplot(224)
plot(w,abs(Fsw)),gridon
axis([-100001000000.008])
xlabel('w'),ylabel('Fs(w)')
title('抽样信号的频谱')
5、结合抽样定理,利用MATLAB编程实现
信号经过冲激脉冲抽样后得到的抽样信号
及其频谱[建议:
冲激脉冲的周期分别取4*pi/3s、pis、2*pi/3s三种情况对比],并利用
构建
信号。
(1)当冲激脉冲的周期取4*pi/3s时
代码:
wm=2;
wc=1.2*wm;
Ts=4*pi/3;
dt=0.1;
ft=sinc(t1/pi).*(uCT(t1+10)-uCT(t1-10));
N=500;
k=-N:
N;
w=2*pi*k/((2*N+1)*dt);
n=-100:
100;
nTs=n*Ts;
fst=sinc(nTs/pi).*(uCT(nTs+10)-uCT(nTs-10));
subplot(221);
plot(t1,ft,':
'),holdon
stem(nTs,fst),gridon
axis([-44-11]);
xlabel('ʱ¼ä'),ylabel('fs(t)')
title('Sa(t)抽样后的信号'),holdoff;
Fsw=Ts*fst*exp(-1i*nTs'*w);
subplot(222)
plot(w,abs(Fsw),'c'),gridon
axis([-1010-310])
xlabel('w'),ylabel('Fs(w)')
title('Sa(t)抽样信号的频谱')
t=-10:
dt:
10;
f=fst*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
subplot(223)
plot(t,f,'m'),gridon;
axis([-1010-29]);
xlabel('t'),ylabel('f(t)')
title('由f(nTs)信号重建得到Sa(t)信号')
(2)当冲激脉冲的周期取pi时
wm=2;
wc=1.2*wm;
Ts=pi;
dt=0.1;
ft=sinc(t1/pi).*(uCT(t1+10)-uCT(t1-10));
N=500;
k=-N:
N;
w=2*pi*k/((2*N+1)*dt);
n=-100:
100;
nTs=n*Ts;
fst=sinc(nTs/pi).*(uCT(nTs+10)-uCT(nTs-10));
subplot(221);
plot(t1,ft,':
'),holdon
stem(nTs,fst),gridon
axis([-44-11]);
xlabel('ʱ¼ä'),ylabel('fs(t)')
title('Sa(t)抽样后的信号'),holdoff;
Fsw=Ts*fst*exp(-1i*nTs'*w);
subplot(222)
plot(w,abs(Fsw),'c'),gridon
axis([-1010-310])
xlabel('w'),ylabel('Fs(w)')
title('Sa(t)抽样信号的频谱')
t=-10:
dt:
10;
f=fst*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
subplot(223)
plot(t,f,'m'),gridon;
axis([-1010-29]);
xlabel('t'),ylabel('f(t)')
title('由f(nTs)信号重建得到Sa(t)信号')
(3)当冲激脉冲的周期取2*pi/3时
wm=2;
wc=1.2*wm;
Ts=2*pi/3;
dt=0.1;
ft=sinc(t1/pi).*(uCT(t1+10)-uCT(t1-10));
N=500;
k=-N:
N;
w=2*pi*k/((2*N+1)*dt);
n=-100:
100;
nTs=n*Ts;
fst=sinc(nTs/pi).*(uCT(nTs+10)-uCT(nTs-10));
subplot(221);
plot(t1,ft,':
'),holdon
stem(nTs,fst),gridon
axis([-44-11]);
xlabel('ʱ¼ä'),ylabel('fs(t)')
title('Sa(t)抽样后的信号'),holdoff;
Fsw=Ts*fst*exp(-1i*nTs'*w);
subplot(222)
plot(w,abs(Fsw),'c'),gridon
axis([-1010-310])
xlabel('w'),ylabel('Fs(w)')
title('Sa(t)抽样信号的频谱')
t=-10:
dt:
10;
f=fst*Ts*wc/pi*sinc((wc/pi)*(ones(length(nTs),1)*t-nTs'*ones(1,length(t))));
subplot(223)
plot(t,f,'m'),gridon;
axis([-1010-29]);
xlabel('t'),ylabel('f(t)')
title('由f(nTs)信号重建得到Sa(t)信号')
6、已知周期三角信号如下图所示[注:
图中时间单位为:
毫秒(ms)]:
(1)试求出该信号的傅里叶级数[自己求或参见课本P112或P394],利用Matlab编程实现其各次谐波[如1、3、5、13、49]的叠加,并验证其收敛性;
代码:
t=-10:
0.01:
10;
omega=pi;
y=abs(sawtooth(pi*0.5*t,0.5));
plot(t,y),gridon;
axis([-10,10,0,1.5]);
n_max=[1,3,5,13,49];
N=length(n_max);
fork=1:
N
n=1:
2:
n_max(k);
b=4./((pi*n).^2);
x=b*cos(omega*n'*t);
figure;
plot(t,y);
holdon;
x=x+1/2;
plot(t,x);
holdoff;
axis([-10,10,0,1.5]);
title(['×î´óг²¨Êý=',num2str(n_max(k))]);
end
(2)用Matlab分析该周期三角信号的频谱[三角形式或指数形式均可]。
当周期三角信号的周期(如由2ms1ms或由2ms4ms)和宽度(如2ms1ms)分别变化时,试观察分析其频谱的变化。
答:
其频谱图中间部分的幅值降低,两侧的部分幅值上升。
代码:
dt=0.01;
t=-4:
dt:
4;
ft=(t>=-1&t<0).*(t+1)+(t>0&t<=1).*(1-t);
%subplot(2,1,1)
%plot(t,ft);gridon
n=2000;
k=-n:
n;
w=pi*k/(n*dt);
f=dt*ft*exp(-i*t'*w);
f=abs(f);
%subplot(2,1,2)
plot(w,f);
axis([-202001.1]),gridon;
title('周期三角信号的周期2ms')
dt=0.01;
t=-4:
dt:
4;
ft=(t>=-0.5&t<0).*(t+1)+(t>0&t<=0.5).*(1-t);
%subplot(2,1,1)
%plot(t,ft);gridon
n=2000;
k=-n:
n;
w=pi*k/(n*dt);
f=dt*ft*exp(-1i*t'*w);
f=abs(f);
%subplot(2,1,2)
plot(w,f);
axis([-202001.1]),gridon;
title('周期三角信号的周期1ms')
四、实验结论和讨论
本次实验总体难度较大,但是数据上基本没有问题,除了在选择坐标长度时有些问题之外,总体没什么问题。
图像清晰完整,结果也比较明显。
五、实验思考
本次实验让我更加熟悉了MATLAB的基本用法和一些常用的数学计算函数,在此基础上也让我更加深入的对傅里叶变换,傅里叶级数,抽样函数,抽样定理等加深了认识,在一些细节用法的方面加深了印象。
本次实验难度比较大,但是难度大的同时收获也非常丰富。
今后,我要更加熟悉常用函数以及基本规则,争取快速又保质保量完成任务。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验二 傅里叶分析及应用 实验 傅里叶 分析 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)