MATLAB实验二傅里叶分析及应用

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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'

)

相关文档
最新文档