Microphone frequency response function

Hi all,
I am trying to do an impact test with 3 types of sensors to investigate surface properties of a material.
The first sensor is the sensor in the modal hammer.
The second sensor is a geophone , whilst the last sensor is an air-coupled sensor in the form of a microphone.
Aside from the microphone which is directly connected to the laptop by USB, the instrumented hammer and the geophone is connected to the NI 9233 which is connected to the NI USB-9162 which finally connects to the laptop.
This hardware doesn't support analog triggering therefore software triggering is used.
I am using a vi example from http://www.ni.com/example/28438/en/ 
I have successfuly setup the LabVIEW VI to read the raw data coming in from all the sensors and to obtain the frequency response of the geophone due to stimulus signal created by the impact hammer.
I have tried to obtain the frequency response of the microphone due to the modal hammer however no results show up in the graph for the frequency response of the microphone.
My question is this, what is going on and how do I fix this so that I may obtain the frequency response of the microphone?
I have attached my vi for your consideration.
Solved!
Go to Solution.
Attachments:
Y2014M01D28 IRnMicFRFRecAll .vi ‏190 KB

I cannot fix your VI because I do not have DAQmx or the SVFA toolkit. What I have attached is a simulation which shows some of the concepts.
The left side simulates acquisition of two channels (hammer and geophone) via the DAQ device and one channel of sound (microphone).  Don't worry too much about the details. I just threw this together quickly. The hammer signal is a square pulse, the geophone signal is one cycle of a sine wave with noise, and the microphone signal is one cycle of a triangle wave plus noise. Each of the pulses is dleayed from the start of the acquisition by different amounts to represent the trasmission delays of the sound and vibration.  The values chosen are arbitrary and do not simulate any physics.
I used the sampling rate, block size, and duration controls from your VI, so the numbers of samples and the sampling rates should be the defaults from your VI. The three graphs one the left show the three signals as generated. Note that the Microphone graph has X-axis autoscaling turned off. Also the data is all in waveforms or arrays. I avoid the use of the Dynamic Data Type produced by Express VIs because it effectively obscures the data structure.
The right side shows one way to do the triggering. I used Basic Trigger Level Detection.vi from the Waveform Monitoring palette and the Get Waveform Subset.vi from the Waveform palette. Note that there are separate trigger VIs for the DAQ channels and the sound channel. Because they are not started at the exact same time and they do not have the same dt (= 1/sample rate), the waveforms cannot be combined to use a single trigger. The geophone signal is synchronized with the hammer signal so one trigger from the hammer can be used to get both subsets.
Note that with the default delays the microphone pulse occurs 30 ms after the geophone pulse but in the subsets it occurs about 4 ms before the geophone. This is due to the independent triggering.
Since you do not have a common signal or trigger for both devices (DAQ and sound), you cannot know exactly what the timing relationship is between them. On every run the differences in the start times will vary. So you will need to do some kind of calibration to determine the time delays.  I am thinking of some kind of periodic stimulus which will produce several pulses to both the geophone and microphone. The first pulses will have indeterminate delays but subsequent pulses should have reproducible delays. The relative spacing and directions during the calibration runs should be the same as the hammer position for the real experiment.
Lynn
Attachments:
Sound and hammer sim.vi ‏28 KB

