<?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: Low frequency room acoustics simulation</title>
		<link>http://www.k-wave.org/forum/topic/low-frequency-room-acoustics-simulation</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Wed, 13 May 2026 01:02:22 +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/low-frequency-room-acoustics-simulation" rel="self" type="application/rss+xml" />

		<item>
			<title>bencox on "Low frequency room acoustics simulation"</title>
			<link>http://www.k-wave.org/forum/topic/low-frequency-room-acoustics-simulation#post-6922</link>
			<pubDate>Tue, 25 Jun 2019 12:28:00 +0000</pubDate>
			<dc:creator>bencox</dc:creator>
			<guid isPermaLink="false">6922@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Pavel, &#60;/p&#62;
&#60;p&#62;Question (2) first, as it's easier to answer. Yes. You can model any broadband source in k-Wave, so long as there is no energy at frequencies higher than the maximum supported frequency (the frequency corresponding to a grid spacing of 2 points-per-wavelength). So you can make a pink noise time series or a frequency-swept sine. If by accident you include frequencies not supported by the grid, the energy at these frequencies will just be lost. It won't alias into lower frequencies or anything like that.&#60;/p&#62;
&#60;p&#62;Question (1). There are two ways that sound is absorbed in room acoustics. One is as the wave travels through the fluid. The other is energy lost on reflection (when some is absorbed by the wall or transmitted through the wall). The second of these is more dominant in most room acoustics scenarios, especially at low frequencies. The absorption that k-Wave models, however, is the first one -  the absorption in k-Wave is absorption in the medium, so a wave decays as it moves through the fluid. (This is significant in biomedical ultrasound.) &#60;/p&#62;
&#60;p&#62;The absorption parameter in Sabine's formula for reverberation time has units of area, so is sometimes referred to as 'equivalent open window area', which is clearly quite a different concept from that of the wave being absorbed as it propagates. However, when considering an average property of the wavefield, like a reverberation time, I would imagine that one could be used to model the effect of the other (in something like the manner you propose). You can set the frequency dependence to zero by setting 'medium.alpha_power = 0'. Then you could, for example, run separate single frequency simulations with different absorption coefficients. &#60;/p&#62;
&#60;p&#62;My opinion would be that k-Wave is not the ideal tool for room acoustics modelling, as there is not a convenient way of including the data that is usually available, eg. the absorption coefficients of surfaces, and there is not a very accurate way to impose the boundary conditions at the walls. These can be important in low frequency applications in small rooms as they determine which modes dominate the response.&#60;/p&#62;
&#60;p&#62;Hope that helps,&#60;br /&#62;
Ben
&#60;/p&#62;</description>
		</item>
		<item>
			<title>efopx on "Low frequency room acoustics simulation"</title>
			<link>http://www.k-wave.org/forum/topic/low-frequency-room-acoustics-simulation#post-6819</link>
			<pubDate>Tue, 02 Apr 2019 15:27:32 +0000</pubDate>
			<dc:creator>efopx</dc:creator>
			<guid isPermaLink="false">6819@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Brad.&#60;/p&#62;
