文章目录

  • 前言
  • 一、相敏检波的应用背景
  • 二、具体操作步骤
  • 三、相敏检波数字实现

前言

主要介绍了2022年江苏省大学生电子设计竞赛E题(声源定位跟踪系统)所用到的主要技术原理。


一、相敏检波的应用背景


如图所示,我们的目标是测量出乙、丙两地到甲地的距离差。
①但是我们是没有尺的,我们唯一能控制的是在甲地的一个喇叭,因此我们控制该喇叭发出声音的频率w。
②此时我们会在乙、丙两地收到两个同频,不同幅不同相的信号,之后通过测量两地的相位差,来达到测量距离差的目的。
③有了相位差delta_fai后,根据w=2paif,t=delta_fai/w,delta_d = v(声速)*t。即可求出距离差。

二、具体操作步骤


1.设置甲地喇叭的声音频率为1kHz,即f=1000,w=2paif。
设置采样频率为10kHz,这里满足了香农采样定理的实际应用,采样频率应是信号频率的八倍以上,以保证信号不失真,此时在一个声音的周期内可以采样10个点(f_采样=10f_信号)。
设乙地单片机采得信号为 A_1
sin(wt+fai_1) (1)
设丙地单片机采得信号为A_2*sin(wt+fai_2) (2)
此时我们还需人为在单片机产生两个理想信号
sinwt (3)
coswt (4)
用(1)×(3)得(5)
(1)×(4)得(6)
对(5)式累计200次后,可滤除其中的交流分量而只保留直流分量,同理对(6)式累计两百次。之后利用arctan函数即可求出fai_1.
之后再用(2)×(3),(2)×(4)可求出fai_2。
delta_fai = fai_2-fai_1

三、相敏检波数字实现

虽然原理比较简单,但是自己写起代码来还是有很多注意点的,下方主要粘贴了和本文相关的部分代码。
理想信号是利用matlab对sin函数和cos函数等分取了10个值产生的。
还有一点是计算相位差时是从第300个点开始取的,因为前70个(左右)取得点因为数字滤波器的原因是不稳定的,索性从第三百个点开始取。
下图是乙、丙两地采得的信号值(即两路adc值),解释了为什么从第三百个点开始计算。

/*----------------理想信号-------------------*/
float sinwt[10] = {0,0.5877853,0.9510565,0.9510564,0.5877850,0,-0.5877855,-0.9510566,-0.9510563,-0.5877847};//理想正弦信号
float coswt[10] = {1,0.8090169,0.3090168,-0.3090171,-0.8090171,-1,-0.8090167,-0.3090165,0.3090175,0.8090173};//理想余弦信号if(fai_i<300){A0sinwt[fai_i] = data1;A1sinwt[fai_i] = data2;fai_i++;   }if((fai_i == 300) && (fai_j!=200)){for(fai_j = 0; fai_j<200; fai_j++){X0wt[fai_j] = A0sinwt[fai_j+100] * sinwt[fai_j%10];Y0wt[fai_j] = A0sinwt[fai_j+100] * coswt[fai_j%10];X1wt[fai_j] = A1sinwt[fai_j+100] * sinwt[fai_j%10];Y1wt[fai_j] = A1sinwt[fai_j+100] * coswt[fai_j%10];X0_sum += X0wt[fai_j];Y0_sum += Y0wt[fai_j];X1_sum += X1wt[fai_j];Y1_sum += Y1wt[fai_j];}X0_ave = X0_sum/200;Y0_ave = Y0_sum/200;X1_ave = X1_sum/200;Y1_ave = Y1_sum/200;X0_sum = 0;Y0_sum = 0;X1_sum = 0;Y1_sum = 0;if(flag_adc == 1){fai_0 = atan2(Y0_ave,X0_ave)*180/3.1415926;fai_1 = atan2(Y1_ave,X1_ave)*180/3.1415926;       delta_fai01 = fai_0-fai_1;flag = 1;
//          delta_fai01 = Ave_Delta_fai01(delta_fai01);
//          Delta_fai01_KLM(0);d_0 = delta_fai01 * 0.944444;           //单位mm,(fai0-fai1)*340*10e3(声速,单位mm)/(360 * 1000)      d = v*t = v*delta_fai/(2pai*f)          }}

