matlab在DSP中的应用(五)---离散傅里叶变换DFT

本文介绍了MATLAB在DSP中应用离散傅里叶变换DFT的基本概念、原理和实验,包括DFT的计算、与DTFT的联系以及实例分析,探讨了DFT的特点并提供了相关代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、实验目的

(1)加深对离散傅里叶变换(DFT)基本概念的理解

(2)了解有限长序列傅里叶变换(DFT)与离散时间傅里叶变换(DTFT)的联系

(3)掌握用MATLAB语言进行离散傅里叶变换和逆变换的方法

二、实验原理

1.有限长序列的傅里叶变换(DFT)和逆变换(IDFT)

在实际中常常使用有限长序列。如果有限长序列信号为x(n),则该序列的离散傅里叶变换对可以表示为:

这里写图片描述

从离散傅里叶变换定义式可以看出,有限长序列在时域上是离散的,在频域上也是离散的。式中这里写图片描述 ,即仅在单位圆上N个等间距的点上取值,这为使用计算机进行处理带来了方便。

由有限长序列的傅里叶变换和逆变换定义可知,DFT和DFS的公式非常相似,因此在程序编写上也基本一致。

例1:已知x(n)=[0,1,2,3,4,5,6,7],求x(n)的DFT和IDFT。要求:

(1)画出序列傅里叶变换对应的|X(k)|和arg[X(k)]图形。

(2)画出原信号与傅里叶逆变换IDFT[X(k)]图形进行比较。

代码:

xn=0:7;%信号
N=length(xn);
n=0:N-1;
k=0:N-1;
Xk=xn*exp(-1j*2*pi/N).^(n'*k);%DFT
x=(Xk*exp(1j*2*pi/N).^(n'*k))/N;%IDFT
subplot(4,1,1),stem(n,xn);%显示原序列
title('x(n)')

subplot(4,1,2),stem(n,abs(x));%显示逆变换结果
title('IDFT|X(k)|')

subplot(4,1,3),stem(n,abs(Xk));%显示|X(k)|
title('X(k)')

subplot(4,1,4),stem(k,angle(Xk));%显示显示arg|X(k)|
title('arg|X(k)|')

输出:
这里写图片描述

2.有限长序列DFT与离散时间傅里叶变换DTFT的联系

离散时间傅里叶变换(DTFT)是指信号在时域上为离散的,而在频域上则是连续的。

如果离散时间非周期信号为x(n),则它的离散傅里叶变换对(DTFT)表示为:

这里写图片描述

与有限长序列相比,X(e^(jw))仅在单位圆上取值,X(k)是在单位圆上N个等间距的点上取值。因此,连续谱X(e^(jw))可以由离散谱X(k)经插值后得到。

例2:求x(n)=[0,1,2࿰

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值