Skip to content

Commit c24cd6c

Browse files
committed
improve plotting of rays, improve story for non-stationary, single reference point scheme
1 parent de7990c commit c24cd6c

File tree

1 file changed

+12
-11
lines changed

1 file changed

+12
-11
lines changed

doc/examples/wfs-referencing.ipynb

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -197,13 +197,14 @@
197197
"cell_type": "markdown",
198198
"metadata": {},
199199
"source": [
200-
"From an academic viewpoint, the reference point handling in most cases will fail, as it is rather unlikely to set up the loudspeaker array and the virtual source and the reference point, such that the latter exactly fulfills the stationary phase requirement with one of the active loudspeakers.\n",
201-
"In the example above this worked, but because it was intentionally chosen to do so.\n",
200+
"Points with amplitude correct synthesis need to be stationary phase points, theoretically.\n",
201+
"Within the listening area, these points are found on rays that start at the virtual point source and intersect with active loudspeakers.\n",
202+
"The chosen points together shall shape a smooth contour, i.e. the reference contour.\n",
202203
"\n",
203-
"The example below shows a point xref that does not meet any ray (the gray lines in the level plot) alongside the stationary phase holds with its corresponding loudspeaker.\n",
204+
"The example below shows a reference point xref that does not meet any ray (the gray lines in the level plot) alongside the stationary phase holds with its corresponding loudspeaker.\n",
204205
"\n",
205-
"The obtained level at the xref point however closely matches the desired reference level, because the white 0 dB isobar curve is very close to it.\n",
206-
"Hence, in practice this single point reference scheme will likely work with sufficient precision once the position of xref is appropriately chosen (i.e. not too close, not too far, not to off-center from the active loudspeakers etc.)."
206+
"The single point referencing scheme results in 0 dB isobar curve that closely passes the chosen xref point.\n",
207+
"In practice this typically works with sufficient precision once the position of xref is appropriately chosen (i.e. not too close, not too far, not to off-center from the active loudspeakers etc.)."
207208
]
208209
},
209210
{
@@ -222,15 +223,15 @@
222223
" d * normalize_gain, selection, array, secondary_source,\n",
223224
" grid, np.array([xref]*array.x.shape[0]))\n",
224225
"\n",
225-
"spa_unit_path = array.x - xs # path along which the stationary phase holds\n",
226-
"spa_unit_path = normalize_rows(spa_unit_path)\n",
227-
"spa = array.x + R * spa_unit_path # length of all pathes is R\n",
228-
"# such that the horizontal path exactly meets the origin\n",
229-
"# of the coordinate system, this is very close to xref\n",
226+
"# plot stationary phase rays\n",
227+
"# one ray connects the virtual source with one activate loudspeaker\n",
228+
"spa = array.x + 3*R * normalize_rows(array.x - xs)\n",
230229
"plt.plot(\n",
231230
" np.vstack((array.x[selection, 0], spa[selection, 0])),\n",
232231
" np.vstack((array.x[selection, 1], spa[selection, 1])),\n",
233-
" color='dimgray');"
232+
" color='gray')\n",
233+
"plt.xlim(-2, 2)\n",
234+
"plt.ylim(-2, 2);\n"
234235
]
235236
},
236237
{

0 commit comments

Comments
 (0)