当前位置: 首页 > news >正文

微相E316实现FM电台监听

        前面介绍了基于Matlab、矢量信号器或微相E316、HackRF One实现AM和FM调制解调,今天分享的内容是用微相E316、上位机和Matlab实现FM电台信号监听。注意本文仅用于科研和学习,私自搭建电台属于违法行为。

1.概述

微相E316、上位机和Matlab实现FM电台信号监听测试框图如1所示:

图1 微相E316实现FM信号监听框图       

         通过上位机设置要采集的FM电台的频率、采样率和采集长度,完成FM电台信号的采集,然后将采集的FM调制IQ数据导入Matlab后,通过Matlab软件完成FM信号解调和播放。微相E316的网口和USB口连接计算机,如图2所示:

图2 微相E316和计算机接线图

微相E316的天线接收口连接天线,如图3所示。

图3 微相E316和天线接线图

2.微相E316软件框架

       FPGA_PL端软件框架如图4所示,FPGA_PL端接收部分完成将AD9361采集的射频数据进行混频、下变频和AGC,并将AGC后的IQ数据通过datamover模块传到PS端,FPGA_PS端将接收到的IQ数据传给上位机,上位机完成数据接收和存数据文件。

图4 FPGA_PL端软件框图

3.上位机采集FM电台信号

步骤一:打开基于Matlab的上位机软件“sdr_soft.exe”,如图5所示;

图5 上位机软件

步骤二:打开“超短波电台”,如图6所示;

图6 超短波电台上位机

步骤三:设置IP地址,微相E316 IP地址:192.168.0.103,调试计算机IP地址192.168.0.33,连接成功提示如图7所示;

图7 上位机连接微相E316成功提示

步骤四:设置采集FM电台频率88.4MHz,收到提示参数下发成功,如图8所示;

图8 上位机设置采集FM信号频率

步骤五:设置采样率0.064MHz和采集长度1024000,收到提示参数下发成功,如图9所示;

图9 上位机设置采样率和采集长度

步骤六:选中“存文件”选项,然后点击“信号采集”,如图10所示;

图10 上位机设置存文件和采集开始

步骤七:等待采集完成,如图11所示;

图11 采集完成

4.Matlab解调FM信号

首先,将上一节采集的FM调制IQ数据x和采样率fs导入Matlab。根据如下FM解调公式,得到我们需要的源基带信号。

具体matlab解调代码如下:

%%%%%%%%%%%%%FM解调%%%%%%%%%%%%%%%%%%%%%%
adc_i = real(x);
adc_q = imag(x);
subplot(2,1,1);
plot(adc_i); title('FMµ÷ÖÆÐźÅ');
fm = 64000;
%重新检测数据长度
c_len = length(adc_i);
cr = zeros(1,c_len);
cj = zeros(1,c_len);
for i = 2: c_len %必须从2开始,因为有I-1 
	cr(i) = adc_i(i)*adc_i(i) +adc_q(i)*adc_q(i);
	cj(i)  = adc_i(i-1) * adc_q(i) -  adc_i(i)* adc_q(i-1);%I(n-1)*Q(n) -I(n)*Q(n-1)
end
angle = zeros(1,c_len);
for i = 1:c_len
	if cr(i) == 0
		angle(i) = 0;
	else 
		angle(i) = (cj(i)/cr(i))*2 ^16; %FPGA 中没有小数,要进行量化
	end
end

d_len = length(angle);
sum = 0;
cnt = 0;
demout = zeros(1,fix(d_len*(fm/fs)));
d_cnt = 1;
for i= 1:d_len
	sum = sum + angle(i);
	if cnt == fs/fm 
		demout(d_cnt) =  sum /cnt;
		d_cnt = d_cnt + 1;
		cnt = 0;
		sum= 0;
	end
	cnt = cnt + 1;
end
demout = 1*demout/max(abs(demout));
subplot(2,1,2);
plot(demout);title('FM解调后的信号');
sound(demout,fm);

FM信号和解调信号时域波形如图12所示。

图12 FM调制信号和解调信号

5.采样率0.32MHz采集FM电台信号

      上位机修改采样率为0.32MHz,其他参数不变,采集完成提示如图13所示,在Matlab里完成FM信号解调,FM调制信号和解调信号时域波形如图14所示。

图13 上位机采集完成

图14 FM调制信号和解调信号

6.采样率0.64MHz采集FM电台信号

        上位机修改采样率为0.64MHz,其他参数不变,采集完成提示如图15所示,在Matlab里完成FM信号解调,FM调制信号和解调信号时域波形如图16所示。

图15 上位机采集完成

图16 FM调制信号和解调信号

        第4-6节,比较将上位机设置不同采样率采集的IQ数据导入Matlab后解调并播放,我们发现采样率64KHz时,由于带宽小,解调后的信号收听效果比较差,有明显杂音,而采样率320KHz和640KHz时,解调后的信号听起来比较清晰。

相关文章:

  • websocket与django
  • 深入解析C++26 Execution Domain:设计原理与实战应用
  • SessionBox同一浏览器登录多账号独立IP教程
  • window安装MySQL5.7
  • 前端ES面试题及参考答案
  • 如何成为一名合格的单片机工程师----引言介绍篇(1)
  • MySql面试宝典【刷题系列】
  • Selenium库详解:Python实现模拟登录与反爬限制的进阶指南
  • 网络工程师 (49)UDP协议
  • 双非本中九硕电子信息CV,自学开发不知道选java还是c++
  • 从被动应答到主动预见:客户服务的未来式变革
  • C++ STL基础
  • 1287. 有序数组中出现次数超过25%的元素
  • JavaScript 中的数组详解
  • 量子计算的基本运算:Hadamard 门、CNOT 门、Pauli 门详解
  • 使用excel中的VBA合并多个excel文件
  • 【Java学习】多态
  • LeetCode 501.二叉搜索树中的众数
  • C++ 移动语义
  • 电商API安全防护:JWT令牌与XSS防御实战
  • wordpress 远程 mysql/seo网站介绍
  • 中国最好网站建设公司/上海最专业的seo公司
  • 网站好坏的指标/网站关键词优化网站推广
  • 网站开发语言选择/爱站网seo工具
  • wordpress ftp下载/常州网站优化
  • 网站不被收录/如何提升网站seo排名