FM非相干解调原理及Keil代码

article/2025/7/10 3:25:02

FM非相干解调原理及Keil代码

  • 原理
  • 拉格朗日插值
  • 代码

原理

原理部分因为有很多人解释就不赘述,需要的人会给出链接自行学习
相干解调:相干解调也叫同步检波,它适用于所有线性调制信号的解调。实现相干解调的关键是接收端要恢复出一个与调制载波严格同步的相干载波。相干解调是指利用乘法器,输入一路与载频相干(同频同相)的参考信号与载频相乘。

非相干解调:通信接收端从已调高频信号中恢复出原始数字基带信号时,采用的非相干解调方式,相对于相干解调方式,是指不需要提取载波信息的一种解调方法。

我们将上述的调制信号分别乘以coswt,-sinwt,就可以得到相应的IQ路的数据,然后分别通过一个低通滤波器,滤除高频分量,就可以的得到以基带信号为频率的I路Q路载波信号,然后两个再相比,就可以得到其正切值,再求反正切就可以了的到其角度,角度就是我们的基带信号。

但是,在上面解调的时候,使用了反正切,这个运算量很大,在FPGA中也难以直接实现,所以,通过改进算法,可以简化计算过程。
所以今天代码的重点就在简化计算上

链接: 算法原理

拉格朗日插值

FM正交调制是分IQ两路,解调部分也是如此,但是只能得到I(n),Q(n+1),I(n+2),Q(n+3)…
实际上解调序列就是一个相互间隔、交替出现的IQ序列,但IQ值在时间上正交的,如下所示:
在这里插入图片描述

显然不利于计算公式的计算在这里插入图片描述

简单来说,就是我有I(n),但没有Q(n),这里就用到拉格朗日插值法了,具体来说是拉格朗日型4次插值多项式.
链接: 拉格朗日插值法原理
举个栗子:已知Q1 Q3 Q5 Q7(Q路分量),来求Q4
Q4=K0Q1+K1Q3+K2Q5+K3Q7(Ki是系数)
K0=(4-3)(4-5)(4-7) / (1-3)(1-5)(1-7)=1/16
K1=(4-1)(4-5)(4-7) / (3-1)(3-5)(3-7)=-9/16
K2=(4-1)(4-3)(4-7) / (5-1)(5-3)(5-7)=9/16
K3=(4-1)(4-3)(4-5) / (7-1)(7-3)(7-5)=-1/16
这个公式不懂可以看上面拉格朗日插值的链接。
以此类推可以推出所有的IQ路分量

代码

下面代码包含了鉴频和5:1抽取

