PlutoSDR学习指南【2】无线数据传输

阅读: 评论:0

PlutoSDR学习指南【2】无线数据传输

PlutoSDR学习指南【2】无线数据传输

ADALM-PLUTO主动学习模块(PlutoSDR)易于使用,有助于向电气工程专业学生介绍软件定义无线电(SDR)、射频(RF)和无线通信的基础知识。该模块针对不同层次和背景的学生而设计,可同时用于教师辅导和自主学习,旨在帮助学生在攻读理学、技术或工程学位时为实际RF和通信打下基础。

PlutoSDR与主机配合使用时,充当便携式实验室,可增强课堂学习。MATLAB和Simulink是由PlutoSDR支持的两个主要软件包,它提供直观的用户图形用户界面(GUI),让学生可以更快学会,更巧妙地开展工作并探索更多知识。

PlutoSDR具有独立的接收和发射通道,可在全双工模式下工作。主动学习模块可以在325 MHz至3800 MHz频率范围内以最高每秒61.44MSPS产生或捕获RF模拟信号。PlutoSDR非常小,可装在衬衣口袋中,完全独立自足且由配有默认固件的USB供电。由于PlutoSDR通过libiio驱动程序启动,因此它支持OS X®、Windows®和Linux®,可让学生在多台设备上学习和探索。

PlutoSDR提供许多适合SDR项目的可用在线教程,拥有涵盖众多主题的实验室和教学资料,如ADS-B航空器位置、接收NOAA和Meteor-M2天气卫星图像、GSM分析、TETRA信号监听、寻呼机解码等!

matlab 提供了简单易用的 PLUTO 访问接口,使得用户非常方便地使用使用PLUTO。

我们只需考虑基带处理部分,PlutoSDR替我们将基带信号“搬”到频带,我们只需设置频带的中心频率、带宽、收发的增益、收端接收一帧容纳的比特数等参数。

1,在matlab中 进行数据接收。

clear all
close all
clc%pluto rx 设置
rxPluto  = sdrrx('Pluto');
rxPluto.CenterFrequency = 2400000000;   %设置中心频率 2.4GHz
rxPluto.BasebandSampleRate = 18e6;      %设置采样率 :10MHz
rxPluto.SamplesPerFrame = 1024 ;        %设置采样点数:1024fs  =  rxPluto.BasebandSampleRate ;     
N   =  rxPluto.SamplesPerFrame ;        
freq = (-N/2:N/2-1)/N* fs/1000000 ;     % 接收信号
% data即收到的信号,datavalid指示数据是否有效,overflow指示数据是否溢出。
[data,datavalid,overflow] = rxPluto();  %利用 pluto进行数据接收XK  =   fft( data );                    %fft变换figure(1);
plot(freq,20*log10( fftshift(abs( XK )) ) );  %绘制数据的频谱figure(2);
plot(real(data)); hold on;  %绘制数据实部
plot(imag(data));           %绘制数据虚部

将 pluto 通过 USB  插入到电脑主机,运行上述 matlab 代码。通过信号源给pluto 输入一个频率为 2.401 GHz 的信号,结果如下。

频域图 ,可以观察到在 1.02MHz 处存在信号。

时域图 ,I,Q两路数据如下,比较标准的正弦波。

2,在matlab中 进行数据发送

例子

发送、接收一个单频信号: 

参数设置:

    中心频率:2400MHz 

    发送端增益:0dB 

    基带采样率 :30.72MHz

    发送数据长度:65536  

    发射端增益:0 

发送端代码:

clear all
close all
clcCenterFrequency    =    1000000000 ;    %中心频率 1GHZ
BasebandSampleRate =  30.72e6 ;         %基带采样率 30.72MHztxPluto  = sdrtx('Pluto');
txPluto.RadioID =  'usb:0' ;
txPluto.CenterFrequency  =  CenterFrequency ;      
txPluto.BasebandSampleRate =  BasebandSampleRate  ;        
txPluto.ChannelMapping     = 1;
txPluto.Gain = 0 ;                          %发射端增益%%生成信号
%基带采样率:30.72MHz
%基带信号频率 10KHz
%点数:65536
fc = 100e3;                  %基带信号频率 10KHz
fs = BasebandSampleRate;    
N =  65536*2 ;
t = (1:N)/fs ;
f = fs*(0:N-1)/N  ;input=exp(1i*2*pi*fc*t )'; figure(1);
plot(t,real(input));
figure(2);
plot( f  , 20*log10( abs(   fft(input) )  ) ) ;%%发送数据
%发送100次
for a = 0:2000 txPluto(input); 
end

运行上述脚本,将 pluto TX 端口连接到 示波器 或 频谱仪 上,即可观察到发送的信号。

PlutoSDR 官方网站:

本文发布于:2024-02-02 22:30:24,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170688422246863.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23