Similar Messages

  • Frequency Response Function & FFT & Inverse FFT (problem of unit Volts-RMS)

    Hello everyone,
    I am currently working on a VI in order to compare two analog signals : the first one corresponds to the output signal (my reference) which is sent by my data acquisition card to a shaker and the second one corresponds to the input signal recorded by an accelerometer fixed on the same shaker. The final goal of the VI is to correct the analog output signal by using the analog input recorded signal in order to have the vibrations on the shaker which corresponds to what we really want.
    To summary, I have a problem of unit with the Volts-RMS...
    So this is my method for the VI :
    First, I have to calculate the Frequency Response Function between the two analog signals (output and input). For it, I use the " Frequency Response Function (Real-Im).vi " which returns the complex values of the FRF in Volts-RMS (but I don't want to use this unit).
    Then, I want to calculate the FFT of the analog output signal (my reference). There are two different blocs which can be used : " FFT Spectrum (Real-Im).vi " and " FFT.vi ".
    The " FFT Spectrum (Real-Im).vi " returns the FFT complex values of the signal in Volts-RMS and the " FFT.vi " returns the FFT complex values in Volts (or say me if I am wrong, thank you). I really would like to use the second one because of the unit.
    Then, I divide the FFT just calculated with the Frequency Response Function calculated just before.
    For the end, I calculate the inverse FFT of that with the " Inverse FFT.vi " which use the complex values with the same unit than for the " FFT.vi ".
    I don't want to use the Volts-RMS unit because I absolutly want to use the blocs " FFT.vi " and " Inverse FFT.vi ".
    The problem is that I don't find a bloc which use the same unit for the Frequency Response Function. The " Frequency Response Function (Real-Im).vi " returns only the complex values in Volts-RMS unit. Maybe it is possible to convert it correctly? Or maybe there is an other bloc which can be used in order to calculate the Frequency Response Function with the same init than for the FFT and Inverse FFT ? Because I can't mix everything for the moment...
    Thank you for your help,
    Best regards,
    Sebastien

    Hello Preston,
    No, I have not use the Sound and Vibration toolkit. I have only used the signal processing toolkit with the two toolboxes " Waveform measurement " and " Transforms ".
    But I think that what I have done for the moment in my VI is correct (I have finished the complete VI). But I am not sure of the units (Volts, Volts-RMS...) and I would like to understand.
    I have tried with the Sound and Vibration toolkit for the frequency response function (because you say me that it deals with all the unit conversion) and I can obtain the same results than with the " Frequency Response Function.vi " of the toolbox " Waveform measurement ".
    But I would like to understand the units (see my previous post please). For example, for the FFT (the result is a complex), why sometimes it is in Volts, sometimes it is in Volts-RMS ? Is it possible to convert it ? How ?
    If you want, I can attach on the forum my VI and that will maybe help you to explain me. Maybe it will help other people interested.
    And if someone else can give me other precisions or advices about it, do not hesitate.
    Thank you for your help,
    Sebastien

  • Frequency response function modal analysis

    After reviewing the signal analysis functions in DIAdem I have realized them to be a bit limited for modal analysis.  I have a couple hammer impact tests that I need to process a frequency response function for, and since this is brand new to me I'm not seeing anything in the embedded function list that is going to help me.  I was wondering if anyone out there has a couple of pointers on generating a FRF plot for modal hammer impact tests.  I did notice that the ChnFFT2 command allows me to generate a transfer function, coherance, and FFT Cross Spectrum channels for analysis.  Though I might be confused and this may be everything I need.  My FFT2 settings are below.
    [code]
    FFTIndexChn      = 0
    FFTIntervUser    = "NumberStartOverl"
    FFTIntervPara(1) = 1
    FFTIntervPara(2) = 2500
    FFTIntervPara(3) = 1
    FFTIntervOverl   = 0
    FFTNoV           = 0
    FFTWndFct        = "Rectangle"
    FFTWndPara       = 10
    FFTWndChn        = "[1]/Time axis"
    FFTWndCorrectTyp = "No"
    FFTAverageType   = "No"
    FFTAmplFirst     = "Amplitude"
    FFTAmpl          = 1
    FFTAmplType      = "PSD"
    FFTCrossSpectr   = 1
    FFTCoherence     = 1
    FFTTransFctType  = "Spectrum H0"
    FFTCrossPhase    = 0
    FFTTransPhase    = 0
    Call ChnFFT2("[1]/Time axis","'[1]/H_1' - '[1]/H_4'","'[1]/A_1' - '[1]/A_4'") '... XW,ChnNoStr1,ChnNoStr2
    [/code]

    Standard modal analysis has something denoted as FRF.  I have a labview application note "The Fundamentals of FFT-Based Signal Analysis..."
    Frequency Response Function
    The frequency response function (FRF) gives the gain and phase versus frequency of a network and is typically computed as
    where A is the stimulus signal and B is the response signal.
    The frequency response function is in two-sided complex form. To convert to the frequency response gain (magnitude) and the frequency response phase, use the Rectangular-To-Polar conversion function. To convert to single-sided form, simply discard the second half of the array.
    You may want to take several frequency response function readings and then average them. To do so, average the cross power spectrum, SAB(f), by summing it in the complex form then dividing by the number of averages, before converting it to magnitude and phase, and so forth. The power spectrum, SAA(f), is already in real form and is averaged normally.
    Refer to the Frequency Response and Network Analysis topic in the LabVIEW Help (linked below) for the most updated information about the frequency response function.
    http://zone.ni.com/devzone/cda/tut/p/id/4278
    So the options for FFT2 are
    No
    DIAdem does not calculate a transfer frequency response.
    Spectrum H0
    DIAdem calculates the transfer frequency response by dividing the FFT of the output signal (A) by the input signal (E): FFT(A)/FFT(E). DIAdem averages the amplitudes of the individual transfer functions.
    Spectrum H1
    DIAdem specifies the cross spectrum and the auto spectrum for each signal pair. DIAdem calculates the transfer frequency response by dividing the averaged spectra: Middle(cross(A,E))/middle(auto(E)). DIAdem does not average phases, because phases can delete each other.
    Spectrum H2
    DIAdem specifies the cross spectrum and the auto spectrum for each signal pair. DIAdem calculates the transfer frequency response by dividing the averaged spectra: Middle(auto(A))/middle(cross(E,A))
    If you assign the values Spectrum H1 or Spectrum H2 to the variable FFTTransFctType, DIAdem averages and divides the cross spectra and the auto spectra and calculates the amplitudes last.
    Which state auto spectrum when FRF is power spectrum. 

  • Frequency response function

    Hello Everybody,
    I want to calculate a frequency response function out of a acceleration and force signal. I measured this signals with an sinus sweep function from 1- 1000 hz.
    Is there a way in diadem to solve this problem?
    Thank you for your help!
    Bye Vincent

    Hi Vincent,
    sure, you can use the FFT bloc (Analyze >> Signal Analysis >>FFT) and select the channel you want to use.
    I hope this helps.
    Marc

  • Frequency Response Function NxM output format

    Hi,
    When the Frequency Response Function for magnitude, phase, and coherence
    is used in the NxM "all cross pairs" polymorphism, the format of the outputs
    are still 1-D arrays of clusters instead of a 2-D NxM sized array of clusters.
    Does anyone know how the indexing of this 1-D array would correspond to
    indexing of the would be 2-D array?  Or is it just [index/M, index%M].
    Thanks,
    Kevin

    Hi Kevin,
    First, thanks for posting this request.  You've helped us find a gap in our context help.  The documentation on X-Y pairing should be improved and the VI documentation should be extended to cover all instances of this polymorphic VI.  Here is some text that should be added to the "X-Y pairing" description:
    "all cross pairs" means that the pairs are formed by matching each signal from array X with ALL signals from array Y, continuing in this fashion for each signal in X. If there are N signals in X and M signals in Y, the total number of cross pairs is N x M. The paired signal results Xchan-Ychan are returned in the order 1-1, ... 1-M, 2-1, ... 2-M, ... N-M. "
    Hope this helps,
    Mike C
    LabVIEW Math & Signal Processing
    National Instruments

  • Microphone frequency response

    Hi
    Does anyone know where I might find data on mobile phone microphone frequency response (like frequency response curves)?
    Thanks. 

    Hi
    Does anyone know where I might find data on mobile phone microphone frequency response (like frequency response curves)?
    Thanks. 

  • Buil-in microphone frequency response graph

    I'm curious as to where I can find a frequency response graph for the built-in mic in the 15" MBP 2.8. I know it's a silly thing to want, but... Sometimes I don't have the time or resources to set-up an external mic with a flat frequency response, and would just like to use the built-in mic very quickly to "EQ" or "ring out" rooms. I can't find the info on the built-in mic anywhere. Any suggestions?

    Have you ever used the microphone? Have you ever actually used a laptop to do this?
    I don't have a graph, but from years of working with audio I can tell you that it doesn't have the frequency response, sensitivity and directionality to do what you want.
    A nice external mic and portable interface like the iMac would not only do a better job but would look a lot more professional than running around trying to point the cheap microphone of a laptop in the right direction.

  • Multichannel Frequency Response Function Block?

    We are currently using the FRF block to evaluate our DUT with two
    channels (X and Y). However our DUT has 8 output channels. Ideally I
    would like to be able to wire up the existing FRF block with
    multi-channel support (ie 1x X Signal, n x Y Signal) and get the new
    block to correctly perform averaging. Currently if I wire up the FRF
    block in a loop it averages CH1, CH2, CH3 etc which obviously is the
    wrong result.
    One solution was to have 8 FRF blocks - but this seemed a bit of an
    overkill. Is there a n Channel FRF block anywhere - or has someone
    modified it for n Channels? (if not, I suppose I will have to do the
    modifications!).
    Many thanks,
    Marc

    Hi Marc,
    You asked if there was an N channel FRF block anywhere.  LabVIEW 8.0 added multichannel support for the FRF.  Modes include 1xN,
    Nx1, and NxM, where NxM can be interpreted as a pairwise FRF (first
    element of X with first element of Y, ...) or as all the combinations
    of X and Y array elements.
    Barring an upgrade to LabVIEW 8.0, the simplest solution is
    probably your
    approach of placing N FRF VIs on a diagram.  This ensures that the averaging is the same as the 1x1 case with little programming effort. 
    For the 1XN case it should be fairly simple to export the averaging
    state and manage that yourself.  If you use one of the other
    measurement VIs as a starting point (e.g. FFT Spectrum (mag-phase).vi)
    please note that the state cluster that is used is intended to cover the
    general case where each "channel" could have a different number of
    points, different sampling rate,  different timestamp...  This is the
    reason for the array-of-clusters-of-arrays approach.  If you make a
    simplifying assumption that each channel will have the same number of
    points, same timestamp, etc. then you could utilize a much simpler state cluster
    that contains some 2-D arrays to hold the multi-channel averaging information. 
    Hope this helps.
    -Jim

  • Microphone's frequency response

    Hi,
    Is it possible to plot a microphone's frequency response using sound and vibration? If it's possible, can anyone tell me how?
    Thanks

    Hi popcorn,
    If you have the Sound and Vibration Assistant with SignalExpress, there is a step you can add under Analysis - Frequency Domain Measurements called, Frequency Response.
    Here's a link to an article that discusses various functions, Sound and Vibration provides.  Although the article discusses LabView, many of the same functions are found in SignalExpress as well.  The Frequency Response Function can be found at the bottom.
    http://zone.ni.com/devzone/cda/tut/p/id/3030
    Aki T.

  • Frequency Response Analyser or Impedance Spectroscopy

    Hi
    I am looking for a Labview program to allow the freq. response of say a
    tuned circuit.
    I will be using a GPIB Function Gen. From 1Hz to 10MHz and measuring the
    peak-peak value across a shunt resistor that is in series with the tuned
    circuit.
    Thus as the frequency increases then the tuned circuit will respond
    accordingly. If we take samples every 100Hz then we can produce a spectra
    of the tune circuit.
    I actually going to use this for measuring the char. of an electrochemical
    cell.
    Any Suggestions
    Wayne

    Thanks Carlos
    The latter method I did not think of but will try it.
    Cheers
    Wayne
    "JuanCarlos" wrote in message
    news:[email protected]..
    > Wayne,
    >
    > Looks like a sweep sine analysis should give you a good idea about the
    > frequency response. Make sure that you measure the input and output
    > signals of the circuit; this way you can just compeir RMS values and
    > get the frequency response.
    >
    > Another method that you may want to look into is a broad band
    > frequency response. Basically you send white noise to the circuit;
    > then you acquire the input noise and the output noise; the you
    > calculate the FFTs of this data and compair it; after some averaging
    > you get the frequency response graph of your dev
    ice. LabVIEW has a VI
    > called Frequency Response Function that does a large part of the job;
    > together with the "Frequency Analysis of a Filted Design.vi" example
    > you can get a good idea on how to perform this test.
    >
    > I hope this helps.
    >
    > Regards,
    >
    > Juan Carlos
    > N.I.

  • 3 Simultaneous Frequency responses using PCI-4552

    I need to obtain 3 simultaneous frequency responses (Magnitude and Phase) using a PCI-4552 board. Ch 1 is the reference for the 3 FR's. I succeded in obtaining independent FR's, but I cannot configure the vi with the 3 FR's together. I attach my best try, please take a look at it.
    Attachments:
    zoom4.vi ‏378 KB

    I took a look at your VI. It looks like you have two issues.
    First, you are using a single stop button's input to stop several loops. The problem is that the output of the button will not allow the consecutive while loops to execute until the first one has finished (they are waiting for the prior loop to finish to get the final value of the button). If you want to read the value of a single button simultaneously in several while loops, you need to use local/global variables.
    You should have an example:
    Stopping Parallel While Loops with Reset.vi
    ... included with LabVIEW which will demonstrate how to properly do this.
    Your second issue is that the base analyzer can only do two simultaneous channels. If you really need to do more, you'll need to grab al
    l the channel's raw data using the DAQ API instead of the DSA API, and feed the individual captures into the "Frequency Response Function (Mag-Phase)" vi. This should give you the same results, but you'll be using the host computer to do the analysis instead of the board.

  • Frequency response requirements for headphones with CMSS on XFi ???

    Hi,
    I would like to know if someone could tell me what kind of heaphones are suitable for the CMSS mode with the XFi.
    I mean between : flat response/free-field correction/diffuse-field correction.
    Applying HRTF filtering should mean that headphones with flat response is the best option ( same configuration as binaural recordings).
    But I have a big doubt that Creative team expects costumers to possess such a pair of headphones, as it is rather for scientific uses (psychoacoustics, audiology etc...).
    So, if we look at the technical solutions for wide audience we have two options (FF correction and DF correction). Here is a trick because these corrections intend to reproduce some of the effects from HRTF (for two different environment configuration of HRTF measurements). It is why the frequency response of most of the headphones have a notch between 4Hz and 0 kHz.
    To simplify, if we listen binaural sounds with classical headphones the effect of outer pinna is reproduced twice.
    So I guess Creative have implemented a kind of normalization/equalization/correction process to deal with the non-flat frequency response of headphones, but do someone know if they have chosen diffuse field or free field correction ?
    This post might seem a detail but the issue can be very important for the accurate localisation and the coloration? of 3D sounds with headphones.
    Thank you, and please forgive my english!

    The only possibility that I can think of is that 2/2. mode is NOT as simple as headphone mode with crosstalk cancelation. Perhaps the HRTF only kicks in for sound sources outside of the arc directly in front of the listener. If that were the case, you wouldn't percei've any distortion for sound sources in front of you.
    Also, you are wrong regarding DirectSound3D. Keep in mind that Direct3D and DirectSound3D are not the same. The whole point of OpenAL and DirectSound3D is that they present an API to the programmer through which there is NO specification of the number of speakers. When using OpenAL or DirectSound3D, the only thing a programmer can do is specify the location of a mono sound source in 3D space relati've to the listener. The speaker settings for your DirectSound3D or OpenAL device will then determine how this sound is "rendered" by the soundcard. It is not under control of the game. For example, if you have 5. speakers and the 3D position is behind you, the SOUND CARD will make the decision to use the rear speakers. If you use headphones, the SOUND CARD will decide to apply an HRTF to create the illusion of a rear sound source. The point is that the game does not have control over how many speakers you will get sound from.
    However, to further complicate the situation, there are SOME games (HL2 is an example) where DirectSound3D is used, BUT the sound output of the game itself IS a function of the Windows speaker settings. This is not how programmers are SUPPOSED to use DirectSound3D. I've written about this countless times. There is a good post on [H]ard|Forum about this. Do an "advanced" search with my username (thomase) looking for the terms "hl2" and "cmss".

  • Room frequency response measurements

    Does anyone know of a Shareware program available that use your PC's sound card to play pink noise while recording from the microphone, and then display the room's frequency response?
    I have a high-end stereo system and am looking for something that will show me what my room modes are doing.
    Thanks in advance.

    thanks but I'm not looking for pink noise to drown out others. It's to use as a measurement. see my post again.
    1.33ghz PowerBook g4, 17-inch   Mac OS X (10.4.7)   1.5gb ram

  • Loudspeaker Frequency Response

    Hi all! I'm making a program to measure the frequency response of a loudspeaker. I'll be using a sweep to test the loudspeaker. 
    Particularly i would like the program to be like this, which is real time. How can i implement this in LabVIEW. This is the screenshot
    Details about the plot.
    First graph:
    Shows a plot in real-time of a frequency sweep with a constant sine sweep amplitude of 1 V. When sweep is started, the graph shows a plot of FFT moving from left to right, with peak of FFT at maximum amplitude of 1 at corresponding frequency of the sweep.
    Second graph:
    Shows the plot of the Sound Pressure Level in dB versus freqeuncy.
    Please refer to the picture and video link below.
    https://www.youtube.com/watch?v=sKC3ioWXG38, skip to 4:10

    Assuming your idea is to sweep a frequency into an amplifier connected to the loudspeaker, and measure the frequency response with a microphone:
    You need to monitor the signal at the loudspeaker terminals to account for any non-linearity's in the signal generator and amplifier.
    You need to know the frequency response of the microphone, this is difficult, and that is why calibrated microphones are expensive.
    You need an anechoic chamber so that the results are not affected by any room resonances.
    Your sound level plot is in dB (A). My understanding of the A weighting is so that the human perceived loudness is constant across the audio frequency range. If you are concerned about loudspeaker performance, is it worth discarding the complexity of this additional frequency response curve?
    This will be a difficult project. Please let us know how you get on.

  • Frequency response formula

    Hello!
    I have done the following experiment to find out the frequency response of a "box":
    I have introduced a sound speaker inside a box emitting pink noise-->I have measured the noise using the "sound and vibration assistant" and a microphone( the microphone is also inside the box)
    Then I have put the microphone outside the box and I have emmited pink noise again (the sound speaker is inside the box)
    With these datas I want to calculate the frequency response of my box so I am using the "frequency response step" of the sound and vibration assistant software.
    My question is: The unit of the amplitude graph of is "dB ref 1E+0" Could someone tell me which is the formula to calculate the frequency response of my box and obtain the units of "dB ref 1E+0"???
    Thank you!

    Hi dSierra,
    Sorry but I do not understand when you say : "If you want to reconvert to natural units, you just have to invert the equation 20 log (FreqResponse/1 unit (stimulus/response))". Could you explain a little bit more please
    Thank you!
    Best regards

Maybe you are looking for

  • Spaces malfunction with Preview

    This has been detailed in a previous, archived discussion at: http://discussions.apple.com/thread.jspa?messageID=7615628&#7615628. It still remains, with the latest OS X update (10.5.6), that clicking the Preview item in the dock opens the program (i

  • First time using iMac....

    Hi. My neighbor gave me his old iMac G3. I've already figured out a couple things like how to access a wireless network and the fact that it's "tray loading" but what I need is help on what I can do with it and how to do it. I'm really good at Window

  • 2nd installation of digital Photoshop elements 12

    Can i install the digital download of Photoshop12 on my laptop if already on desktop

  • Inconsistency when trying to create a transport layer

    Hello , I'm new to Abap / SAP and recently installed " SCN - SAP NetWeaver Application Server ABAP 7:03 64 - bit Trial" for purposes of study . The system was installed on a virtual machine with the following settings : Ram Memory : 3GB HD : 100GB Vi

  • HP Office Jet Pro 8500A e-All-In-One

    I have the above printer and use it wirelessly via AT&T router with Mac products. I have the most trouble with iPhones and getting "No Air Printer Found" error message if we haven't printed anything in several days. I can remedy this by turning the p