UW SPHSC 503 - Adaptive Directional Microphones

Unformatted text preview:

Handout 14 – Adaptive directional microphonesSPHSC 503 – Speech Signal Processing UW – Summer 2006 Handout 14 – Adaptive directional microphones It is crucial for hearing aids to remove as much unwanted signal from the input as possible before amplifying the signal and presenting it to the user. In this lab, we will study the use of adaptive directional microphones to accomplish this. Exercise 14.1 – Simulating microphone array outputs We don’t usually have access to speech signals recorded with a microphone array. In order to study the performance of the adaptive multi-microphone signal processing algorithms, we will generate some signals that could have been obtained from a broadside two-microphone array. a. Generate two signals and their microphone mixtures. >> fs = 10000; % sampling frequency>> t = ((1:fs)'-1)/fs; % time vector (column vector)>> s1 = sin(2*pi*t*400)/4; % first source signal>> s2 = sin(2*pi*t*700)/4; % second source signal>> sl = s1 + s2; % left microphone signal>> sr = s1 + [0; s2(1:end-1)]; % right microphone signal >> soundsc([sl sr],fs); % listen to L & R (stereo) In the Matlab code above, the first source signal comes directly from the front of the microphone array, since it reaches both the left and right microphone with the same delay (0 samples). The second source signal reaches the left microphone 1 sample earlier than that it reaches the right microphone, so that signal originates to the left of the array’s central line. b. Apply the Griffiths-Jim beam-former to the two microphone signals. The beam-former, implemented in the grifjim.m file, favors signals coming directly from the front. It uses an adaptive noise canceller to attenuate signals coming from other directions. >> sgj = grifjim([sl sr]); % perform noise cancellation >> figure % plot spectrogram of output >> spectrogram(sgj,512,512-32,1024,fs,'yaxis') >> soundsc(sgj,fs); % listen to result As you can hear, it takes the adaptive noise canceller some time to adapt to the off-center interference, but then is very effective in suppressing the interference. c. To measure the performance of the adaptive noise canceller, we compare the strength of the sinusoids in the input to the output. >> Hin = abs(freqz(sl,1,[400 700],fs)); >> Hout = abs(freqz(sgj,1,[400 700],fs)); d. These statements use Matlab’s Signal Processing toolbox’ freqz function to evaluate the spectrum of sl and sgj, respectively, at the frequencies of the sinusoids (400 and 700 Hz). Examine the values in Hin and Hout, and determine the average attenuation of the sinusoids in dB. >> Hin, Hout, 20*log10(Hout ./ Hin) – 1 –SPHSC 503 – Speech Signal Processing UW – Summer 2006 e. Evaluate the attenuation over the second half of the signals, avoiding the initial adaptation time of the noise canceller. >> Hin = abs(freqz(sl(5000:end),1,[400 700],fs)) >> Hout = abs(freqz(sgj(5000:end),1,[400 700],fs)) >> 20*log10(Hout ./ Hin) Exercise 14.2 – Adaptive noise cancellation of speech signals In this exercise, we will look at a more realistic example of adaptive noise cancellation, where the frontal signal is speech and the off-center signal is some fan-noise. a. Load the speech signal and the fan-noise. For this exercise, both signals are sampled at 10 kHz. Plot the signals, and listen to them. >> [x,fs] = wavread('0zk_clean.wav'); >> [n,fs] = wavread('fannoise.wav'); >> figure, subplot(2,1,1), plot(x), subplot(2,1,2), plot(n) >> sound(x,fs) >> sound(n,fs) b. Construct left and right microphone signals of these two sources, like part a of the previous exercise. This time, let’s put the noise source to the right of the array’s center line. >> sl = x + [0; n(1:end-1)]; % don't delay speech, delay noise >> sr = x + n; % no delay for both >> sound([sl sr],fs); % listen to microphone outputs c. Apply the Griffiths-Jim beam-former to these microphone outputs. >> sgj = grifjim([sl sr]); d. To get a good sense of the effect of the noise canceller, listen to the left microphone channel, the beam-former output, and the right microphone channel in sequence. >> sound([sl; sgj; sr], fs); Do you hear a difference between the input signals and the output signal? You should be able to tell that the noise sounds softer in the output, and has lost some of its high frequency content. – 2


View Full Document

UW SPHSC 503 - Adaptive Directional Microphones

Download Adaptive Directional Microphones
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Adaptive Directional Microphones and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Adaptive Directional Microphones 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?