commit 236c722bec1e1d703ee7102709baae213ca40480 Author: Thomas Dehaeze Date: Mon May 17 23:57:47 2021 +0200 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b55f285 --- /dev/null +++ b/.gitignore @@ -0,0 +1,45 @@ +auto/ +*.tex +*.bbl +*.synctex.gz +.auctex-auto/ +_minted* + +# Windows default autosave extension +*.asv +*rtw/ +test_at**.m +data/ + +# OSX / *nix default autosave extension +*.m~ + +# Compiled MEX binaries (all platforms) +*.mex* + +# Packaged app and toolbox files +*.mlappinstall +*.slxc +*.mldatx +*.mltbx +*.xml +piezoapa_slrt_rtw/ + +# Generated helpsearch folders +helpsearch*/ + +# Simulink code generation folders +slprj/ +sccprj/ + +# Matlab code generation folders +codegen/ + +# Simulink autosave extension +*.autosave + +# Simulink cache files +*.slxc + +# Octave session info +octave-workspace diff --git a/figs/ground_plane_meas_setup.pdf b/figs/ground_plane_meas_setup.pdf new file mode 100644 index 0000000..b6f927c Binary files /dev/null and b/figs/ground_plane_meas_setup.pdf differ diff --git a/figs/ground_plane_meas_setup.png b/figs/ground_plane_meas_setup.png new file mode 100644 index 0000000..d45637f Binary files /dev/null and b/figs/ground_plane_meas_setup.png differ diff --git a/figs/ground_plane_meas_setup.svg b/figs/ground_plane_meas_setup.svg new file mode 100644 index 0000000..c5dd8da --- /dev/null +++ b/figs/ground_plane_meas_setup.svg @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + Microphone + Ground + + Ground + + Speaker + + L + + + + + + + + + + diff --git a/figs/outside_meas_setup.pdf b/figs/outside_meas_setup.pdf new file mode 100644 index 0000000..37ff439 Binary files /dev/null and b/figs/outside_meas_setup.pdf differ diff --git a/figs/outside_meas_setup.png b/figs/outside_meas_setup.png new file mode 100644 index 0000000..a6c665b Binary files /dev/null and b/figs/outside_meas_setup.png differ diff --git a/figs/outside_meas_setup.svg b/figs/outside_meas_setup.svg new file mode 100644 index 0000000..0037b4f --- /dev/null +++ b/figs/outside_meas_setup.svg @@ -0,0 +1,208 @@ + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + Microphone + Ground + + Ground + + Speaker + + diff --git a/figs/outside_meas_setup_tilt_hor.pdf b/figs/outside_meas_setup_tilt_hor.pdf new file mode 100644 index 0000000..a476520 Binary files /dev/null and b/figs/outside_meas_setup_tilt_hor.pdf differ diff --git a/figs/outside_meas_setup_tilt_hor.png b/figs/outside_meas_setup_tilt_hor.png new file mode 100644 index 0000000..b3019f1 Binary files /dev/null and b/figs/outside_meas_setup_tilt_hor.png differ diff --git a/figs/outside_meas_setup_tilt_hor.svg b/figs/outside_meas_setup_tilt_hor.svg new file mode 100644 index 0000000..c74c4cc --- /dev/null +++ b/figs/outside_meas_setup_tilt_hor.svg @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Speaker + Microphone + + Ground + + Ground + + + + + + + + + + + diff --git a/figs/outside_meas_setup_tilt_vert.pdf b/figs/outside_meas_setup_tilt_vert.pdf new file mode 100644 index 0000000..1a251d9 Binary files /dev/null and b/figs/outside_meas_setup_tilt_vert.pdf differ diff --git a/figs/outside_meas_setup_tilt_vert.png b/figs/outside_meas_setup_tilt_vert.png new file mode 100644 index 0000000..d356223 Binary files /dev/null and b/figs/outside_meas_setup_tilt_vert.png differ diff --git a/figs/outside_meas_setup_tilt_vert.svg b/figs/outside_meas_setup_tilt_vert.svg new file mode 100644 index 0000000..301ee30 --- /dev/null +++ b/figs/outside_meas_setup_tilt_vert.svg @@ -0,0 +1,314 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + Speaker + Microphone + + + L + + H + Ground + + Ground + + + + + + + + + + + diff --git a/figs/required_height_wanted_reflection_delay.pdf b/figs/required_height_wanted_reflection_delay.pdf new file mode 100644 index 0000000..05f15b8 Binary files /dev/null and b/figs/required_height_wanted_reflection_delay.pdf differ diff --git a/figs/required_height_wanted_reflection_delay.png b/figs/required_height_wanted_reflection_delay.png new file mode 100644 index 0000000..5f8caee Binary files /dev/null and b/figs/required_height_wanted_reflection_delay.png differ diff --git a/speaker-measurement.html b/speaker-measurement.html new file mode 100644 index 0000000..c26b16a --- /dev/null +++ b/speaker-measurement.html @@ -0,0 +1,220 @@ + + + + + + +Measurement of Loudspeaker + + + + + + + + +
+ UP + | + HOME +
+

Measurement of Loudspeaker

