<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>k-Wave User Forum &#187; Topic: Large scale modelling for DOA problem</title>
		<link>http://www.k-wave.org/forum/topic/large-scale-modelling-for-doa-problem</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Wed, 13 May 2026 01:13:44 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.2</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>http://www.k-wave.org/forum/search.php</link>
		</textInput>
		<atom:link href="http://www.k-wave.org/forum/rss/topic/large-scale-modelling-for-doa-problem" rel="self" type="application/rss+xml" />

		<item>
			<title>zia.roghani on "Large scale modelling for DOA problem"</title>
			<link>http://www.k-wave.org/forum/topic/large-scale-modelling-for-doa-problem#post-5142</link>
			<pubDate>Tue, 14 Jul 2015 16:48:30 +0000</pubDate>
			<dc:creator>zia.roghani</dc:creator>
			<guid isPermaLink="false">5142@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hello AVB,&#60;br /&#62;
Run the code below. It has a source. A linear sensors array. perform some DOA algorithm like CAPON or Delay-and-sum on the recorded data you will get the direction of source. It has a linear array of there sensors placed at the possition (-0.4667,-99.8667)   (0,-99.8667) and ( 0.4667,-99.8667). &#60;/p&#62;
&#60;p&#62;clear all;&#60;br /&#62;
clc;&#60;br /&#62;
close all;&#60;br /&#62;
PML_size = 5;&#60;/p&#62;
&#60;p&#62;C = 1400;&#60;br /&#62;
f_max = 1500;&#60;br /&#62;
dx = C/(2*f_max);&#60;br /&#62;
dy=dx;&#60;br /&#62;
grid_length = 200;&#60;br /&#62;
Ny = round(grid_length/dy);&#60;br /&#62;
Nx = Ny;&#60;br /&#62;
kgrid = makeGrid (Nx,dx,Nx,dy);&#60;br /&#62;
co_ordinate = sqrt(kgrid.x.^2 + kgrid.y.^2);&#60;br /&#62;
mid_pt = find(kgrid.x==0);&#60;br /&#62;
mid_pt = mid_pt(1);&#60;/p&#62;
&#60;p&#62;% define the properties of the propagation medium&#60;br /&#62;
medium.sound_speed = C;      % [m/s]&#60;br /&#62;
medium.alpha_coeff = 0.75;      % [dB/(MHz^y cm)]&#60;br /&#62;
medium.alpha_power = 1.5; &#60;/p&#62;
&#60;p&#62;% create the time array&#60;br /&#62;
cfl = 0.2; %Courant-Friedrichs-Lewy number&#60;br /&#62;
f_sig=1000;&#60;br /&#62;
FS=10*f_sig;&#60;br /&#62;
dt=1/FS;&#60;br /&#62;
kgrid.t_array= 0:dt:0.5;&#60;/p&#62;
&#60;p&#62;% define a time varying sinusoidal source&#60;br /&#62;
A=5; % [Pa]&#60;br /&#62;
source.p = A*sin(2*pi*f_sig*kgrid.t_array);&#60;/p&#62;
&#60;p&#62;%define a tone burst&#60;br /&#62;
%sampling_freq = 1/dt; % [Hz]&#60;br /&#62;
%tone_burst_freq = 1.5e3; % [Hz]&#60;br /&#62;
%tone_burst_cycles = 3;&#60;br /&#62;
%source.p = source_mag*toneBurst(sampling_freq, tone_burst_freq, tone_burst_cycles);&#60;/p&#62;
&#60;p&#62;% define a single source point&#60;br /&#62;
source.p_mask = zeros(Nx, Ny);&#60;br /&#62;
xs=mid_pt;&#60;br /&#62;
ys=mid_pt;&#60;br /&#62;
source.p_mask(xs, ys) = 1;&#60;/p&#62;
&#60;p&#62;%define sensor point&#60;br /&#62;
incr=1;% 0.4667m spacing&#60;br /&#62;
sensor.mask = zeros(Nx, Ny);&#60;br /&#62;
y_sens = 10;&#60;br /&#62;
x_sens=(mid_pt-incr):incr:(mid_pt+incr);&#60;br /&#62;
sensor.mask(x_sens, y_sens) = 1;&#60;/p&#62;
&#60;p&#62;%define the acoustic parameters to record&#60;br /&#62;
sensor.record = {'p'};&#60;br /&#62;
sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor, 'PMLInside',true, 'PlotPML', true );&#60;/p&#62;
&#60;p&#62;%plot the recorded data&#60;/p&#62;
&#60;p&#62;figure;&#60;br /&#62;
subplot(4, 1, 1);&#60;br /&#62;
[t_sc scale prefix] = scaleSI(max(kgrid.t_array(:)));&#60;br /&#62;
plot(source.p, 'b-');&#60;br /&#62;
xlabel(['Time [' prefix 's]']);&#60;br /&#62;
ylabel('Signal Amplitude');&#60;br /&#62;
axis tight;&#60;br /&#62;
title('Source Pressure Signal');&#60;/p&#62;
&#60;p&#62;subplot(4, 1, 2), plot(kgrid.t_array*scale, sensor_data.p(1, :), 'r-');&#60;br /&#62;
xlabel(['Time [' prefix 's]']);&#60;br /&#62;
ylabel('Signal Amplitude');&#60;br /&#62;
axis tight;&#60;br /&#62;
title('Sensor-1 Pressure Signal');&#60;/p&#62;
&#60;p&#62;subplot(4, 1, 3), plot(kgrid.t_array*scale, sensor_data.p(2, :), 'r-');&#60;br /&#62;
xlabel(['Time [' prefix 's]']);&#60;br /&#62;
ylabel('Signal Amplitude');&#60;br /&#62;
axis tight;&#60;br /&#62;
title('Sensor Pressure Signal');&#60;/p&#62;
&#60;p&#62;subplot(4, 1, 4), plot(kgrid.t_array*scale, sensor_data.p(3, :), 'r-');&#60;br /&#62;
xlabel(['Time [' prefix 's]']);&#60;br /&#62;
ylabel('Signal Amplitude');&#60;br /&#62;
axis tight;&#60;br /&#62;
title('Sensor Pressure Signal');
&#60;/p&#62;</description>
		</item>
		<item>
			<title>bencox on "Large scale modelling for DOA problem"</title>
			<link>http://www.k-wave.org/forum/topic/large-scale-modelling-for-doa-problem#post-5036</link>
			<pubDate>Wed, 08 Apr 2015 16:12:14 +0000</pubDate>
			<dc:creator>bencox</dc:creator>
			<guid isPermaLink="false">5036@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi AVB, &#60;/p&#62;
&#60;p&#62;What exactly are you stuck on?&#60;/p&#62;
&#60;p&#62;Ben
&#60;/p&#62;</description>
		</item>
		<item>
			<title>AVB on "Large scale modelling for DOA problem"</title>
			<link>http://www.k-wave.org/forum/topic/large-scale-modelling-for-doa-problem#post-5024</link>
			<pubDate>Fri, 27 Mar 2015 14:56:30 +0000</pubDate>
			<dc:creator>AVB</dc:creator>
			<guid isPermaLink="false">5024@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hello!&#60;br /&#62;
I am trying to use k-wave toolkit for modelling direction of arrival data for multiple acoustic sensors.&#60;/p&#62;
&#60;p&#62;Could you tell what is the best way to model 30 kHz acoustic waves from omnidirectional transciver 100m far away from several acoustic rescievers (located 20 to 40 cm far from each other)?
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
