<?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: Sound pressure decrease with distance</title>
		<link>http://www.k-wave.org/forum/topic/sound-pressure-decrease-with-distance</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Wed, 13 May 2026 03:45:11 +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/sound-pressure-decrease-with-distance" rel="self" type="application/rss+xml" />

		<item>
			<title>Bradley Treeby on "Sound pressure decrease with distance"</title>
			<link>http://www.k-wave.org/forum/topic/sound-pressure-decrease-with-distance#post-8005</link>
			<pubDate>Tue, 19 Jan 2021 19:50:21 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">8005@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Andreas,&#60;/p&#62;
&#60;p&#62;I haven't run your simulation, but in 2D, a point source actually corresponds to an infinite line source so will generate a cylindrical wave (everything is implicitly extended off to infinity in the out-of-plane direction). This means the pressure should decay with 1/sqrt(r). Have a look at the &#60;a href=&#34;http://www.k-wave.org/documentation/example_ivp_photoacoustic_waveforms.php&#34;&#62;Photoacoustic Waveforms in 1D, 2D and 3D Example&#60;/a&#62; if you need more details.&#60;/p&#62;
&#60;p&#62;Brad
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Andreas Blum on "Sound pressure decrease with distance"</title>
			<link>http://www.k-wave.org/forum/topic/sound-pressure-decrease-with-distance#post-7980</link>
			<pubDate>Tue, 08 Dec 2020 12:37:11 +0000</pubDate>
			<dc:creator>Andreas Blum</dc:creator>
			<guid isPermaLink="false">7980@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hey there,&#60;br /&#62;