+ +
+

This report is also available as a pdf.

+
+ +

+Because of the lack of a large anechoic room or a near field scanner system (e.g. the Klippel NFS), the low frequency and high frequency response of the speaker have to be measured separately. +

+ + + +
+

1 Equipment

+
+

+ +

+ +
    +
  • REW software (link)
  • +
  • Audiobox USB (link)
  • +
  • Behringer ECM 8000 Measuring microphone
  • +
  • TOPPING D70 DAC
  • +
  • Power amplifier: Amplifier
  • +
+
+
+ +
+

2 Semi-Anechoic Outdoor measurement

+
+

+ +

+

+The frequency resolution is limited by the time difference between the direct sound and the first reflection. +

+ +

+If we note \(\tau\) this time difference, the frequency resolution \(\delta f\) is: +

+\begin{equation} + \delta f = \frac{1}{\tau} +\end{equation} +

+with \(\delta f\) in hertz and \(\tau\) in seconds. +

+ +

+A schematic of the setup is shown in Figure 1. +

+ + +
+

outside_meas_setup.png +

+

Figure 1: Schematic of the setup

+
+

+We usually want to measure the speaker with a resonable distance. +Let’s take \(L = 2\,m\). +

+ +
+
L = 2; % Distance speaker/microphone [m]
+v = 340; % Speed of sound [m/s]
+
+
+ +

+We can then compute the time delay \(\tau\) between the direct sound and reflected sound as a function of the height \(H\). +Similarly, we can compute the frequency resolution \(\delta f\) as a function of \(H\). +Both are shown in Figure 2. +

+
+
H = [0:0.01:4]; % [m]
+
+D = 2*sqrt(H.^2 + L^2/4); % [m]
+tau = (D - L)/v; % [s]
+
+
+ + +
+

required_height_wanted_reflection_delay.png +

+

Figure 2: Time delay \(\tau\) between the direct sound and (first) reflected sound as a function of the height \(H\). The resulting frequency resolution \(\delta f\) is also shown.

+
+ +
+

+It is shown than even for high heights (\(H = 3\,m\)), the frequency resolution will be quite poor for low frequency characterisation of the speaker (\(\delta f \approx 70\,Hz\)). +However, it is much sufficient for high frequency characterisation of the speaker (say above 500Hz). +

+ +
+ +

+The speaker can then be tilted horizontally and vertically as shown in Figure 3 and 4. +

+ + +
+

outside_meas_setup_tilt_vert.png +

+

Figure 3: Tilting the speaker around a vertical axis

+
+ + +
+

outside_meas_setup_tilt_hor.png +

+

Figure 4: Tilting the speaker around a horizontal axis

+
+
+
+ +
+

3 Ground Plane Technique

+
+

+ +

+

+The idea here is to put both the microphone and the speaker on the ground. +

+ +

+The ground must be relatively stiff. +

+ + +
+

ground_plane_meas_setup.png +

+

Figure 5: Schematic of the measurement setup

+
+ +

+It is then possible to use very large gate windows in order to identify the low frequency behavior of the speaker. +

+ +

+It is here not useful to perform any off-axis measurements as at the frequencies, the speaker is perfectly omnidirectionnal. +

+
+
+ +
+

4 In room measurement

+
+

+ +

+ +
    +
  • [ ] Estimated response
  • +
  • [ ] Correlation with measurement
  • +
+
+
+
+
+

Author: Dehaeze Thomas

+

Created: 2021-05-17 lun. 23:57

+
+ + diff --git a/speaker-measurement.org b/speaker-measurement.org new file mode 100644 index 0000000..a5aee3c --- /dev/null +++ b/speaker-measurement.org @@ -0,0 +1,160 @@ +#+TITLE: Measurement of Loudspeaker +:DRAWER: +#+LANGUAGE: en +#+EMAIL: dehaeze.thomas@gmail.com +#+AUTHOR: Dehaeze Thomas + +#+HTML_LINK_HOME: ../index.html +#+HTML_LINK_UP: ../index.html + +#+HTML_HEAD: +#+HTML_HEAD: + +#+BIND: org-latex-image-default-option "scale=1" +#+BIND: org-latex-image-default-width "" + +#+LaTeX_CLASS: scrreprt +#+LaTeX_CLASS_OPTIONS: [a4paper, 10pt, DIV=12, parskip=full] +#+LaTeX_HEADER_EXTRA: \input{preamble.tex} + +#+PROPERTY: header-args:matlab :session *MATLAB* +#+PROPERTY: header-args:matlab+ :comments org +#+PROPERTY: header-args:matlab+ :exports both +#+PROPERTY: header-args:matlab+ :results none +#+PROPERTY: header-args:matlab+ :eval no-export +#+PROPERTY: header-args:matlab+ :noweb yes +#+PROPERTY: header-args:matlab+ :mkdirp yes +#+PROPERTY: header-args:matlab+ :output-dir figs +:END: + +#+begin_export html +
+

This report is also available as a pdf.

