FPGA应用开发和仿真【3.7】

8.5 混频和相干解调

混频,即两个信号做乘法,是在数字通信中很常用的信号处理方法。考虑两个单频信号Acos(ω1t+ 1)和cos(ω0t),

一般前者为待处理的信号,而后者为已知的参考信号,将它们相乘:

其中:arctan2(x,y)=∠(I+jQ)为四象限反正切函数。

混频和滤波器常用于频谱搬移和调制解调(称为相干解调):

·频谱搬移,如将中频调制信号混频到射频,或将射频信号混频到中频。

·解调时一般要求ω0=ω1,即Δω=0,那么:

·I项可以用于解调调幅信号、0°和180°的BPSK。

·Q项可用于解调90°和270°的BPSK。

·结合I项和Q项,利用式(8-2),可解调任何相位、幅度和幅相联合调制(即QAM)信号,称为正交解调,或者说分析任何同频信号或任何信号中同频成分的幅度和相位。

混频和滤波的一般结构如图8-10和图8-11所示,实例将在后续几节中介绍。

8.6 AM和ASK

8.6.1 调制

如果基带信号为采样序列m[n]∈[-1,1],载波为cos(Ωcn),数字幅度调制(AM)产生如下信号:

其中:

·A 0一般为1或0,为1时为常规调幅,即带有载频的双边带调幅,为0时为抑制载波的双边带调幅(DSB)。

·M∈(0,1]为调制度。

图8-12所示是A0=1,M=0.5,m[n]为正弦采样序列的示意。注意右侧频谱并不是以m[n]为单频信号绘制的,而是绘

出了基带应有的一定频宽。

将双边带调制后的上边带或下边带用滤波器滤除,则形成单边带调制(SSB)。

数字AM和ASK并没有明确区分,如果m[n]是二值或少数几个值量化的码元序列则AM成为ASK。对于二进制基带位流,限带(如有要求)后直接按AM调制方法即得2-ASK。

AM调制器结构如图8-14所示,图中标出了实现时拟使用的数据位宽。对于ASK,如果使用多位二进制(一位多进制)作为一个码元,数据选择器也可以是多输入的,另外,ASK常常也并不需要控制M和A0,计算好各符号需要的幅度后,也可以省略M乘法器和A0加法器。

图8-14中所示的ASK,“0”和“1”对应的m[x]分别为1和-1,此时如果M=0.5,A0=0.5,则可使得“0”和“1”对应的调制输出信号幅值分别为1和0,这种情况下的ASK又称为“OOK”。

多数情况下,中频系统的工作采样率一般数倍于中频载波频率,而基带采样率可能低至中频的数倍至数十倍,所以往往在基带带通滤波器后会做插值滤波器升采样,以降低基带带通滤波器的复杂度。

代码8-7描述了图8-14中的AM部分。对于ASK读者可自行实现,这里不赘述。

代码8-7 AM调制器

8.6 AM和ASK

8.6.1 调制

如果基带信号为采样序列m[n]∈[-1,1],载波为cos(Ωcn),数字幅度调制(AM)产生如下信号:

其中:

·A 0一般为1或0,为1时为常规调幅,即带有载频的双边带调幅,为0时为抑制载波的双边带调幅(DSB)。

·M∈(0,1]为调制度。

图8-12所示是A0=1,M=0.5,m[n]为正弦采样序列的示意。注意右侧频谱并不是以m[n]为单频信号绘制的,而是绘出了基带应有的一定频宽。

将双边带调制后的上边带或下边带用滤波器滤除,则形成单边带调制(SSB)。

数字AM和ASK并没有明确区分,如果m[n]是二值或少数几个值量化的码元序列则AM成为ASK。对于二进制基带位流,

限带(如有要求)后直接按AM调制方法即得2-ASK。

AM调制器结构如图8-14所示,图中标出了实现时拟使用的数据位宽。对于ASK,如果使用多位二进制(一位多进制)作为一个码元,数据选择器也可以是多输入的,另外,ASK常常也并不需要控制M和A0,计算好各符号需要的幅度后,也可以省略M乘法器和A0加法器。

图8-14中所示的ASK,“0”和“1”对应的m[x]分别为1和-1,此时如果M=0.5,A0=0.5,则可使得“0”和“1”对应的调制输出信号幅值分别为1和0,这种情况下的ASK又称为“OOK”。

