使用matlab自带的工具箱和示例代码进行麦克风阵列的学习仿真,以提升对其工作原理的理解,对结果和代码进行详细分析,供大家共同学习。关于麦克风阵列的学习和Beamforming算法我会出一个专栏。请点赞支持一下,您的点赞是我更新的动力!


一、实验目的

使用全向元件的麦克风阵列进行宽带常规时延波束成形,用代码结合实例感受麦克风阵列的实际作用。

声速为c=340m/s;

声信号为正弦波

二、实验结果

生成五元线性阵列,间距为0.05m。

在远场时,认为入射声波为平面波,夹角分别设为0,45,用以观察麦克风阵列接收到的信号。

可见,由于0度时,各麦克风没有声程差,所以入射声波信号是等相位的。

45度时,1号-5号麦克风之间存在声程差,因此存在相位差。

重点来了!!!

此时如果直接对5路信号相加取算术平均,对于0度情况,没有太大影响,对于45度,由于相位延迟会出现信号相互抵消的情况,因此,如果不做信号延迟-求和的话,简直不可想象!!

叠加噪声的影响后进行延迟求和,从结果可以看出,0度,45度差别不大,因为45时做了延迟求和。即对信号做了对齐相加,就不会出现相消的情况,关于对齐的方法后续再详细说。

以上,我们举例对5元线阵的波束形成进行讲解,其他阵型也是一样的原理;

三、原代码解析

定义线性全向麦克风阵列,间隔0.07m,5个麦克风

定义信号收集器,我对这个理解就是给麦克风阵列赋予采集信号的实际的作用,如采样频率,传播速度等。

clc
clear
c = 340;t=0:0.1:500;
sig = sin(t)';microphone = phased.OmnidirectionalMicrophoneElement(...'FrequencyRange',[20 20e3]);
array = phased.ULA('Element',microphone,'NumElements',5,...'ElementSpacing',0.07);%0.01 10
collector = phased.WidebandCollector('Sensor',array,'SampleRate',5e4,...'PropagationSpeed',c,'ModulatedInput',false);

这段代码是设置波束形成器,用的matlab自带的波束形成器,也可以自己写哈!同时叠加了噪声的影响;

pian=0;
yang=0;
sigang = [pian;yang];%方位角;仰角
rsig = collector(sig,sigang);
rsig = rsig + 0.2*randn(size(rsig));beamformer = phased.TimeDelayBeamformer('SensorArray',array,...'SampleRate',5e4,'PropagationSpeed',c,'Direction',sigang);
y = beamformer(rsig);

这里就是结果显示了哈!

stop=300; %输出的时刻,注意次数是离散化后的时间点不是时间意义上
figure
tt=rsig(1:stop,1)+rsig(1:stop,2)+rsig(1:stop,3)+rsig(1:stop,4)+rsig(1:stop,5);
plot(t(1:stop),tt(1:stop)/5)
axis([0,t(stop),-1.2,1.2])%-------------------------------------------
figure
subplot(2,1,1)
plot(t(1:stop),sig(1:stop))
axis([0,t(stop),-1.2,1.2])
title('原始信号')
xlabel('Seconds')

