MATLAB——DFT(离散傅里叶变换)

这篇具有很好参考价值的文章主要介绍了MATLAB——DFT(离散傅里叶变换)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

题目1:
已知有限长序列x(n)为:
x(n)=[0,1,2,3,4,5,6,7,8,9],求x(n)的DFT和IDFT。要求
1)画出序列傅里叶变换对应的|X(k)|和arg[X(k)]图形。
2)画出原信号与傅里叶逆变换IDFT[X(k)]图形进行比较。
知识点:
DFT(Discrete Fourier Transform)和IDFT(Inverse Discrete Fourier Transform)是互为逆运算的变换。

给定一个长度为 N N N 的复数序列 x 0 , x 1 , x 2 , … , x N − 1 x_0, x_1, x_2, \dots, x_{N-1} x0,x1,x2,,xN1,DFT 将其转换为另一个长度为 N N N 的复数序列 X 0 , X 1 , X 2 , … , X N − 1 X_0, X_1, X_2, \dots, X_{N-1} X0,X1,X2,,XN1

X k = ∑ n = 0 N − 1 x n e − j 2 π k n / N , k = 0 , 1 , 2 , … , N − 1 X_k=\sum_{n=0}^{N-1}x_n e^{-j2\pi kn/N}, \quad k=0,1,2,\dots,N-1 Xk=n=0N1xnej2πkn/N,k=0,1,2,,N1

IDFT 则将 X 0 , X 1 , X 2 , … , X N − 1 X_0, X_1, X_2, \dots, X_{N-1} X0,X1,X2,,XN1 转换回 x 0 , x 1 , x 2 , … , x N − 1 x_0, x_1, x_2, \dots, x_{N-1} x0,x1,x2,,xN1
x n = 1 N ∑ k = 0 N − 1 X k e j 2 π k n / N , n = 0 , 1 , 2 , … , N − 1 x_n=\frac{1}{N}\sum_{k=0}^{N-1}X_k e^{j2\pi kn/N}, \quad n=0,1,2,\dots,N-1 xn=N1k=0N1Xkej2πkn/N,n=0,1,2,,N1
程序:
主要是根据变换公式来的,不要忘了逆变换要除以N,有了前面 DFS的基础,这个代码相对比较简单。

xn=[0,1,2,3,4,5,6,7,8,9];
N=length(xn);
n=0:N-1;
k=0:N-1;
WN=exp(-2*j*pi/N);

XK=xn*WN.^(n'*k);
x=XK*WN.^(-n'*k)/N;
subplot(221);
stem(n,xn);
subplot(222);
stem(k,abs(XK));
subplot(223);
stem(k,angle(XK));
subplot(224);
stem(n,x);

运行结果:
MATLAB——DFT(离散傅里叶变换)
题目2:
有限长序列DFT与周期序列DFS的联系
已知周期序列的主值x(n)=[0,1,2,3,4,5],求x(n)周期重复次数为4次时的DFS。要求
1)画出原主值序列和信号周期序列;
2)画出序列傅里叶变换对的图形。
知识点:
我们知道,在时域上。周期序列可以看做是有限长序列的周期延拓。在频域上是否也这样呢。答案是肯定的,现在来进行验证。
代码:

x0=[0,1,2,3,4,5];
N0=length(x0);
n0=0:N0-1;
k0=0:N0-1;
x1=x0';%转置
xn=x1*ones(1,4);
xn=xn(:)';
NN=length(xn);
nn=0:NN-1;
kn=0:NN-1;
%nn=0:4*N0-1;   
%kn=0:4*N0-1;
%xn=x0(mod(nn,N0)+1);
subplot(231);
stem(n0,x0);
title('原序列');
subplot(232);
stem(nn,xn);
title('时域周期延拓');