多数情况下,中频系统的工作采样率一般数倍于中频载波频率,而基带采样率可能低至中频的数倍至数十倍,所以往往在基带带通滤波器后会做插值滤波器升采样,以降低基带带通滤波器的复杂度。

代码8-7描述了图8-14中的AM部分。对于ASK读者可自行实现,这里不赘述。

代码8-7 AM调制器

8.6.2 解调

在信噪比不太差时,常规AM用包络检波法最为简单可靠。数字域的包络检波如图8-15所示,其中带通滤波器的通带即为基带的频带。因中频采样率往往高出基带采样率很多,所以在基带带通滤波器可能需要做滤波抽取降采样,以降低基带带通滤波器的复杂度。

图8-15 数字AM(绝对值)包络检波

代码8-8描述了图8-15,其中以基带频带[1,5]MHz为例,并在基带带通滤波器前进行了1/4的FIR滤波抽取。基带带通滤波器的通带是[1,5]MHz,两侧过渡带各1MHz,通带波动1dB,阻带衰减60dB。

代码8-8 AM包络检波器(以基带1M~5MHz为例)

对于抑制载波的DSB或SSB,则必须采用相干解调;信噪比较低的常规AM,相干解调也会有更好的性能。相干解调使用一个与调制时使用的载波同频同相的本地载波与待解信号相乘后滤波:

其结构如图8-16所示。本地载波的获取将在8.10节介绍。

图8-16 数字AM相干解调

代码8-9描述了图8-16,同样使用了1/4的FIR抽取滤波,滤波器设计同代码8-8。

代码8-9 AM相干解调(以基带1M~5MHz为例)

数字系统广泛使用晶体振荡器作为时钟源时钟,基础准确度和通常情况下温度导致的频率漂移不会超过50×10-6。温度漂移本身又是极低频的,所以即使不同步本地载波,使用任意相位的“同频”(实际有数十ppm的差异)本地载波做正交解调,根据式(8-2)和式(8-3)也可以解得DSB或SSB信号,如图8-17所示。平方和开平方运算在数字电路中都不难实现,这也是数字系统较模拟系统的优势。

8.6.3 调制解调仿真

仿真平台实现了如图8-18所示结构,中频载波为20MHz,仿真了常规AM和SSB,常规AM使用包络检波法,SSB使用相干解调,基带信号用限带的伪随机序列模拟。SSB解调前的带通滤波器作用可能并不明显,因相干解调本身含有基带滤波,对带外噪声不敏感。

图8-18 AM调制解调仿真系统结构

代码8-10描述了图8-18所示结构。

代码8-10 AM调制解调系统测试平台

图8-19所示是仿真中常规AM和包络检波解调部分的波形。

图8-19 AM调制解调仿真波形(常规调幅和包络检波)

图8-20是仿真中SSB和相干解调部分的波形。可以观察到,在噪声影响下,包络检波和相干解调都有些许失真,而相干解调比包络检波则稍好一点。

图8-20 AM调制解调仿真波形(SSB和相干解调)

8.7 PM和PSK

8.7.1 调制

如果基带信号为采样序列m[n]∈[-1,1],载波为cos(Ωcn),数字相位调制(PM)产生如下信号:

其中:KP为最大相位偏移。

图8-21所示是KP=π时,m[n]为正弦采样序列的示意。右侧频谱并不是以m[n]为单频信号绘制的,而是绘出了基带应有的一定频宽,在KP较大时,调制后的信号将在载频上下存在多个旁瓣,而在KP<π/6时,旁瓣将几乎只有上下各一个。

图8-21 PM调制的时域波形和频谱(以KP=π为例)

图8-22 BPSK(相位0和π)

PSK通常都使得不同符号的相位在[0,2π)区间均匀分布,例如m[n]为-1和1时对应的相位分别为-π和π,波形如图8- 22所示,通常称为BPSK。

PM调制器可使用DDS实现,使用基带序列控制其相位控制字即可,如图8-23所示。图8-24所示则为BPSK调制器结构,因基带采样率和中频采样率相差可能较大,所以可能需要做插值滤波器升采样,以降低基带带通滤波器的复杂度。

