MATLAB实验二 傅里叶分析应用
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
tri = sym('(t+2)*heaviside(t+2)-2*t*heaviside(t)+(t-2)*heaviside(t-2)'); Ftri = fourier(tri); F = simplify(Ftri); subplot(212); ezplot(abs(F), [-9, 9]), grid on; title('tri FT')
N = 5000; k = -N:N; w = 2*pi*k/((2*N+1)*dt); fw = ft*dt*exp(-1i*t1'*w); subplot(222); plot(w, abs(fw)); grid on; axis([-20000 20000 0 0.005]); xlabel('\omega'), ylabel('f(w)') title('Cos freq spectrum');
三、实验内容
1、分别利用 Matlab 符号运算求解法和数值计算法求下图所示信号的 FT,并画出其频 谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。
Code:
ft = sym(' (t+2)*(heaviside(t+2)-heavisi de(t+1))+(heaviside(t+1)-heav iside(t-1))+(2-t)*(heaviside( t-1)-heaviside(t-2))'); fw = simplify(fourier(ft));
fw = dt*ft*exp(-i*t'*w);
fw = abs(fw);
plot(w, fw), grid on;
axis([-2*pi 2*pi -1 3.5]);
数值运算法
2、试用 Matlab 命令求 F(j) 10 - 4 的傅里叶反变换,并绘出其时域信号图。 3 j 5 j
Code:
title('Sample signal'); hold off
>
fsw=ts*fst*exp(-1i*t2'*w);
> subplot(224); plot(w, abs(fsw)),
grid on
> axis([-20000 20000 0 0.006])
实验二 傅里叶分析及应用
一、实验目的
(一)掌握使用 Matlab 进行周期信号傅里叶级数展开和频谱分析 1、学会使用 Matlab 分析傅里叶级数展开,深入理解傅里叶级数的物理含义 2、学会使用 Matlab 分析周期信号的频谱特性
(二)掌握使用 Matlab 求解信号的傅里叶变换并分析傅里叶变换的性质 1、学会运用 Matlab 求连续时间信号的傅里叶变换 2、学会运用 Matlab 求连续时间信号的频谱图 3、学会运用 Matlab 分析连续时间信号的傅里叶变换的性质
(三) 掌握使用 Matlab 完成信号抽样并验证抽样定理 1、学会运用 MATLAB 完成信号抽样以及对抽样信号的频谱进行分析 2、学会运用 MATLAB 改变抽样时间间隔,观察抽样后信号的频谱变化 3、学会运用 MATLAB 对抽样后的信号进行重建
二、实验条件
Win7 系统,MATLAB R2015a
1
0
0
0Leabharlann Baidu5
1
1.5
2
2.5
t
两个单边指数脉冲的叠加 3、已知门函数自身卷积为三角波信号,试用 Matlab 命令验证 FT 的时域卷积定理。
Code:
f = sym('heaviside(t+1) - heaviside(t-1)'); fw = simplify(fourier(f)); F = fw.*fw; subplot(211); ezplot(abs(F), [-9, 9]), grid on title('FW^2')
4、设有两个不同频率的余弦信号,频率分别为 f1 100 Hz , f2 3800 Hz ;现在使用 抽样频率 fs 4000 Hz 对这三个信号进行抽样,使用 MATLAB 命令画出各抽样信号的波形
和频谱,并分析其频率混叠现象
Code: f1 = 100; % f1 = 100 hz ts = 1/4000;% sample = 4000hz dt = 0.0001; t1 = -0.007:dt:0.007; ft = cos(2*f1*pi*t1); subplot(221); plot(t1, ft), grid on; axis([-0.006 0.006 -1.5 1.5]) xlabel('Time/s'),ylabel('f(t)') title('Cosine curve');
符号运算法
Code:
dt = 0.01;
t = -2: dt: 2;
ft
=
(t+2).*(uCT(t+2)-uCT(t+1))+(u
CT(t+1)-uCT(t-1))+(2-t).*(uCT
(t-1)-uCT(t-2));
N = 2000;
k = -N: N;
w = pi * k / (N*dt);
subplot(2, 1, 1); ezplot(abs(fw)); grid on; title('amp spectrum'); phi = atan(imag(fw) / real(fw)); subplot(2, 1, 2); ezplot(phi); grid on; title('phase spectrum');
syms t; fw = sym('10/(3+i*w)-4/(5+i* w)'); ft = ifourier(fw, t); ezplot(ft), grid on;
(20 exp(-3 t) heaviside(t) - 8 exp(-5 t) heaviside(t))/(2 )
5
4
3
2
> t2 = -0.007:ts:0.007;
fst = cos(2*f1*pi*t2);
> subplot(223);plot(t1, ft, ':'),
hold on
> stem(t2, fst), grid on;
axis([-0.006 0.006 -1.5 1.5])
> xlabel('Time/s'),ylabel('fs(t)')
N = 5000; k = -N:N; w = 2*pi*k/((2*N+1)*dt); fw = ft*dt*exp(-1i*t1'*w); subplot(222); plot(w, abs(fw)); grid on; axis([-20000 20000 0 0.005]); xlabel('\omega'), ylabel('f(w)') title('Cos freq spectrum');
三、实验内容
1、分别利用 Matlab 符号运算求解法和数值计算法求下图所示信号的 FT,并画出其频 谱图(包括幅度谱和相位谱)[注:图中时间单位为:毫秒(ms)]。
Code:
ft = sym(' (t+2)*(heaviside(t+2)-heavisi de(t+1))+(heaviside(t+1)-heav iside(t-1))+(2-t)*(heaviside( t-1)-heaviside(t-2))'); fw = simplify(fourier(ft));
fw = dt*ft*exp(-i*t'*w);
fw = abs(fw);
plot(w, fw), grid on;
axis([-2*pi 2*pi -1 3.5]);
数值运算法
2、试用 Matlab 命令求 F(j) 10 - 4 的傅里叶反变换,并绘出其时域信号图。 3 j 5 j
Code:
title('Sample signal'); hold off
>
fsw=ts*fst*exp(-1i*t2'*w);
> subplot(224); plot(w, abs(fsw)),
grid on
> axis([-20000 20000 0 0.006])
实验二 傅里叶分析及应用
一、实验目的
(一)掌握使用 Matlab 进行周期信号傅里叶级数展开和频谱分析 1、学会使用 Matlab 分析傅里叶级数展开,深入理解傅里叶级数的物理含义 2、学会使用 Matlab 分析周期信号的频谱特性
(二)掌握使用 Matlab 求解信号的傅里叶变换并分析傅里叶变换的性质 1、学会运用 Matlab 求连续时间信号的傅里叶变换 2、学会运用 Matlab 求连续时间信号的频谱图 3、学会运用 Matlab 分析连续时间信号的傅里叶变换的性质
(三) 掌握使用 Matlab 完成信号抽样并验证抽样定理 1、学会运用 MATLAB 完成信号抽样以及对抽样信号的频谱进行分析 2、学会运用 MATLAB 改变抽样时间间隔,观察抽样后信号的频谱变化 3、学会运用 MATLAB 对抽样后的信号进行重建
二、实验条件
Win7 系统,MATLAB R2015a
1
0
0
0Leabharlann Baidu5
1
1.5
2
2.5
t
两个单边指数脉冲的叠加 3、已知门函数自身卷积为三角波信号,试用 Matlab 命令验证 FT 的时域卷积定理。
Code:
f = sym('heaviside(t+1) - heaviside(t-1)'); fw = simplify(fourier(f)); F = fw.*fw; subplot(211); ezplot(abs(F), [-9, 9]), grid on title('FW^2')
4、设有两个不同频率的余弦信号,频率分别为 f1 100 Hz , f2 3800 Hz ;现在使用 抽样频率 fs 4000 Hz 对这三个信号进行抽样,使用 MATLAB 命令画出各抽样信号的波形
和频谱,并分析其频率混叠现象
Code: f1 = 100; % f1 = 100 hz ts = 1/4000;% sample = 4000hz dt = 0.0001; t1 = -0.007:dt:0.007; ft = cos(2*f1*pi*t1); subplot(221); plot(t1, ft), grid on; axis([-0.006 0.006 -1.5 1.5]) xlabel('Time/s'),ylabel('f(t)') title('Cosine curve');
符号运算法
Code:
dt = 0.01;
t = -2: dt: 2;
ft
=
(t+2).*(uCT(t+2)-uCT(t+1))+(u
CT(t+1)-uCT(t-1))+(2-t).*(uCT
(t-1)-uCT(t-2));
N = 2000;
k = -N: N;
w = pi * k / (N*dt);
subplot(2, 1, 1); ezplot(abs(fw)); grid on; title('amp spectrum'); phi = atan(imag(fw) / real(fw)); subplot(2, 1, 2); ezplot(phi); grid on; title('phase spectrum');
syms t; fw = sym('10/(3+i*w)-4/(5+i* w)'); ft = ifourier(fw, t); ezplot(ft), grid on;
(20 exp(-3 t) heaviside(t) - 8 exp(-5 t) heaviside(t))/(2 )
5
4
3
2
> t2 = -0.007:ts:0.007;
fst = cos(2*f1*pi*t2);
> subplot(223);plot(t1, ft, ':'),
hold on
> stem(t2, fst), grid on;
axis([-0.006 0.006 -1.5 1.5])
> xlabel('Time/s'),ylabel('fs(t)')