实验二 离散傅立叶变换
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
分析:因为x(n)是复指数,它满足周期性,我
们将在两个周期中的401个频点上作计算来观
察其周期性。
n=0:10; x=(0.9*exp(j*pi/3)).^n; k=-200:200; w=(pi/100)*k; X=x*(exp(-j*pi/100)).^(n'*k); magX=abs(X); angX=angle(X); subplot(2,1,1);
从图中可以看出幅值和相位均沿频率轴平移了
4
从差分方程求频率响应
当LTI系统用差分方程表示如下:
y (n) al y (n l )
l 1 N m0
b
M
m
x ( n m)
上式做变换
H (e )e
j
j n
al H (e )e
j l 1
N
j ( n l )
会。
xn=xk*WNnk/N;
离散傅立叶变换的正、逆变换定义为:
X (k ) DFT [ x(n)] x(n)e
n 0
N 1
N 1
j
2 nk N
1 x(n) IDFT [ x(k )] X (k )e N k 0
j
2 kn N
比较正、逆变换的定义式可以看出,只要把DFT公式中
subplot(2,2,2);plot(w/pi,angle(X)/pi);
axis([-1,1,-1,1]); subplot(2,2,3);plot(w/pi,abs(Y)); axis([-1,1,0,60]); subplot(2,2,4);plot(w/pi,angle(Y)/pi); axis([-1,1,-1,1]);
plot(w/pi,magX);
subplot(2,1,2); plot(w/pi,angX/pi);
检验频移特性
乘以复数指数对应于一个频移
令 x(n) cos(n / 2),0 n 100
y(n) e j n / 4 x(n)
n=0:100; k=-100:100;
离散傅里叶级数(DFS)
设
x(n) 为周期为N的周期序列, 则其离散傅里叶级数
(DFS) 变换对为:
正变换
(k ) DFS[ x(n)] x(n)e X
n 0
N 1
j
2 nk N
nk x(n)WN n 0
N 1
逆变换
2 N 1 j nk 1 N 1 x(n) IDFS[ (k )] X (k )e N (k )WN nk X X N n 0 k 0
stem(n,x)
xlabel('n');ylabel('x(n)');title('输入序列');
subplot(2,1,2);
stem(n,y)
xlabel('n');ylabel('y(n)');title('输出序列');
四、实验报告要求
简述实验目的和实验原理。
总结实验中的主要结论,你的收获和体
实验二
离散傅立叶变换
一、实验目的
掌握离散傅里叶变换的有关性质。 利用matlab验证有关性质。 利用傅立叶变换进行相关运算。
二、实验原理及方法
在工程技术的许多分支中,要掌握的基本 内容之一就是正确理解时域和频域的关系。对 于数字系统来说,就是要精通离散傅立叶变换,
因此离散傅立叶变换在数字信号处理中占有十
x=cos(pi*n/2); w=(pi/100)*k;
X=x*(exp(-j*pi/100)).^(n'*k); y=exp(j*pi*n/4).*x; Y=y*(exp(-j*pi/100)).^(n'*k); subplot(2,2,1);plot(w/pi,abs(X)); axis([-1,1,0,60]);
例:xn=[0,1,2,3],N=4
xn=[0,1,2,3]; N=4; xk=dfs(xn,N)’
逆运算IDFS
function xn=idfs(xk,N)
n=[0:1:N-1];
k=n;
WN=exp(-j*2*pi/N);
nk=n’*k;
WNnk=WN.^(-nk);
的系数
,并最后乘以1/N,那么, e e DFT的计算程序就可以用来计算IDFT。
j
2 nk N
改为
j
2 nk N
例:已知序列 x(n) cos(0.48n) cos(0.52n),(0 n 100) 试绘制序列及其傅立叶变换幅度谱
N=100;
n=0:N-1;
把差分方程改写成
y(n)-0.8y(n-1)=x(n)
利用上面分析的公式,可得
1 H (e ) j 1 0.8e
j
将系统的输入x(n)带入
H (e
因此
j 0.05
1 ) 4.0928e j 0.5377 1 0.8e j 0.05
yrs (n) 4.0928cos(0.05 n 0.5377) 4.0928cos[0.05 (n 3.42)]
DFT的应用
DFT在数字滤波、功率谱分析、仿真、系统分
析、通讯理论方面有广泛的应用。
DFT的特性
周期性 对称性 线性 时移 频移 共轭 折叠 实序列的对称性 卷积
利用MATLAB对DFT的特性进行验证
例: (n) (0.9exp( j / 3))n , 0 n 10 x
输出端信号放大4.0928倍并移位3.42个采样周期
函数filter
对给定输入和差分方程系数时求解差分方程的数值解。
格式
y=filter(b,a,x)
其中b,a为差分方程的系数向量,x是输入序列。 输出y和输入x的长度一致。
b=1;
a=[1,-0.8]; n=0:100; x=cos(0.05*pi*n); y=filห้องสมุดไป่ตู้er(b,a,x); subplot(2,1,1);
bme j ( n m )
m 0
M
消去共有项 e j n 得
M
H (e j )
m0
bm e j m
N l 1
1 al e jl
例:一个LTI系统的差分方程如下:
y(n)=0.8y(n-1)+x(n)
求H(ejw) 求出并画出它对输入x(n) cos(0.05 n)u(n) 的稳态响应
四种不同傅里叶变换对
傅里叶级数(FS):连续时间, 离散频率的傅里叶变换。
周期连续时间信号傅里叶级数(FS)得到非周期离散频 谱密度函数。
傅里叶变换(FT):连续时间, 连续频率的傅里叶变换。
非周期连续时间信号通过连续付里叶变换(FT)得到非
周期连续频谱密度函数。
序列的傅里叶变换(DTFT):离散时间,连续频率的傅里
分重要的地位。在实际应用中,有限长序列有 相当重要的地位,由于计算机容量的限制,只 能对过程进行逐段分析。由于有限长序列,引 入DFT(离散付里叶变换)。
傅里叶变换
建立以时间t为自变量的“信号”与以频率f为 自变量的“频率函数”(频谱)之间的某种变换关系。 所以“时间”或“频率”取连续还是离散值, 就形成 各种不同形式的傅里叶变换对。
叶变换。非周期离散的时间信号(单位园上的Z变换
(DTFT))得到周期性连续的频率函数。
离散傅里叶变换(DFT):离散时间, 离散频率的傅里叶
变换。
上面讨论的前三种傅里叶变换对,都不适用在
计算机上运算, 因为至少在一个域( 时域或频 域)中, 函数是连续的。因为从数字计算角度 我们感兴趣的是时域及频域都是离散的情况, 这就是第四种离散傅里叶变换。
xn=cos(0.48*pi*n)+cos(0.52*pi*n); xk=dft(xn,N); magxk=abs(xk); subplot(2,1,1)
plot(n,xn)
subplot(2,1,2) k=0:length(magxk)-1;
plot(k,magxk)
其中
WN e
j
2 N
利用MATLAB实现傅立叶级数计算
编写函数实现DFS计算
function xk=dfs(xn,N)
n=[0:1:N-1]; k=n; WN=exp(-j*2*pi/N); nk=n’*k; WNnk=WN.^nk; xk=xn* WNnk;