代码8-11描述了图8-24所示结构。它使用bb_en控制基带采样率(注意并不是数据位流的码率,而是基带滤波器的工作频率,大于数据位流的码率),if_en控制中频采样率,因内部插值滤波器的限制,bb_en速率应为if_en的1/4,DDS在其中实例化,频率由外部控制。

代码8-11 BPSK调制器(基带1M~5MHz)

8.7.2 解调

解调PM信号需使用相干解调法,并使用较载波相位超前90°的本地载波:

但是这与m[n]并不呈线性关系,除非在Kp<<π/6时,近似呈线性关系。因而少有直接用PM做模拟信号调制的,一般都用来做PSK。对于BPSK。使用同相本地载波解调:

如图8-25所示是BPSK的相干解调结构。

图8-25 BPSK的相干解调

代码8-12描述了图8-25所示结构。与调制器一样,使用bb_en控制基带采样率,if_en控制中频采样率,因内部抽取滤波器的限制,bb_en速率应为if_en的1/4,本地载波由外部提供,其中进行了判决并输出解调后的二进制码流。

代码8-12 BPSK相干解调(以基带1M~5MHz为例)

8.7.3 调制解调仿真

这里以差分曼彻斯特编码测试上述BPSK的调制和解调。测试平台实现的结构如图8-26所示。

图8-26 BPSK调制解调仿真系统结构

代码8-13是测试平台代码。其中本地载波直接使用DDS产生(载波同步将在8.10节介绍),因中频带通滤波器存在延迟:

对于20MHz本地中频载波:525ns÷50ns=10…25ns,即应后移相位180°,所以DDS的相位控制字写为“- 0.5*2**24”(PW=24),以便与调制端载波同步。

代码8-13 BPSK调制解调系统测试平台

图8-27所示是仿真波形。注意,dds_phase虽然在“π”处时有溢出,但相位是连续的,并不影响调制。因调制端码“0”对应相位0°,最终解调出来为高,而“1”则解调出来为低,所以解调输出的差分曼彻斯特编码是反相的,但不影响解码。

图8-27 BPSK调制解调测试平台仿真波形

8.8 FM和FSK

8.8.1 调制

如果基带信号为采样序列m[n]∈[-1,1],载波为cos(Ωcn),由模拟频率调制(FM)经零阶保持特性离散化得到的数字FM调制信号应为:

因而,只需要将:

作为频率控制字送至DDS,即可实现FM,其中ΔΩ=KfTs为归一化角频率偏移。图8-28左侧是ΔΩ=Ωc/4=4Ωm时的FM波形,而右侧是ΔΩ=Ωc/16=Ωm时的大致频谱。

代码8-14描述了图8-29所示结构中的数字FM部分。

代码8-14 FM调制器

8.8 FM和FSK

8.8.1 调制

如果基带信号为采样序列m[n]∈[-1,1],载波为cos(Ωcn),由模拟频率调制(FM)经零阶保持特性离散化得到的数字FM调制信号应为:

称为窄带调频(NBFM),否则称为宽带调频(WBFM)。

频率调制器的结构如图8-29所示。

代码8-14描述了图8-29所示结构中的数字FM部分。

代码8-14 FM调制器

8.8.2 解调

窄带调频可采用相干解调,采用与PM信号一样的解调方法后再做微分。而无论窄带调频还是宽带调频,都可以用鉴频器解调。鉴频器使用一个过渡带覆盖[Ωc-ΔΩ,Ωc+ΔΩ],并且幅频特性成线性的高通滤波器将FM信号处理成包络与频率成正比的信号,而后使用与AM解调一样的包络检波法,如图8-30所示。

窗函数法设计的FIR滤波器在过渡带中心线性较好,可以用于鉴频,以fc=20MHz和Δf=2MHz为例,归一化截止角频率Ω0.5=0.4π,38阶平顶窗设计的FIR滤波器的幅频响应如图8-31所示,图中虚线为直线,它在18MHz时增益0.336,22MHz时增益0.664,期间线性非常好。

图8-31 用于鉴频的高通滤波器

代码8-15描述了图8-30所示的FM解调器(不包含第一级中频带通滤波),其中直接使用了8.6节介绍的AM包络检波器,因鉴频滤波器输出幅度仅有全动态范围的1/3,因而内部扩展了两位,最后直接给到少两位的输出,相当于做了4倍增益。

代码8-15 宽带FM解调器(鉴频法)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1132129.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日Java面试场景题知识点之-ELK技术栈实战应用

