总共有四个函数分别如下,导入采集到的音频文件,设置好代码读取路径就可以实现了。

第一个函数:采集系统

% In this program, the signals are divided in pieces of lengData samples

% and process separately. This program calls two functions:

% f_adap

% get_angle

% At the end it returns the direction in degrees.

% CONSTANT VALUES

i=0;

fs=44100; % Sampling frequency (Hz)

d_micro=0.1; % Distance between microphones (m)

c=340; % Speed of sound (m/s)

muestrasMAX=ceil(d_microfs/c); % Maximum number of samples Nmax

DESP=ceil(muestrasMAX1.5); % Delay we insert in the micro 2

% We leave 50% of margin of error.

lengData=441000.5; % Number of samples in which the voice

% signals are divided to be processed.

% All values depend on fs and d_micro in

% case it was necessary to change them.

% Importing the file to process.

signal1=audioread(‘60.wav’)’;% LOOP WHERE THE DIFFERENT PARTS OF THE IMPORTED FILE ARE PROCESSED

for k=lengData:lengData:length(signal1)

tic; % Measure of time tic;toc;

signal=signal1(1,k-(lengData-1):k); % Signal in MIC B

d=signal1(2,k-(lengData-1):k); % Signal in MIC A

% NORMALIZATION PROCESS

M1=max(abs(signal)); % Maximum of channel 1

M2=max(abs(d)); % Maximum of channel 2

M3=max(M1,M2); % Normalization value

signal=signal/M32; % Normalizing

d=d/M32;

% LMS ALGORITHM

hDESP=[zeros(1,DESP) 1]; % Filter to delay the signal DESP samples.

d1=conv(hDESP,d);

P=50; % Parameters of the algorithm

mu=0.0117;

h0=zeros(1,P); h0(1)=0; % Initialazing the adaptative filter

[h y e]=f_adap(signal,d1,h0,mu); % Recursive function calculating the

% coefficients of the filter h(n)

% PROCESSING THE FILTER BEFORE THE FREQUENCY ANALYSIS.

h1=[zeros(1,DESP-muestrasMAX-3),h(DESP-muestrasMAX-2:length(h))];

h1(DESP+muestrasMAX+2:length(h1))=0;

h1(DESP+1)=h1(DESP+1)/2;

[B,I]=sort(h1,‘descend’);

H1=[zeros(1,I(1)-3),h(I(1)-2:I(1)+2),zeros(1,length(h)-(I(1)+2))];

% FREQUENCY ANALYSIS TO OBTAIN THE DELAY (IN SAMPLES)

% 1-FFT

lh=128; % Length of the FFT

H=fft(h1,lh); % FFT of the filter h(n)

% 2-ANGLE(+UNWRAP)

alpha=angle(fftshift(H)); % Obtaining the phase

q=unwrap(angle(fftshift(H)));

% 3-SLOPE

M=diff(q); % Obtaining the slope of the phase

% 4-SLOPE’S AVERAGE

lM=length(M)+2; % The slope M1 is not a unique value,

p1=floor(lM/2-4); % it’s an array. So we calculate the

p2=ceil(lM/2+4); % average of the values, K.

K=mean(M(p1:p2));

Nprime=(-Klh/(2*pi)); % Number of samples before

% substracting DESP.

% 5-SAMPLES

if Nprime<0 % Two possible cases: negative or positive

N=Nprime+lh;

N=N-DESP;

else

N=Nprime;

N=N-DESP;

end

% CALLING THE FUNCTION WHICH RETURNS THE ANGLE

angleGRAD1=get_angle(N,fs,d_micro);

if isreal(angleGRAD1)==1 % Security measures in case

angleGRAD1 % the number is complex

i=i+1;

else

angleGRAD1=real(angleGRAD1)

i=i+1;

end

timeElapsed=toc; % Time is kept in variable timeElapsed

timeElapsed;

i

end

