<?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: get the sensor_data in NAN</title>
		<link>http://www.k-wave.org/forum/topic/get-the-sensor_data-in-nan</link>
		<description>Support for the k-Wave MATLAB toolbox</description>
		<language>en-US</language>
		<pubDate>Fri, 15 May 2026 19:44:02 +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/get-the-sensor_data-in-nan" rel="self" type="application/rss+xml" />

		<item>
			<title>luxuriance on "get the sensor_data in NAN"</title>
			<link>http://www.k-wave.org/forum/topic/get-the-sensor_data-in-nan#post-6184</link>
			<pubDate>Fri, 03 Nov 2017 14:22:43 +0000</pubDate>
			<dc:creator>luxuriance</dc:creator>
			<guid isPermaLink="false">6184@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;I get the wrong place. check the neper2db's units.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>luxuriance on "get the sensor_data in NAN"</title>
			<link>http://www.k-wave.org/forum/topic/get-the-sensor_data-in-nan#post-6183</link>
			<pubDate>Fri, 03 Nov 2017 13:44:50 +0000</pubDate>
			<dc:creator>luxuriance</dc:creator>
			<guid isPermaLink="false">6183@http://www.k-wave.org/forum/</guid>
			<description>&#60;p&#62;Hello, I am stuck in the dilemma. the sensor_data is always get nan. I don't know where I did wrong.&#60;/p&#62;
&#60;p&#62;I want to construct a space with a little ball. The outside is muscle, the ball is used in kidney's material. Using one sender with three receivers. But I get the wrong answer all along.Here is my code. Thanks very much.&#60;/p&#62;
&#60;p&#62;%% clear&#60;br /&#62;
clear;&#60;br /&#62;
clc;&#60;/p&#62;
&#60;p&#62;%% Creat Grid&#60;br /&#62;
Grid_Accuracy=1e3&#60;br /&#62;
x=0.05&#60;br /&#62;
y=0.05&#60;br /&#62;
z=0.05&#60;br /&#62;
[kgrid,Nx,dx,Ny,dy,Nz,dz]=CreatGrid(Grid_Accuracy,x,y,z)&#60;br /&#62;
%% define signal&#60;br /&#62;
fc=5e6&#60;br /&#62;
Tm = 0.2e-4;     % pulse duration [s]&#60;br /&#62;
tau = 0.1e-4;   % shaping factor for the pulse [s]&#60;br /&#62;
source_signal=cp0201_waveform(fc,Tm,tau)&#60;/p&#62;
&#60;p&#62;%% define kgrid.t_array&#60;br /&#62;
dt=1/fc&#60;br /&#62;
time_end=5*Tm&#60;br /&#62;
kgrid.t_array=0:dt:time_end&#60;/p&#62;
&#60;p&#62;%% coefficient&#60;br /&#62;
speed_muscle=1629 ;%(1529-1629);&#60;br /&#62;
density_muscle=1056 ;%(1038-1056);&#60;br /&#62;
alpha_coeff_muscle=neper2db(0.54/4.3); %alpha=0.54@4.3Mhz 10^2 neper m^-1, a*f^b, this is a&#60;br /&#62;
alpha_power_muscle=1; %b&#60;br /&#62;
BonA_muscle=7.4; %(7.4-8.1)&#60;/p&#62;
&#60;p&#62;speed_kidney=1580 ;%(1560-1580)&#60;br /&#62;
density_kidney=1050;&#60;br /&#62;
alpha_coeff_kidney=neper2db(0.23/2); %alpha=0.23@2Mhz, a*f^b, this is a&#60;br /&#62;
alpha_power_kidney=1; %b&#60;br /&#62;
BonA_kidney=5.8; %(5.8-9.0)&#60;/p&#62;
&#60;p&#62;%% ball center&#60;br /&#62;
cx=x/2*Grid_Accuracy;&#60;br /&#62;
cy=y/2*Grid_Accuracy;&#60;br /&#62;
cz=z/2*Grid_Accuracy;&#60;/p&#62;
&#60;p&#62;%% initial medium coefficents&#60;br /&#62;
medium.alpha_mode='no_dispersion';&#60;br /&#62;
medium.sound_speed=speed_muscle*ones(Nx,Ny,Nz);&#60;br /&#62;
medium.density=density_muscle*ones(Nx,Ny,Nz);&#60;br /&#62;
medium.alpha_coeff =alpha_coeff_muscle*ones(Nx,Ny,Nz);&#60;br /&#62;
medium.alpha_power=alpha_power_muscle;&#60;br /&#62;
medium.BonA=BonA_muscle*ones(Nx,Ny,Nz);&#60;/p&#62;
&#60;p&#62;%% define ball medium&#60;br /&#62;
for i=1:1:Nx&#60;br /&#62;
    for j=1:1:Ny&#60;br /&#62;
        for k=1:1:Nz&#60;br /&#62;
            d_ball=((i-cx)^2+(j-cy)^2+(k-cz)^2)^(1/2);&#60;br /&#62;
            if d_ball &#38;lt;= 0.002*Grid_Accuracy&#60;br /&#62;
                medium.sound_speed(i,j,k)=speed_kidney;&#60;br /&#62;
                medium.density(i,j,k)=density_kidney;&#60;br /&#62;
                medium.alpha_coeff(i,j,k)=alpha_coeff_kidney;&#60;br /&#62;
                medium.BonA(i,j,k)=BonA_kidney;&#60;br /&#62;
            end&#60;br /&#62;
        end&#60;br /&#62;
    end&#60;br /&#62;
