离散傅里叶变换是傅里叶变换在时域、频域均离散化的形式,因而它与其它傅里叶变换有

着相似的性质,譬如线性。同时离散傅里叶变换也具有一些与其它傅里叶变换不同的特性,其中

主要的圆周移位性质和圆周卷积性质。

1、离散傅里叶变换主要性质

① 圆周时移性质:若 G[k] 表示长度为 N 的序列 g[n] 的 N 点离散傅里叶变换,则圆周时移序列

的 N 点离散傅里叶变换为,其中

② 圆周频移性质:若 G[k] 表示长度为 N 的序列 g[n] 的 N 点离散傅里叶变换,则序列

的 N 点离散傅里叶变换为

③ 圆周卷积性质:若 G[k] 和 H[k] 表示长度为 N 的序列 g[n] 和 h[n] 的 N 点离散傅里叶变换,则圆周卷积序列 g[n]⨂h[n] 的 N 点离散傅里叶变换为 G[k]*H[k]。

④ 帕萨瓦尔定理:即信号的能量在频域和时域中是相等的若 G[k] 表示长度长度为 N 的序列 g[n] 的 N 点离散傅里叶变换,

2、MATLAB实验分析

① 圆周移位的概念:

% Illustration of Circular Shift of a Sequence
clear;clc;close all
M = 6;
a = [0 1 2 3 4 5 6 7 8 9];
b = cirshift(a,M); % 左移 M 位
L = length(a)-1;
n = 0:L;
subplot(2,1,1);
stem(n,a);axis([0,L,min(a),max(a)]);
title('Original Sequence');
xlabel('time index n');
ylabel('a[n]');
subplot(2,1,2);
stem(n,b);axis([0,L,min(a),max(a)]);
title(['Sequence Obtained by Circularly Shifting by ',num2str(M),' Samples']);
xlabel('time index n');
ylabel('b[n]');

② 圆周时移的性质

% 离散傅里叶变换的性质——圆周时移性质
% Circular Time-Shifting Property of DFT
clear;clc;close all
x = [0 2 4 6 8 10 12 14 16];
N = length(x)-1;
n = 0:N;
y = cirshift(x,5);
XF = fft(x);
YF = fft(y);
subplot(2,2,1);
stem(n,abs(XF));grid;
title('Magnitude of DFT of Original Sequence');
xlabel('Frequency index k');
ylabel('|X[k]|');
subplot(2,2,2);
stem(n,abs(YF));grid;
title('Magnitude of DFT of Circularly Shifted Sequence');
xlabel('Frequency index k');
ylabel('|Y[k]|');
subplot(2,2,3);
stem(n,angle(XF));grid;
% theta = angle(z) 为复数数组 z 的每个元素返回区间 [-π,π] 中的相位角。
% theta 中的角度表示为 z = abs(z).*exp(i*theta)
title('Phase of DFT of Original Sequence');
xlabel('Frequency index k');
ylabel('arg(X[k])');
subplot(2,2,4);
stem(n,angle(YF));grid;
title('Phase of DFT of Circularly Shifted Sequence');
xlabel('Frequency index k');
ylabel('arg(Y[k])');

 ③ 圆周卷积的性质

% 离散傅里叶变换的性质——圆周卷积性质
% Circular Convolution Property of DFT
clear;clc;close all
g1 = [1 2 3 4 5 6];
g2 = [1 -2 3 3 -2 1];
ycir = circonv(g1,g2);
disp('Result of circular convolution = ');
disp(ycir)
G1 = fft(g1);
G2 = fft(g2);
yc = ifft(G1.*G2);
disp('Result of IDFT of the DFT products = ');
disp(yc)

运行结果:

Result of circular convolution =   12    28    14     0    16    14

Result of IDFT of the DFT products =   12    28    14     0    16    14

④ 帕萨瓦尔定理

% 离散傅里叶变换的性质——帕塞瓦尔定理
% 信号的能量在时域和频域相等
% 离散形式 ∑u(k)² = 1/N( ∑U(k)U*(k) )
% Parseval's Relation
clear;clc;close all
x = [(1:128) (128:-1:1)];
XF = fft(x);
a = sum(x.*x)
b = round(sum(abs(XF).^2)/256)  % 用于舍入到最接近的整数
% a代表着时域能量;b代表着频域能量

 ⑤ 利用圆周卷积计算线性卷积——时域的方法

将两个序列的长度分别加0补充到两个序列长度之和时,线性卷积等于圆周卷积的结果。补零的个数=另一个序列的长度。

% 利用圆周卷积计算线性卷积——时域的方法
% Linear Convolution via Circular Convolution
clear;clc;close all
g1 = [1 2 3 4 5];
g2 = [2 2 0 1 1];
% 使序列长度为 g1 + g2
g1e = [g1 zeros(1,length(g2)-1)];
g2e = [g2 zeros(1,length(g1)-1)];
ylin = circonv(g1e,g2e);
disp('Linear convolution via circular convolution = ');
disp(ylin);
y = conv(g1, g2);
disp('Direct linear convolution = ');
disp(y)

运行结果:

ylin = [2     6    10    15    21    15     7     9     5]

y = [2     6    10    15    21    15     7     9     5]

⑥ 利用圆周卷积计算线性卷积——基于DFT的方法

