0

我编写了一个从数据文件中读取数据并将数据包推送到 BULKIO 输出端口的组件。此输出端口连接到 TuneFilterDecimate 组件的 dataFloat_In 端口。TuneFilterDecimate 的输出端口然后连接到 AmFmPmBasebandDemod 组件的 dataFloat_in 端口。但是,我似乎无法正确设置 TuneFilterDecimate 组件的属性以获得预期的基带输出。

我用作输入的数据文件是数字化 IF 数据的记录。数据文件的射频中心频率为 93 MHz。中频中心频率为 26.75 MHz。该信息分别作为 SRI 的关键字 COL_RF 和 CHAN_RF 包含在内。SRI 还包含作为 xdelta 的数据采样率 (83.333 MHz) 的倒数。

我想创建一个波形来解调位于此文件中的 92.5 MHz 的标准 FM 广播。

有什么想法吗?TuneFilterDecimate 组件的属性应该设置为什么?如有必要,我很乐意提供更多信息。

谢谢!

4

2 回答 2

0

该视频显示了使用 RTL 接收器执行此操作的过程。这将使您大致了解波形的外观。

http://www.youtube.com/watch?v=wN9p8EjiQs4

1.8.4 TuneFilterDecimate 组件让您可以在以下三种模式之一进行调谐:标准化、IF 或 RF。在您的示例中,您可以选择以下内容。

  • TuneMode=RF, TuningRF=92.5 MHz
  • TuneMode=IF, TuningIF=26.25 MHz
  • TuneMode=Norm,TuningNorm = (26.25 - 26.75 / 83333000) + .5 = 0.494

(83.333 MHz 的采样率似乎有点高,所以您可能需要仔细检查一下)

使用 RF/IF 调谐模式时,COL_RF/CHAN_RF 关键字必须正确。使用标准化数字进行调优不需要这些关键字。

于 2013-08-07T18:36:07.827 回答
0

在回答您的问题之前,也许最值得注意的一点是 TuneFilterDecimate 不适用于真实数据。如果您尝试将真实数据运行到此组件中,您将在日志中看到以下神秘消息。

“将真实数据视为复杂数据”

这基本上告诉您,如果数据实际上是真实的,则 TuneFilterDecimate 将无法正常工作。我们目前正在考虑为此组件添加适当处理真实数据的功能。如果您的 IF 数据很复杂,则可以。如果它是真实的,那么您目前不能将 TuneFilterDecimate 用作处理的第一阶段。

现在回到你的问题。它实际上可以分为两部分。如何适当地设置关键字。并且,给定适当的 RF 关键字,应该如何配置 TuneFilterDecimate。

COL_RF 和 CHAN_RF 关键字的使用在前端接口规范中定义。您可以在此处查看文档。

要记住的重要一点是,在这两种情况下,这些关键字的目的是提供射频频率和数据流中心之间的映射。如果您的 IF 数据很复杂,则频带的中心为 0 Hz。如果是真实的,则数据流的中心是 fs/4。

COL_RF 用于收集器射频。如果您正在调整收集的数据,则除了使用 COL_RF 之外,还使用 ​​CHAN_RF,以便保留原始收集器信息。换句话说,如果 CHAN_RF 存在,它将取代 COL_RF 以便您当前的信号在基带之间映射

因此,以下等式可用于 KEYWORD_VALUE 的映射:

对于复杂的 IF 数据:

rfFreq = KEYWORD_VALUE + ifFreq

对于真实的 IF 数据:

rfFreq = KEYWORD_VALUE- fs/4.0 + ifFreq

ifFreq 是信号的频率。rfFreq 是 Rf 的对应频率。KEYWORD_VALUE 是 CHAN_RF 的值(如果存在)或 COL_RF 的值(如果不存在 CHAN_RF)。fs 是您的采样率。

在您的示例中,您没有指定数据是真实的还是复杂的。鉴于您使用的参数,我猜它是真实的。

无论哪种方式,通过使用非中心 IF 频段,您必须适当调整关键字并求解映射到频段中心的 Rf 值。

我们可以使用上面的两个方程来求解 CHAN_RF。

如果您的数据是真实的:93MHz = KEY_VAL - 83.333/ 4.0 + 26.75 KEY_VAL = 87.08333 MHz。这应该是您的频段中心的 Rf 值

如果您的数据很复杂:93MHz = CHAN_RF + 26.75 KEY_VAL = 66.25

我们知道您关心的 IF 值比 If 中心频率低 0.5 MHz。该值为 26.25MHz。我们可以检查这两个方程来验证映射是否正常工作。

对于真实情况: ifFreq = 92.5 - 87.08333 + 83.333/ 4.0 = 26.25

对于复杂情况: ifFreq = 92.5 - 66.25 = 26.25

在任何一种情况下,都会获得正确的值。因此,我们已经验证了正确设置了关键字值。

您可以针对您的情况使用的关键字可以是 COL_RF 或 CHAN_RF,这取决于您获取数据的收集过程中哪个更有意义。COL_RF 是 Rf 收集值。CHAN_RF 用于从收集的信号中调出一个通道。如果您将获取数据的过程视为一种转换,则应使用 COL_RF。如果您认为您的过程是在 93 MHz 上收集,然后将收集到的数据从频段中心调整到 26.75,那么您可以将 COL_RF 设置为 93MHz,将 CHAN_RF 设置为上面找到的关键值。

现在到第二个问题。给定适当的关键字用法,您可以在 Rf 模式下使用 TuneFilterDecimate 并将 Tuning Rf 设置为 92.5 MHz。如果您愿意,您可以绕过所有这些关键字,只需使用 IF 模式并将值设置为 26.25MHz。

于 2013-08-12T14:00:48.780 回答