MATLAB实验二傅里叶分析及应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二傅里叶分析及应用
、实验目的
(一)掌握使用Matlab 进行周期信号傅里叶级数展开和频谱分析
1、学会使用Matlab 分析傅里叶级数展开,深入理解傅里叶级数的物理含义
2、学会使用Matlab 分析周期信号的频谱特性
二)掌握使用Matlab 求解信号的傅里叶变换并分析傅里叶变换的性质
1、学会运用Matlab 求连续时间信号的傅里叶变换
2、学会运用Matlab 求连续时间信号的频谱图
3、学会运用Matlab 分析连续时间信号的傅里叶变换的性质
三)掌握使用Matlab 完成信号抽样并验证抽样定理
1、学会运用MATLAB 完成信号抽样以及对抽样信号的频谱进行分析
2、学会运用MATLAB 改变抽样时间间隔,观察抽样后信号的频谱变化
3、学会运用MATLAB 对抽样后的信号进行重建
、实验条件
Win7系统,MATLAB R2015a
三、实验内容
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));
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' );
符号运算法
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); 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 :
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' ) 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 o n ; title( 'tri FT' )
Code : syms t ; fw =
sym( '10/(3+i*w)-4/(5+i* w)' );
ft = ifourier(fw, t); ezplot(ft), grid on;
3、已知门函数自身卷积为三角波信号,试用 Matlab
命令验证 FT 的时域卷积定理 (20 exp(-3 t) heaviside(t) - 8 exp(-5 t) heaviside(t))/( 2 )
4、设有两个不同频率的余弦信号,频率分别为 f1 100Hz , f2 3800Hz ;现在使用抽样频率 f s 4000Hz 对这三个信号进行抽样,使用MATLAB命令画出各抽样信号的波形和频谱,并分析其频率混叠现象
Cosine curve
Time/s -3
x 10
4
3
2
1
10
-3
x 10 Sample freq spectrum
-3
x 10 Cos freq spectrum
-2
Sample signal
Time/s -3
x 10
w
f s
f1 =
100Hz
将代码中f1 设为3800
即可↓
Cosine curve
x 10
)
4
0-2
-3
x 10 Cos freq spectrum
Sample signal
x 10
x 10
x 10
f2 =
3800Hz
5、结合抽样定理,利用 MATLAB 编程实现 Sa(t) 信号经过冲激脉冲抽样后得到的抽样
信号 f s t 及其频谱[建议:冲激脉冲的周期分别取 4*pi/3 s 、pi s 、2*pi/3 s
三种情况对比 ],
并利用 f s t 构建Sa(t )信号
** 改动第一行代码即可)
t2 = -5: Ts: 5; fst = sinc(t2); subplot(2, 2, 3) plot(t1, ft, ':' ), hold on stem(t2, fst), grid on axis([-6 6 -0.5 1.2]) title( 'Sampling signal' ) Fsw = Ts*fst*exp(-1i*t2'*W); subplot(2, 2, 4) plot(W, abs(Fsw)), grid on axis([-50 50 -0.05 1.5]) title( 'spectrum of Sampling signal' )
冲激脉冲的周期
= 4*pi/3 s
Sa(t)
Sa(t) freq spectrum
Sampling signal spectrum of Sampling signal
Ts = 4/3; % impulse period = 4*pi/3 t1 = -5:0.01:5;
ft = sinc(t1); subplot(2, 2, 1) plot(t1, ft), grid
on
axis([-6 6 -0.5 1.2]) title( 'Sa(t)' ) N = 500; k = -N: N; W = pi*k / (N*0.01);
Fw = 0.01*ft*exp(-1i*t1'*W); subplot(2, 2, 2)
plot(W, abs(Fw)), grid on axis([-30 30
-0.05 1.5])
title( 'Sa(t) freq spectrum'
)