void detectFreq(float *inBuf,float *outBuf)
{register short i = 0;static float temp[1207] = {0};float m;float rssi;const float TH = 0.18;for(i=0;i<7;i++)temp[i] = temp[SAMPLE_SIZE+i];for(i=0;i<SAMPLE_SIZE;i++)temp[i+7] = inBuf[i];for(i=0;i<SEND_SIZE;i++){m=temp[6+5*i] * temp[7+5*i] + 0.00390625 * (9*temp[7+5*i] - 9*temp[5+5*i] + temp[9+5*i] - temp[3+5*i]) * (9*temp[8+5*i] - 9*temp[6+5*i] + temp[10+5*i] - temp[4+5*i]);
//0.00390625就是1/16rssi=temp[6+5*i]*temp[6+5*i] + 0.00390625*(9*(temp[7+5*i]-temp[5+5*i])+temp[9+5*i]-temp[3+i*5]) * (9*(temp[7+5*i]-temp[5+5*i])+temp[9+5*i]-temp[3+i*5]);
//0.00390625就是1/16outBuf[i]=0.5*(m)/(rssi);if(outBuf[i]>TH )  //原始数据是 0.3   限幅outBuf[i] = TH;else if(outBuf[i]<-TH)outBuf[i] = -TH;}
}

看到这里了,点个赞呗


http://chatgpt.dhexx.cn/article/GduHh4iN.shtml

相关文章

2ASK非相干解调matlab

2ASK非相干解调matlab 2ASK信号产生 振幅键控是利用载波的幅度变化来传递数字信息&#xff0c;而其频率和初始相位保持不变。在2ASK中&#xff0c;载波的幅度只有两种变化状态&#xff0c;分别对应二进制信息“0”或“1”。一种常用的、也是最简单的二进制振幅键控方式称为通…

2dpsk差分相干解调matlab,2DPSK差分相干解调器设计.doc

您所在位置&#xff1a;网站首页 > 海量文档 &nbsp>&nbsp办公文档&nbsp>&nbsp简明教程 2DPSK差分相干解调器设计.doc9页 本文档一共被下载&#xff1a;次,您可全文免费在线阅读后下载本文档。 下载提示 1.本站不保证该用户上传的文档完整性&#xf…

2ASK非相干解调

2ASK非相干解调 **matlab程序实现****目录**2ASK信号产生2ASK信号非相干解调完整代码 matlab程序实现 目录 2ASK信号产生2ASK信号非相干解调全波整流器低通滤波器抽样判决器 2ASK信号产生 振幅键控是利用载波的幅度变化来传递数字信息&#xff0c;而其频率和初始相位保持不…

通信原理 简易2DPSK的相干解调与非相干解调的matlab实现

2DPSK信号的解调主要有两种方法。第一种方法是直接比较相邻码元的相位&#xff0c;从而判决接收码元是“0”还是“1”。为此&#xff0c;需要将前一码元延迟1码元时间&#xff0c;然后将当前码元的相位和前一码元的相位作比较。这种方法称为相位比较法。此方法对于延迟单元的延…

matlab相干解调,心电信号的调制与解调(AM调制、相干解调)

陈超 11108125 一. 系统构思: 1)、通信原理课程介绍了模拟信号的调制与解调。调制可以实现将低频信号频谱搬移到载频位置,解调相当于 调制的反过程。 2)、调制和解调的应用举例:3.4kHZ的话音信号经过调制后可经信道进行远距离传输,在接收端通过解调不失 真的恢复出原始信号…

关于相干解调

c实现数字信号通过低通滤波器 对前面采集的数字信号进行相干解调的过程中&#xff0c;使用到一个滤波器数组和接收信号数组的线性卷积的过程。 //lb2.c //离散序列线性卷积 #include <stdio.h> float convolute(double *f,double *g,unsigned int k) {unsigned int n0…

走进波分 -- 12.相干光解调技术

对于ASK调制信号&#xff0c;接收端可以直接检测幅度就可以进行解调 对于PSK和QAM调制&#xff0c;由于使用了相位来承载信息&#xff0c;所以必须采用相干解调即对相位进行解调的技术 相干&#xff0c;就是相互干扰 相干的概念来源于波动光学 在接收端&#xff0c;利用与发送…

Modis数据下载及后处理

最近需要用大量的modis数据&#xff0c;这里记录一下最近踩的坑吧 下载modis的地址&#xff1a; https://ladsweb.modaps.eosdis.nasa.gov/ 点击上面的find data就可以愉快找数据了。我一开始只知道上面这个网址&#xff0c;后面还会给别的选择。 首先我想要MOD16A2和MOD43A…

