【大学生电子竞赛题目分析】——2021年A题《信号失真度测量装置》
<div class='showpostmsg'><p style="text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="font-family:黑体">一、任务 </span></span></span></span></span></p><p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">设计制作信号失真度测量装置,对来自函数</span></span><span lang="EN-US" style="115%">/</span><span style="115%"><span style="font-family:宋体">任意波形发生器的周期信号(以下简称为输入信号)进行采集分析,测得输入信号的总谐波失真</span></span><span lang="EN-US" style="115%">THD</span><span style="115%"><span style="font-family:宋体">(以下简称为失真度),并可在手机上显示测量信息。测量装置系统组成示意图如图所示。</span></span></span></span></span></span></p>
<p align="center" style="text-align:center"></p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="font-family:黑体">二、要求</span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span lang="EN-US" style="115%">1. </span><span style="115%"><span style="font-family:宋体">基本要求</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">1</span><span style="115%"><span style="font-family:宋体">)输入信号的峰峰值电压范围:</span></span><span lang="EN-US" style="115%">300mV~600mV</span><span style="115%"><span style="font-family:宋体">。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">2</span><span style="115%"><span style="font-family:宋体">)输入信号基频:</span></span><span lang="EN-US" style="115%">1kHz</span><span style="115%"><span style="font-family:宋体">。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">3</span><span style="115%"><span style="font-family:宋体">)输入信号失真度范围:</span></span><span lang="EN-US" style="115%">5% ~ 50%</span><span style="115%"><span style="font-family:宋体">。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">4</span><span style="115%"><span style="font-family:宋体">)要求对输入信号失真度测量误差绝对值</span></span><i><span lang="EN-US" style="115%">Δ</span></i><span lang="EN-US" style="115%">=|<i>THD<sub>x</sub></i> -<i>THD<sub>o</sub></i>|</span><span style="115%"><span style="font-family:宋体">≤</span></span><span lang="EN-US" style="115%">5%</span><span style="115%"><span style="font-family:宋体">,</span></span><i><span lang="EN-US" style="115%">THD<sub>x</sub></span></i><span style="115%"><span style="font-family:宋体">和</span></span><i><span lang="EN-US" style="115%">THD<sub>o</sub></span></i><span style="115%"><span style="font-family:宋体">分别为失真度的测量值与标称值。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">5</span><span style="115%"><span style="font-family:宋体">)显示失真度测量值</span></span><i><span lang="EN-US" style="115%">THD<sub>x</sub></span></i><span style="115%"><span style="font-family:宋体">。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">6</span><span style="115%"><span style="font-family:宋体">)失真度测量与显示用时不超过</span></span><span lang="EN-US" style="115%">10</span><span style="115%"><span style="font-family:宋体">秒。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span lang="EN-US" style="115%">2. </span><span style="115%"><span style="font-family:宋体">发挥部分</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">1</span><span style="115%"><span style="font-family:宋体">)输入信号的峰峰值电压范围:</span></span><span lang="EN-US" style="115%">30mV ~ 600mV</span><span style="115%"><span style="font-family:宋体">。。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">2</span><span style="115%"><span style="font-family:宋体">)输入信号基频范围:</span></span><span lang="EN-US" style="115%">1kHz ~100kHz</span><span style="115%"><span style="font-family:宋体">。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">3</span><span style="115%"><span style="font-family:宋体">)测量并显示输入信号失真度</span></span><i><span lang="EN-US" style="115%">THD<sub>x</sub></span></i><span style="115%"><span style="font-family:宋体">值,要求</span></span><i><span lang="EN-US" style="115%">Δ</span></i><span lang="EN-US" style="115%">=|<i>THD<sub>x</sub></i> -<i>THD<sub>o</sub></i>|</span><span style="115%"><span style="font-family:宋体">≤</span></span><span lang="EN-US" style="115%">3%</span><span style="115%"><span style="font-family:宋体">。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">4</span><span style="115%"><span style="font-family:宋体">)测量并显示输入信号的一个周期波形。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">5</span><span style="115%"><span style="font-family:宋体">)显示输入信号基波与谐波的归一化幅值,只显示到</span></span><span lang="EN-US" style="115%">5 </span><span style="115%"><span style="font-family:宋体">次谐波。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">6</span><span style="115%"><span style="font-family:宋体">)在手机上显示测量装置测得并显示的输入信号</span></span><i><span lang="EN-US" style="115%">THD<sub>x</sub></span></i><span style="115%"><span style="font-family:宋体">值、一个周期波形、基波与谐波的归一化幅值。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">7</span><span style="115%"><span style="font-family:宋体">)其他。</span></span></span></span></span></span></p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="font-family:黑体">三、说明</span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">1</span><span style="115%"><span style="font-family:宋体">)本题用于信号失真度测量的主控制器和数据采集器必须使用</span></span><span lang="EN-US" style="115%">TI </span><span style="115%"><span style="font-family:宋体">公司的</span></span><span lang="EN-US" style="115%">MCU</span><span style="115%"><span style="font-family:宋体">及其片内</span></span><span lang="EN-US" style="115%">ADC</span><span style="115%"><span style="font-family:宋体">,不得使用其他片外</span></span><span lang="EN-US" style="115%">ADC </span><span style="115%"><span style="font-family:宋体">和数据采集模块(卡)成品。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">2</span><span style="115%"><span style="font-family:宋体">)关于</span></span><span lang="EN-US" style="115%">THD </span><span style="115%"><span style="font-family:宋体">的说明:当放大器输入为正弦信号时,放大器的非线性失真表现为输出信号中出现谐波分量,即出现谐波失真,通常用“总谐波失真</span></span><span lang="EN-US" style="115%">THD</span><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">total harmonic distortion</span><span style="115%"><span style="font-family:宋体">)”定量分析放大器的非线性失真程度。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">若放大器的输入交流电压为</span></span></span></span></span></span> <span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体"> 出现谐波失真的放大器输出交流电压为</span></span></span></span></span></span> <span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">,则</span></span><i><span lang="EN-US" style="115%">u<sub>o</sub></span></i><span style="115%"><span style="font-family:宋体">的总谐波失真(失真度)定义为</span></span></span></span></span></span></p>
<p align="center" style="text-align:center"> </p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">本题信号失真度测量采用近似方式,测量和分析输入信号谐波成分时,限定只处理到</span></span><span lang="EN-US" style="115%">5</span><span style="115%"><span style="font-family:宋体">次谐波。定义</span></span></span></span></span></span></p>
<p align="center" style="text-align:center"> </p>
<p style="text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">为本题失真度的标称值。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">若失真度测量值为</span></span><i><span lang="EN-US" style="115%">THD<sub>x</sub></span></i><span style="115%"><span style="font-family:宋体">,则失真度测量误差的绝对值为</span></span></span></span></span></span> <span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">3</span><span style="115%"><span style="font-family:宋体">)基波与谐波的归一化幅值:当输入信号的基波幅值为</span></span><i><span lang="EN-US" style="115%">U</span></i><sub><span lang="EN-US" style="115%">m1</span></sub> <span style="115%"><span style="font-family:宋体">,各次谐波幅值分别为</span></span><i><span lang="EN-US" style="115%">U</span></i><sub><span lang="EN-US" style="115%">m2</span></sub><span style="115%"><span style="font-family:宋体">、</span></span><i><span lang="EN-US" style="115%">U</span></i><sub><span lang="EN-US" style="115%">m3</span></sub><span style="115%"><span style="font-family:宋体">、…,基波与谐波的归一化幅值为:</span></span><span lang="EN-US" style="115%">1</span><span style="115%"><span style="font-family:宋体">、</span></span><span lang="EN-US" style="115%">(<i>U</i><sub>m2</sub>/<i>U</i><sub>m1</sub>)</span><span style="115%"><span style="font-family:宋体">、</span></span><span lang="EN-US" style="115%">(<i>U</i><sub>m3</sub>/<i>U</i><sub>m1</sub>) </span><span style="115%"><span style="font-family:宋体">…。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">4</span><span style="115%"><span style="font-family:宋体">)用函数</span></span><span lang="EN-US" style="115%">/</span><span style="115%"><span style="font-family:宋体">任意波形发生器(以下简称为发生器)输出的周期信号作为测量装置的输入信号。参赛队员必须熟练掌握发生器“谐波发生”功能的操作技能(包括但不限于设置信号谐波参数、存储与调用信号)。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">5</span><span style="115%"><span style="font-family:宋体">)参赛队必须自带本队自用的发生器参加赛区作品测试,根据测试专家提出的有关要求自行设定、存储自带发生器的输出信号,作为测量装置输入信号。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="115%"><span style="font-family:宋体">(</span></span><span lang="EN-US" style="115%">6</span><span style="115%"><span style="font-family:宋体">)除输入信号外,不得再有任何其他信号引入测量装置。一键启动测量后,装置应在</span></span><span lang="EN-US" style="115%">10 </span><span style="115%"><span style="font-family:宋体">秒钟内自动完成失真度测量与显示(期间不得有人工操作),超时扣分。一旦测量显示总用时超过</span></span><span lang="EN-US" style="115%">30 </span><span style="115%"><span style="font-family:宋体">秒,停止作品测试。</span></span></span></span></span></span></p>
<p align="center" style="text-align:center"> </p>
</div><script> var loginstr = '<div class="locked">查看精华帖全部内容,请<a href="javascript:;" style="color:#e60000" class="loginf">登录</a>或者<a href="https://bbs.eeworld.com.cn/member.php?mod=register_eeworld.php&action=wechat" style="color:#e60000" target="_blank">注册</a></div>';
if(parseInt(discuz_uid)==0){
(function($){
var postHeight = getTextHeight(400);
$(".showpostmsg").html($(".showpostmsg").html());
$(".showpostmsg").after(loginstr);
$(".showpostmsg").css({height:postHeight,overflow:"hidden"});
})(jQuery);
}
</script><script type="text/javascript">(function(d,c){var a=d.createElement("script"),m=d.getElementsByTagName("script"),eewurl="//counter.eeworld.com.cn/pv/count/";a.src=eewurl+c;m.parentNode.insertBefore(a,m)})(document,523)</script> <p align="left" style="margin-top:8px; text-align:left"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:黑体">题目分析与方案设计</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">尽管此题的题目是失真度测量装置,但实际上是对输入信号进行频谱分析。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">常见的频谱分析设备有两种不同的结构:一种是基于模拟电路实现的超外差式频谱分析仪,这种结构连续改变本振频率,输入信号中的对应频谱分量则通过中频滤波器后输出,相当于一个连续改变其中心频率的带通滤波器。另一种则是数字频谱分析仪,用</span></span><span lang="EN-US" style="line-height:115%">ADC</span><span style="line-height:115%"><span style="font-family:宋体">将输入信号转换为数字信号,然后基于</span></span><span lang="EN-US" style="line-height:115%">FFT</span><span style="line-height:115%"><span style="font-family:宋体">算法得到其频谱分量。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">由于题目要求显示一个信号周期波形,显然需要对信号进行采集,所以本题的解决方案一定是用</span></span><span lang="EN-US" style="line-height:115%">FFT</span><span style="line-height:115%"><span style="font-family:宋体">实现频谱分析的方案,其结构如下:</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"> </p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">题目给定的输入信号幅度范围较大(峰峰值</span></span><span lang="EN-US" style="line-height:115%">30mV ~ 600mV</span><span style="line-height:115%"><span style="font-family:宋体">),为了保证足够的采样精度,前置放大器必须增益可变。由于题目只要求测量归一化幅度,所以放大器只要带有</span></span><span lang="EN-US" style="line-height:115%">AGC</span><span style="line-height:115%"><span style="font-family:宋体">功能即可(如果要求测量信号的绝对幅度,那就需要用单片机控制放大器的增益,使得其增益精确可控)。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">按照题目的要求,采用</span></span><span lang="EN-US" style="line-height:115%">TI </span><span style="line-height:115%"><span style="font-family:宋体">公司的</span></span><span lang="EN-US" style="line-height:115%">MCU </span><span style="line-height:115%"><span style="font-family:宋体">的片内</span></span><span lang="EN-US" style="line-height:115%">ADC</span><span style="line-height:115%"><span style="font-family:宋体">进行采样,随后的</span></span><span lang="EN-US" style="line-height:115%">FFT</span><span style="line-height:115%"><span style="font-family:宋体">以及显示、传输等功能均在</span></span><span lang="EN-US" style="line-height:115%">MCU</span><span style="line-height:115%"><span style="font-family:宋体">内部完成(传输部分可外接传输模块,例如</span></span><span lang="EN-US" style="line-height:115%">WIFI</span><span style="line-height:115%"><span style="font-family:宋体">传输模块)。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">本题的关键在于如何用</span></span><span lang="EN-US" style="line-height:115%">MCU</span><span style="line-height:115%"><span style="font-family:宋体">实现</span></span><span lang="EN-US" style="line-height:115%">FFT</span><span style="line-height:115%"><span style="font-family:宋体">。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">第一个问题是采样窗口的选择。根据傅里叶变换的原理,如果采样时间正好等于被采样信号基波周期的整数倍,那么</span></span><span lang="EN-US" style="line-height:115%">FFT</span><span style="line-height:115%"><span style="font-family:宋体">的变换结果是正确的。但若是采样时间不等于被测信号基波周期的整数倍,那么就会出现频谱泄漏,即分析结果中出现原始信号中没有的虚假分量。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">解决这个问题的方法有下面几种。办法一是加窗,常见的有</span></span>Hamming<span style="font-family:宋体">窗和</span>Hanning<span style="font-family:宋体">窗。可以通过软件实现加窗。但是加窗只能降低频谱泄漏,并不能完全消除之。</span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="font-family:宋体">方法二是令测量时间等于被采样信号</span><span style="line-height:115%"><span style="font-family:宋体">基波周期的整数倍,可以完全解决频谱泄漏问题。为了实现整数周期采样,可以在电路中增加一个信号频率(周期)测量功能,例如将输入信号通过一个过零比较器整形成方波,然后送入</span></span><span lang="EN-US" style="line-height:115%">MCU</span><span style="line-height:115%"><span style="font-family:宋体">的外部中断进行计时,就可得到信号的基频周期</span></span><i><span lang="EN-US" style="line-height:115%">T</span></i><span style="line-height:115%"><span style="font-family:宋体">。由于题目还要求显示输入信号的周期波形,所以在本题的解决方案中,这个周期测量功能是一个必然的选项。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">第二个问题是题目要求被测信号的频率为</span></span><span lang="EN-US" style="line-height:115%">1kHz~100kHz</span><span style="line-height:115%"><span style="font-family:宋体">。由于</span></span><span lang="EN-US" style="line-height:115%">MCU</span><span style="line-height:115%"><span style="font-family:宋体">的工作频率有限,对于频率较高的信号,在一个信号周期内可能来不及采集到满足</span></span><span lang="EN-US" style="line-height:115%">FFT</span><span style="line-height:115%"><span style="font-family:宋体">需要的足够点数。为此可以根据输入信号的频率高低分为两种情况:</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">在频率较低的情况下,一个信号周期内直接采样</span></span><span lang="EN-US" style="line-height:115%">n</span><span style="line-height:115%"><span style="font-family:宋体">点,采样时间间隔为</span></span><i><span lang="EN-US" style="line-height:115%">T</span></i><span lang="EN-US" style="line-height:115%">/<i>n</i></span><span style="line-height:115%"><span style="font-family:宋体">。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">在输入频率较高的情况下,每个信号周期只采一个点,但每个采样点在信号周期内的位置都延迟</span></span><span lang="EN-US" style="line-height:115%">1/<i>n</i></span><span style="line-height:115%"><span style="font-family:宋体">周期,经过</span></span><span lang="EN-US" style="line-height:115%">n</span><span style="line-height:115%"><span style="font-family:宋体">次采样就得到了一个完整的信号周期波形,采样时间间隔为</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"> <span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">注意这个方法只对周期重复信号有效,本题的输入信号为周期信号,所以可以采用此方法。</span></span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="line-height:115%"><span style="font-family:宋体">第三个问题是如何保证采样时间间隔的准确度。当信号频率升高以后,其采样周期可能会变得很短,随之而来的是对于采样时间的精确度要求也越来越高,此时由单片机定时采样可能产生很大的定时误差。例如每个信号周期采样</span></span><span lang="EN-US" style="line-height:115%">512</span><span style="line-height:115%"><span style="font-family:宋体">点,在信号频率为</span></span><span lang="EN-US" style="line-height:115%">1kHz</span><span style="line-height:115%"><span style="font-family:宋体">时采样时间间隔为</span></span><span lang="EN-US" style="line-height:115%">1.953μs</span><span style="line-height:115%"><span style="font-family:宋体">,假设由于</span></span><span style="font-family:宋体">单片机时钟频率的限制导致定时误差为</span>10ns<span style="font-family:宋体">,则</span><span style="line-height:115%"><span style="font-family:宋体">此情况下的</span></span><span style="font-family:宋体">相对误差大约为</span>0.5%<span style="font-family:宋体">。但当信号频率升高到</span>100kHz<span style="font-family:宋体">时,同样采样</span>512<span style="font-family:宋体">点的采样时间间隔缩短为</span>19.53ns<span style="font-family:宋体">,此时定时误差</span>10ns<span style="font-family:宋体">导致的相对误差将高达</span>50%<span style="font-family:宋体">。必须注意,前面介绍的每个周期只采样一个点的方法在每个采样时间间隔中增加了一个信号周期</span><i>T</i><span style="font-family:宋体">,但是决定采样时间准确度的是</span><i>T</i>/<i>n</i><span style="font-family:宋体">,所以那个方法只能改善对于</span>ADC<span style="font-family:宋体">转换时间的要求,而不能改变对于采样时间精度的要求。</span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="font-family:宋体">解决这个问题的方法是设计一个外部的采样时钟信号,要求该时钟信号频率能够精确地等于被测信号基频的</span><i>n</i><span style="font-family:宋体">倍(如果是每个周期采样一次的情况则为被测信号基频的</span><i>n</i>/(<i>n</i>+1)<span style="font-family:宋体">倍),然后用该信号作为采样</span>-<span style="font-family:宋体">保持电路的保持信号,同时送单片机作为采样启动信号。</span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="font-family:宋体">具体实现上述采样时钟信号的电路可以是</span>DDS<span style="font-family:宋体">或锁相环。</span><span style="line-height:115%"><span style="font-family:宋体">用</span></span><span lang="EN-US" style="line-height:115%">DDS</span><span style="line-height:115%"><span style="font-family:宋体">实现的原理是基于</span></span><span lang="EN-US" style="line-height:115%">DDS</span><span style="line-height:115%"><span style="font-family:宋体">有很高的频率分辨率,所以可以很好地逼近</span></span><span style="font-family:宋体">被测信号基频的</span>n<span style="font-family:宋体">倍。此方法的特点是电路稍简单,但是不能完全精确地等于被测信号基频的</span>n<span style="font-family:宋体">倍。</span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="font-family:宋体">用锁相环实现的电路如下图所示,先将被测信号整形成方波,然后用锁相环锁定在</span>n<span style="font-family:宋体">倍频。该电路的特点是可以精确地产生基频</span><i>n</i><span style="font-family:宋体">倍(或</span><i>n</i>/(<i>n</i>+1)<span style="font-family:宋体">倍)的脉冲信号,缺点是电路稍稍复杂一些。</span></span></span></span></span></p>
<p style="text-indent:21.0pt; text-align:justify"> </p>
<p style="text-indent:21.0pt; text-align:justify"><span style="font-size:10.5pt"><span style="line-height:115%"><span style="layout-grid-mode:char"><span style="font-family:"Times New Roman",serif"><span style="font-family:宋体">须注意的一点是:由于输入信号的频率范围很大(</span>1kHz~100kHz<span style="font-family:宋体">),上述电路中锁相环的环路滤波器以及</span>VCO<span style="font-family:宋体">参数可能要随着不同频率区间作适当的改变。可通过模拟开关切换外部</span>RC<span style="font-family:宋体">元件实现。</span></span></span></span></span></p>
<p style="text-align:justify">因为题目只要求分析到5次谐波,最高信号基频为100kHz,要分析的最高频率为500kHz。在满足采样频率严格等于输入信号基频的整数倍条件下,根据奈奎斯特定理,采样频率只要高于1MHz即可,所以采样点数n并不需要512这样大。但是若不能满足采样频率严格等于输入信号基频的整数倍情况下(不采用前述的锁相环方案),则采样点数越多分析结果的误差将越小。所以具体采用何种方案,要根据MCU速度等条件作合理的选择。</p>
<p style="text-align:justify"> </p>
<p style="text-align:justify"> </p>
<p>这是一个很好的竞赛题目。</p>
<p>这个题目的基本要求难度不高,只要熟悉ADC采样以及FFT原理,采用2楼的基本方案就可以完成。但是其发挥部分将信号频率扩展100倍,还增加了手机显示部分,这样就使得频谱分析部分的难度增加不少,还需要掌握手机的传输与编程等知识。套用一个学校考试的模式,就是及格很容易,但是得高分很难。</p>
<p>老师我想问下基频提取是怎么做到的 因为我在想谐波是否可能也会通过过零比较器影响基频</p><br/> 七海千秋 发表于 2023-6-28 03:51
老师我想问下基频提取是怎么做到的 因为我在想谐波是否可能也会通过过零比较器影响基频
<p>这个可能性是存在的。所以还可以采用软件比较的方法测量周期。即采样超过一个周期的数据,然后通过比较、相关、或其他数学手段判断输入信号的周期</p>
gmchen 发表于 2023-6-28 22:18
这个可能性是存在的。所以还可以采用软件比较的方法测量周期。即采样超过一个周期的数据,然后通过比较、 ...
<p>老师能具体讲讲是用了哪些算法吗 之前在网上搜了好多但是没找到好用的方法</p><br/> <p>老师好,我们正在尝试用非连续采样的方法去克服单片机采样频率的局限,利用锁相环倍频后得到10/11倍信号频率的时钟给单片机,每个周期采样一个点后可以实现一个周期采样10个点,因为只有10个采样点,单片机不需要进行复杂FFT,而进行DFT算法就能分析,还可以进一步逆变换还原出一个周期的波形。</p>
<p>我们在进行锁相环倍频相关电路设计时遇到很多问题。在这种方案下,要求锁相环VCO工作在10倍信号频率下,范围就是10k-1M,一是频率跨度大,即使用多组元件参数去实现,还要考虑到这几组的频率范围一定得有10倍的交叉,因为被测信号的频率是连续变化的。</p>
<p>二是频率相对高,我们最开始用的cd4046很难去调到几百k的工作频率,后来选用了稍好的4046芯片,勉强可以调整到1M,但是频率不太稳定,而且与LM339,高频计数器CD40103BE联调时,工作频率范围又有较大变化,很难再去按照数据手册去设计电路参数了。电路结构还是主流传统的方式,调节VCO的R1、R2、C1去调整工作频率,似乎只能在调整元件参数上死磕,让人很苦恼。在这种情况下老师有什么调参的经验技巧吗。</p>
<p>一般情况下,这些常用器件工作在1k到100k频率下都非常合适,而高频元件往往专注于处理几十M,乃至上G的信号,每当要尝试去处理这种1M级别的信号时,往往在调参、选型上如履薄冰、处处掣肘。在去年做混沌信号发生器时,也有这样的感觉。想请教老师该怎么应对这类问题。</p>
<p> </p>
<p> </p>
南风至兮 发表于 2023-7-21 22:27
老师好,我们正在尝试用非连续采样的方法去克服单片机采样频率的局限,利用锁相环倍频后得到10/11倍信号频 ...
<p>1、用74HC4046,可以工作到大约20MHz</p>
<p>2、10k~1M,变化100倍,建议将VCO的频率分段,用模拟开关切换改变VCO的定时电阻与电容</p>
<p>3、注意电源退耦以及布线</p>
<p>牛逼</p>
<p> </p>
<p> </p>
<p> </p>
写的很有参考价值,感谢博主的分享 <p>写的很有参考价值,感谢博主的分享,赞同,一起加油!!!</p>
页:
[1]