声使用麦克风阵列波束形成:记录多通道音频
6视图(30天)
显示旧的评论
我记录了三个定向声源(角(-50,0),-10;0],[50;0])使用“4通道线性麦克风阵列”。
我试图用“MicrophoneBeamformerExample。m”(< //www.tianjin-qmedu.com/help/phased/examples/acoustic-beamforming-using-a-microphone-array.html >)中提取音频从一个特定的方向。
我已经尝试以下
4)创建通道线性麦克风阵列在MATLAB使用分阶段。OmnidirectionalMicrophoneElement phased.ULA。这是重新创建相同的数组是用来记录音频。
b)使用阶跃函数来创建sigArray
c)使用“分阶段。TimeDelayBeamformer”并试图提取音频从特定的方向。
但是我没有得到所期望的输出。下面是我的代码。任何帮助都是高度赞赏。
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
h = phased.OmnidirectionalMicrophoneElement (“FrequencyRange”20 e3, [20]);
Nele = 4;
%公顷= phased.ULA (Nele, 0.05,“元素”,hmic);
哈= phased.ULA (“元素”h,“NumElements”Nele,…
“ElementSpacing”,0.05);
%公顷= phased.ULA (Nele, 0.05,“元素”,h);
c = 340;%的声音的速度,在m / s
oFeq = 16000;
ang_1 = [10;0);
ang_2 = [-50;0);
ang_3 = [50;0);
fs = 16000;
% fs = AudioInput.SampleRate;
t_duration = 29;
t = 0:1 / fs: t_duration-1 / fs;
NSampPerFrame = 1000;
NTSample = t_duration * fs;
sigArray = 0 (NTSample Nele);
isAudio万博1manbetxSupported = helperMicrophoneExampleAudioSupported;
如果isAudio万博1manbetxSupported
hap = dsp.AudioPlayer (“SampleRate”fs);
结束
audioFileName =“ABC_FourChannel_Recording.wav”;
AudioInput = dsp.AudioFileReader (…
“OutputDataType”,“双”,…
“文件名”audioFileName,…
“PlayCount”正,…
“SamplesPerFrame”,NSampPerFrame);
为m = 1: NSampPerFrame: NTSample
sig_idx = m: m + NSampPerFrame-1;
sigArray (sig_idx:) =步骤(AudioInput);
结束
angSteer = ang_3;
住宅= phased.TimeDelayBeamformer (“SensorArray”,哈,“SampleRate”fs,…
“方向”angSteer,“PropagationSpeed”c);
hsig = dsp.SignalSource (“信号”sigArray,…
“SamplesPerFrame”,NSampPerFrame);
cbfOut = 0 (NTSample, 1);
为m = 1: NSampPerFrame: NTSample
temp =步骤(住宅、步骤(hsig));
如果isAudio万博1manbetxSupported
临时步骤(hap);
结束
cbfOut (m: m + NSampPerFrame-1:) = temp;
结束
情节(t, cbfOut);
包含(的时间(秒));ylabel (“振幅(V)”);
标题(“延时Beamformer输出”);ylim (3 [3]);
住宅= phased.FrostBeamformer (“SensorArray”,哈,“SampleRate”fs,…
“PropagationSpeed”c“FilterLength”,20岁,“DirectionSource”,输入端口的);
重置(hsig);
FrostOut = 0 (NTSample, 1);
为m = 1: NSampPerFrame: NTSample
% FrostOut (m: m + NSampPerFrame-1:) =步骤(步骤(hsig),住宅ang_dft);
% FrostOut (m: m + NSampPerFrame-1:) =步骤(步骤(hsig),住宅ang_cleanspeech);
FrostOut (m: m + NSampPerFrame-1:) =步骤(步骤(hsig),住宅ang_3);
结束
如果isAudio万博1manbetxSupported
释放(hap);
步骤(hap FrostOut);
结束
情节(t, FrostOut);
包含(的时间(秒));ylabel (“振幅(V)”);
标题(“霜Beamformer输出”);ylim (3 [3]);
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
1评论
当归Londono博尔哈
2021年4月24日
你好Ashwini,希望你做得很好。
你可能得到这个工作吗?我知道它已经很长一段时间以来你贴出这个问题,但是现在我工作在一个类似的项目。
我想波束形成适用于ps3的眼睛记录和我的代码看起来非常类似于你的但它不是工作。
如果你得到这个工作,我会很感激任何洞察力你可以提供给我。
提前谢谢。