i'm working on a little sound simulation for loudspeakers.&#60;br /&#62;
With a point source, shouldn't the sound pressure level decrease linear with increasing distance from the source (p ~ 1 / r)?&#60;br /&#62;
I've attached an little example:&#60;br /&#62;
Sensor 1 is in 30*dx distance from source&#60;br /&#62;
Sensor 2 in in 60*dx distance from source&#60;br /&#62;
The results are:&#60;br /&#62;
max Pressure Sensor 1: 0.1751 Pa&#60;br /&#62;
max Pressure Sensor 2: 0.12383 Pa&#60;br /&#62;
but they dont match with p2 = p1*(r1/r2) = 0.1751*(30/60) = 0,0876 Pa&#60;br /&#62;
Can someone help me?&#60;/p&#62;
&#60;p&#62;Best regards&#60;br /&#62;
Andreas&#60;/p&#62;
&#60;p&#62;EXAMPLE:&#60;br /&#62;
% Monopole Point Source In A Homogeneous Propagation Medium Example&#60;br /&#62;
%&#60;br /&#62;
% This example provides a simple demonstration of using k-Wave for the&#60;br /&#62;
% simulation and detection of a time varying pressure source within a&#60;br /&#62;
% two-dimensional homogeneous propagation medium.  It builds on the&#60;br /&#62;
% Homogeneous Propagation Medium and Recording The Particle Velocity&#60;br /&#62;
% examples.&#60;br /&#62;
%&#60;br /&#62;
% author: Bradley Treeby&#60;br /&#62;
% date: 2nd December 2009&#60;br /&#62;
% last update: 4th May 2017&#60;br /&#62;
%&#60;br /&#62;
% This function is part of the k-Wave Toolbox (&#60;a href=&#34;http://www.k-wave.org&#34; rel=&#34;nofollow&#34;&#62;http://www.k-wave.org&#60;/a&#62;)&#60;br /&#62;
% Copyright (C) 2009-2017 Bradley Treeby&#60;/p&#62;
&#60;p&#62;% This file is part of k-Wave. k-Wave is free software: you can&#60;br /&#62;
% redistribute it and/or modify it under the terms of the GNU Lesser&#60;br /&#62;
% General Public License as published by the Free Software Foundation,&#60;br /&#62;
% either version 3 of the License, or (at your option) any later version.&#60;br /&#62;
%&#60;br /&#62;
% k-Wave is distributed in the hope that it will be useful, but WITHOUT ANY&#60;br /&#62;
% WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS&#60;br /&#62;
% FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for&#60;br /&#62;
% more details.&#60;br /&#62;
%&#60;br /&#62;
% You should have received a copy of the GNU Lesser General Public License&#60;br /&#62;
% along with k-Wave. If not, see &#38;lt;http://www.gnu.org/licenses/&#38;gt;. &#60;/p&#62;
&#60;p&#62;clearvars;&#60;/p&#62;
&#60;p&#62;% =========================================================================&#60;br /&#62;
% SIMULATION&#60;br /&#62;
% =========================================================================&#60;/p&#62;
&#60;p&#62;% create the computational grid&#60;br /&#62;
Nx = 128;           % number of grid points in the x (row) direction&#60;br /&#62;
Ny = 128;           % number of grid points in the y (column) direction&#60;br /&#62;
dx = 50e-3/Nx;    	% grid point spacing in the x direction [m]&#60;br /&#62;
dy = dx;            % grid point spacing in the y direction [m]&#60;br /&#62;
kgrid = kWaveGrid(Nx, dx, Ny, dy);&#60;/p&#62;
&#60;p&#62;% define the properties of the propagation medium&#60;br /&#62;
medium.sound_speed = 343;  % [m/s]&#60;br /&#62;
medium.alpha_coeff = 0;%0.75;  % [dB/(MHz^y cm)]&#60;br /&#62;
medium.alpha_power = 0;%1.5;&#60;/p&#62;
&#60;p&#62;% create the time array&#60;br /&#62;
kgrid.makeTime(medium.sound_speed);&#60;/p&#62;
&#60;p&#62;% define a single source point&#60;br /&#62;
source.p_mask = zeros(Nx, Ny);&#60;br /&#62;
source.p_mask(end - Nx/4, Ny/2) = 1;&#60;br /&#62;
xpos_source = Nx- Nx/4;&#60;/p&#62;
&#60;p&#62;% define a time varying sinusoidal source&#60;br /&#62;
source_freq = 0.25e6;   % [Hz]&#60;br /&#62;
source_mag = 2;         % [Pa]&#60;br /&#62;
source.p = source_mag * sin(2 * pi * source_freq * kgrid.t_array);&#60;br /&#62;
source.p_mode = 'dirichlet';&#60;/p&#62;
&#60;p&#62;% filter the source to remove high frequencies not supported by the grid&#60;br /&#62;
source.p = filterTimeSeries(kgrid, medium, source.p);&#60;/p&#62;
&#60;p&#62;% define a single sensor point&#60;br /&#62;
sensor.mask = zeros(Nx, Ny);&#60;br /&#62;
xpos_sensor_1 = xpos_source - 30;&#60;br /&#62;
xpos_sensor_2 = xpos_source - 60;&#60;br /&#62;
sensor.mask(xpos_sensor_1, Ny/2) = 1;&#60;br /&#62;
sensor.mask(xpos_sensor_2, Ny/2) = 1;&#60;/p&#62;
&#60;p&#62;% define the acoustic parameters to record&#60;br /&#62;
sensor.record = {'p', 'p_final'};&#60;/p&#62;
&#60;p&#62;%% run the simulation&#60;br /&#62;
sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor);&#60;br /&#62;
%%&#60;br /&#62;
% =========================================================================&#60;br /&#62;
% VISUALISATION&#60;br /&#62;
% =========================================================================&#60;/p&#62;
&#60;p&#62;% plot the final wave-field&#60;br /&#62;
figure;&#60;br /&#62;
imagesc(kgrid.y_vec * 1e3, kgrid.x_vec * 1e3, ...&#60;br /&#62;
    sensor_data.p_final + source.p_mask + sensor.mask, [-1, 1]);&#60;br /&#62;
colormap(getColorMap);&#60;br /&#62;
ylabel('x-position [mm]');&#60;br /&#62;
xlabel('y-position [mm]');&#60;br /&#62;
axis image;&#60;/p&#62;
&#60;p&#62;% plot the simulated sensor data&#60;br /&#62;
figure;&#60;br /&#62;
[t_sc, scale, prefix] = scaleSI(max(kgrid.t_array(:)));&#60;/p&#62;
&#60;p&#62;subplot(2, 1, 1);&#60;br /&#62;
plot(kgrid.t_array * scale, source.p, 'k-');&#60;br /&#62;
xlabel(['Time [' prefix 's]']);&#60;br /&#62;
ylabel('Signal Amplitude');&#60;br /&#62;
axis tight;&#60;br /&#62;
title('Input Pressure Signal');&#60;/p&#62;
&#60;p&#62;subplot(2, 1, 2);&#60;br /&#62;
plot(kgrid.t_array * scale, sensor_data.p, '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;disp(['max Pressure Sensor 1: ', num2str(max(sensor_data.p(2,:)))]);&#60;br /&#62;
disp(['max Pressure Sensor 2: ', num2str(max(sensor_data.p(1,:)))]);
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
