
实验性质:提高性 实验级别:必做
开课单位:机械电子工程学院 学 时:2
一、实验目的
1、掌握连续时间信号的傅里叶变换和傅里叶逆变换的实现方法。
2、掌握傅里叶变换的数值计算方法和绘制信号频谱的方法。
二、实验设备
计算机,MATLAB软件
三、实验原理
1、 连续时间LTI系统的频率响应
所谓频率特性,也称为频率响应特性,简称频率响应(Frequency response),是指系统在正弦信号激励下的稳态响应随频率变化的情况,包括响应的幅度随频率的变化情况和响应的相位随频率的变化情况两个方面。
图1中x(t)、y(t)分别为系统的时域激励信号和响应信号,h(t)是系统的单位冲激响应,它们三者之间的关系为:,由傅里叶变换的时域卷积定理可得到:
(1)
或者: (2)
为系统的频域数学模型,它实际上就是系统的单位冲激响应h(t)的傅里叶变换。即
(3)
由于H(j)实际上是系统单位冲激响应h(t)的傅里叶变换,如果h(t)是收敛的,或者说是绝对可积(Absolutly integrabel)的话,那么H(j)一定存在,而且H(j)通常是复数,因此,也可以表示成复数的不同表达形式。在研究系统的频率响应时,更多的是把它表示成极坐标形式:
(4)
上式中,称为幅度频率响应(Magnitude response),反映信号经过系统之后,信号各频率分量的幅度发生变化的情况,称为相位特性(Phase response),反映信号经过系统后,信号各频率分量在相位上发生变换的情况。和都是频率的函数。
对于一个系统,其频率响应为H(j),其幅度响应和相位响应分别为和,如果作用于系统的信号为,则其响应信号为
2、用MATLAB计算系统频率响应
在本实验中,表示系统的方法仍然是用频响函数分子和分母多项式系数行向量来表示。实验中用到的MATLAB函数如下:
[H,w] = freqs(b,a):b,a分别为连续时间LTI系统的微分方程右边的和左边的系数向量(Coefficients vector),返回的频率响应在各频率点的样点值(复数)存放在H中,系统默认的样点数目为200点;
计算频率响应的函数freqs()的另一种形式是:
H = freqs(b,a,w):在指定的频率范围内计算系统的频率响应特性。在使用这种形式的freqs/freqz函数时,要在前面先指定频率变量w的范围。
例如在语句H = freqs(b,a,w)之前加上语句:w = 0:2*pi/256:2*pi。
Hm = abs(H):求模数,即进行运算,求得系统的幅度频率响应,返回值存于Hm之中。
real(H):求H的实部;
imag(H):求H的虚部;
phi = angle(H):求相位频率响应特性;
tao = grpdelay(b,a,w):计算系统的相位频率响应所对应的群延时。
下面举例说明如何利用上述函数计算并绘制系统频率响应特性曲线的编程方法。
假设给定一个连续时间LTI系统,下面的微分方程描述其输入输出之间的关系
编写的MATLAB范例程序,绘制系统的幅度响应特性、相位响应特性、频率响应的实部和频率响应的虚部。程序如下:
% This Program is used to compute and draw the plots of the frequency response
% of a continuous-time system
b = [1]; % The coefficient vector of the right side of the differential equation
a = [1 3 2]; % The coefficient vector of the left side of the differential equation
[H,w] = freqs(b,a); % Compute the frequency response H
Hm = abs(H); % Compute the magnitude response Hm
phai = angle(H); % Compute the phase response phai
Hr = real(H); % Compute the real part of the frequency response
Hi = imag(H); % Compute the imaginary part of the frequency response
subplot(2 2 1)
plot(w,Hm), grid on,
title('Magnitude response'), xlabel('Frequency in rad/sec')
subplot(2 2 3)
plot(w,phai), grid on,
title('Phase response'), xlabel('Frequency in rad/sec')
subplot(2 2 2)
plot(w,Hr), grid on, title('Real part of frequency response'),
xlabel('Frequency in rad/sec')
subplot( 2 2 4)
plot(w,Hi), grid on, title('Imaginary part of frequency response'),
xlabel('Frequency in rad/sec')
3、信号的傅里叶变换举例:
设f(t)=ε(t+1)-ε(t-1), 试用MATLAB编程画出f1(t)=f(t)e-j20t的频谱F1(jω)及f2(t)=f(t)ej20t的频谱F2(jω), 并将它们与f(t)的频谱F(jω)进行比较。
[MATLAB程序]
R=0.02; t=-2: R: 2;
f=(t>=-1)-(t>=1);
f1=f.*exp(-j*20*t);
f2=f.*exp(j*20*t);
W1=2*pi*5;
N=500; k=-N: N; W=k*W1/N;
F1=f1*exp(-j*t′*W)*R;
%求f1(t)的傅里叶变换F1(jw)
F2=f2*exp(-j*t′*W)*R;
%求f2(t)的傅里叶变换F2(jw)
F1=real(F1);
F2=real(F2);
subplot(1, 2, 1)
plot(W, F1)
xlabel(′w′)
ylabel(′F1(jw)′)
title(′F(jw)左移到w=20处的频谱F1(jw)′)
subplot(1, 2, 2)
plot(W, F2)
xlabel(′w′)
ylabel(′F2(jw)′)
title(′F(jw)右移到w=20处的频谱F2(jw)′)
四、预习要求
实验前,必须首先阅读本实验原理,了解所给的MATLAB相关函数,读懂所给出的全部范例程序。实验开始时,先在计算机上运行这些范例程序,观察所得到的信号的波形图。并结合范例程序所完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。
实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括分析实验原理、实验程序的设计等事项。
五、实验内容
1、 设f(t)=ε(t+1)-ε(t-1), f1(t)=f(t)cos(10πt), 试用MATLAB画出f(t)和f1(t)的时域波形及频谱, 并观察傅里叶变换的频移特性。
2、已知一个连续时间LTI系统的微分方程为:
求该系统的频率响应,并用MATLAB会出其幅频特性和相频特性图。
3、方波的合成实验。用5项谐波合成一个频率为50Hz,幅值为3的方波,写出matlab程序,给出实验结果。(参考课本p123图4.2-3 方波的组成)
六、实验报告要求
1、在matlab中输入程序,验证实验结果。
2、对于程序设计实验,要求通过对验证实验的练习,自行编制完整的实验程序实现对信号的模拟,并得出实验结果。
3、在实验报告中写出完整的自编程序,并给出实验结果。
