【物理应用】麦克风阵列近场波束形成的典型方法仿真【含Matlab源码 2196期】

【物理应用】麦克风阵列近场波束形成的典型方法仿真【含Matlab源码 2196期】_第1张图片

⛄一、获取代码方式

获取代码方式1:
完整代码已上传我的资源:【物理应用】基于matlab麦克风阵列近场波束形成的典型方法仿真【含Matlab源码 2196期】
点击上面蓝色字体,直接付费下载,即可。

获取代码方式2:
付费专栏Matlab物理应用(初级版)

备注:
点击上面蓝色字体付费专栏Matlab物理应用(初级版),扫描上面二维码,付费29.9元订阅海神之光博客付费专栏Matlab物理应用(初级版),凭支付凭证,私信博主,可免费获得1份本博客上传CSDN资源代码(有效期为订阅日起,三天内有效);
点击CSDN资源下载链接:1份本博客上传CSDN资源代码

⛄二、部分源代码

%%DELAY AND SUM
%%画波束图,画不同点频率波束图,显示最低频率、中间频率、最高频率
clear all %clc;%close all;
%%step 1 信号源和阵列参数设置*********************************************************************************
f0 = 1500; %%信号中心频率(Hz)
B = 200; %%带宽(Hz)
fs = 2*B; %%采样频率(Hz),带通采样定理

fl = f0-B/2; %%信号起始频率(Hz)
fh = f0+B/2; %%信号终止频率(Hz)
T = 1; %%信号持续时间(s)
Tr = 5; %%工作周期为5s
snr = 0; %%信噪比(dB)
angle = 0; %%信号到达方向(度数)
M = 16; %%麦克风阵列个数
c = 340; %%声速(m/s)
d = 0.5c/fh; %%阵元间距按最高频率半波长来计算,当然也可以自己设置,注意要满足空间采样定理
FFTLEN = fs; %%FFT的点数
Nm = 64; %%重复次数
N = round(T
fs); %%信号的采样点数
Nr = round(Trfs); %%一个周期的点数
NN = ceil(Nr
Nm/FFTLEN); %%频域快拍数

%%step 2计算每个频率点下的权向量和波束图*****************************************************************************************************
fre = [fl:fh-1];
p_angle = -90:0.5:90; %%观察区间
b_pattern = zeros(B,length(p_angle)); %%波束形状
for i = 1:B
a = exp(-1j2pi*fre(i)d[0:M-1]'sin(angle/180pi)/c); %%方向向量

w(:,i) = conj(1./a);                                                %%保存了每个频率下的权向量

clear b_a;
for m=1:M 
    b_a(m,:) = exp(-1j*2*pi*fre(i)*d*(m-1)*sin(p_angle/180*pi)/c);  % 用于方向搜索的方向向量 
end   

b_pattern(i,:) = w(:,i)'*b_a;
b_pattern(i,:) = b_pattern(i,:)/max(abs(b_pattern(i,:)));           %%保存了波束图

end

⛄三、运行结果

【物理应用】麦克风阵列近场波束形成的典型方法仿真【含Matlab源码 2196期】_第2张图片
【物理应用】麦克风阵列近场波束形成的典型方法仿真【含Matlab源码 2196期】_第3张图片
【物理应用】麦克风阵列近场波束形成的典型方法仿真【含Matlab源码 2196期】_第4张图片

⛄四、matlab版本及参考文献

1 matlab版本
2014a

2 参考文献
[1]刘萍.如何理解空气质量分指数(IAQI)计算公式并速算[J].黑龙江环境通报. 2014,38(02)

3 备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除

你可能感兴趣的:(Matlab物理应用(初级版),matlab)