Matlab 快速傅立叶变换 / fft 用于时间和速度

2023-12-31

我有一个 2 列向量,其中包含数据子集的时间和速度,如下所示:

5 40
10 37
15 34
20 39

等等。我想要对速度进行傅立叶变换以获得频率。我将如何使用快速傅里叶变换(fft)来做到这一点?

如果我的矢量名称是sampleData,我已经尝试过

fft(sampleData);

但这给了我一个实数和虚数的向量。为了能够获得合理的数据来绘制,我将如何去做呢?


傅里叶变换将产生一个复向量,当你得到一个频率向量时,每个频率都有一个频谱相位。这些阶段非常重要! (它们包含时域信号的大部分信息,没有它们您将看不到干扰效应等......)。如果你想绘制功率谱,你可以

plot(abs(fft(sampleData)));

为了完成这个故事,您可能需要进行 fftshift,并生成一个频率向量。这是更详细的代码:

% Assuming 'time' is the 1st col, and 'sampleData' is the 2nd col: 
N=length(sampleData);  
f=window(@hamming,N)';
dt=mean(diff(time)); 
df=1/(N*dt); % the frequency resolution (df=1/max_T)
if mod(N,2)==0
    f_vec= df*((1:N)-1-N/2); % frequency vector for EVEN length vector
    else
    f_vec= df*((1:N)-0.5-N/2); 
end

fft_data= fftshift(fft(fftshift(sampleData.*f))) ;

