<?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: Steering linear array</title>
		<link>http://www.k-wave.org/forum/topic/steering-linear-array</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Tue, 12 May 2026 23:45:48 +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/steering-linear-array" rel="self" type="application/rss+xml" />

		<item>
			<title>Bradley Treeby on "Steering linear array"</title>
			<link>http://www.k-wave.org/forum/topic/steering-linear-array#post-7082</link>
			<pubDate>Fri, 18 Oct 2019 19:06:02 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">7082@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Farnaz,&#60;/p&#62;
&#60;p&#62;They look the same, except for a constant offset. So they're both correct, but one will be slightly delayed compared to the other. Which one you want depends on which element you define the offsets relative to.&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Farnaz on "Steering linear array"</title>
			<link>http://www.k-wave.org/forum/topic/steering-linear-array#post-7027</link>
			<pubDate>Wed, 28 Aug 2019 15:48:20 +0000</pubDate>
			<dc:creator>Farnaz</dc:creator>
			<guid isPermaLink="false">7027@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi, &#60;/p&#62;
&#60;p&#62;I was wondering which of the following approaches for computing the delay manually for a linear array in 2D is correct: &#60;/p&#62;
&#60;p&#62;Assume I am modeling a transducer in which each element is consist of 4 grid points and the kerf is also 4 grid points.&#60;/p&#62;
&#60;p&#62;In the Steering A Linear Array Example the offset for toneBurst is computed with this:&#60;/p&#62;
&#60;p&#62;element_spacing = dx;           % [m]&#60;br /&#62;
element_index = -(num_elements - 1)/2:(num_elements - 1)/2;&#60;br /&#62;
tone_burst_offset = element_spacing * element_index * ...&#60;br /&#62;
    sin(steering_angle * pi/180) / (medium.sound_speed * kgrid.dt);&#60;/p&#62;
&#60;p&#62;There is also an equation in manual p.41, eq. 3.1 that can be used to compute delays. &#60;/p&#62;
&#60;p&#62;In the example there is no pitch and each element is only one grid. If I want to adopt this to my problem I'd do this: &#60;/p&#62;
&#60;p&#62;element_spacing = 4*dx;           % [m]&#60;br /&#62;
tone_burst_freq = 5e6;          % [Hz]&#60;br /&#62;
element_index = 1:2:active_elements*2 ;&#60;br /&#62;
tone_burst_offset =  element_spacing * element_index * ...&#60;br /&#62;
    sin(steering_angle * pi/180) / (medium.sound_speed * kgrid.dt);&#60;br /&#62;
for i = 1:active_elements&#60;br /&#62;
source.ux(count,:) = signal(i,:) ;&#60;br /&#62;
source.ux(count+1,:) = signal(i,:) ;&#60;br /&#62;
source.ux(count+2,:) = signal(i,:) ;&#60;br /&#62;
source.ux(count+3,:) = signal(i,:) ;&#60;br /&#62;
count = count+4 ;&#60;br /&#62;
end&#60;/p&#62;
&#60;p&#62;element spacing 4*dx because of of the number of grid points per element and element_index = 1:2:active_elements*2 because there is a kerf that should be skipped. &#60;/p&#62;
&#60;p&#62;When I apply this, simulation looks fine (as far as I see at least). &#60;/p&#62;
&#60;p&#62;Now With the equation: &#60;/p&#62;
&#60;p&#62;function delay = delay_pw_me(index_num,pitch,angle,c0,dt)&#60;br /&#62;
delay = ((index_num*pitch*sin(pi*angle/180))/(c0*dt)) ;&#60;br /&#62;
end&#60;/p&#62;
&#60;p&#62;pitch = 4*dx + 4*dx ;&#60;br /&#62;
for i = 1 : active_elements&#60;br /&#62;
    tone_burst_offset2(1,i) = delay_pw_me(i,pitch,steering_angle,c0,kgrid.dt) ;&#60;br /&#62;
end&#60;/p&#62;
&#60;p&#62;for the whole element a delay is computed and then I assign the delay same way (each computed delay to 4 sources). The simulation looks fine with these delays as well. &#60;/p&#62;
&#60;p&#62;But there is a shift between these two sets of computed delays, the question is which method is correct? &#60;/p&#62;
&#60;p&#62;Thanks in advance,&#60;br /&#62;
Farnaz
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
