使用Matlab和Pluto SDR发送单音信号

RTL-SDR电视棒应该有不少人都玩过,几十块钱就可以接收到很宽频段的信号,不仅可以收听广播,还可以监听某些电台,甚至可以接收GPS信号进行定位,但它作为无线电设备的痛点就是只能收但不能发,不能自己发送信号,是不是有点手痒痒,如果恰巧手里有一块可以同时收发信号的Pluto SDR,那么玩法可就多了,但最基础的还是学会怎么发送信号,接下来使用Matlab编程的方法实现SDR发送信号。

声明:本文只涵盖了代码实现,没有涉及到Simulink实现,实际上使用界面化的Simulink会更加方便,但由于相关文章很多,本文概不赘述。

准备环境

想要使用Matlab对Pluto SDR开发需要先安装Communications Toolbox Support Package for Analog Devices ADALM-Pluto Radio,需要2017b及更新的版本。
plutosdr

代码实现

首先需要自己生成一个信号,这里以单音信号举例,使用DSP toolkit生成一个幅度0.5,频率100kHz的正弦信号,并规定采样率2MHz,每帧5k样本(即400帧/秒)。注意Pluto SDR处理的是复数信号,所以生成的正弦波需要是复数输出。

fs = 2e6;
sw = dsp.SineWave;
sw.Amplitude = 0.5;
sw.Frequency = 100e3;
sw.ComplexOutput = true;
sw.SampleRate = fs;
sw.SamplesPerFrame = 5000;
txWaveform = sw();

根据官方文档,想要发送信号,需要先创建一个sdrtx对象,然后对其属性进行修改,例如设备ID、中心频率(此处设定为2.415GHz)、基带采样率等,最后transmitRepeat让连接到的设备一直重复发送设定好的单音信号。

tx = sdrtx('Pluto');
tx.RadioID = 'ip:192.168.1.10';
tx.CenterFrequency = 2.415e9;
tx.BasebandSampleRate = fs;
tx.Gain = -5;
transmitRepeat(tx,txWaveform);

若想让发送停止,在命令窗口输入release(tx)即可。

结果呈现

使用另一个接收设备,将中心频率调整到2.415GHz附近,可以观察到2.4151GHz有一强度很高的信号,这就是我们的100MHz基带信号被搬移到了2.415GHz频段的结果。周围很多小尖峰是我们的单音信号的谐波分量,当发射端release(tx)后,即停止发射信号后,这些小谐波都会消失,图上的这个频段会恢复寂静。
在这里插入图片描述

  • 12
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
MATLAB开发Pluto SDR(即Software Defined Radio)是一种强大的工具,能够在软件级别对射频信号进行处理。Pluto SDR是一款由Analog Devices公司生产的低成本射频开发平台,其具有广泛的应用领域,包括通信、雷达、航空航天等。使用MATLAB进行Pluto SDR的开发可以实现快速的原型设计和验证。 首先,在MATLAB中,可以使用ADALM-PLUTO驱动程序连接Pluto SDR设备并与之通信。该驱动程序提供了一组函数和工具箱,用于接收和发送射频信号。通过编写MATLAB代码,可以通过设置频率、增益等参数来控制Pluto SDR设备,并实时接收和处理射频信号。 其次,MATLAB还提供了一套丰富的信号处理工具和算法,可以在收到的射频信号上进行各种信号处理操作。比如,可以进行滤波、解调、解码、调制等操作。MATLAB还提供了各种函数和工具箱,用于音频信号处理、图像处理、通信系统设计等方面的开发。 最后,MATLAB还支持使用Simulink来进行可视化系统设计和建模。通过将Pluto SDR设备与Simulink模型进行连接,可以快速构建复杂的通信系统,进行仿真和验证。Simulink还提供了丰富的信号处理模块,可以直观地进行信号处理算法的设计和实现。 总之,MATLAB作为一个强大的开发工具,可以与Pluto SDR设备完美结合,提供了丰富的函数、工具箱和算法,可以进行快速的原型设计和开发。使用MATLAB开发Pluto SDR不仅可以节省开发时间,还可以提高开发效率和系统性能,为各种射频应用提供了便利和灵活性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值