plot(f_vec,abs(fft_data))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab 快速傅立叶变换 / fft 用于时间和速度 的相关文章

  • 通过多次合并相同的行向量来构建矩阵

    有没有一个matlab函数可以让我执行以下操作 x 1 2 2 3 然后基于x我想建立矩阵m 1 2 2 3 1 2 2 3 1 2 2 3 1 2 2 3 您正在寻找REPMAT http www mathworks com help t
  • 通过 cuFFT 进行逆 FFT 缩放

    每当我使用 cuFFT 绘制程序获得的值并将结果与 Matlab 的结果进行比较时 我都会得到相同形状的图形 并且最大值和最小值位于相同的点 然而 cuFFT 得到的值比 Matlab 得到的值大得多 Matlab代码是 fs 1000 s
  • 矩阵乘法 - 视图/投影、世界/投影等

    在 HLSL 中有很多矩阵乘法 虽然我了解如何以及在何处使用它们 但我不确定它们是如何导出的或它们的实际目标是什么 所以我想知道是否有在线资源可以解释这一点 我特别好奇将世界矩阵乘以视图矩阵以及世界 视图矩阵乘以投影矩阵背后的目的是什么 您
  • 合并 2 个数组并合并数字键的结果

    我有 2 个数组 我希望通过每个数字键将其中合并 分组在一起 例如 Array1 2009 gt 131 2008 gt 940 2007 gt 176 2006 gt 1 Array2 2008 gt 9 2007 gt 3 我希望输出是
  • Redim Preserve 给出“下标超出范围”

    我想要Redim Preserve一个数组我不断收到错误 下标超出范围 我知道只有最后一个维度的大小可以更改 这正是我正在做的事情 这里出了什么问题 数组的类型是Variant BmMatrix Sheets BENCH Range a60
  • 使用正则表达式搜索 Ruby 数组

    你好 我有一个小的 ruby 函数 它可以分割出一个 Ruby 数组 如下所示 def rearrange arr from to sidx arr index from eidx arr index to arr sidx arr sid
  • jQuery / Ajax:如何循环遍历数组作为 Ajax 成功函数的一部分

    我有一个阿贾克斯调用返回一个数组并需要对该数组中的每个值执行某些操作 到目前为止 我有以下内容 但这会返回以下错误 Uncaught TypeError Cannot use in operator to search for length
  • 对 std::vector 进行排序但忽略某个数字

    我有一个std vector
  • 为什么这个二维指针表示法有效,而另一个则无效[重复]

    这个问题在这里已经有答案了 这里我编写了一段代码来打印 3x3 矩阵的对角线值之和 这里我必须将矩阵传递给函数 矩阵被传递给指针数组 代码可以工作 但问题是我必须编写参数的方式如下 int mat 3 以下导致程序崩溃 int mat 3
  • 朱莉娅在矩阵中查找(行,列)而不是索引

    在 Julia 中 您可以通过以下方式找到矩阵中元素的坐标 julia gt find x gt x 2 1 2 3 2 3 4 1 0 2 3 element Array Int64 1 2 4 9 这些值是正确的 但我更希望得到 row
  • MATLAB:将当前文件夹设置为脚本位置

    我在不同的文件夹中有一些脚本和数据 我使用addpath和相对路径经常 我的问题是 只有当我的当前文件夹是我执行的脚本所在的位置时 这才有效 例如 如果我执行添加路径 X 的脚本 A 然后执行位于路径 X 中的脚本 B 则 Matlab 不
  • 在 C 中通过引用传递数组

    我是 C 新手 我有一个疑问 由于 C 函数创建其参数的本地副本 我想知道为什么以下代码按预期工作 void function int array array 0 4 array 1 5 array 2 6 int main int arr
  • 图像梯度角计算

    我实际上是按照论文的说明进行操作的 输入应该是二进制 边缘 图像 输出应该是一个新图像 并根据论文中的说明进行了修改 我对指令的理解是 获取边缘图像的梯度图像并对其进行修改 并使用修改后的梯度创建一个新图像 因此 在 MATLAB Open
  • 从零开始的 numpy 形状意味着什么

    好的 我发现数组的形状中可以包含 0 对于将 0 作为唯一维度的情况 这对我来说是有意义的 它是一个空数组 np zeros 0 但如果你有这样的情况 np zeros 0 100 让我很困惑 为什么这么定义呢 据我所知 这只是表达空数组的
  • 从数组中检索均匀分布的元素数

    我知道如何提取数组中的每个第 n 项 但我遇到的困难如下 如何从 1800 个元素的数组中提取第 n 个项目 始终包括第一个和最后一个元素 总共最多 256 个元素 Example array 1 2 3 4 5 6 7 8 9 10 提取
  • 如何将两个long转换为字节数组=如何将UUID转换为字节数组?

    我正在使用 JavaScriptUUID并且需要将 UUID 转换为字节数组 奇怪的是 UUID 类不提供 toBytes method 我已经了解了这两种方法 UUID getMostSignificantBits and UUID ge
  • Matlab:2行10列的子图

    如何在 matlab 中绘制 20 幅图像 2 行 10 列 我知道我必须使用 子图 功能 但我对给出的参数感到困惑 我尝试给予 子图 2 10 行索引 列索引 但它似乎不起作用 请帮忙 的前两个参数subplot函数分别给出图中子图的总行
  • 轴标注问题

    通过运行我编写的以下 matlab 函数 可以互换图中的 x 轴和 y 轴 谁能告诉我问题出在哪里或者帮我解决它吗 预先感谢您的任何帮助 function axislabeling n x 1 1 n y 1 1 n z zeros n n
  • 将文本拆分为数组,同时保留 Swift 中的标点符号

    我想将文本拆分为一个数组 保持标点符号与其余单词分隔开 因此字符串如下 Hello I am Albert Einstein 应该变成这样的数组 Hello I am Albert Einstein 我尝试过sting components
  • 从多维无穷大数组中删除数组元素

    我想删除一个特定元素 例如 我想删除元素id 76在下面的数组中 而且 数组可以无限地组合在一起 这里的问题是我无法刷新页面 因为我使用 Vue js 进行即时操作 如果我能做到这一点 我的下一个问题可能是如何在我现在想要的地方添加一个元素