+
+#+end_export + +* Introduction :ignore: + +Because of the lack of a large anechoic room or a near field scanner system (e.g. the [[http://www.klippel.de/products/rd-system/modules/nfs-near-field-scanner.html#:~:text=The%20Near-Field%20Scanner%203D,move%20during%20the%20scanning%20process.][Klippel NFS]]), the low frequency and high frequency response of the speaker have to be measured separately. + +- Section [[sec:equipment]]: the tools used for the measurements are listed +- Section [[sec:outdoor_meas]]: the high frequency behavior of the speaker is measured with a semi-anechoic measurement performed outdoors +- Section [[sec:ground_plane_meas]]: the low frequency behavior of the speaker is measured using the "ground plane technique" +- Section [[sec:in_room_meas]]: the response of the speaker in a typical room is estimated from the two above measurements and compare with in-room measurements + +* Equipment +<> + +- REW software ([[https://www.roomeqwizard.com/][link]]) +- Audiobox USB ([[https://www.presonus.com/products/audiobox-usb][link]]) +- Behringer ECM 8000 Measuring microphone +- TOPPING D70 DAC +- Power amplifier: Amplifier + +* Semi-Anechoic Outdoor measurement +<> + +** Introduction :ignore: +The frequency resolution is limited by the time difference between the direct sound and the first reflection. + +If we note $\tau$ this time difference, the frequency resolution $\delta f$ is: +\begin{equation} + \delta f = \frac{1}{\tau} +\end{equation} +with $\delta f$ in hertz and $\tau$ in seconds. + +A schematic of the setup is shown in Figure [[fig:outside_meas_setup]]. + +#+name: fig:outside_meas_setup +#+caption: Schematic of the setup +[[file:figs/outside_meas_setup.png]] + +** Matlab Init :noexport:ignore: +#+begin_src matlab :tangle no :exports none :results silent :noweb yes :var current_dir=(file-name-directory buffer-file-name) + <> +#+end_src + +#+begin_src matlab :exports none :results silent :noweb yes + <> +#+end_src + +** Analysis :ignore: +We usually want to measure the speaker with a resonable distance. +Let's take $L = 2\,m$. + +#+begin_src matlab +L = 2; % Distance speaker/microphone [m] +v = 340; % Speed of sound [m/s] +#+end_src + +We can then compute the time delay $\tau$ between the direct sound and reflected sound as a function of the height $H$. +Similarly, we can compute the frequency resolution $\delta f$ as a function of $H$. +Both are shown in Figure [[fig:required_height_wanted_reflection_delay]]. +#+begin_src matlab +H = [0:0.01:4]; % [m] + +D = 2*sqrt(H.^2 + L^2/4); % [m] +tau = (D - L)/v; % [s] +#+end_src + +#+begin_src matlab :exports none +figure; +yyaxis left +plot(H, 1000*tau) +ylabel('Reflection Time $\tau$ [ms]'); + +yyaxis right +plot(H, 1./tau); +ylabel('Frequency Resolution $\delta f$ [Hz]'); +set(gca, 'yscale', 'log'); +ylim([1e1, 1e3]); + +xlabel('Height $H$ [m]'); +#+end_src + +#+begin_src matlab :tangle no :exports results :results file replace +exportFig('figs/required_height_wanted_reflection_delay.pdf', 'width', 'wide', 'height', 'normal'); +#+end_src + +#+name: fig:required_height_wanted_reflection_delay +#+caption: Time delay $\tau$ between the direct sound and (first) reflected sound as a function of the height $H$. The resulting frequency resolution $\delta f$ is also shown. +#+RESULTS: +[[file:figs/required_height_wanted_reflection_delay.png]] + +#+begin_important +It is shown than even for high heights ($H = 3\,m$), the frequency resolution will be quite poor for low frequency characterisation of the speaker ($\delta f \approx 70\,Hz$). +However, it is much sufficient for high frequency characterisation of the speaker (say above 500Hz). +#+end_important + +The speaker can then be tilted horizontally and vertically as shown in Figure [[fig:outside_meas_setup_tilt_vert]] and [[fig:outside_meas_setup_tilt_hor]]. + +#+name: fig:outside_meas_setup_tilt_vert +#+caption: Tilting the speaker around a vertical axis +[[file:figs/outside_meas_setup_tilt_vert.png]] + +#+name: fig:outside_meas_setup_tilt_hor +#+caption: Tilting the speaker around a horizontal axis +[[file:figs/outside_meas_setup_tilt_hor.png]] + +* Ground Plane Technique +<> + +** Introduction :ignore: + +The idea here is to put both the microphone and the speaker on the ground. + +The ground must be relatively stiff. + +#+name: fig:ground_plane_meas_setup +#+caption: Schematic of the measurement setup +[[file:figs/ground_plane_meas_setup.png]] + +It is then possible to use very large gate windows in order to identify the low frequency behavior of the speaker. + +It is here not useful to perform any off-axis measurements as at the frequencies, the speaker is perfectly omnidirectionnal. + +* In room measurement +<> + +- [ ] Estimated response +- [ ] Correlation with measurement diff --git a/speaker-measurement.pdf b/speaker-measurement.pdf new file mode 100644 index 0000000..98727a0 Binary files /dev/null and b/speaker-measurement.pdf differ