实验四连续时间傅里叶变换及系统的频域分析Word格式.docx
《实验四连续时间傅里叶变换及系统的频域分析Word格式.docx》由会员分享,可在线阅读,更多相关《实验四连续时间傅里叶变换及系统的频域分析Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
它是符号函数f的fourier变换默认返回是关于w的函数。
F=fourier(f,v):
它返回函数F是关于符号对象v的函数,而不是默认的w,即
Fourier逆变换的调用格式
f=ifourier(F):
它是符号函数F的fourier逆变换,默认的独立变量为w,默认返回是关于x的函数。
f=ifourier(f,u):
它的返回函数f是u的函数,而不是默认的x.
注意:
在调用函数fourier()及ifourier()之前,要用syms命令对所用到的变量(如t,u,v,w)进行说明,即将这些变量说明成符号变量。
例4-1求的傅立叶变换
解:
可用MATLAB解决上述问题:
symst
Fw=fourier(sym(‘exp(-2*abs(t))’))
例4-2求的逆变换f(t)
解:
可用MATLAB解决上述问题
symstw
ft=ifourier(1/(1+w^2),t)
2.连续时间信号的频谱图
例4-3求调制信号的频谱,式中
MATLAB程序如下所示
ft=sym('
4*cos(2*pi*6*t)*(Heaviside(t+1/4)-Heaviside(t-1/4))'
);
Fw=simplify(fourier(ft))
subplot(121)
ezplot(ft,[-0.50.5]),gridon
subplot(122)
ezplot(abs(Fw),[-24*pi24*pi]),grid
用MATLAB符号算法求傅里叶变换有一定局限,当信号不能用解析式表达时,会提示出错,这时用MATLAB的数值计算也可以求连续信号的傅里叶变换,计算原理是
当足够小时,近似计算可满足要求。
若信号是时限的,或当时间大于某个给定值时,信号已衰减的很厉害,可以近似地看成时限信号时,n的取值就是有限的,设为N,有
是频率取样点
时间信号取样间隔应小于奈奎斯特取样时间间隔,若不是带限信号可根据计算精度要求确定一个频率W0为信号的带宽。
例4-4用数值计算法求信号的傅里叶变换
解,信号频谱是,第一个过零点是,一般将此频率视为信号的带宽,若将精度提高到该值的50倍,既W0=50,据此确定取样间隔,
R=0.02;
t=-2:
R:
2;
f=Heaviside(t+1)-Heaviside(t-1);
W1=2*pi*50;
N=500;
k=0:
N;
W=k*W1/N;
F=f*exp(-j*t'
*W)*R;
F=real(F);
W=[-fliplr(W),W(2:
501)];
F=[fliplr(F),F(2:
subplot(2,1,1);
plot(t,f);
xlabel('
t'
ylabel('
f(t)'
title('
f(t)=u(t+1)-u(t-1)'
subplot(2,1,2);
plot(W,F);
w'
F(w)'
f(t)的付氏变换F(w)'
3.用MATLAB分析LTI系统的频率特性
当系统的频率响应H(jw)是jw的有理多项式时,有
MATLAB信号处理工具箱提供的freqs函数可直接计算系统的频率响应的数值解。
其调用格式如下
H=freqs(b,a,w)
其中,a和b分别是H(jw)的分母和分子多项式的系数向量,w为形如w1:
p:
w2的向量,定义系统频率响应的频率范围,w1为频率起始值,w2为频率终止值,p为频率取样间隔。
H返回w所定义的频率点上,系统频率响应的样值。
例如,运行如下命令,计算0~2pi频率范围内以间隔0.5取样的系统频率响应的样值
a=[121];
b=[01];
h=freqs(b,a,0:
0.5:
2*pi)
例4-5三阶归一化的butterworth低通滤波器的频率响应为
试画出该系统的幅度响应和相位响应。
解其MATLAB程序及响应的波形如下
w=0:
0.025:
5;
b=[1];
a=[1,2,2,1];
%阶数有高到低
H=freqs(b,a,w);
plot(w,abs(H));
grid;
\omega(rad/s)'
|H(j\omega)|'
H(jw)的幅频特性'
plot(w,angle(H));
\phi(\omega)'
H(jw)的相频特性'
4.用MATLAB分析LTI系统的输出响应
例4-6已知一RC电路如图所示系统的输入电压为f(t),输出信号为电阻两端的电压y(t).当RC=0.04,f(t)=cos5t+cos100t,试求该系统的响应y(t)
解由图可知,该电路为一个微分电路,其频率响应为
由此可求出余弦信号通过LTI系统的响应为
计算该系统响应的MATLAB程序及响应波形如下
RC=0.04;
t=linspace(-2,2,1024);
w1=5;
w2=100;
H1=j*w1/(j*w1+1/RC);
H2=j*w2/(j*w2+1/RC);
f=cos(5*t)+cos(100*t);
y=abs(H1)*cos(w1*t+angle(H1))+abs(H2)*cos(w2*t+angle(H2));
Time(s)'
plot(t,y);
y(t)'
三、上机实验内容
1.验证实验原理中所述的相关程序;
2.分别用MALTAB计算单位阶跃信号、矩形宽度为2的脉冲信号、cos(2pi*t)的傅里叶变换,并画出其幅度谱和相位谱。
3.设,试用MATLAB画出该系统的幅频特性和相频特性,并分析系统具有什么滤波特性。
(1)单位阶跃信号的傅立叶变换
clc
clearall
closeall
fs=100;
N=1024;
n=0:
N-1;
t=-10:
0.01:
10;
x=heaviside(t);
y=fftshift(fft(x,N));
f=n*fs/N-fs/2;
subplot311;
plot(t,x);
axis([-101002]);
时间/s'
振幅'
subplot312;
plot(f,abs(y));
频率/Hz'
axis([-4040030]);
subplot313;
plot(f,angle(y));
相位'
(2)矩形宽度为2的脉冲信号的傅里叶变换
N=2048;
x=heaviside(t+1)-heaviside(t-1);
axis([-10100200]);
axis([-55-55]);
(3)cos(2pi*t)的傅里叶变换
fs=10;
t=n/fs;
x=cos(2*pi*t);
axis([02-11]);
clearall
a=[0.08,0.4,1];
该系统为带宽为5Hz的低通滤波器。
实验总结
通过此次实验我已经能充分理解并掌握了连续时间的傅立叶变换,对于一般的傅里叶计算可以使用fourier(x)来进行计算以及一些满足狄里克莱条件的函数的成图。
在实验中,对于矩形脉冲函数是可以使用fourier函数成图,但是对于cosx和单位阶跃函数是无法成图的,因为由于fourier得到为有关狄拉克函数的函数,而用ezplot进行画图时,其x在[-2*pi,2*pi]区间划分的数据没有等于1或-1得,所以得到的y数据带入求得的函数中其值全为0,故而为一值为0的直线,从而具有局限性。
但是对于fft(x,N)函数来说就不存在这样的问题,对于其中的采样频率只要满足奈奎斯特抽样定理就可以了,如果所成的图像还是出现失真的情况,多半是采样数N太少。
置于fft函数所成的图像不能关于y轴对称是因为fft只存在正频率,如果想要获得关于y轴对称的函数就要再进行fftshift变换。
通过大量的XX和自学已经让我对信号的频域转化有了更加深入的理解和认识。