理论来源

  • 《高低频电路设计与制作》 铃木雅臣 著。这位作者的书写的都不错

电路图

  • 模拟思路



    设输入信号为

    \[s(t) = \sin(w_0 t + \Delta w\int_{- \infty }^{t} m(\tau ) d\tau )
    \]

    注意看书中,所谓的“移相”,本质上是一个延时器,相位在中心频率处移相90°,中心频率两测近似线性变化。利用一些滤波器可实现该电路。

    设延时\(\Delta t = \frac{\pi}{2 w_0}\),延时后信号:

    \[s_{2}(t) = \sin(w_0 t + \int_{- \infty }^{t+\Delta t } m(\tau ) d\tau +\frac{\pi}{2} )
    \]

    相乘再低通滤波,有

    \[s_{3}(t) = \cos(\int_{- \infty }^{t+\Delta t } m(\tau ) d\tau - \int_{- \infty }^{t} m(\tau ) d\tau +\frac{\pi}{2} )
    \]

    化简

    \[s_{3}(t) = \sin(\int_{t}^{t+\Delta t } m(\tau ) d\tau )
    \]

    由于基频远超过信号频率,因此\(\Delta t\)极小,有

    \[s_{3}(t) \approx \int_{t}^{t+\Delta t } m(\tau ) d\tau \approx \Delta t m(t)
    \]

    缺点是信号需要后级放大

    实际上延时\(\Delta t\)也不一定非要为90°,只是在90°和270°附近更好一些

    从另一种角度来看,这就是利用乘法器实现鉴相解调过程,由于延时操作,频率变化对应了相位的变化,乘法器将相位变化表现为偏置的变化,滤波后产生输出波形

  • 利用数字电路实现鉴相





    实际上是把FM 先进行了1bit量化,仅保留频率信息;利用延迟电路设置延迟,通过异或门将延迟信号相对源信号的相移量以1bit量化形式输出(是个鉴相器),最后由滤波器实现\(\Sigma\)积分器的作用,全程等效于用$ \Delta \Sigma $开环鉴相器方式实现解调,对比看一看集成鉴相器:



    参考信号为原信号,跟踪信号为延迟信号,由于延迟导致相位-频差近似线性关系,因此通过XOR鉴相得到的相位差就是调制信号

    据书上说明,信噪比可达到80dB以上,妈妈再也不用担心调锁相环调到头秃啦

