【问题标题】:Gnuradio: FFT plot for 1 sampleGnuradio:1 个样本的 FFT 图
【发布时间】:2021-11-14 12:38:03
【问题描述】:

我正在使用 GNU Radio 接收无线电信号并将其与元数据一起写入文件(复杂)。 然后我用python解析文件,我有1个样本(8字节)的变量。我想为 1 个特定样本构建 FFT 图或将其保存为图像。 那是真的吗?我可以用 GRC 做到这一点,或者 python 有 lib 吗? 谢谢

【问题讨论】:

  • FFT 的频率分辨率等于您给它的样本数。我实际上不知道 FFT 算法是否对单个样本“有效”,但如果有效,它只会返回信号的直流分量。 (单个样本的“直流分量”只是样本值。)如果给它两个样本,你会得到直流分量和另一个频率分量。如果你给它 1024 个样本,你会得到直流分量和 1023 个不同的频率分量,等等。

标签: python gnuradio gnuradio-companion


【解决方案1】:

您的问题毫无意义:单个样本的 FFT 只是 那个 样本。这就是 FFT 的定义。

这样想:频谱告诉您信号中有哪些频率。

信号“0.23”中有哪些频率成分?只有一个频率分量:幅度为 0.23 的恒定分量。

【讨论】:

  • 也许我说错了。我想查看这个样本的频谱。像这样:i.stack.imgur.com/GeaJq.png
  • 还要注意!只有当信号完全由给定的样本序列组成时,FFT 返回的频谱才是“真实的”,并且永远一遍又一遍地重复。对于一个样本,一遍又一遍地重复,信号显然是纯直流。
  • @jich443,我想你可能需要解释一下你所说的“样本”是什么意思。通常在谈论数字信号处理时,“样本”一词是指信号在某一特定时刻的值。 Marcus 解释了为什么根据单词的常规定义,您无法从单个 sample 中获取任何有关频率的信息。
  • @SolomonSlow 如果我有元数据,例如:HEADER 3021 Version Number: 0 Sample Rate: 10000000.00 sps Seconds: 450.771217 Item size: 8 Data Type: float (5) Complex? True Header Length: 171 bytes Extra Length: 22 Extra Header? True Size of Data: 8 bytes 1.0 items 并且我在此元数据之后剪切了接下来的 8 个字节,这不是 1 个样本吗? 1 个样本!= 1 个项目?
  • @jich443,我不知道你正在处理的文件的格式,所以我不知道标题后面的接下来的 8 个字节是否是一个有效的样本,但是@987654323 @ 表示每个样本在文件中占用 8 个字节。如果仅提取 8 个字节,则不能超过一个样本。如上所述,您无法从单个样本中获取频率信息。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多