[MODIS数据处理#0]下个数据能再简单些吗?

引言 写MODIS数据处理这个系列文章的初衷&#xff0c;主要是为了分享本人在使用ArcGIS处理MODIS数据方面的一些经验。鉴于网上对这方面系统性的总结还比较少&#xff0c;当初我搜集资料时也是走了许多的弯路&#xff0c;因此希望通过此文让初学者能够更快的入门&#xff0c;把…

MODIS数据的简介和下载(二)——MODIS数据下载方式(FTP)

前一篇我们已经介绍了MODIS数据的简介、参数以及相关的典型应用。这一篇我们来介绍下MODIS数据的下载方式。当然这边主要是介绍国外网站的下载方式&#xff0c;国内网站的普遍是在地理空间数据云和遥感集市下载。国外网站&#xff08;NASA官网&#xff09;下载方式主要介绍两种…

MODIS数据下载、拼接、转tif

modis数据的优势在于时间序列长&#xff0c;产品种类多。 modis数据下载下来是hdf格式&#xff0c;且一份数据由很多瓦片数据组成&#xff0c;需要进行拼接、投影&#xff0c;转tif等操作 刚开始研究了好久使用MRT来对modis的hdf文件进行批量拼接&#xff0c;投影以及转tif&a…

[MODIS数据处理#4]例一:基于MOD13分析某区域逐月NDVI变化

一、下载数据 这里选用的MOD13A3数据集&#xff0c;下载方法可参考&#xff1a; MODIS数据处理#0&#xff1a;下个数据能再简单些吗 二、MRT预处理 使用MRT工具提取MOD13A3中的NDVI数据&#xff0c;并转换为栅格文件&#xff0c;处理框架参考 MODIS数据处理#1&#xff1a;利用…

AOD实践,modis数据下载,modis数据处理

modis数据下载-数据读取-重投影-拼接-均值 一、数据下载 1、Cygwin安装 Cygwin安装教程&#xff1a;https://blog.csdn.net/u010356768/article/details/90756742 1.2 数据采集 现提供遥感数据下载服务&#xff0c;主要是NASA数据&#xff0c;数据下载网站包括&#xff1a…

MODIS数据下载方法

MODIS数据下载方法 1、安装火狐浏览器&#xff0c;并添加以下组件 2、在组件DownThemAll!中打开“选项”&#xff0c;点击“新建”&#xff0c;按照下图输入下载格式&#xff0c;并点击“新建筛选器”。 3、用火狐浏览器打开MODIS产品下载网址并申请用户名后登陆&#xff1a; …

基于Modis数据的地表温度反演

基于Modis数据的北京市地表温度反演 评论区有下载原文和相关资料的链接&#xff0c;自己翻找即可。 操作平台 ENVI 5.5 ArcGIS 10.2 数据源 MODIS B1产品&#xff08;包含1km 热红外波段&#xff09; 数据来源 https://ladsweb.modaps.eosdis.nasa.gov/search/ 研究区&…

MODIS数据下载及批处理

目录 MODIS数据下载及批处理 一、下载数据 二、MRT&#xff08;Modis Reprojection Tools&#xff09;处理数据 1、下载以及安装MRT软件&#xff1a; 2、拼接以及投影Modis数据&#xff1a; 3、批处理Modis影像&#xff1a; 一、下载数据 下载详情可以看这个链接&#…

MODIS数据介绍和下载总结

由于毕业论文需求&#xff0c;需要下载并且处理MODIS数据&#xff0c;之前对MODIS数据了解并不多&#xff0c;这篇博客作为MODIS数据的学习总结。 1.MODIS数据介绍 参考链接&#xff1a;http://blog.sina.com.cn/s/blog_53e9bb570101jv55.html 1.1MODIS数据总体介绍 1999年…

分享一种MODIS数据下载方法

最近下载MODIS数据的时候&#xff0c;使用以前使用的网页进行下载&#xff0c;总会页面加载失败&#xff0c;从而下载不了想要的数据。 以往的下载教程可以参考&#xff1a;MODIS和Sentinel-5P数据下载指南_7染的博客-CSDN博客 在网上冲浪&#xff0c;找到了一种更加方便快捷&a…

【MODIS合集】MRT批处理MODIS数据

【MODIS合集】MRT批处理MODIS数据 针对MODIS数据的处理&#xff0c;NASA提供了modis tool软件&#xff0c;方便我们对数据进行处理&#xff0c;包括数据格式的转换&#xff0c;坐标系转换、镶嵌以及重采样等。 单个文件的处理 多文件的批处理 当然事实上我们往往是多期数据需…

【MODIS】MODIS数据的常用下载源

说明 在这里给大家介绍了MODIS数据常用的三个下载源。后面会介绍怎么批量下载。 LAADS DAAC search href"https://ladsweb.modaps.eosdis.nasa.gov/search/LAADS DAAC archive https://ladsweb.modaps.eosdis.nasa.gov/archive/LP DAAC https://e4ftl01.cr.usgs.gov/ 第…