相敏检波原理及数字实现相关推荐

  1. 一文读懂Https的安全性原理、数字证书、单项认证、双项认证等

    为什么80%的码农都做不了架构师?>>>    本文引用了作者Smily(博客:blog.csdn.net/qq_20521573)的文章内容,感谢无私分享. 1.前言 目前苹果公司 ...

  2. 通信原理(5)—— 数字带通传输系统(ASK/FSK/PSK/DPSK)

    通信原理(5)-- 数字带通传输系统(ASK/FSK/PSK/DPSK) 数字带通--数字载波.数字频带.数字调制 数字调制方法--模拟调制法.数字键控法(振幅键控ASK.频移键控FSK.相移键控PS ...

  3. https原理和数字证书

    https原理和数字证书 为什么需要加密? 什么是对称加密? 什么是非对称加密? 非对称加密+对称加密? 中间人攻击 数字证书 数字签名 浏览器验证过程 怎么证明CA机构的公钥是可信的? HTTPS( ...

  4. 雷达原理---直接数字中频正交采样

    一.模拟正交鉴相 模拟正交鉴相又称为零中频处理.这里,零中频是指由于相干振荡器的频率与中频信号的中心频率相等,当不考虑多普勒频移时,其差频为零. 1. 原理 传统雷达对接收信号经过模拟混频.滤波得到中 ...

  5. 三线压力传感器原理_数字压力传感器的接线方式

    数字压力传感器的接线方式 数字压力传感器的工作原理是压力直接作用在传感器的膜片上, 使膜片产生 与介质压力成正比的微位移, 使传感器的电阻发生变化, 和用电子线路检测这一 变化,并转换输出一个对应于这 ...

  6. 计算智能学习2_BP神经网络原理_数字识别_字符识别_matlab实现

    文章目录 人工神经网络的基本结构 BP神经网络原理 实验部分(matlab实现) 一.需求分析 二.概要设计 三.详细设计(代码) 四.实验结果总结 代码下载 人工神经网络的基本结构 人工神经网络的互 ...

  7. [GIS原理] 9 数字地形分析DTA、数字地形模型DTM、数字高程模型DEM、数字地表模型DSM、不规则三角网TIN

    在知识传播途中,向涉及到的相关著作权人谨致谢意! 文章目录 1 数字地形分析(DTA) 1.1 数字地形模型(DTM) 1.1.1 DSM与DEM对比 1.2 数字地形分析研究与应用进展 1.2.1 ...

  8. HTTPS协议工作原理(SSL数字证书)

    目录 HTTPS SSL协议的工作过程 SSL数字证书的查看 HTTPS 我们都知道HTTP协议是明文传输的,并且不能验证对方的身份,而且不能保证数据的完整性.而当我们在网络上进行购物电子交易时,电子 ...

  9. 通信原理 简易数字基带信号系统仿真设计的matlab实现(带眼图)

    数字基带传输系统的输入信号是由终端设备或编码设备产生的二进制脉冲序列,通常是单极性的矩形脉冲信号(NRZ 码).为了使这种信号适合于信道的传输,一般要经过码形变换器,把单极性的二进制脉冲变成双极性脉冲 ...

最新文章

  1. zabbix 3.0 完全安装全解!
  2. Laravel: 基础篇
  3. 笔记1-3: 从标准输入读取命令并执行
  4. PHP控制转盘抽奖代码,PHP 根据概率 实现抽奖转盘算法 代码
  5. 外媒:特斯拉2.5万美元新型电动车拟2023年推出 命名Model Q
  6. Python实战从入门到精通第十五讲——定义匿名或内联函数
  7. 有没有网上python一对一-使用Python的Tornado框架实现一个一对一聊天的程序
  8. linux查看编译器命令,关于驱动与编译器版本的查询命令
  9. SpringBoot实战总汇--详解
  10. 「洛谷5017」「NOIP2018」摆渡车【DP,经典好题】
  11. php 字符串合并,如何在PHP中将两个字符串组合在一起?
  12. 修改JDK的经历:两处字体的粗体代码引起的错误
  13. 深入浅出通信原理知识点9
  14. GAN网络笔记 MATLAB实现
  15. Handler同步屏障
  16. python 监控键盘输入_python 监控键盘输入
  17. maven项目-加载不到spring文件,BeanFactory not initialized or already closed - call 'refresh' bef
  18. HP580G7服务器电流
  19. 及时输出_《奇葩说》大王逆袭开挂:真正会学习的人,都拥有输出这条管道
  20. 逆波兰式的转换与计算(简单)

热门文章

  1. YOLOv8详解 【网络结构+代码+实操】
  2. 腾讯调整职级体系薪资有变化吗?腾讯调整职级体系与阿里职级对比
  3. QEMU/KVM虚拟机Win11黑屏问题解决
  4. POJ | 1017装箱问题 摸鱼题解
  5. 外贸企业邮箱在选择上的5大考虑因素
  6. QQ农场外挂源码-VB源代码
  7. Global Mapper常见技巧汇总(常见格式转换,影像拼接,几何纠正....)
  8. 第十二周实践项目一--图及存储结构算法库
  9. CSP201903-4消息传递接口 从30分到AC 反思日记
  10. 终于转岗成功,但马上迎接拷问