随机推荐

  • 通过 TCP 代理的 RDP

    第一次使用 Stackoverflow 希望有人能帮助我 我正在研究通过 TCP 代理 隧道传递 RDP 流量的概念证明 该代理 隧道将使用 HTTPS 通过防火墙 该问题与将映像部署到计算机有关 因此不能假设 NET 框架将存在 因此在连
  • 将 Grunt 应用程序部署到 heroku 时,NPM 不会安装模块依赖项

    我使用 grunt 制作了一个静态单页网站 我现在尝试使用以下命令将其部署到 herokuheroku buildpack nodejs grunt https github com mbuchetics heroku buildpack
  • 已 root 的 Galaxy S8 上的设备所有者

    我一直在尝试将我的内部演示应用程序提升为设备所有者rootedS8 一直有问题 我尝试过的方法 1 NFC 配置 如所解释的here https github com googlesamples android NfcProvisionin
  • 如何使用应用密码访问bitbucket

    我已经按照说明创建了应用程序密码here https confluence atlassian com bitbucket app passwords 828781300 html 但现在 我如何使用此应用程序密码访问存储库 网址是什么 有
  • 使用 C 无法从 TCP 套接字正确接收数据 [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我使用的是 Ubuntu 12 04
  • 如果字符串出现在源(或差异)中,Git 在提交之前发出警告

    当我在某个场所进行表演时 我希望能够被阻止 git如果我要提交的更改包含某个字符串 例如 todo or hack 有人可以告诉我如何实现这一目标吗 或警告 或在提交时 一个简单的预提交钩子检查是否添加了字符串 todo 如下所示 bin
  • Chrome 扩展和 Javasctipy 数据库

    我正在尝试构建一个 Chrome 扩展程序 该扩展程序将大量使用数据和图像 在存储数据时我有哪些选择 我希望我有某种 SQL 选项 SQLite 你可以去base64 http en wikipedia org wiki Base64编码图
  • 在后台打开新标签页?

    使用 javascript 我想在不同的选项卡中打开一个新页面 但仍将注意力集中在当前选项卡上 我知道我可以这样做 open http example com focus 但是 当我在 Chrome 中执行此操作时 它会在切换回当前选项卡之
  • 无法以编程方式更改 UITextView 框架大小

    我已使用界面生成器在视图中插入 UITextView 现在我想更改其框架大小 以便以编程方式适合内容 问题在于 由于限制 大小似乎被锁定并且无法从代码中更改 如果我在文件检查器中禁用自动布局 每个对象都会删除约束 但我只想更改 UIText
  • “UnicodeEncodeError:‘ascii’编解码器无法对字符进行编码”

    我试图通过正则表达式传递大的随机 html 字符串 而我的 Python 2 6 脚本对此感到窒息 UnicodeEncodeError ascii 编解码器无法对字符进行编码 我追溯到这个词末尾的商标上标 Protection 我希望将来
  • 如何交互 BlazorWebView 和 Windows 窗体

    我想将数据从 Windows 窗体发送到 BlazorWebView 并接收从 Web 视图返回到窗体的通知 这个怎么做 在 Net 6 Windows 窗体应用程序中 BlazorWebView blazorApp new BlazorW
  • iPhone 中用于 AES 加密的不同填充模式和密码模式有哪些?

    iPhone 中用于 AES 加密的不同填充模式和密码模式有哪些 Thanks 有两种填充模式 PKCS 7 和无 以及两种相应的密码模式 CBC 和 ECB 如果您指定kCCOptionPKCS7Padding然后你会得到 CBC 并且如
  • 如何在 MySQL 中使用准备好的语句截断表?

    这返回 true 但它没有截断表 this gt db gt query TRUNCATE TABLE tablename 但它在为准备好的语句创建数据库连接对象之前起作用 如何修复它 另外 我想知道如何使用准备好的语句截断表 NO 准备好
  • djangorest框架创建带有密码的用户

    使用 django rest framework 3 和 django 1 8 我正在尝试使用 django rest framework ModelViewSerializer 创建用户 问题是DRF使用的默认objects create
  • 如何在 PostgreSQL 中对使用 date_trunc 函数的表达式创建索引?

    当我尝试在 PostgreSQL 中对类型的表字段的表达式创建索引时date 使用date trunc函数 我收到以下错误 functions in index expression must be marked IMMUTABLE 我该如
  • Webpack 4 devtool 选项不适用于 webpack-dev-server

    在我决定发布这个问题之前 我做了很多事情作为背景调查 所以 我的问题是 我使用 webpack v4 6 0 和 webpack dev server v3 1 3 他们一起工作得很好 但现在我正在尝试为我的应用程序设置源映射 似乎开发工具
  • 如何续订 Azure API 管理证书

    使用我们的 Azure API 管理端点配置的证书今天过期了 显然它的有效期只有一年 我们如何更新它 我们认为使用 MS 提供的默认 API 管理证书意味着我们不必手动担心更新它 但事实似乎并非如此 证书过期消息 https i stack
  • 我的 VBA Excel 宏中的防病毒误报

    我刚刚遇到了一个更烦人的问题 https stackoverflow com questions 3339136 antivirus false positive in my executable 突然 Windows Defender 开
  • Netbeans7.1 和 JavaFX 2.0 - FXML 代码完成不起作用

    我开始学习 JavaFX 2 0 并安装了 Netbeans 7 1 java 7 02 SDK 其中包含 JavaFX 2 一切似乎都正常 示例项目编译并运行良好 我的问题是 代码完成不适用于 FXML 文件 我按 ctrl space
  • Matlab 快速傅立叶变换 / fft 用于时间和速度

    我有一个 2 列向量 其中包含数据子集的时间和速度 如下所示 5 40 10 37 15 34 20 39 等等 我想要对速度进行傅立叶变换以获得频率 我将如何使用快速傅里叶变换 fft 来做到这一点 如果我的矢量名称是sampleData