% 用DFT计算两个序列的线性卷积
% Linear Convolution via Circular Convolution
clear;clc;close all
g1 = [1 2 3 4 5];
g2 = [2 2 0 1 1];
g1e = [g1 zeros(1,length(g2)-1)];
g2e = [g2 zeros(1,length(g1)-1)];G1 = dft(g1e,length(g1e));
G2 = dft(g2e,length(g2e));
G = G1.*G2;
ylin = idft(G,length(g1e));disp('Linear convolution via circular convolution based on DFT= ');
disp(ylin);
y = conv(g1, g2);
disp('Direct linear convolution = ');
disp(y)

 代码中 dft 可用fft代替,也可以在上一篇 离散傅里叶变换与应用 中复制 dft 函数的.m文件

离散傅里叶变换的主要性质相关推荐

  1. [EE261学习笔记] 13.离散傅里叶逆变换及离散傅里叶变换的一些性质

    我们先回忆一下DFT F‾[m]=Ff‾[m]=∑k=0N−1f‾[k]e−2πimkN(1)\underline{F}[m] = \underline{\mathscr{F}f}[m] = \sum ...

  2. 离散傅里叶变换的基本性质

    以下是作为通信工程一名学渣的理解 圈出重点"学渣的理解" 一.线性性质 两个信号各自与常数的乘机在相加的DFT变换等于各自的与常数乘机后DFT变换之和 二.序列循环移位性质 序列循 ...

  3. dft对称性 matlab实验,数字信号处理实验 matlab版 离散傅里叶变换的性质

    数字处理实验 matlab版 山大学生最适用 本人自己写的 因为时间比较久了 不能完全保证出现代码都能运行 但95%还是能保证的 谢谢 实验13 离散傅里叶变换的性质 (完美格式版,本人自己完成,所有 ...

  4. matlab在DSP中的应用(六)---离散傅里叶变换的性质

    一.实验目的 (1)加深对离散傅里叶变换(DFT)基本性质的理解. (2)了解有限长序列傅里叶变换(DFT)性质的研究方法. (3)掌握用MATLAB语言进行离散傅里叶变换性质分析时程序编写的方法. ...

  5. 傅里叶级数与傅里叶变换_Part7_离散傅里叶变换的性质

    傅里叶级数与傅里叶变换_Part7_离散傅里叶变换的性质 0.Part6 内容复习 离散傅里叶变换/逆变换的公式如下: X ( n ) = ∑ k = 0 N − 1 x ( k ) e − i n ...

  6. 【笔记】4. 离散傅里叶变换及其性质

    Discrete Fourier Transform 1. 离散傅里叶变换的表示 离散傅里叶变换就是有限长序列的离散频域表示,即有限长序列的离散傅里叶级数. x(n)x(n)x(n) 看作是周期为 N ...

  7. 离散时间傅里叶变换,Z变换,离散傅里叶变换性质对比

    本篇讲述数字信号处理中离散时间傅里叶变换,z变换,离散傅里叶变换性质的比较.公式是在word中使用mathtype一个一个公式打的,表格无法直接复制到web编辑器中,因此只能上传截图.整理不易,尊重版 ...

  8. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 实序列的幅频特性偶对称 | 实序列相频特性奇对称 | 示例说明 )

    文章目录 一.实序列的 幅频特性 和 相频特性 对称性质 二.性质由来 三.示例说明 一.实序列的 幅频特性 和 相频特性 对称性质 如果 x(n)x(n)x(n) 序列是 " 实序列 &q ...

  9. 数字信号处理学习笔记(一)|离散傅里叶变换

    离散傅里叶变换(DFT) 离散傅里叶变换(Discrete Fourier Transform)的实质是有限长序列傅里叶变换的有限点离散采样,实现了频域离散化,使数字信号处理可以在频域采用数值运算的方 ...

最新文章

  1. Json文件解析(上)
  2. java校验ip格式_JAVA IP地址格式验证,使用正则表达式
  3. python中几种交换2个变量的值的方法
  4. 小米+尚美的下沉CP,为酒店业释放了什么信号?
  5. 【帖子收藏】ansible 中的循环:with_file 和 with_fileglob
  6. python 从excel中抓取数据_使用Python抓取美团数据存于Excel中
  7. XmlHttpRequest 对象详解
  8. 【maven】javaee项目添加servlet、jsp依赖
  9. 八年溯源,如何巧搭区块链
  10. c++基于asio的组播:windows linux通信
  11. 恢复html的初始选定状态,jQuery实现点击旋转,再点击恢复初始状态动画效果示例...
  12. jquery.cookie 插件使用方法
  13. DSOframer 的简单介绍和资源整理(2015-09-02重新整理)
  14. 【IoT】产品设计之思维模型:四种知识结构
  15. docker redis
  16. 宏观低速物理 '牛顿篇'
  17. B. Frog Traveler(cf)bfs
  18. 如何理解接口隔离原则?
  19. ARM裸机开发篇3:ARM汇编语言程序设计
  20. 猫眼电影票房爬取到MySQL中_爬虫之爬取猫眼电影专业版实时数据排行榜

热门文章

  1. Java SE是什么?Java各个版本区别
  2. JavaScript简明教程三
  3. 批改网不能复制粘贴??!用python玩玩?
  4. Axure RP 7.0 - 动态面板的展开和折叠
  5. [C++]-JSON库nlohmann简介
  6. repo sync同步代码出现contains uncommitted changes
  7. end php 函数,PHP end() 函数 - PHP 参考手册 - 自强学堂
  8. 西南大学19春计算机在线作业,西南大学19春计算机应用基础在线作业.docx
  9. 习题4.7 从键盘输入一个整数,判断该数是否是完全数。
  10. 登陆账号时提示“账号登陆中!”该怎么处理呢?