【大学生电子竞赛题目分析】——2023年H题《信号分离装置》

今年的大赛已临近落幕,笔者打算陆续对几个熟悉领域的题目作一番分析与讨论,今天首先分析H题。

网上有一些关于H题的分析,许多都是针对盲信号分析的。然而本题具有明确的信号频率范围,明确的信号可能频率,明确的信号波形,明确的信号幅度比,以及明确的信号数量,因此完全不需要采用盲信号分析。况且竞赛参与对象是大学三年级的本科生,要他们进行盲信号分析实在是有些勉为其难了。

其实,除了个别地方的表述不够严谨外,这个题目设计得很有水平。从基本要求到发挥部分,设计难度层层递进,既可以简单完成最基本的部分,也需要深思熟虑才能完成发挥部分。

下面笔者以适合大学本科生的层次,对H题进行分析。抛砖引玉,欢迎大家指正。

一、任务

设计并制作信号分离装置,如图所示。一台双路输出信号源输出2路周期信号A和B(频率范围:20kHz~100kHz,且fA<fB;峰峰值均为1V),经增益为1的加法器产生混合信号C,信号C通过分离电路分离出信号A’和B’。要求信号A’和B’相比信号A和B波形无失真,A’和A、B’和B的波形在示波器上能连续稳定同频显示。

二、要求

1.基本要求

(1)制作增益为1的加法器,实现C=A+B。

(2)信号A和B均为正弦波,fA =50kHz,fB =100kHz。要求装置能正确分离出信号A’和B’,且峰峰值均不小于1V。

(3)信号A和B均为正弦波,频率分别为10kHz的整数倍。要求装置能正确分离出信号A’和B’,且峰峰值均不小于1V。

2.发挥部分

(1)信号A和B分别为正弦波或三角波,频率分别为5kHz的整数倍。要求装置能正确分离出信号A’和B’,且峰峰值均不小于1V。

(2)发挥部分(1)中,信号A和B均为正弦波,且fB是fA的整数倍。要求装置能设置并控制信号B’与A’的初相位差,范围0°~180°,设置分辨率5°,误差绝对值不大于5°。

(3)其他。

三、说明

(1)预留信号A、B、C、A’和B’测试端口。

(2)“加法器”为独立电路板,由移动电源供电,其与“分离电路”只有信号C和地线连接,两者不得存在其他连线或通信方式,否则不予测试。

(3)“分离电路”可配有唯一1个启动键。每项信号分离测试时,设置信号源参数过程中不允许触碰“分离电路”,参数设置完毕后,允许按一次启动键,后续无人工干预。信号分离时间不大于20s。

(4)发挥部分(2)中,令信号A’为sinωA’t,信号B’为sin(ωB’t+φ),本题定义φ为信号B’与A’的初相位差(参见下图)。测试时,设置信号源参数和初相位差后,允许按一次启动键,后续无人工干预。完成时间不大于20s。

(5)“稳定同频显示”的测试方法:设置信号A为示波器触发源,调节水平扫描速度使得示波器上显示4~8个周期的信号A波形,此时观测信号A’波形应与信号A同频率、不失真,稳定显示不漂移。

题目分析与方案设计

本题目要求从一个混合信号中得到两路不同频率的信号,随着题目要求的展开,实现的手段有很大的不同,下面逐一进行分析。

基本要求(1)是一个简单的加法器,说明中要求采用独立电源供电大概是为了避免通过电源传输信息。其实如果不是规定了增益,此加法器完全可以用纯电阻构成无源加法器,不需要电源。

基本要求(2)要求分离两个频率相差1倍(50kHz与100kHz)的正弦信号,这个要求用两个模拟滤波器可以轻松实现。

基本要求(3)也是要求分离两个正弦波,但是两个信号的频率范围是20kHz~100kHz,频率差是10kHz,所以最坏的情况是fA=90kHz、fB=100kHz,这种情况下由于两个信号频率的相对距离很近,用滤波器分离稍有难度,必须采用具有陡峭边沿的椭圆型滤波器。又由于两个频率对于分离电路来说是未知的,所以还需要在分离电路中对输入信号进行FFT分析。得到两个信号频率后,采用程控滤波器构成高阶椭圆滤波器,才可能完成任务。但是由于很多集成程控滤波器(开关电容滤波器)的工作频率上限与Q值都有较大的限制,所以该程控滤波器将是电路设计中的一大难点。

