实验二傅里叶分析及应用.docx
- 文档编号:6158264
- 上传时间:2023-01-04
- 格式:DOCX
- 页数:16
- 大小:377.48KB
实验二傅里叶分析及应用.docx
《实验二傅里叶分析及应用.docx》由会员分享,可在线阅读,更多相关《实验二傅里叶分析及应用.docx(16页珍藏版)》请在冰豆网上搜索。
实验二傅里叶分析及应用
实验二--傅里叶分析及应用
实验二傅里叶分析及应用
一、实验目的
(一)掌握使用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);
题。
图像清晰完整,结果也比较明显。
五、实验思考
本次实验让我更加熟悉了MATLAB的基本用法和一些常用的数学计算函数,在此基础上也让我更加深入的对傅里叶变换,傅里叶级数,抽样函数,抽样定理等加深了认识,在一些细节用法的方面加深了印象。
本次实验难度比较大,但是难度大的同时收获也非常丰富。
今后,我要更加熟悉常用函数以及基本规则,争取快速又保质保量完成任务。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 二傅里叶 分析 应用