&#60;p&#62;Actually I ve developed some room acoustics tools like SPL map (pattern radiation) simulation, impulse response etc.&#60;br /&#62;
But I have a problems with medium and source sources properties. Could you answer for my question if its possible? Here:&#60;/p&#62;
&#60;p&#62;1) Absorption coefficient&#60;br /&#62;
In &#34;statistical acoustics&#34; there is absroption coefficient [-]. Is there any relation with power law absorption coefficients [db/MHz^y cm-1]? Maybe my google skills are really bad, but I didn find any literature relating these two phenomenas.&#60;br /&#62;
I had an idea to set up some value of power law coeff. and count RT using Schroder backward integration. Using Sabine eq. I would find out alpha. Than I would do it for some range of power law coeff. values and I would get range of alpha[-] values. I would aproximate it with some polynomal function and I would get this relation.&#60;br /&#62;
But there is problem in increasing power law absorptions values. There is no more decreasing in impulse responce decay when I reach some specific value(weird). F.e power law coeff. value 8 had the same decay result as value 8000. I need to say, that the wall thickness is 10cm in room 5x5m.&#60;br /&#62;
Maybe my thoughts about this are wrong. What would be your recommendation for my future work?&#60;/p&#62;
&#60;p&#62;2) Sound sources&#60;br /&#62;
I ve developed some tools like polarity reverse, delay of the array of sound sources.&#60;br /&#62;
But my question is about the frequency range. I would like to simulate frequency response from let say 20Hz do 100 Hz in f.e. 10 points in the room. Is there any chance to use bandpass pink noise  or sine sweep as a sound source and do the simulation for all the frequencies? I know that for now, there are no tools for it in your toolbox (just toneBurst.m). But should I try to manage it or its not possible?&#60;br /&#62;
I should say that Adam J.Hill FDTD software lowFAT is doing  what I want to simulate using bandpass noise. But I dont know the algorithm. :/ Here are some examples: &#60;a href=&#34;http://adamjhill.com/AJHILL/wp-content/uploads/2018/04/LowFAT-Users-Guide-v1.6.pdf&#34; rel=&#34;nofollow&#34;&#62;http://adamjhill.com/AJHILL/wp-content/uploads/2018/04/LowFAT-Users-Guide-v1.6.pdf&#60;/a&#62;&#60;/p&#62;
&#60;p&#62;Thank you for your response.&#60;/p&#62;
&#60;p&#62;Here is my code for explanation of the wall absorption experiment:&#60;br /&#62;
clearvars;&#60;br /&#62;
%  grid&#60;br /&#62;
Nx = 50;&#60;br /&#62;
Ny = 50;&#60;br /&#62;
dx = 5/Nx;&#60;br /&#62;
dy = 5/Ny;&#60;br /&#62;
kgrid = kWaveGrid(Nx, dx, Ny, dy);&#60;/p&#62;
&#60;p&#62;% medium properties&#60;br /&#62;
c_air = 343;        % [m/s]&#60;br /&#62;
rho_air = 1.225;    % [kg/m^3]&#60;/p&#62;
&#60;p&#62;%wall properties&#60;br /&#62;
c_wall = 343;      % [m/s]&#60;br /&#62;
rho_wall = 100;    % [kg/m^3]&#60;br /&#62;
thickness = 1;     % [grid points]&#60;br /&#62;
wall = zeros(Nx, Ny);&#60;br /&#62;
wall(1:thickness, :) = 1;&#60;br /&#62;
wall(end - thickness + 1:end, :) = 1;&#60;br /&#62;
wall(:, 1:thickness) = 1;&#60;br /&#62;
wall(:, end - thickness + 1:end) = 1;&#60;/p&#62;
&#60;p&#62;%medium definition&#60;br /&#62;
medium.sound_speed = c_air*ones(Nx, Ny);&#60;br /&#62;
medium.density = rho_air*ones(Nx, Ny);&#60;br /&#62;
medium.alpha_coeff = zeros(Nx, Ny);&#60;br /&#62;
medium.alpha_coeff(wall == 1)  = 8; % [dB/(MHz^y cm)]&#60;br /&#62;
medium.alpha_power = 1.5;&#60;br /&#62;
medium.sound_speed_ref = c_air;&#60;br /&#62;
medium.sound_speed(wall == 1) = c_wall;&#60;br /&#62;
medium.density(wall == 1) = rho_wall;&#60;/p&#62;
&#60;p&#62;% time array&#60;br /&#62;
kgrid.makeTime(medium.sound_speed, 0.3, 0.5);&#60;/p&#62;
&#60;p&#62;%sound source&#60;br /&#62;
spacing=1; %[m]&#60;br /&#62;
spacing_points=round(spacing/dx);&#60;br /&#62;
center_array_x=Nx/2;&#60;br /&#62;
center_array_y=round(1/3*Ny);&#60;br /&#62;
source.p_mask = zeros(Nx, Ny);&#60;br /&#62;
source.p_mask(center_array_x,center_array_y ) = 1;&#60;/p&#62;
&#60;p&#62;% define a time varying sinusoidal source&#60;br /&#62;
source_freq = 63;  % [Hz]&#60;br /&#62;
source_mag = 120;    % [Pa]&#60;br /&#62;
source.p = source_mag * sin(2 * pi * source_freq * 0.035);&#60;br /&#62;
% filter&#60;br /&#62;
%source.p = filterTimeSeries(kgrid, medium, source.p);&#60;/p&#62;
&#60;p&#62;% display mask&#60;br /&#62;
display_mask = source.p_mask;&#60;/p&#62;
&#60;p&#62;% sensor mask&#60;br /&#62;
sensor.mask = zeros(Nx, Ny);&#60;br /&#62;
sensor.mask(Nx/2, Ny/2) = 1;&#60;br /&#62;
sensor.record = {'p'};&#60;/p&#62;
&#60;p&#62;% simulation&#60;br /&#62;
input_args = {'DisplayMask', display_mask, 'PMLInside', false, 'PlotPML', false};&#60;br /&#62;
sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor, input_args{:});&#60;/p&#62;
&#60;p&#62;%% impulse&#60;br /&#62;
figure;&#60;br /&#62;
plot(t_sc * kgrid.t_array, sensor_data.p(1, :), 'r-');&#60;br /&#62;
set(gca, 'XLim', [0, 500 ]);&#60;/p&#62;
&#60;p&#62;%% decay&#60;br /&#62;
magnitude_decay=10*log10(sensor_data.p(1, :).^2/max(sensor_data.p(1, :).^2));&#60;/p&#62;
&#60;p&#62;figure;&#60;br /&#62;
plot(t_sc * kgrid.t_array, magnitude_decay, 'k-');&#60;/p&#62;
&#60;p&#62;set(gca,'YLim', [-120, 0 ], 'XLim', [0, 500 ]);&#60;br /&#62;
xlabel(['Time [' t_prefix 's]']);&#60;br /&#62;
ylabel('p');
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Bradley Treeby on "Low frequency room acoustics simulation"</title>
			<link>http://www.k-wave.org/forum/topic/low-frequency-room-acoustics-simulation#post-6777</link>
			<pubDate>Sun, 17 Mar 2019 22:07:57 +0000</pubDate>
			<dc:creator>Bradley Treeby</dc:creator>
			<guid isPermaLink="false">6777@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi Pavel,&#60;/p&#62;