FM的一种简易解调方式的更多相关文章

  1. node爬虫的几种简易实现方式

    说到爬虫大家可能会觉得很NB的东西,可以爬小电影,羞羞图,没错就是这样的.在node爬虫方面,我也是个新人,这篇文章主要是给大家分享几种实现node 爬虫的方式.第一种方式,采用node,js中的 s ...

  2. Xamarin Android Fragment的两种加载方式

    android Fragment的重点: 3.0版本后引入,即minSdk要大于11 Fragment需要嵌套在Activity中使用,当然也可以嵌套到另外一个Fragment中,但这个被嵌套的Fra ...

  3. VMware的三种网络连接方式区别

    关于VMware的三种网络连接方式,NAT,Bridged,Host-Only ,在刚接触的时候通常会遇到主机Ping不通虚拟机而虚拟机能Ping得通主机:主机与虚拟机互不相通等等网络问题.本文就这三 ...

  4. 前端之float的几种清除浮动方式

    前端之float的几种清除浮动方式 本节内容 1.float清除方式1 2.float清除方式2 3.float清除方式3 4.float清除方式4 1.float清除方式1 <!DOCTYPE ...

  5. ASP.NET MVC下的四种验证编程方式[续篇]

    在<ASP.NET MVC下的四种验证编程方式>一文中我们介绍了ASP.NET MVC支持的四种服务端验证的编程方式("手工验证"."标注Validation ...

  6. ASP.NET MVC下的四种验证编程方式

    ASP.NET MVC采用Model绑定为目标Action生成了相应的参数列表,但是在真正执行目标Action方法之前,还需要对绑定的参数实施验证以确保其有效性,我们将针对参数的验证成为Model绑定 ...

  7. Hive几种数据导出方式

    Hive几种数据导出方式 今天我们再谈谈Hive中的几种不同的数据导出方式.可以根据导出的地方不一样,将这些方式分为三种: (1).导出到本地文件系统: (2).导出到HDFS中: (3).导出到Hi ...

  8. HTML5 Web 客户端五种离线存储方式汇总

    最近折腾HTML5游戏需要离线存储功能,便把目前可用的几种HTML5存储方式研究了下,基于HT for Web写了个综合的实例,分别利用了Cookie.WebStorage.IndexedDB以及Fi ...

  9. jQuery中ajax的4种常用请求方式

    jQuery中ajax的4种常用请求方式: 1.$.ajax()返回其创建的 XMLHttpRequest 对象. $.ajax() 只有一个参数:参数 key/value 对象,包含各配置及回调函数 ...

  10. 用jQuery实现的一种网页内容呈现方式

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. 【教程】app备案流程简单三部曲即可完成

    ​ [教程]app备案流程简单三部曲即可完成 APP备案流程包括以下步骤: 1. 开发者实名认证:在提交备案申请之前,开发者需要通过移动应用开发平台进行实名认证.这个步骤需要提供身份证号码.姓名.联系 ...

  2. QA团队基于DataLeap开放平台能力的数据测试实践

    背景 &痛点 随着生态体系扩展和业务发展,数据在业务中承担的决策场景越来越多样化,一部分数据已应用在资损.高客诉等高风险场景,因此对数据质量的要求,尤其是高风险场景的质量要求非常之高.但在保障 ...

  3. 火山引擎 DataLeap 构建Data Catalog系统的实践(三):关键技术与总结

    更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 关键技术 构建一个好的Data Catalog系统,需要考虑的核心产品设计和技术设计有很多.篇幅所限,本文只概要介 ...

  4. Solon2 接口开发: 实战 Gateway 模式效果

    1.效果预览 网关 @Mapping("/api/v3/app/**") @Component public class ApiGateway3x extends UapiGate ...

  5. 阿里云CentOS数据盘挂载(磁盘扩容)

    1. df -h Disk label type 值为dos表示MBR分区,值为gpt表示GPT分区. [root@iZuf66gcq71y5hlfv02w6aZ ~]# yum install -y ...

  6. redis之列表 redis之hash redis其他操作 redis管道 django中使用redis celery介绍和安装 celery快速使用 celery包结构

    目录 昨日回顾 今日内容 1 redis之列表 2 redis之hash 3 redis其他操作 4 redis 管道 5 django中使用redis 6 celery介绍和安装 7 celery快 ...

  7. Grafana-安装饼状图

    官网:https://grafana.com/grafana/plugins/grafana-piechart-panel/?tab=installation 使用grafana-cli直接安装 [r ...

  8. C++ lambda 内 std::move 失效问题的思考

    最近在学习 C++ Move 时,有看到这样一个代码需求:在 lambda 中,将一个捕获参数 move 给另外一个变量. 看似一个很简单常规的操作,然而这个 move 动作却没有生效. 具体代码如下 ...

  9. 一套前后台全部开源的H5商城送给大家

    博主给大家推荐一套全部开源的H5电商项目waynboot-mall.由博主在2020年开发至今,已有三年之久.那时候网上很多的H5商城项目都是半开源版本,要么没有H5前端代码,要么需要加群咨询,属实恶 ...

  10. paddlespeech asr脚本demo

    概述 paddlespeech是百度飞桨平台的开源工具包,主要用于语音和音频的分析处理,其中包含多个可选模型,提供语音识别.语音合成.说话人验证.关键词识别.音频分类和语音翻译等功能. 本文介绍利用p ...