end&#60;/p&#62;
&#60;p&#62;%% define source and sensor&#60;br /&#62;
source.p_mask=zeros(Nx,Ny,Nz);&#60;br /&#62;
sensor.mask=zeros(Nx,Ny,Nz);&#60;br /&#62;
sx=round(Nx/2);&#60;br /&#62;
sz=sx;&#60;br /&#62;
sy=1;&#60;br /&#62;
source.p_mask(sx,sy,sz)=1;&#60;/p&#62;
&#60;p&#62;sensor_circle=0.001;&#60;br /&#62;
sensory1=1;&#60;br /&#62;
sensory2=1;&#60;br /&#62;
sensory3=1;&#60;br /&#62;
sensorx1=round(sensor_circle*Grid_Accuracy+sx);&#60;br /&#62;
sensorz1=sz;&#60;br /&#62;
sensorx2=round(sx-sensor_circle*Grid_Accuracy/2);&#60;br /&#62;
sensorz2=round(sz-sensor_circle*Grid_Accuracy*3^(1/2)/2);&#60;br /&#62;
sensorx3=round(sx+sensor_circle*Grid_Accuracy/2);&#60;br /&#62;
sensorz3=round(sz+sensor_circle*Grid_Accuracy*3^(1/2)/2);&#60;/p&#62;
&#60;p&#62;sensor.mask(sensorx1,sensory1,sensorz1)=1&#60;br /&#62;
sensor.mask(sensorx2,sensory2,sensorz2)=1&#60;br /&#62;
sensor.mask(sensorx3,sensory3,sensorz3)=1&#60;/p&#62;
&#60;p&#62;%% define sensor.record&#60;br /&#62;
sensor.record={'p','u','I'};&#60;/p&#62;
&#60;p&#62;%% define signal&#60;br /&#62;
%source.p(1,:)=source_signal&#60;br /&#62;
source.p(1,:)=[1,1,1];&#60;br /&#62;
%% send&#60;/p&#62;
&#60;p&#62;sensor_data=kspaceFirstOrder3D(kgrid,medium,source,sensor,'PlotLayout',true);%,'DataCast','gpuArray-single','PlotPML',true&#60;/p&#62;
&#60;p&#62;%% plot&#60;br /&#62;
[t_sc,scale,prefix]=scaleSI(max(kgrid.t_array(:)));&#60;/p&#62;
&#60;p&#62;figure()&#60;br /&#62;
subplot(2,1,1)&#60;br /&#62;
plot(source.p,'k-')&#60;br /&#62;
xlabel(strcat('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(sensor_data.p(1,:),'r-');&#60;br /&#62;
xlabel(strcat('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;function [kgrid,Nx,dx,Ny,dy,Nz,dz]=CreatGrid(Grid_Accuracy,x,y,z)&#60;/p&#62;
&#60;p&#62;Nx=Grid_Accuracy*x&#60;br /&#62;
Ny=y*Grid_Accuracy&#60;br /&#62;
Nz=z*Grid_Accuracy&#60;/p&#62;
&#60;p&#62;dx=1/Grid_Accuracy&#60;br /&#62;
dy=dx&#60;br /&#62;
dz=dx&#60;br /&#62;
kgrid=kWaveGrid(Nx,dx,Ny,dy,Nz,dz)&#60;/p&#62;
&#60;p&#62;density_muscle=1056 %(1038-1056)&#60;br /&#62;
speed_muscle=1629 %(1529-1629)&#60;br /&#62;
alpha_coeffi_muscle=neper2db(0.125) % alpha=0.54@4.3Mhz (alpha=a*f^b,alpha: neper m^-1,,,0.54/4.3)&#60;br /&#62;
alpha_power_muscle=1&#60;br /&#62;
BonA_muscle=7.4 %(7.4-8.1 B/A)&#60;/p&#62;
&#60;p&#62;desity_kidney=1050&#60;br /&#62;
speed_kidney=1580 %(1560-1580)&#60;br /&#62;
alpha_coef_kidney=neper2db(0.23/2) % alpha=0.23@2MHz&#60;br /&#62;
alpha_power_kidney=1&#60;br /&#62;
BonA_kidney=5.8 %(5.8-9.0)&#60;/p&#62;
&#60;p&#62;end&#60;/p&#62;
&#60;p&#62;function [w0]= cp0201_waveform(fc,Tm,tau);&#60;br /&#62;
% ------------------------------------&#60;br /&#62;
% Step One - Pulse Waveform Generation&#60;br /&#62;
% ------------------------------------&#60;br /&#62;
% fc = 50e6;                          %sample frequency&#60;br /&#62;
% Tm = 0.2e-5;     % pulse duration [s]&#60;br /&#62;
% tau = 0.1e-5;   % shaping factor for the pulse [s]&#60;br /&#62;
% dPPM = 0.5e-5;   % time shift introduced by the PPM [s]&#60;/p&#62;
&#60;p&#62;dt = 1 / fc;            % reference sampling period&#60;br /&#62;
OVER = floor(Tm*fc);    % number of samples representing&#60;br /&#62;
                        %  the pulse&#60;/p&#62;
&#60;p&#62;e = mod(OVER,2);&#60;br /&#62;
kbk = floor(OVER/2);&#60;br /&#62;
tmp = linspace(dt,Tm/2,kbk);&#60;br /&#62;
s = (1-4.*pi.*((tmp./tau).^2)).* ...&#60;br /&#62;
     exp(-2.*pi.*((tmp./tau).^2));&#60;br /&#62;
% figure;&#60;br /&#62;
% plot(s);&#60;/p&#62;
&#60;p&#62;if e                % OVER is odd&#60;br /&#62;
    for k=1:length(s)&#60;br /&#62;
        y(kbk+1)=1;&#60;br /&#62;
        y(kbk+1+k)=s(k);&#60;br /&#62;
        y(kbk+1-k)=s(k);&#60;br /&#62;
    end&#60;br /&#62;
else                % OVER is even&#60;br /&#62;
    for k=1:length(s)&#60;br /&#62;
        y(kbk+k)=s(k);&#60;br /&#62;
        y(kbk+1-k)=s(k);&#60;br /&#62;
    end&#60;br /&#62;
end&#60;br /&#62;
% figure;&#60;br /&#62;
% plot(y);&#60;/p&#62;
&#60;p&#62;E = sum((y.^2).*dt);     % pulse energy&#60;br /&#62;
w0 = y ./ (E^0.5);       % energy normalization
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
