MATLAb连续时间傅里叶变换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
得到了工程中可以用来计算频谱的方法。
MATLAB在信号与系统课程中的应用
EE of BUPT
利用快速傅里叶变换计算频谱
MATLAB中提供了fft/ifft函数,可以方便地求出有限长信号
的频谱。具体原理在数字信号处理课程中会详细讨论。
fft实现的是DTFT的一个周期的抽样,所以,对某些频率点
的傅里叶变换,可以用下面的方法求出:
x(t )e j t求积分,可以利用矩形近似来求此积分。只要将
时间间隔Ts取得非常小,就可以利用求和来近似求积分。
X (j)
x(t )e j t d t lim x
Ts 0 n-
nTs
e T j nTs s
x t ejt
x nTs e j nTs
dt tnTTss
O Ts 2Ts3Ts nTs n 1Ts
号的傅里叶变换引出:
F x(t )δT (t)
F x(nTs )δ(t nTs )
n
Ts O Ts 2Ts 3Ts
t
xn
x(nTs ) e jnΩTs
n
令x(nTs ) x(n), ΩTs ω
1 O 1 2
F x(t )δT (t )= x(n)ejnω F xn X ejω
8.3 理想抽样信号的傅里叶变换(利用卷积定理)
连续信号 xt
抽样信号
xs t
xt X
(m m )
抽样脉冲
pt T t
T(t) (t nTs ) s ( ns )
n
n
xs (t ) x(t )T(t ) x(nTs ) (t nTs )
n
Xs F X tT t
MATLAB在信号与系统n课 程中的应用
3
n
EE of BUPT
F x(t)δT (t) x(n)e jnω DTFT x n X ejω n
x(t)
1 X
o
t
p(t)
o
m
m
P
(1) E
s
o TS xS(t)
t 相 乘
s 卷 积
o s
X1s
Ts
o TS
t
x(n)
o1
n
MATLAB在信号与系统课程中的应用
号的采样值就构成了离散时间序列xn x nTs 。
Ts称为采样间隔
xs t x tT t
fs
1 Ts
称为采样频率
代表模拟角频率
s 2 fs 代表数字角频率
Ts O Ts 2Ts 3Ts
t
xn
Ts
fs
2
f fs
MATLAB在信号与系统课程中的应用
1 O 1 2 3
n EE of BUPT
1 2π
X
T
1 X
Ts n
ns
MATLAB在信号与系统课程中的应用
EE of BUPT
冲激抽样信号的频谱
x(t)
1 X
o
t
p(t)
(1)
E
o TS xS(t)
t 相 乘
o TS
t
MATLAB在信号与系统课程中的应用
mo m
Hale Waihona Puke Baidu
P
s 卷 积
s
s
o s
Xs
1 Ts
om s
EE of BUPT
t
MATLAB在信号与系统课程中的应用
EE of BUPT
傅里叶变换的近似表示
若信号x t 对于t 0和t T为零,那么这个近似就可以写成
X (j) T x(t )e j t d t 0
xt
N 1
lim x Ts 0 n0
nTs
e T j nTs s
L
T NTs , N为一整数。
0 T
Ts N
Tt
T N 1
N
对于某个给定的频率,即可以用上式求得其频谱密度值。
如果给出一个频率范围,即可以选取一些间隔上的点求出
其取值。
问题:Ts如何选取?频谱特点?
MATLAB在信号与系统课程中的应用
EE of BUPT
8.2 连续时间信号的采样
如果一个连续时间信号x t 每隔Ts秒采样一次,那么信
第八章 连续时间傅里叶变换
尹霄丽
Electronic Engineer School of BUPT
连续时间傅里叶变换(CTFT)
x(t ) 1 X j ej t d
2
X (j) x(t )e j t d t
将连续时间傅里叶级数(CTFS)推广到既能对周期连 续时间信号,又能对非周期连续时间信号进行频谱分析。 这是一种重要而强有力的方法,因为有很多信号当从时 域来看时呈现出很复杂的结构,但从频域来看却很简单。 另外,许多LTI系统的特性行为在频域要比在时域容易 理解得多。为了更有效地应用频域方法,重要的是要将 信号的时域特性是如何与它的频域特性联系起来的建立 直观的认识。
SEMILOGY Semi-log scale plot.
SEMILOGY(...) is the same as PLOT(...), except a
logarithmic (base 10) scale is used for the Y-axis.
MATLAB在信号与系统课程中的应用
EE of BUPT
Ts=0.05; t=-5:Ts:5;
x=exp(-2*abs(t)); subplot(2,1,1);
h=plot(t,x); set(h,'linewidth',2);
xlabel('t /s'); ylabel('exp(-2|t|)');
N=256; w=-pi/Ts+(0:N-1)/N*(2*pi/Ts);
EE of BUPT
fft函数的使用说明
x nTs
T N 1Ts
结果希望保留红色部分, 0 Ts
t
X k
可以使用fftshift函数。
0
N 1
k
fs
时域:N个值 频域:N个值
时域离散 频域为周期性的,
频域均匀抽样,频率间隔: fs (Hz)或2 fs 2 1 2 1 (rad/s)
N
N
NTs
T
MATLAB在信号与系统课程中的应用
EE of BUPT
补充说明
与抽样相对应,Ts即为抽样间隔,则
1 Ts
fs , 2
fs
s
即为抽样角频率。
X k
0
0
频率间隔:s 频率位置:k s
N
N
MATLAB在信号与系统课程中的应用
N 1 N k s
k 0,1,2L N 1
EE of BUPT
利用
N 1
X
j
lim x Ts 0 n0
nTs
e T j nTs s
得出
(可计算任意频率点)
X=Ts*fft(x) (可计算某些频率点上的频谱)
MATLAB在信号与系统课程中的应用
EE of BUPT
fft函数
FFT Discrete Fourier transform.
FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices, the FFT operation is applied to each column. For N-D arrays, the FFT operation operates on the first non-singleton dimension.
(d) 构造一个样本向量w,它按照 >>w=-(pi/Ts)+(0:N-1)/N*(2*pi/Ts); 与存在向量 Y 中的值相对应。
s 2
,
s 2
X=fft(x,N);
X=Ts*fftshift(X);
w=-pi/Ts+(0:N-1)/N*(2*pi/Ts);
MATLAB在信号与系统课程中的应用
s
2
om s
X ej 1
Ts
om 2
离散时间信号 的傅里叶变换 DTFT就是抽 样信号的傅立 叶变换。
Ts
EE of BUPT
比较
利用时域卷积定理
Xs
1 X Ts n
ns
说明抽样后信号的频谱是原信号频谱的周期性延拓。
利用时移性质(DTFT)
X ejω x(n)e jnω n
例题
(a) 求 x t e2 t CTFT的解析表达式。
解:
x t x1 t x1 t 其中 x1 t =e2tu t
已知etu t 1
且x t X
j
X j 1 1
2 j 2 j
4 2
4
MATLAB在信号与系统课程中的应用
EE of BUPT
exp(-2|t|)
EE of BUPT
抽样定理
(1)一个频带受限的信号 x(t),若频谱只占据 m ~ m
的范围; 带宽为m
(2)信号 x t 可用等间隔的抽样值来惟一地表示。其抽样
间隔必须不大于 1 2 fm
,即T
1 2 fm
m
2πfm
;
(3)可以使用一个理想低通滤波器从xs t 中恢复出x t 。理想低通滤波器的
t 5基本上为零,利用fft计算出此信号的频谱。
% exe4_2_bcde.m
clear;
T=10;Ts=0.01;
t=(-T/2):Ts:(T/2-Ts);
N=length(t);
x=exp(-2*abs(t));
MATLAB在信号与系统课程中的应用
EE of BUPT
c 键入y=fftshift(Ts*fft(x))计算样本Y jk 。
增益为T,截止频率为
1 Ts
X s Ts
m
c
s
。
m
s
om s
m C s m
MATLAB在信号与系统课程中的应用
EE of BUPT
8.4 DTFT的引出(利用时移性质)
DTFT:Discrete-time Fourier transform
为研究离散时间系统的频
xs t
率响应作准备,从抽样信
X=4./(w.*w+4);
subplot(2,1,2); h=plot(w,X);
set(h,'linewidth',2);
xlabel('\omega rad/s');ylabel('X(j\omega)');
MATLAB在信号与系统课程中的应用
EE of BUPT
抽样间隔如何选取?
s
X
j
4 2
abs_X=4./(4+w.*w); subplot(2,1,1);h=semilogy(w,abs(X)); set(h,'linewidth',2); xlabel('\omega rad/s'); ylabel('log_1_0(|X(j\omega)|)'); hold on semilogy(w,abs_X,'r:'); legend('fft','real'); subplot(2,1,2);h=plot(w,unwrap(angle(X))); set(h,'linewidth',1); xlabel('\omega rad/s');ylabel('\phi(\omega)');
说明
1
n
0时,
Xs
1 Ts
X
,包
含原信号的全部信息, 幅度
差Ts倍。
2
X
s
以
为周期的连续谱
s
,
有
新的频率成分 ,即 X 的周期
s
X
s1 Ts
om s
性延拓。
3 若接一个理想低通滤波器,其增益
为 Ts 截止频率 m c s m 滤除高频成分,即可重现原信号。
s m s m m
MATLAB在信号与系统课程中的应用
4
X s
o m
s
s 2
s
2
fs
2
1 Ts
2
Ts s
4 2
4
;
14 1000 02 4 ;
63.2
rad
s
作为
s 2
2
Ts 2 63.2 ; 0.0497
MATLAB在信号与系统课程中的应用
EE of BUPT
(b)
b 创建一个向量, 它包含了对于Ts =0.01和T 10,在区间 t=[ T / 2:Ts:T/2-Ts ]上信号x t 的样本。因为x t 对于
EE of BUPT
e 利用abs和angle画出在w标定的频率范围内X的幅值与相 位。对于相同的值,也画出在a中所导出的X j的解
析表达式的幅度和相位。CTFT的近似值与解析导得得相符 吗?若想在一张对数坐标上画出幅度的话,可以用semilogy, 这时会注意到,在较高的频率上近似不如在较低的频率上 好。
MATLAB在信号与系统课程中的应用
EE of BUPT
频谱计算中的问题
X (j) x(t )e j t d t
连续→离散(抽样,抽样间隔如何选取?) 无穷积分→有限长(截断)
MATLAB在信号与系统课程中的应用
EE of BUPT
8.1 连续时间傅里叶变换的数值近似
傅里叶变换实际是一个积分变换,求变换时就是对信号
1
0.8
0.6
0.4
0.2
0
-5
-4
-3
-2
-1
0
1
2
3
4
5
t /s
1
0.8
0.6
0.4
0.2
0
-80
-60
-40
-20
0
20
40
60
80
rad/s
X(j )
MATLAB在信号与系统课程中的应用
EE of BUPT
画图(利用解析式)
% ss8_2.m and double_side_exp_spectrum.m
FFT(X,N) is the N-point FFT, padded with zeros if X has less than N points and truncated if it has more. FFT实现的是DTFT的一个周期的抽样,实际的频谱 近似为
X=Ts*fft(x)
MATLAB在信号与系统课程中的应用
MATLAB在信号与系统课程中的应用
EE of BUPT
利用快速傅里叶变换计算频谱
MATLAB中提供了fft/ifft函数,可以方便地求出有限长信号
的频谱。具体原理在数字信号处理课程中会详细讨论。
fft实现的是DTFT的一个周期的抽样,所以,对某些频率点
的傅里叶变换,可以用下面的方法求出:
x(t )e j t求积分,可以利用矩形近似来求此积分。只要将
时间间隔Ts取得非常小,就可以利用求和来近似求积分。
X (j)
x(t )e j t d t lim x
Ts 0 n-
nTs
e T j nTs s
x t ejt
x nTs e j nTs
dt tnTTss
O Ts 2Ts3Ts nTs n 1Ts
号的傅里叶变换引出:
F x(t )δT (t)
F x(nTs )δ(t nTs )
n
Ts O Ts 2Ts 3Ts
t
xn
x(nTs ) e jnΩTs
n
令x(nTs ) x(n), ΩTs ω
1 O 1 2
F x(t )δT (t )= x(n)ejnω F xn X ejω
8.3 理想抽样信号的傅里叶变换(利用卷积定理)
连续信号 xt
抽样信号
xs t
xt X
(m m )
抽样脉冲
pt T t
T(t) (t nTs ) s ( ns )
n
n
xs (t ) x(t )T(t ) x(nTs ) (t nTs )
n
Xs F X tT t
MATLAB在信号与系统n课 程中的应用
3
n
EE of BUPT
F x(t)δT (t) x(n)e jnω DTFT x n X ejω n
x(t)
1 X
o
t
p(t)
o
m
m
P
(1) E
s
o TS xS(t)
t 相 乘
s 卷 积
o s
X1s
Ts
o TS
t
x(n)
o1
n
MATLAB在信号与系统课程中的应用
号的采样值就构成了离散时间序列xn x nTs 。
Ts称为采样间隔
xs t x tT t
fs
1 Ts
称为采样频率
代表模拟角频率
s 2 fs 代表数字角频率
Ts O Ts 2Ts 3Ts
t
xn
Ts
fs
2
f fs
MATLAB在信号与系统课程中的应用
1 O 1 2 3
n EE of BUPT
1 2π
X
T
1 X
Ts n
ns
MATLAB在信号与系统课程中的应用
EE of BUPT
冲激抽样信号的频谱
x(t)
1 X
o
t
p(t)
(1)
E
o TS xS(t)
t 相 乘
o TS
t
MATLAB在信号与系统课程中的应用
mo m
Hale Waihona Puke Baidu
P
s 卷 积
s
s
o s
Xs
1 Ts
om s
EE of BUPT
t
MATLAB在信号与系统课程中的应用
EE of BUPT
傅里叶变换的近似表示
若信号x t 对于t 0和t T为零,那么这个近似就可以写成
X (j) T x(t )e j t d t 0
xt
N 1
lim x Ts 0 n0
nTs
e T j nTs s
L
T NTs , N为一整数。
0 T
Ts N
Tt
T N 1
N
对于某个给定的频率,即可以用上式求得其频谱密度值。
如果给出一个频率范围,即可以选取一些间隔上的点求出
其取值。
问题:Ts如何选取?频谱特点?
MATLAB在信号与系统课程中的应用
EE of BUPT
8.2 连续时间信号的采样
如果一个连续时间信号x t 每隔Ts秒采样一次,那么信
第八章 连续时间傅里叶变换
尹霄丽
Electronic Engineer School of BUPT
连续时间傅里叶变换(CTFT)
x(t ) 1 X j ej t d
2
X (j) x(t )e j t d t
将连续时间傅里叶级数(CTFS)推广到既能对周期连 续时间信号,又能对非周期连续时间信号进行频谱分析。 这是一种重要而强有力的方法,因为有很多信号当从时 域来看时呈现出很复杂的结构,但从频域来看却很简单。 另外,许多LTI系统的特性行为在频域要比在时域容易 理解得多。为了更有效地应用频域方法,重要的是要将 信号的时域特性是如何与它的频域特性联系起来的建立 直观的认识。
SEMILOGY Semi-log scale plot.
SEMILOGY(...) is the same as PLOT(...), except a
logarithmic (base 10) scale is used for the Y-axis.
MATLAB在信号与系统课程中的应用
EE of BUPT
Ts=0.05; t=-5:Ts:5;
x=exp(-2*abs(t)); subplot(2,1,1);
h=plot(t,x); set(h,'linewidth',2);
xlabel('t /s'); ylabel('exp(-2|t|)');
N=256; w=-pi/Ts+(0:N-1)/N*(2*pi/Ts);
EE of BUPT
fft函数的使用说明
x nTs
T N 1Ts
结果希望保留红色部分, 0 Ts
t
X k
可以使用fftshift函数。
0
N 1
k
fs
时域:N个值 频域:N个值
时域离散 频域为周期性的,
频域均匀抽样,频率间隔: fs (Hz)或2 fs 2 1 2 1 (rad/s)
N
N
NTs
T
MATLAB在信号与系统课程中的应用
EE of BUPT
补充说明
与抽样相对应,Ts即为抽样间隔,则
1 Ts
fs , 2
fs
s
即为抽样角频率。
X k
0
0
频率间隔:s 频率位置:k s
N
N
MATLAB在信号与系统课程中的应用
N 1 N k s
k 0,1,2L N 1
EE of BUPT
利用
N 1
X
j
lim x Ts 0 n0
nTs
e T j nTs s
得出
(可计算任意频率点)
X=Ts*fft(x) (可计算某些频率点上的频谱)
MATLAB在信号与系统课程中的应用
EE of BUPT
fft函数
FFT Discrete Fourier transform.
FFT(X) is the discrete Fourier transform (DFT) of vector X. For matrices, the FFT operation is applied to each column. For N-D arrays, the FFT operation operates on the first non-singleton dimension.
(d) 构造一个样本向量w,它按照 >>w=-(pi/Ts)+(0:N-1)/N*(2*pi/Ts); 与存在向量 Y 中的值相对应。
s 2
,
s 2
X=fft(x,N);
X=Ts*fftshift(X);
w=-pi/Ts+(0:N-1)/N*(2*pi/Ts);
MATLAB在信号与系统课程中的应用
s
2
om s
X ej 1
Ts
om 2
离散时间信号 的傅里叶变换 DTFT就是抽 样信号的傅立 叶变换。
Ts
EE of BUPT
比较
利用时域卷积定理
Xs
1 X Ts n
ns
说明抽样后信号的频谱是原信号频谱的周期性延拓。
利用时移性质(DTFT)
X ejω x(n)e jnω n
例题
(a) 求 x t e2 t CTFT的解析表达式。
解:
x t x1 t x1 t 其中 x1 t =e2tu t
已知etu t 1
且x t X
j
X j 1 1
2 j 2 j
4 2
4
MATLAB在信号与系统课程中的应用
EE of BUPT
exp(-2|t|)
EE of BUPT
抽样定理
(1)一个频带受限的信号 x(t),若频谱只占据 m ~ m
的范围; 带宽为m
(2)信号 x t 可用等间隔的抽样值来惟一地表示。其抽样
间隔必须不大于 1 2 fm
,即T
1 2 fm
m
2πfm
;
(3)可以使用一个理想低通滤波器从xs t 中恢复出x t 。理想低通滤波器的
t 5基本上为零,利用fft计算出此信号的频谱。
% exe4_2_bcde.m
clear;
T=10;Ts=0.01;
t=(-T/2):Ts:(T/2-Ts);
N=length(t);
x=exp(-2*abs(t));
MATLAB在信号与系统课程中的应用
EE of BUPT
c 键入y=fftshift(Ts*fft(x))计算样本Y jk 。
增益为T,截止频率为
1 Ts
X s Ts
m
c
s
。
m
s
om s
m C s m
MATLAB在信号与系统课程中的应用
EE of BUPT
8.4 DTFT的引出(利用时移性质)
DTFT:Discrete-time Fourier transform
为研究离散时间系统的频
xs t
率响应作准备,从抽样信
X=4./(w.*w+4);
subplot(2,1,2); h=plot(w,X);
set(h,'linewidth',2);
xlabel('\omega rad/s');ylabel('X(j\omega)');
MATLAB在信号与系统课程中的应用
EE of BUPT
抽样间隔如何选取?
s
X
j
4 2
abs_X=4./(4+w.*w); subplot(2,1,1);h=semilogy(w,abs(X)); set(h,'linewidth',2); xlabel('\omega rad/s'); ylabel('log_1_0(|X(j\omega)|)'); hold on semilogy(w,abs_X,'r:'); legend('fft','real'); subplot(2,1,2);h=plot(w,unwrap(angle(X))); set(h,'linewidth',1); xlabel('\omega rad/s');ylabel('\phi(\omega)');
说明
1
n
0时,
Xs
1 Ts
X
,包
含原信号的全部信息, 幅度
差Ts倍。
2
X
s
以
为周期的连续谱
s
,
有
新的频率成分 ,即 X 的周期
s
X
s1 Ts
om s
性延拓。
3 若接一个理想低通滤波器,其增益
为 Ts 截止频率 m c s m 滤除高频成分,即可重现原信号。
s m s m m
MATLAB在信号与系统课程中的应用
4
X s
o m
s
s 2
s
2
fs
2
1 Ts
2
Ts s
4 2
4
;
14 1000 02 4 ;
63.2
rad
s
作为
s 2
2
Ts 2 63.2 ; 0.0497
MATLAB在信号与系统课程中的应用
EE of BUPT
(b)
b 创建一个向量, 它包含了对于Ts =0.01和T 10,在区间 t=[ T / 2:Ts:T/2-Ts ]上信号x t 的样本。因为x t 对于
EE of BUPT
e 利用abs和angle画出在w标定的频率范围内X的幅值与相 位。对于相同的值,也画出在a中所导出的X j的解
析表达式的幅度和相位。CTFT的近似值与解析导得得相符 吗?若想在一张对数坐标上画出幅度的话,可以用semilogy, 这时会注意到,在较高的频率上近似不如在较低的频率上 好。
MATLAB在信号与系统课程中的应用
EE of BUPT
频谱计算中的问题
X (j) x(t )e j t d t
连续→离散(抽样,抽样间隔如何选取?) 无穷积分→有限长(截断)
MATLAB在信号与系统课程中的应用
EE of BUPT
8.1 连续时间傅里叶变换的数值近似
傅里叶变换实际是一个积分变换,求变换时就是对信号
1
0.8
0.6
0.4
0.2
0
-5
-4
-3
-2
-1
0
1
2
3
4
5
t /s
1
0.8
0.6
0.4
0.2
0
-80
-60
-40
-20
0
20
40
60
80
rad/s
X(j )
MATLAB在信号与系统课程中的应用
EE of BUPT
画图(利用解析式)
% ss8_2.m and double_side_exp_spectrum.m
FFT(X,N) is the N-point FFT, padded with zeros if X has less than N points and truncated if it has more. FFT实现的是DTFT的一个周期的抽样,实际的频谱 近似为
X=Ts*fft(x)
MATLAB在信号与系统课程中的应用