麦克风阵列matlab,双通道麦克风阵列方向采集MATLAB代码实现相关推荐

  1. 麦克风阵列matlab,matlab关于麦克风阵列仿真的问题

    % 定义一个均匀线性阵列 microphone = phased.OmnidirectionalMicrophoneElement('FrequencyRange',[20 20e3]);% Nele ...

  2. 手机麦克风结构原理图_麦克风阵列的基本原理、结构组成及声学效果简介

    阵列(Array):数学定义--有限个相同资料形态之元素组成之集合 麦克风阵列具有对远场干扰噪声很强的抑制作用,应用于便携IT设备如PDA.GPS.NB.手机等在较大噪声环境中使用时表现出较好的效果. ...

  3. 麦克风阵列之一阶差分麦克风阵列

    概述 DMA(differential microphone arrays)是麦克风阵列处理中一种很重要的信号处理方法,特别是在多通道语音增强中的应用.差分麦克风阵列应用场景其目标信号一般是来自于端射 ...

  4. 振子天线三维方向图 matlab仿真,1阵列天线方向图的MATLAB实现

    阵列天线方向图的MATLAB实现 第25卷第1期 2010年6月西藏大学学报(自然科学版)JOURNALOFTIBETUNIVERSnYV01.25No.1Jun.2010 阵列天线方向图的MATLA ...

  5. MATLAB矩阵与阵列

    矩阵与阵列在MATLAB中的运算. 在MATLAB中矩阵的关系求解是非常方便快捷的.下面我们从基础知识开始学习. 矩阵的定义:一般而言,所谓的矩阵就是一组数的全体,在()内排列成m行n列(横为行,纵为 ...

  6. 《阵列信号处理及MATLAB实现》阵列响应矩阵(均匀线阵、均匀圆阵、L型阵列、平面阵列和任意阵列)

    2.7  阵列响应矢量/矩阵 常用的阵列形式包括均匀线阵.均匀圆阵.L型阵列.平面阵列和任意阵列等. 1.均匀线阵 假设接收信号满足窄带条件,即信号经过阵列长度所需的时间应远远小于信号的相干时间,信号 ...

  7. 基于Matlab的天线阵列综合 微波与电磁场 计算成像 波束赋形 相控阵 阵列天线设计

    基于Matlab的天线阵列综合 微波与电磁场 计算成像 波束赋形 相控阵 阵列天线设计 ID:27120641446494948理查德椰子

  8. Matlab之使用传感器阵列分析仪应用绘制阵列方向性图

    1.打开 sensorArrayAnalyzer 应用程序 从命令行键入"sensorArrayAnalyzer"或从应用程序工具条中选择应用程序时,将打开一个交互式窗口.可以选择 ...

  9. 基于matlab的智能天线波束方向图仿真,基于MATLAB的智能天线波束方向图仿真

    第29卷第6期孝感学院学报V OL,基于M AT LA B的智能天线波束方向图仿真,汪 睿1,(1,3,摘 要:结合一种直线阵智能天线模型,关键词:智能天线,中图分类号:T N911,随着移动通信技术 ...

最新文章

  1. IEs 4 Linux 新版支撑 IE 7
  2. ajax返回304,jquery $ajax GET请求在IE浏览器兼容中遇到的304 cache请求的经验分享
  3. Linux命令应用大词典-第36章 密码和证书管理
  4. leetcode 1269. 停在原地的方案数(dp)
  5. 1360:奇怪的电梯(lift) 《信息学奥赛一本通》
  6. 《 产品设计思维:电商产品设计全攻略》一一2.3 电子商务的存在形态
  7. 斯坦福 CS228 概率图模型中文讲义 六、变量消除
  8. 数学建模-12.预测模型
  9. 笔记·模拟电子技术基础——郑益慧老师
  10. VSPE虚拟串口关机蓝屏(BSOD)的解决办法
  11. 【渝粤题库】陕西师范大学200091 东方文学专题研究 作业
  12. c语言程序设计伴随矩阵,c语言求方阵的行列式、伴随矩阵算法
  13. 禾穗HERS | 听说妳事业成功都是靠“关系”?
  14. Mac 下使用apt-get
  15. Unity-拓展篇-pr序列帧转透明视频
  16. STM32学习笔记(五 定时器及应用 3 PWM输出实验 )
  17. GIT切换分支的简单操作
  18. python uniform 函数
  19. 大数据周会-本周学习内容总结014
  20. cif和cip的区别_贸易术语CIF和CIP的区别

热门文章

  1. JavaScript整合版——后端程序员学js,只读一文直接零基础入门,大学生期末考试不挂科宝典。
  2. python输入文字垂直输出_python中len用法-python计算数学表达式-利用python如何垂直输出文字...
  3. 安装iperf,提示:没有可用软件包 iperf
  4. 火山视窗文件框基本操作介绍
  5. JAVA base64的PNG格式转JPG
  6. Adnroid 自定义流式布局
  7. 通用贷款计算器js 计算方法
  8. STM32——NFC门禁模块(RC522)
  9. 校准plc模拟量输入模块有什么方法
  10. STM32F407VET6的OTM8009_800X480屏幕驱动移植