每日Java面试场景题知识点之-ELK技术栈实战应用 前言 在现代Java企业级项目中&#xff0c;日志分析是系统监控和故障排查的重要环节。ELK技术栈&#xff08;Elasticsearch、Logstash、Kibana&#xff09;作为目前最流行的日志分析解决方案&#xff0c;在Java项目中得到了广泛应…

【毕业设计】SpringBoot+Vue+MySQL “衣依”服装销售平台平台源码+数据库+论文+部署文档

&#x1f4a1;实话实说&#xff1a;有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。摘要 随着互联网技术的快速发展和电子商务的普及&#xff0c;线上服装销售平台逐渐成为消费者购物的主要渠道之一。传统线下服装销售模式受限于时间和空…

每日Java面试场景题知识点之-ELK日志分析

场景题&#xff1a;微服务架构下日志分散导致故障排查困难 问题描述 在一家大型电商平台的微服务架构中&#xff0c;系统包含订单服务、用户服务、支付服务、库存服务等20多个微服务实例&#xff0c;每个服务部署在多台服务器上。某天凌晨&#xff0c;用户支付功能出现异常&…

FPGA应用开发和仿真【3.8】

8.8.3 调制解调仿真 仿真模拟的系统与AM仿真时类似&#xff0c;结构如图8-32所示。 图8-32 WBFM调制解调仿真系统结构 代码8-16是测试平台。 代码8-16 WBFM调制解调系统测试平台 图8-33所示是一段仿真波形。解调器工作建立时输出了一段不正确的波形。 图8-33 WBFM测试平台仿…

FPGA应用开发和仿真【3.6】

7.8 PID控制器 PID控制器广泛用于控制系统,控制系统中的数字控制部分也是数字信号处理系统的一种。典型的数字PID控制器如图7-63所示,它由前向欧拉法转换连续时间PID控制器而来,其P、I、D三个参数,分别为比例、积分、微分系数,而N用于配置微分单元中滤波器的极点,将有助…

从零到AIGC产品经理,2个月上岸全攻略,小白也能学会

本文分享了一套2个月成功转行AIGC产品经理的实用指南&#xff0c;涵盖八个关键步骤&#xff1a;获取行业资讯与研报、选择细分领域并搭建知识库、系统掌握AIGC基础知识、完成实战项目、撰写融合项目经验的简历、准备面试高频问题。通过文本生成和图片生成两类实战项目&#xff…

Java Web 墙绘产品展示交易平台系统源码-SpringBoot2+Vue3+MyBatis-Plus+MySQL8.0【含文档】

&#x1f4a1;实话实说&#xff1a;有自己的项目库存&#xff0c;不需要找别人拿货再加价&#xff0c;所以能给到超低价格。摘要 随着互联网技术的快速发展和艺术市场的不断扩大&#xff0c;墙绘艺术作为一种独特的装饰形式&#xff0c;逐渐受到大众的青睐。传统的墙绘交易方式…

收藏这篇!小白也能学会的AI知识库搭建全攻略

本文详细介绍如何使用AnythingLLM和DeepSeek R1搭建个人AI知识库&#xff0c;解决AI回答不准确的痛点。从下载安装、配置API、上传文档到知识检索问答&#xff0c;提供完整步骤指导。该方法简单高效、成本低廉&#xff0c;可创建可靠安全的私有知识库&#xff0c;大幅提升学习和…

国内首次开源灵巧操作数据集!填补具身智能数据空白!

如果你觉得现在的机器人已经很聪明&#xff0c;那你大概率还没见过它们“拿纸杯”、“拆纸箱”时手忙脚乱的样子。在仿真环境里&#xff0c;机器人抓什么都稳&#xff1b;可一到真实世界&#xff0c;纸杯一捏就扁、快递一夹就滑&#xff0c;仿佛一夜回到解放前。问题出在哪&…

什么是proxy

在前端开发中&#xff0c;Proxy 是 ES6 引入的一个高级特性&#xff0c;用于拦截和自定义对象的基本操作&#xff08;如属性访问、赋值、枚举、函数调用等&#xff09;。它为开发者提供了元编程能力&#xff0c;是实现响应式系统、数据校验、访问控制等功能的核心技术。 一、基…

收藏这篇就够了!DeepSeek+RAG本地知识库搭建实战,小白也能上手的大模型教程