超清楚!麦克风阵列学习笔记(一)——线性麦克风阵列的时间延迟Beamforming算法(Time-Delay Beamforming of Microphone ULA Array)相关推荐

  1. 超详细!Vue-coderwhy个人学习笔记(二)(Day3)

    前言 本文章接上一篇笔记 超详细!Vue-coderwhy个人学习笔记(一)(Day1-Day2) 这篇主要是Day3笔记,组件化,组件通信,插槽 四.组件化开发 (一).内容概述 认识组件化 注册组 ...

  2. OpenCV学习笔记(二十六)——小试SVM算法ml OpenCV学习笔记(二十七)——基于级联分类器的目标检测objdect OpenCV学习笔记(二十八)——光流法对运动目标跟踪Video Ope

    OpenCV学习笔记(二十六)--小试SVM算法ml 总感觉自己停留在码农的初级阶段,要想更上一层,就得静下心来,好好研究一下算法的东西.OpenCV作为一个计算机视觉的开源库,肯定不会只停留在数字图 ...

  3. 超全C1认证学习笔记,内容详细,赶快收藏

    在我们考过C认证和正在考C认证的同学们当中,都有十分认真的同学.他们每堂课都认证的记下笔记,归纳好,方便自己后续的复习. 今天我们也收到我们C认证考生的投稿,他一共投稿了三篇文章,内容包括计算机通识. ...

  4. AI学习笔记(七)图像滤波器、OpenCV算法解析

    AI学习笔记之图像滤波器.OpenCV算法解析 图像滤波器 图像噪声 噪声的产生 信噪比 高斯噪声 椒盐噪声 其他噪声 图像滤波 滤波的目的 滤波的要求 各种滤波器 均值滤波 中值滤波 最大最小值滤波 ...

  5. 《算法图解》学习笔记(七):狄克斯特拉算法(附代码)

    欢迎关注WX公众号:[程序员管小亮] python学习之路 - 从入门到精通到大师 文章目录 欢迎关注WX公众号:[程序员管小亮] [python学习之路 - 从入门到精通到大师](https://b ...

  6. 《算法图解》学习笔记(十一):十种经典的算法与数据结构

    python学习之路 - 从入门到精通到大师 文章目录 [python学习之路 - 从入门到精通到大师](https://blog.csdn.net/TeFuirnever/article/detai ...

  7. OpenCV学习笔记02--图像像素处理--二值图像、灰度图像、彩色图像像素的处理、numpy.array中的对应的函数

    目录 (一)灰度图像像素处理 (二)彩色图像像素处理 (三)numpy.array库在图像处理中的应用 (四)查看图像的属性信息 接着笔记01继续总结,当我们读取一幅图像的时候,一般为二值图像.灰度图 ...

  8. 《机器学习实战》学习笔记(七):利用AdaBoost 元算法提高分类性能

    欢迎关注WX公众号:[程序员管小亮] [机器学习]<机器学习实战>读书笔记及代码 总目录 https://blog.csdn.net/TeFuirnever/article/details ...

  9. 超细的CSS学习笔记(CSS详解)

    复习CSS时记录的笔记. 从最基本的 CSS 概念开始,复习如何使用 CSS 同时控制多重网页的样式和布局.同时涉及最新版本 CSS3 的内容,掌握新的标准化组件. 文章目录 一.CSS介绍 1.CS ...

  10. TensorFlow 深度学习笔记 从线性分类器到深度神经网络

    转载请注明作者:梦里风林 Github工程地址:https://github.com/ahangchen/GDLnotes 欢迎star,有问题可以到Issue区讨论 官方教程地址 视频/字幕下载 L ...

最新文章

  1. 数据结构题及c语言版答案9.14,十套数据结构试题+答案+难题解析(精校版)
  2. Git: 生成ssh公钥
  3. 历史上最简单的一道Java面试题,但无人能通过
  4. 18年石油大学c语言网考答案,石油大学华东C语言2018在线考试.doc
  5. 职场不设限:真正的AI产品经理太少了……
  6. 两种方式:mysql查看正在执行的sql语句
  7. 面试:Handler 的工作原理是怎样的?
  8. c语言logo,真好玩 C语言输出Yahoo动态logo
  9. 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列
  10. sqlalchemy与mysql区别_sqlite3和sqlalchemy有什么区别?
  11. opensource项目_来自Opensource.com的开放硬件资源
  12. QT5之修改程序图标
  13. SpringMVC XXX-servlet.xml ApplicationContext.xml
  14. 使用“Grafeas”元数据API和“Kritis”部署授权管理软件供应链
  15. mysql case then效率快_详解Mysql case then使用
  16. 向java全台推送数据等
  17. 最近200篇文章汇总
  18. Linux群控链接USB手机个数,群控系统能做到同时控制上百台手机吗?教你如何群控手机...
  19. 第三方支付接口申请流程
  20. JVM实战(二一): -Xss -Xms -Xmx -Xmn 参数设置

热门文章

  1. 树莓派USB摄像头和motion实现网络监控
  2. 基于服务的多源异构数据整合平台解决方案
  3. 增量式光电编码器原理及其结构
  4. 微信公众平台接口测试帐号登录
  5. 有了这些组件和模板,天下没有难做的移动端驾驶舱
  6. SublimeText3安装中文插件
  7. 天刀 服务器状态,12月11日服务器例行维护公告(已完成)
  8. js设计模式之单例模式
  9. Java初学者作业——定义客户类(Customer),客户类的属性包括:姓名、年龄、电话、余额、账号和密码;方法包括:付款。
  10. 爆款公众号:如何打造爆款公众号文章?公众号文章如何突破10w+?