发挥部分(1)规定了两个信号可以是正弦波,也可以是三角波。频率范围为20kHz到100kHz,两个信号的频率间隔是5kHz的整数倍。

这个要求是无法用滤波器实现的。因为三角波的频谱由基频与奇次谐波构成,若fB恰好等于fA的某高次谐波频率,那么这两个信号混合后将无法被滤波器分离。再说,即使不出现上述情况,三角波也无法通过单个滤波器获得(因为要考虑第二个信号,滤波器的带宽受限制),也不可能通过多个滤波器得到其各谐波分量后再组合(因为很难保持各谐波分量之间的相位关系)。

所以要实现发挥部分(1),唯一的手段是信号重建,即先通过对输入信号的频谱分析得到两个信号的基频以及它们的波形,然后设法重建这两个信号。由于题目规定了输入信号的频率范围为20kHz到100kHz之间、5kHz的整数倍,又规定了输入信号只有正弦波与三角波两种波形,所以这个频谱分析还是比较容易做的。具体做法是:先找到两根最高的谱线,它们就是两个输入信号的基频。然后在这两个基频的3倍、5倍等奇次谐波处观察是否存在谱线(高度应是基频的1/9、1/25等),若有则该信号为三角波,若无则为正弦波。

有难度的是信号重建部分。最容易想到的方法是用DDS、PLL频率合成器、或单片机直接产生一个重建信号。但是这个方法的一个致命缺陷是由于原始信号与重建信号之间的基准频率存在不可避免的误差,所以重建信号的频率与原始信号频率不完全相同。题目要求“稳定同频显示”,而按照上述方法重建的信号在显示时会有缓慢的漂移现象。

要做到完全的频率同步就避不开锁相环同步电路。具体地说还有几种不同的解决方案。

第一个方案是将程控滤波器与锁相环结合,其结构框图如下(图中只画出一路信号,实际电路中有相同的两路)。

此方案中的锁相环可采用经典的PFD鉴相器的集成锁相环电路,例如74HC4046。方案中第一个程控滤波器的作用是获得输入信号中的基频信号,整形后产生矩形波作为锁相环的输入参考频率。由于此信号的波形并无很严格的要求,只要采用陷波器(notch)电路将不需要的那个频率稍作衰减即可,所以此滤波器的设计与制作较为简单。

下图是一个滤波的例子。其中红色波形是两个相同幅度正弦信号的叠加,C=Asin(3ωt)+Bsin(5ωt+φ),蓝色波形是将B信号陷波衰减10dB后的叠加结果,黑色波形是将A信号陷波衰减10dB后的结果。显然,滤波后的信号再经过一个滞回比较器,得到的矩形波的平均频率就是需要的参考频率。尽管此信号的瞬时相位有较大的抖动,但是锁相环具有很好的相位平均作用,所以锁相环的输出频率将严格与原始信号同步。

锁相环的输出为方波信号,经过积分后成为三角波信号,再经过低通滤波器就成为正弦波信号。低通滤波器的截止频率应该根据输出频率改变。由于三角波的幅度受频率影响较大,可以考虑将频率分段,然后根据输出信号频率切换积分电路的积分电阻或积分电容。

第二个方案也是将锁相环与程控滤波器结合,但是省略了上一个方案中稍具困难的第一个滤波器,直接由锁相环完成窄带滤波器的功能。

此方案中锁相环的鉴相器由乘法器构成,压控振荡器附带有振荡频率辅助控制功能。

设输入的混合信号为C=Acos(ωAt)+Bcos(ωBt),压控振荡器的反馈频率为fvco,则乘法器的输出信号中包含 |fvco ± fA| 与 |fvco ± fB| 的基频成分以及 |mfvco ±nfA| 的高次谐波成分。假设VCO的输出频率为fA,则fvco - fA是一个直流分量,其直流电压与两个信号的相位差成比例,而其余分量均为交流分量。鉴相器的输出经过环路滤波器后,所有交流分量被衰减,直流分量用于控制VCO,经过负反馈作用使得锁相环锁定。若VCO的输出频率接近fA但不等于fA,则由于锁相环的频率牵引作用,最后也会达到锁定状态。这种情况下,锁相环等效为一个带宽极窄的窄带滤波器。