DeepSeekRAG本地知识库技术结合了DeepSeek大模型与检索增强生成(RAG)技术&#xff0c;旨在构建高效智能的本地化知识库系统。DeepSeek具备强大自然语言处理能力&#xff0c;能理解和生成文本&#xff1b;RAG技术通过结合信息检索和文本生成&#xff0c;使模型在生成文本时可参考…

AI Agent短期记忆完全指南:4种处理长对话问题的方法+代码详解

文章详细介绍了AI Agent的短期记忆机制&#xff0c;分析了长对话引发的上下文丢失、响应变慢等问题&#xff0c;提供了4种解决方案&#xff1a;修剪消息、删除消息、总结消息和自定义策略。通过代码示例展示了如何实现Agent短期记忆&#xff0c;包括基础用法、自定义状态、消息…

Web足球青训俱乐部管理后台系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】

&#x1f4a1;实话实说&#xff1a;用最专业的技术、最实惠的价格、最真诚的态度服务大家。无论最终合作与否&#xff0c;咱们都是朋友&#xff0c;能帮的地方我绝不含糊。买卖不成仁义在&#xff0c;这就是我的做人原则。摘要 随着足球运动的普及和青训体系的不断完善&#xf…

解耦梯度学习解决多模态模型欠优化问题,性能提升超3%

本文揭示了多模态学习中欠优化问题的根本原因在于模态编码器与融合模块间的优化冲突&#xff0c;导致主导模态性能下降。为解决此问题&#xff0c;作者提出解耦梯度学习(DGL)框架&#xff0c;通过截断多模态损失反向传播到编码器的梯度&#xff0c;并引入单模态损失独立优化编码…

2026AI产品经理与大模型学习路线图:从小白到专家的进阶指南

本文详细介绍了AI产品经理的三阶段学习路线&#xff08;基础知识、专业技能、软技能&#xff09;及实践经验积累方法&#xff0c;并提供了大模型学习资源&#xff0c;包括路线图、视频教程、技术文档、面试题等&#xff0c;帮助学习者系统掌握AI产品经理与大模型知识&#xff0…

大模型+知识图谱构建制药业“第二大脑“:从零开始实现企业级知识管理

本文探讨如何利用大语言模型和知识图谱技术构建制药企业级"第二大脑"&#xff0c;整合分散的科研数据与文献为可搜索知识库。通过RAG和Graph-RAG技术实现60%文档审查效率提升&#xff0c;为制药行业创造600-1100亿美元年度价值。文章详解技术架构、实际应用案例、实施…

深入了解移动开发领域 CI_CD 的工作原理

深入了解移动开发领域 CI/CD 的工作原理 关键词:移动开发、CI/CD、持续集成、持续交付、工作原理 摘要:本文旨在深入剖析移动开发领域 CI/CD 的工作原理。首先介绍了 CI/CD 在移动开发中的背景,包括目的、适用读者等信息。接着阐述了 CI/CD 的核心概念与联系,以清晰的文本示…

Claude Code完美平替OpenCode:小白也能轻松上手的AI编程神器

OpenCode是Claude Code的开源平替工具&#xff0c;提供图形化界面&#xff0c;支持多种AI模型&#xff08;包括免费GLM-4.7和MiniMax M2.1&#xff09;。最大亮点是支持多Session并行运行多个Agent&#xff0c;实现协作编程&#xff0c;相比命令行的Claude Code更友好。支持CLI…

打造AI时代智能知识库:Obsidian+Dify向量检索全攻略(附插件下载)

本文详细介绍了如何将Obsidian与Dify知识库相结合&#xff0c;打造基于向量存储的AI友好知识系统。作者开发了自定义同步插件&#xff0c;解决了Obsidian原生搜索对AI不友好的问题&#xff0c;实现了语义检索功能。文章涵盖Dify知识库创建、Embedding模型配置、API密钥获取&…

可视化图解算法77:零钱兑换(兑换零钱)

1.题目 描述 给定数组 coins &#xff0c;coins中所有的值都为正整数且不重复。每个值代表一种面值的货币&#xff0c;每种面值的货币可以使用任意张&#xff0c;再给定一个amount&#xff0c;代表要找的钱数&#xff0c;求组成amount的最少货币数。 如果无解&#xff0c;请…