【信号处理】基于扩展傅里叶的信号分析(Matlab代码实现)
👨🎓个人主页:研学社的博客
💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
摘要:是为了强调所提出的光谱分析方法与离散傅里叶的连接变换 (DFT),研究最广泛和最常用的方法 信号处理的历史。结果表明,在典型应用中 在这种情况下,统一数据读数转换为相同数量的 均匀间隔的频率,经典DFT的结果和提出 方法重合。当 选择 DFT 以大于数据的长度。DFT解决了 未知数据问题,通过用零填充读数,直到长度为 DFT,而拟议的扩展DFT(EDFT)在 不同的方式,它使用傅里叶积分变换作为目标并优化 扩展频率范围内的变换基,而不放置这样的 时域限制。因此,逆DFT(IDFT)适用 EDFT的结果不仅返回已知读数,还返回 外推数据,其中经典DFT只能返回零,以及 在数据所在的频率下实现更高的分辨率 已成功扩展。已经证明EDFT能够处理数据 数据内部有缺失读数或间隙,甚至数据分布不均匀。 因此,EDFT显著扩展了基于DFT的方法的可用性,其中 以前,这些方法被认为不适用。电子数据交换和金融交易 以迭代方式找到解决方案,并需要重复计算以 获得自适应基,这使得它的数值复杂度要高得多 与DFT相比。这一劣势在1990年代是一个严重的问题,当时 已经提出了方法。幸运的是,从那时起,计算机的力量 增加如此之多,以至于如今EDFT应用程序可以被认为是真正的 。
详细文章见第4部分。
📚2 运行结果
部分代码:
% No input
if nargin==0
error('Not enough input arguments')
end
if sum(any(isinf(x)))
error('Inf is not allowed in input')
end
[m, n] = size(x);
% Basic algorithm
if (nargin == 1) && (m > 1) && (n > 1)
% f = fft(fft(x).').';
f = edft(edft(x).').';
return;
end
% Padding for vector input
if nargin < 3, ncols = n; end
if nargin < 2, mrows = m; end
mpad = mrows; npad = ncols;
if m == 1 && mpad > m, x(2, 1) = 0; m = 2; end
if n == 1 && npad > n, x(1, 2) = 0; n = 2; end
if m == 1, mpad = npad; npad = 1; end % For row vector
% Transform
%f = fft(x, mpad);
%if m > 1 & n > 1, f = fft(f.', npad).'; end
f = edft(x, mpad);
if m > 1 && n > 1, f = edft(f.', npad).'; end
🎉3 参考文献
部分理论来源于网络,如有侵权请联系删除。
🌈4 Matlab代码及详细文章讲解
相关文章
- lasso回归matlab,机器学习Lasso回归重要论文和Matlab代码「建议收藏」
- nsga2 matlab,NSGA2算法特征选择MATLAB实现(多目标)
- 手眼标定算法Tsai-Lenz代码实现(Python、C++、Matlab)
- matlab逆变器仿真程序,PWM逆变器Matlab仿真「建议收藏」
- matlab支持向量回归,支持向量回归 MATLAB代码
- MATLAB函数句柄
- matlab中@的用法[通俗易懂]
- c++ findwindow函数_matlab中怎么查找函数的用法
- 遗传算法优化bp神经网络matlab代码_神经网络进化算法
- matlab读取txt文件为数组「建议收藏」
- matlab读取txt文件数据_matlab怎么输入数据
- matlab保存图片清晰度_图片分辨率300dpi怎么设置
- MATLAB的循环_matlab循环输出
- matlab循环语句for_MATLAB以下选择语句错误的是
- Matlab赋值_matlab二维数组赋值
- matlab 汽车振动,基于MatLab的车辆振动响应幅频特性分析
- matlab 怎么使用function,Matlab中function函数使用操作方法
- Matlab实现图像分割