工作在这个状态下的锁相环,一定具有很窄的闭环带宽,所以它的捕捉范围是很小的。为了能够锁定在预定的频率,需要将VCO的初始频率设定在预定的锁定频率附近,VCO的整个振荡频率范围也要控制在一个较小的范围内,否则有可能无法锁定,也可能锁定在错误的频率上。但是题目要求的重建信号的频率范围是很宽的,为了解决这个矛盾,方案中设立了振荡频率辅助控制。当通过FFT分析得到输入信号中的两个基频频率后,就通过该辅助控制端口将VCO的中心频率调节到需要锁定的频率,锁相环便可以迅速进入锁定状态,所以是一个辅助锁定电路。

根据采用的VCO的结构不同,该辅助控制可以对VCO注入电压或电流的方式实现。例如对于最常见的HC4046锁相环来说,该芯片中的VCO部分是通过改变引脚12的外接电阻来改变定时电容的充放电偏置电流的,只要如下图在外部用一个压控电流源代替电阻,就可以单片机的DAC输出电压控制VCO的中心振荡频率。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全栈从0到1 3D旅游地图标记和轨迹生成

功能演示 演示视频 体验地址 Vercel App 开发技术栈: NextJs(前端框架)React(前端框架)TailwindCSS (CSS样式)echart echart gl (地图生成)shadui(UI组件…

HTML5本地存储账号密码

<!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>HTML5本地存储账号密码</title> </head…

[论文笔记]SEARCHING FOR ACTIVATION FUNCTIONS

引言 今天带来另一篇激活函数论文SEARCHING FOR ACTIVATION FUNCTIONS的笔记。 作者利用自动搜索技术来发现新的激活函数。通过结合详尽的搜索和基于强化学习的搜索&#xff0c;通过实验发现最佳的激活函数 f ( x ) x ⋅ sigmoid ( β x ) f(x) x \cdot \text{sigmoid}(βx…

Android 学习 鸿蒙HarmonyOS 4.0 第二天(项目结构认识)

项目结构认识 和 了解&#xff1a; 工程目录下的结构如下&#xff1a; 首先能看到有两个.开头的文件&#xff0c;分别是.hvigor 和 .idea。这两个文件夹都是与构建有关系的&#xff0c; 如果你开发过安卓app&#xff0c;构建完会生成一个apk安装包&#xff0c;鸿蒙则是生成hap…

android 分区存储(沙盒存储)适配总结

目录 一、分区存储概念 1.外部存储分类 2.分区存储如何影响文件访问 二、分区适配方案 1. 应用分区存储的文件访问规定 (1).应用专属目录--私有目录 (2).共享目录文件--公有目录 2.MediaStore API介绍 3.Storage Access Framework介绍 三、所有文件访问权限 四、总结…

急急急!微信朋友圈删除了怎么恢复?

微信朋友圈是我们与朋友分享生活点滴的重要平台&#xff0c;但有时候微信出现异常&#xff0c;导致我们编辑好的朋友圈被删除了&#xff0c;这时候该怎么办呢&#xff1f; 幸运的是&#xff0c;微信提供了一种简单的方式来恢复已删除的朋友圈内容。微信朋友圈删除了怎么恢复&a…

react 学习笔记二:ref、状态、继承

基础知识 1、ref 创建变量时&#xff0c;需要运用到username React.createRef()&#xff0c;并将其绑定到对应的节点。在使用时需要获取当前的节点&#xff1b; 注意&#xff1a;vue直接使用里面的值&#xff0c;不需要再用this。 2、状态 组件描述某种显示情况的数据&#…

tkinter中是否有必要使用类

1. 问题背景 在使用tkinter编写事件驱动程序时&#xff0c;Fredrik Lundh的教程中提到&#xff0c;创建一个类&#xff08;App&#xff09;作为框架&#xff0c;并以类的实例运行程序&#xff0c;这样会更好&#xff0c;而不是直接启动程序。 以下是问题&#xff1a; 在tkin…

【Go语言快速上手(五)】文件操作协程操作

&#x1f493;博主CSDN主页:杭电码农-NEO&#x1f493;   ⏩专栏分类:Go语言专栏⏪   &#x1f69a;代码仓库:NEO的学习日记&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多Go语言知识   &#x1f51d;&#x1f51d; GO快速上手 1. 前言2. GO语言的文件操…

武汉星起航:挂牌上海股权中心,开启资本新篇章助力跨境电商飞跃

2023年10月30日&#xff0c;武汉星起航电子商务有限公司在上海股权托管交易中心成功挂牌展示&#xff0c;标志着这家在跨境电商领域拥有卓越声誉的企业正式迈入了资本市场的大门。对于武汉星起航来说&#xff0c;这不仅是其发展历程中的一个重要里程碑&#xff0c;更是对其业务…

Python学习笔记------异常

当检测到错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现一些错误提示&#xff0c;就是所谓异常&#xff08;bug&#xff09; 1、异常的捕获方法 任何程序运行过程中都可能出现异常&#xff0c;我们可以在力所能及的范围内&#xff0c;对可能出现的bug提…

C语言趣味代码(四)

这一篇主要编写几个打字练习的小程序&#xff0c;然后通过这些小程序的实现来回顾复习我们之前学过的知识&#xff0c;然后通过这写打字练习的小程序来提升我们的打字技术和编程技术。 1. 打字练习 1.1 基本打字练习 1.1.1 基本实现 首先我们来制作一个用于计算并显示输入一…

ip网络广播前置放大器SV-7031 接纯后级功放

ip网络广播前置放大器SV-7031 接纯后级功放 感谢您使用我们的网络前置放大器SV-7031。 SV-7031具有1路AC200V OUT电源输出&#xff0c;1路AC200V IN电源输入&#xff1b;RJ45 网络接口&#xff0c;具有网络音频广播、本地广播功能。 18123651365 ip网络广播前置放大器SV-703…

vue-cli+vue3+vite+ts 搭建uniapp项目全过程(一)

unapp官方提供了cli 脚手架创建 uni-app 项目的文档 Vue3/Vite版要求 node 版本 18、20使用Vue3/Vite版创建不会提示选择模板&#xff0c;目前只支持创建默认模板 本文以vue3vitets为例 1、初始化项目 npx degit dcloudio/uni-preset-vue#vite-ts my-vue3-project 执行完生成…

就业班 第三阶段(tomcat) 2401--4.28 day1 tomcat1安装配置及单机多实例

企业 Tomcat 运维 文章目录 企业 Tomcat 运维一、Tomcat 简介1、Tomcat好帮手---JDK2、安装Tomcat & JDK1、系统环境说明2 、安装JDK3、安装Tomcat 二、Tomcat目录介绍1、tomcat主目录介绍2、webapps目录介绍3、Tomcat配置介绍&#xff08;conf&#xff09;4、Tomcat的管理…

Linux-管道通信

1. 管道概念 管道&#xff0c;是进程间通信的一种方式&#xff0c;在Linux命令中“ | ”就是一种管道&#xff0c;它可以&#xff0c;连接前一条命令&#xff0c;和后一条命令&#xff0c;把前面命令处理完的内容交给后面&#xff0c;例如 cat filename | grep hello …

本地部署 Meta Llama3-8b

Meta Llama 3(8B) Instruct model performance Meta Llama 3(8B) Pre-trained model performance 使用 Ollama 运行 Llama3 访问 Tags llama3&#xff0c;选择你想运行的模型&#xff0c;例如&#xff0c;8b-instruct-q8_0 拷贝并运行命令&#xff0c;ollama run llama3:8b-…

秋招后端开发面试题 - Java语言基础(上)

目录 Java基础上前言面试题Java 语言的特点JVM JDK JRE什么是跨平台性&#xff1f;原理是什么&#xff1f;什么是字节码?采用字节码的好处是什么?Java 和 C 的区别&#xff1f;注释&#xff1f;关键字关键字 instanceof类型转换关键字 this 和 super关键字 final finally fin…

Android数据恢复:如何在手机上恢复丢失的文件和照片

我们都有 我们错误地从手机中删除重要内容的时刻。确实如此 不一定是我们的错。其他人可以对您的手机数据执行此操作 有意或无意。这在某个时间点发生在我们所有人身上。 但是&#xff0c;今天市场上有各种各样的软件可以 帮助恢复已删除的文件。这些类型的软件被归类为数据恢复…

Linux命令大全 以及搭建hadoop

Liunx系统目录 ├── bin -> usr/bin # 用于存放二进制命令 ├── boot # 内核及引导系统程序所在的目录 ├── dev # 所有设备文件的目录&#xff08;如磁盘、光驱等&#xff09; ├── etc # 配置文件默认路径、服务启动命令存放目录 ├── home # 用户家目录&#…
最新文章