I'm working on a signal processing project about vocal system, and I'm trying to use controlling theories to solve the problem.

I need to get the transfer function, $H(s)$, of a speaker, from electrical signal to voice. But it seems that I have to use a microphone to pick up the voice. Considering the microphone itself has a transfer function $G(s)$, I will finally get $G(s)H(s)$ rather than $H(s)$.

So, is there any method to get TF $H(s)$ from electrical signal to vocal signal?

Well I have another problem. I've seen someone else estimating TF $G(s)H(s)$ by experiment. The bode diagram looks so strange and complex that I think it will be difficult to get a mathematical description of the system. So what method is usually used in controller-design when the object has a complex freq. response?

  • $\begingroup$ The total transfer function is given by G(s) multiplied by H(s). And G(s) can be estimated by recording white noise and fitting a curve over the envelope or empirically by looking at the impulse response of the microphone. You can then compute $G(s)^{-1}$.. $\endgroup$ – Jan Krüger Jun 29 '16 at 20:06
  • $\begingroup$ @JanKrüger, not a bad idea, but it is probably difficult to find an entirely uncompromised source of white noise. Do you have anything specific in mind? (Also, you won't be able to recover the phase spectrum obviously) $\endgroup$ – Jazzmaniac Jul 1 '16 at 17:10
  • 1
    $\begingroup$ @Jazzmaniac, well, we are aiming for a real thing, so we have to deal with the imperfections. There's no ideal white noise source in nature. Closest I can think of is rain. But we should be able to work with an impulse too. The other approach is to model the speaker accordingly .. It's a spring-mass system which is a linear system of second order if we leave the chassis out of the equation. It's possible, but it depends on the determination of the student. $\endgroup$ – Jan Krüger Jul 1 '16 at 22:20
  • $\begingroup$ The problem with all these methods is that they don't allow for any estimation of the error you make. You might as well just guess the microphone or speaker response. $\endgroup$ – Jazzmaniac Jul 2 '16 at 9:52

You can use a spark gap to measure the impulse response of the microphone. Spark gaps discharge within a very short time interval, producing a very broad spectrum that is effectively constant in the audible range.

If you also make sure that reflections that reach the microphone are arriving much later compared to the duration of the impulse response, you can separate the room response very well from the microphone response. Repeated measurements improve the estimation.

With the microphone response known, you can solve for the speaker response. However, technically you still have the room response and directional dependence of the speaker and microphone that you might want to consider.


The usual approach to this is homomorphic filtering.

So we have

  • $x(t)$ is your electrical signal applied to the loudspeaker.
  • $v(t)$ is your voice signal.
  • $m(t)$ is your microphone recorded signal.

Then: $$ m(t) = {\scr L}^{-1} \{ G(s) V(s) \} = {\scr L}^{-1} \{ G(s) H(s) X(s) \} $$ where ${\scr L}^{-1}$ represents the inverse Laplace transform.

Then you can do $$ C(s) = \log_e(G(s) H(s) X(s)) = G_{\log}(s) + H_{\log}(s) + X_{\log}(s) $$ where $C(s)$ is the cepstrum and if you have an estimate of the microphone's response you can do: $$ \hat{V}(s) = \exp( C(s) - G_{\log}(s) ) $$ and take the inverse Laplace transform of that to form: $$ \hat{v}(t) = {\scr L}^{-1} \{ \hat{V}(s) \} $$

There are some notes here which seem to go into more detail.

  • $\begingroup$ i think still, the fundamental issue is not having such "an estimate of the microphone's response". whether it's sums of logarithms or the product of two functions or the convolution of two functions, if you know the result but not either of the operands, you can't conclude what either operand is individually. you have to make assumptions. $\endgroup$ – robert bristow-johnson Jun 29 '16 at 19:23
  • $\begingroup$ @robertbristow-johnson that's to say, I need to know the TF of mic, $G_{log}(s)$, to get estimated spk output, $\hat{V}(s)$ ? $\endgroup$ – Alexander Zhang Jun 30 '16 at 1:53
  • 1
    $\begingroup$ yes. it's like me saying "two numbers add to 5. what are the two numbers?" if you could count on the frequency response of the mic being flat and linear-phase for all frequencies that mattered for the loudspeaker, then you could assume you know it. they actually make reference or instrument microphones (like B&K), i think for the purpose (among others) for measuring loudspeaker and room response. $\endgroup$ – robert bristow-johnson Jun 30 '16 at 1:57
  • $\begingroup$ Deconvolution in speech processing is an entirely different beast. The assumptions made there do not apply to speaker and microphone response separation. That should be obvious from the fact that a valid speaker and microphone response can be interchanged and again result in a valid speaker and microphone response. They don't have any features that would distinguish them in a single measurement. The glottal impulses are very different from the vocal tract resonances though. $\endgroup$ – Jazzmaniac Jul 1 '16 at 17:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.