gpt4 book ai didi

python - Unetstack - Python API - 组合 Tx/Rx

转载 作者:太空宇宙 更新时间:2023-11-04 02:09:47 25 4
gpt4 key购买 nike

传输信号然后立即切换到 RX 模式并记录反射的最有效方式是什么?

最佳答案

您可以使用 TxBasebandSignalReq 消息发送信号,等待 TxFrameNtf 指示信号已成功发送,然后使用 请求录制>记录基带信号请求。为避免传输和录制之间出现间隙,您可以使用TxFrameNtftxTime 属性来触发录制(recTime 属性)。大多数使用 UnetStack 的调制解调器将允许从过去开始记录,只要数据在缓冲区中(通常是几秒钟)。

上面的想法在下面的 Groovy 代码片段中表达(没有任何错误检查):

import org.arl.unet.*
import org.arl.unet.phy.*

def bb = agentForService(Services.BASEBAND)
bb << new TxBasebandSignalReq(signal: mySignal)
def ntf = receive(TxFrameNtf)
bb << new RecordBasebandSignalReq(recTime: ntf.txTime, recLen: nSamples)

这里mySignal是你要发送的信号(复数基带表示),nSamples是你要记录的基带样本数。

(您可以使用 Python 以几乎相同的方式做同样的事情)

录音将在传输开始时开始,并将包含传输信号(很可能被削波),然后是任何回声/返回。如果您想在传输结束时开始录制,可以通过将 recTime 设置为 ntf.txTime + mySignalDuration 来实现,其中 mySignalDuration是以微秒为单位的信号长度。

还请记住,传输和记录的信号是信号的复杂基带表示,其载波频率为 bb.carrierFrequency,采样率为 bb.basebandRate .这种表示比通带表示更紧凑。但是,如果您想在传输中使用通带表示,可以在 TxBasebandSignalReq 中设置 fc: 0 并传入在 4*bb 采样的通带信号.basebandRate,但您必须将接收到的信号转换为通带(上采样,乘以复指数并取实部)。如果你使用的是 Python,这很容易使用类似 arlpy.signal.bb2pb() 的东西来完成。 .

关于python - Unetstack - Python API - 组合 Tx/Rx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53909642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com