连续时间傅立叶变换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信号与系统实验报告
实验四 连续时间傅立叶变换
§4.1连续时间傅立叶变换的数字近似 1.求t e t x 2)(-=CTFT 的解析表达式。可将)(t x 看作)()()(t g t g t x -+=,)()(2t u e t g t -=。 g=sym('exp(-2*t)*Heaviside(t)');
g2=subs(g,'-t','t');
x=g+g2;
fx=fourier(x);
2.创建一个向量,它包含了在区间t=[0:tau:T-tau] 上(其中01.0=τ和10=T ),信号)5()(-=t x t y 的样本。
clc;
t=0:0.01:10-0.01;
y=exp(-2*(t-5)).*(0.5+0.5*sign(t-5))+exp(2*(t-5)).*(0.5+0.5*sign(-t+5));
plot(t,y);
3.键入y=fftshift(tau*fft(y))计算样本)(k j Y ω。因为)(t x 对于5>t 基本上为零,就能近似用τT N =个样本分析中计算出信号)5()(-=t x t y 的CTFT 。
clc;
t=0:0.01:10-0.01;
y=exp(-2*(t-5)).*(0.5+0.5*sign(t-5))+exp(2*(t-5)).*(0.5+0.5*sign(-t+5));
y=fftshift(0.01.*fft(y));
y=abs(y);
plot(t,y);
axis([4,6,-0.1,1.2]);
4.构造一个频率样本向量w ,它按照
>> w=-(pi/tau)+(0:N-1)*(2*pi/(N*tau));
与存在向量Y 中的值相对应。
5.因为)(t y 是通过时移与)(t x 相联系的,所以CTFT )(ωj X 就以线性相移项ω5j e 与)(ωj Y 相联系。利用频率向量w 直接由Y 计算)(ωj X 的样本,并将结果存入x 中。 clc;
t=0:0.01:10-0.01;
tau=0.01;
N=10/0.01;
y=exp(-2*(t-5)).*(0.5+0.5*sign(t-5))+exp(2*(t-5)).*(0.5+0.5*sign( -t+5));
y=fftshift(0.01.*fft(y));
w=-(pi/tau)+(0:N-1)*(2*pi/(N*tau));
x=exp(j*5*w).*y;
6.利用abs和angle画出在w标定的频率范围内X的幅值和相位。对于相同的ω值,也画出在1中所导出的)
X解析式表达式的幅值和相位。CTFT的近似值
(ωj
与解析导得的相符吗?若想在一张对数坐标上画出幅值,可以用semilogy,这是会注意到,在较高的频率上近似不如在较低的频率上好。因为用了样本)
(τn
x近似)(t x,所以在时间段τ长度内,信号变化不大的那些信号的频率分量近似程度会更好一些。
clc;
tau=0.01;
T=10;
t=0:tau:T-tau;
N=T/tau;
y=exp(-2*(t-5)).*(0.5+0.5*sign(t-5))+exp(2*(t-5)).*(0.5+0.5*sign( -t+5));
y=fftshift(0.01.*fft(y));
w=-(pi/tau)+(0:N-1)*(2*pi/(N*tau));
x=exp(i*5*w).*y;
xp=abs(x);
xf=angle(x);
subplot(211)
plot(t,xp);
subplot(212)
plot(t,xf);
7.利用abs和angle画出Y的幅值和相位,它们与X的图比较后怎样?能估计到这一结果吗?
clc
syms s w;
g=sym('exp(-2*s)*Heaviside(s)');
g2=subs(g,'-s','s');
y=g+g2;
fw=fourier(y,s,w);
ff=atan(imag(fw)/real(fw));
fp=abs(fw);
tau=0.01;
T=10;
t=0:tau:T-tau;
N=T/tau;
y=exp(-2*(t-5)).*(0.5+0.5*sign(t-5))+exp(2*(t-5)).*(0.5+0.5*sign(-t+5));
y=fftshift(0.01.*fft(y));
w=-(pi/tau)+(0:N-1)*(2*pi/(N*tau));
x=exp(i*5*w).*y;
xp=abs(x);
xf=angle(x);
subplot(211)
hold on
plot(t,xp);
ezplot(fp,-10:10)
hold off
subplot(212)
hold on
plot(t,xf);
ezplot(ff,-10:10)
hold off
§4.2连续时间傅立叶变换性质
1.键入Y=fftshift(fft(y)),计算向量Y 的傅立叶变换。键入
>> w=[-pi:2*pi/N:pi-pi/N]*fs;
将对应的频率值存入向量w 中。利用w 和Y 在区间s s f f πωπ<≤-内画出该连续时间傅立叶变换的幅值。
函数ifft 是fft 的逆运算。对于偶数长度的向量,fftshift 就是它本身的逆。对于向量Y ,N=8192,这个逆傅立叶变换能用键入以下命令而求得
>> y=ifft(fftshift(Y));
>> y=real(y);
由于原时域信号已知是实的,所以这里用了函数real 。然而,在fft 和ifft 中的数值舍入误差都会在y 中引入一个很小的非零虚部分量。一般说来,逆CTFT 不必是一个实信号,而虚部可以包含有显著的能量。当已知所得信号一定是实信号时,并且已经证实所除掉的虚部分量是没有意义的,real 函数才能用于ifft 的输出上
load splat
y=y(1:8192);
N=8192;
fs=8192;