&#60;p&#62;k-Wave is a general wave solver. In principle, all of these things are possible, although there are no inbuilt tools related to room acoustics, so it will take some effort on your part to implement them. Certainly making layers of materials and modelling multiple sources is relatively straightforward.&#60;/p&#62;
&#60;p&#62;Hope that helps,&#60;/p&#62;
&#60;p&#62;Brad.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>efopx on "Low frequency room acoustics simulation"</title>
			<link>http://www.k-wave.org/forum/topic/low-frequency-room-acoustics-simulation#post-6750</link>
			<pubDate>Sun, 10 Feb 2019 16:49:34 +0000</pubDate>
			<dc:creator>efopx</dc:creator>
			<guid isPermaLink="false">6750@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hi everyone,&#60;br /&#62;
I've read almost all topics in General acoustics part of this forum, but I didn't find answers for couple of problems. Ive done some experiments with k-wave functions and it seems really great tool. But some uncertainty come to my mind because of all these topics about &#34;Photoacoustics&#34; -- you know, if it is profiled only for photoacoustics? I am working on project in room acoustics and I am trying to find suitable acoustics toolbox for my usage.&#60;br /&#62;
I wanna ask you a couple of important questions for me:&#60;/p&#62;
&#60;p&#62;Is the k-wave suitable for low-frequency simulation in room acoustics (31 to 125Hz) in closed space?&#60;br /&#62;
---I need to simulate low frequency sound field and I need to add some Helmholtz resonators into the boundaries. Boundaries should be non-rigid walls with specific acoustics impedance. Is there any chance to make layers of materials?&#60;/p&#62;
&#60;p&#62;Is there any chance to properly simulate coupling of sound sources(f.e arrays from 2 to 10 sound sources)?&#60;br /&#62;
--- I mean I have a subwoofer sources and I need to simulate directivity of some subwoofer array (using digital delay, polarity reverse etc). F.e crdioid pattern, end-fire pattern etc.&#60;/p&#62;
&#60;p&#62;Is there any proper way of creating SPL map of simulation?&#60;br /&#62;
---I need to analyze in 1/6 or 1/12 octave bands. I need to create SPL map (f.e. 1s temporal averaging). Is there any proper way to average real-time matrices of sound field?&#60;/p&#62;
&#60;p&#62;In that case the k-wave wont be recommended for my usage, could you give me a tip of free alternative of some other acoustics toolbox?&#60;/p&#62;
&#60;p&#62;Thank you so much for your help.&#60;/p&#62;
&#60;p&#62;Pavel.
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