%求原序列的DFT
WN0=exp(-2*j*pi/N0);
X0K=x0*WN0.^(n0'*k0);
subplot(233);
stem(k0,abs(X0K));
title('原序列DFT幅值');
subplot(234);
stem(k0,angle(X0K));
title('原序列DFT相角');

%延拓的DFS
WNN=exp(-2*j*pi/N0);
%一定要注意这个地方除N0,虽然进行了周期延拓,但是一个周期上的采样点数,没有变
XNK=xn*(WNN.^(nn'*kn));
subplot(235);
stem(kn,abs(XNK));
title('周期序列DFS幅值');
subplot(236);
stem(kn,angle(XNK));
title('周期序列DFS相角');
XN=dfs(xn,NN);

运行结果:
MATLAB——DFT(离散傅里叶变换)文章来源地址https://www.toymoban.com/news/detail-422885.html

到了这里,关于MATLAB——DFT(离散傅里叶变换)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • (数字图像处理MATLAB+Python)第四章图像正交变换-第一节:离散傅里叶变换

    一维离散傅里叶变换(Discrete Fourier Transform,DFT) :是一种数学技术,用于将代表离散时间信号的N个复数序列从 时域转换到频域 。DFT被广泛用于许多应用,如音频和图像处理、通信和控制系统。DFT是傅里叶变换的离散版本,傅里叶变换是一种用于分析频域信号的连续数学技

    2023年04月13日
    浏览(94)
  • Matlab|数字图像处理02|图像的傅里叶变换(平移/旋转性质)及图像的离散余弦变换

    问题1:x,y方向同时平移后频谱有何变化? 答:经过平移后的傅里叶变换幅值图与原图像得到的傅里叶变换幅值图基本相同,平移不改变频谱的幅值。 代码运行结果: 代码: 问题2:编程验证一幅图旋转45度后,其傅里叶谱图也旋转了45度。 代码: 问题3:第8行10的数字大小对

    2024年02月08日
    浏览(47)
  • 002 OpenCV dft 傅里叶变换

    目录 一、傅里叶变换 1.1 傅里叶变换概念 1.2 opencv中傅里叶变换 二、实验代码 本文使用环境为: Windows10 Python 3.9.17 opencv-python 4.8.0.74 傅里叶变换(Fourier Transform)是一种在数学、物理和工程领域广泛应用的算法,用于分析信号或数据的频率成分。它是由法国数学家约瑟夫·傅

    2024年02月05日
    浏览(44)
  • C++类:三角函数最小二乘拟合与离散傅里叶变换求解

            作为一个天文爱好者,在之前全手工制作了一个天文望远镜导星的系统,但是由于自制的赤道仪使用的是谐波减速器,赤经轴需要一直保持与地球运动同步,每隔一段时间就会有新的谐波齿轮参与啮合,因此造成了在赤经轴存在低频的传动周期误差,该系统利用图像

    2023年04月19日
    浏览(55)
  • 数字图像处理实验(二)|图像变换{离散傅里叶变换fft2,离散余弦变换dct2、频谱平移fftshift}(附实验代码和截图)

    1了解图像变换的原理; 2理解图像变换系数的特点; 3掌握图像变换的方法及应用; 4掌握图像的频谱分析方法; 5了解图像变换在图像数据压缩、图像滤波等方面的应用。 安装了MATLAB软件的台式或笔记本电脑 1.离散傅里叶变换 对于二维离散信号,Fourier正变换定义为: 二维离

    2024年02月06日
    浏览(54)
  • 傅里叶变换与Matlab

      很多初学者学习了傅里叶变换之后,只是对其公式死记硬背,从而达到做题的目的,但并不理解其原理,对于很多时频分析问题的理解不够透彻。之前自己也是如此,在经过深入学习之后,对变换公式的的本质进行探讨,理解变换的原理及意义所在,同时将傅里叶变换和

    2024年01月20日
    浏览(52)
  • matlab快速傅里叶变换

    快速傅里叶变换(FFT)是数字信号处理中常用的算法之一,可以用于信号分析、滤波、频率估计和信号生成等。在 Matlab 中,快速傅里叶变换是一个重要的工具,可以快速地计算信号的频域表示,帮助研究人员更好地理解和分析信号。本文将介绍 Matlab 中的快速傅里叶变换及其

    2024年02月09日
    浏览(46)
  • Matlab:二维傅里叶变换

    fft2 函数将二维数据变换为频率空间。例如,您可以变换二维光学掩膜以揭示其衍射模式。 以下公式定义 m×n 矩阵 X 的离散傅里叶变换 Y。 i 是虚数单位,p 和 j 是值范围从 0 到 m–1 的索引,q 和 k 是值范围从 0 到 n–1 的索引。在此公式中,X 和 Y 的索引平移 1 位,以反映 M

    2023年04月17日
    浏览(44)
  • 图像Radon变换与傅里叶变换(matlab)

    图像变化的介绍 图像变换是将图像从空间域变换到变换域。图像变换的目的是根据图像在变换域的某些性质对其处理。通常这些性质在空间域内很难获取。在变换域内处理结束后,将处理的结果进行反转变换到空间域。 我们所看到的图像是在空域上的,其信息具有很强的相

    2024年02月05日
    浏览(49)
  • 快速傅里叶变换MATLAB代码实现

    任何连续测量的时序或信号,都可以表示为不同频率的余弦(或正弦)波信号的无限叠加。FFT(Fast Fourier Transform)是离散傅立叶变换的快速算法,可以将一个信号变换到频域。 对于包含 n n n 个均匀采样点的向量 x x x ,其傅里叶变换定义为 y k + 1 = ∑ j = 0 n − 1 ω j k x j + 1

    2023年04月09日
    浏览(73)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包