我是靠谱客的博主 老实夏天,最近开发中收集的这篇文章主要介绍MATLAB信号处理——信号的变换(4)2-4离散的傅里叶变换,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

2-4离散的傅里叶变换

       现在将之前的公式应用于离散的傅里叶级数中。

       在信号处理中,遇到的常常不是一个函数,而是一个离散的数列。

      下面对取值范围进行改造,首先,得到的数字信号只能在正的时间段取值,在负的时间段不能取值,但由于取的是无限长的周期序列,周期为2l,因此,把取值范围(-l,l)修改为(0,2l),这样就可以避免在负的时间段取值。

       由于处理的是离散的数据序列,因此不能进行积分,而应用积分的离散形式,用求和来表示,即int_{0}^{2l}rightarrow sum_{k=1}^{N}x_{k},在(0,2l)里等间隔取N个取值点,取样间隔为dxrightarrow Delta t,其中l=frac{NDelta t}{2}

       可以得到                         f(x) rightarrow {x_{0},x_{1},x_{2}cdotcdotcdot,x_{N-1}}

                                                    frac{nxpi}{l}rightarrow frac{kiDelta tpi}{frac{NDelta t}{2}}=frac{2kipi}{N}

离散形式为:                   x_{i}=frac{a_{0}}{2}+sum_{k=1}^{m}(a_{k}cosfrac{akipi}{N}+b_{k}sinfrac{2kipi}{N})

其中a_{0}=frac{1}{frac{NDelta t}{2}}sum_{i=0}^{N-1}x_{i}=frac{2}{N}sum_{i=0}^{N-1}x_{i}a_{k}=frac{1}{frac{NDelta t}{2}}sum_{i=0}^{N-1}x_{i}cosfrac{2kipi}{N}=frac{2}{N}sum_{i=0}^{N-1}x_{i}cosfrac{2kipi}{N}b_{k}=frac{1}{frac{NDelta t}{2}}sum_{i=0}^{N-1}x_{i}sinfrac{2kipi}{N}=frac{2}{N}sum_{i=0}^{N-1}x_{i}sinfrac{2kipi}{N},在实际数据处理中,k一般取N/2,此时波的周期最小,获得的频率范围最大,所以想要获得高频率的信号,就需要缩短取样间隔。

MATLAB提供了dftmtx函数来获得一个复数傅里叶变换矩阵,用法为a = dftmtx(x)

例1.计算序列x(n)的DFT

clear all
t = linspace(1e-3,100e-3,10);
xn = sin(100*2*pi*t);
N = length(xn);
WNnk = dftmtx(N);
Xk = xn*WNnk;
subplot(121);
stem(1:N,xn);
subplot(122);
stem(1:N,abs(Xk));

关于离散傅里叶变换的性质可以看看这个大佬的讲解,很细致

https://blog.csdn.net/SanyHo/article/details/107102323 

参考资料——《MATLAB信号处理》沈再阳

                         matlab帮助文档

最后

以上就是老实夏天为你收集整理的MATLAB信号处理——信号的变换(4)2-4离散的傅里叶变换的全部内容,希望文章能够帮你解决MATLAB信号处理——信号的变换(4)2-4离散的傅里叶变换所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(105)

评论列表共有 0 条评论

立即
投稿
返回
顶部