usrp n321产生fsk波形代码
时间: 2023-07-03 11:10:43 浏览: 133
以下是使用USRP N321产生FSK波形的示例代码:
```python
import uhd
import time
import numpy as np
# 设置USRP参数
usrp_addr = "addr=192.168.10.2"
usrp_rate = 1e6
usrp_freq = 900e6
usrp_gain = 0
usrp_channels = [0]
# 设置FSK参数
fsk_freq = 50e3
fsk_deviation = 50e3
fsk_duration = 1.0
# 创建USRP设备对象
usrp_dev = uhd.usrp.MultiUSRP(usrp_addr)
# 设置USRP采样率和中心频率
usrp_dev.set_rate(usrp_rate)
usrp_dev.set_center_freq(usrp_freq)
# 设置USRP增益和天线端口
usrp_dev.set_gain(usrp_gain)
usrp_dev.set_antenna("TX/RX", 0)
# 创建FSK调制信号
fsk_samples = int(fsk_duration * usrp_rate)
fsk_t = np.linspace(0, fsk_duration, fsk_samples)
fsk_mod = np.cos(2 * np.pi * (usrp_freq + fsk_deviation * np.sin(2 * np.pi * fsk_freq * fsk_t)) * fsk_t)
# 创建USRP发送流
usrp_tx_stream_args = uhd.usrp.StreamArgs("fc32", "sc16")
usrp_tx_stream_args.channels = usrp_channels
usrp_tx_stream = usrp_dev.setup_tx_stream(usrp_tx_stream_args)
# 启动USRP发送流
usrp_tx_stream.start()
# 发送FSK调制信号
tx_time = time.time()
tx_metadata = uhd.types.TXMetadata()
usrp_tx_stream.send(fsk_mod, tx_metadata)
# 停止USRP发送流
usrp_tx_stream.stop()
# 关闭USRP设备
usrp_dev.close()
```
此代码使用USRP N321生成一个持续1秒钟的FSK调制信号,并将其发送到USRP的TX端口。你可以根据需要调整FSK参数和USRP参数。
阅读全文