How do i calculate the bandwidth of a sound?

The vi provided will require you to firstly input a sound first. there are more vis but this is the one in question? any known techniques to calculate bandwidth of a sound?
thanks 
Attachments:
SoundExample_Companding.vi ‏130 KB

mahady wrote:
thank you for your reply, i have an input signal and i am required to find the bandwidth of the sound, is there any functions on block diagram that calculates this or any techniques I can use to find lowest frequency? i know the highest is 5512 since sampling frequency is 11025. 
I assume you have a certain sound. Your power spectrum will go from DC (0Hz) to 5512Hz, which is the range of possible frequencies, but certainly not the actual bandwidth of your system.
"Bandwidth is the difference between the upper and lower frequencies in a contiguous set of frequencies", so you need to know the actual frequency range of the sound as well as the sensitivity characteristic of all you components, including e.g. the microphone, amplifier characteristics, and any filters. For example if you microphone only works between 1-2KHz, your bandwidth would be only 1KHz, no matter how fast you sample.
Let's assume that you have an ideal lowpass filter at the nyquist frequency and you don't need to worry about alias frequencies.
So, try to input white noise and look at the power spectrum. get the left and right frequency points where the intensity drops to 3dB lower than the  highest peak, take the difference, and you should be almost there. This will give you the bandwidth of your system. The bandwidth of your actual sound might be much less (e.g. if it is the sound of a bird, the lower frquencies might be missing, for example) Good luck!
LabVIEW Champion . Do more with less code and in less time .

Similar Messages

  • How can i calculate the bandwidth usage of my Azure subscription?

    Hi,
    I know currently there is no API which provide bandwidth usage details. Is there any other way to find out my subscription's bandwidth usage?
    Thank you!

    Hi,
    Please have a look at below thread.
    #http://stackoverflow.com/questions/4590682/how-to-measure-windows-azure-bandwidth-usage-programmatically
    Here is a snippet.
    The Azure SDK doesn't provide any billing or consumption information programatically. As lgorek stated, you can approximate usage with IIS And WCF performance counters.And you'll also be able to use your own logging to track traffic from different users. 
    However, you won't be able to track bandwidth consumed when users download content from blob storage. Well, you could, but only if all of your blobs were private and you streamed their content through your web application instead of direct links on your web
    pages .
    Best Regards,
    Jambor
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • How i can calculate the backplane speed & throughput of cisco 48 1G 2960S switch?

    How i can calculate the backplane speed & throughput of cisco 48 1G 2960S switch?

    Disclaimer
    The  Author of this posting offers the information contained within this  posting without consideration and with the reader's understanding that  there's no implied or expressed suitability or fitness for any purpose.  Information provided is for informational purposes only and should not  be construed as rendering professional advice of any kind. Usage of this  posting's information is solely at reader's own risk.
    Liability Disclaimer
    In  no event shall Author be liable for any damages whatsoever (including,  without limitation, damages for loss of use, data or profit) arising out  of the use or inability to use the posting's information even if Author  has been advised of the possibility of such damage.
    Posting
    Calculate?  Calculate for wirespeed/line-rate?  If the latter, take all the port bandwidths, and assuming they are duplex, double for necessary fabric bandwidth.  I.e. 48 gig ports would need a 96 Gbps fabric.  Take all your port bandwidths, and allow 1.448 Mpps per gig (for minimum size Ethernet packets), i.e. 48 gig ports would need 69.5 Mpps.  Once you have required fabric bandwidth and PPS, you can compare to vendor's specs.

  • How do I calculate the total size of selected folders?

    Hello
    My question is:
    How do I calculate the total size of selected folders?
    Thank you

    It does show the aggregate size.
    Command-Option-I opens the Inspector window. (Or open the File menu and hold the Option key. Get Info turns into Show Inspector.) The Inspector is similar to the Get Info window but it shows aggregate info for multiple selections. It is also dynamic — if you change the selection while the Inspector is open, the info changes to reflect the current selection.

  • How do i extend the bandwidth of my system

    The control problem I am having is extending the bandwidth of a force control system. The system is used to apply mechanical load to bone to facilitate research into Osteoporosis. The following concisely describes the system and the different things I have tried to solve the problem,. I imagine it is quite lengthy compared to the usual questions but any advice you have to offer to a Mechanical engineer would be much appreciated.
    System Description:
    I am using Labview (with Flex motion) to program the NI 7344 motion control servo board (PID update rate of 62.4 micro-seconds). This output signal is then amplified by the MID 7654 power amplifier, supplying current to a Voice coil (this can be considered as a Linear DC motor with a bandwidth of 40Hz). This applies the force to a bone sample. Feedback is then provided by a load cell and connected to the ADC feedback channel of the servo board. (For full specs of all mentioned components please refer to the web links which are listed at the end of this email!)
    Problem description:
    After optimally tuning the PID characteristics and defining the amplitude and pre-load, I can successfully control a continuous, sinusoidally varying force (frequency 1Hz), however when I try to increase the frequency to 10Hz, the amplitude of the output waveform is marginally reduced�i.e. there is attenuation. I know that the bone sample is not viscoelastic enough to act as a low pass filter. The bandwidth of the Voice coil is not a limiting factor either, so�..
    How do I extend the bandwidth of this system?
    The following Paragraph describes some of the things I have tried, which have had some or no influence. Being a mechanical engineer I would be grateful for any expert advice.
    (Note all results have been verified with an oscilloscope where applicable)
    Influential Factors:
    1) Method of programming.
    To generate the wave form a series of points describing one period are written to a circular buffer on the servo board. The points are executed in 10 milli-second intervals and are splined through using a cubic spline algorithm (hence a period described by 100 points gives us a frequency of 1Hz and a 10 point wave gives us 10Hz). All this happens on the servo board in real time. I am confident that although the integrity of the sine wave is reduced at 10 Hz the amplitude is still described within the 10 points and so is not the reason for attenuation. However this does limit the maximum frequency achievable. (I would say the max frequency is about 20Hz)
    2) Redefining the resolution of the of the ADC Feedback
    The 12 bit ADC feedback channel is scanned at a rate of 50 micro seconds (faster than the loop update rate which is 62.4 micro-seconds). Initially the voltage range was specified at -/+ 10 V giving 20/(2^12) Volts per significant bit, however I noticed that when I increased the resolution to the max possible by changing the range to 0-5 V (giving 5/(2^12) volts per significant bit), the amount of attenuation was reduced, however there was still some attenuation there. This begs another question why would this factor improve the frequency response???
    3) PID characteristics
    The system gives an optimum step response when using only a pure integral term and setting Kp= 0, Kd= 0. It seems as though the fastest step response is limited to about 6 milli-seconds. The system is fine tuned and any slight increase in the integral term results in immediate instability. Therefore there is no scope to improve the system bandwidth by altering the PID characteristics.
    Can you offer me any expert advice?
    Considering this information, what would you advise? Do I need a board with a faster loop update rate ?, I have considered using Labview Real Time, which offers a board with a 26 KHz update rate as apposed to the 16Hz (62.4 micro-seconds) provided by the current board). Do I need to use different control algorithms as apposed to PID, if so which ones???
    Any help or advice you have to offer would be much appreciated and could help in the battle against osteoporosis. Should you require more information or would like to speak to me send me an email and I can answer any further questions or give you a ring.
    Regards Duncan Webster
    Email: [email protected]
    Product specs:
    Servo board:
    http://www.ni.com/pdf/products/us/4mo636-637.pdf
    Power amp
    http://www.ni.com/pdf/products/us/4mo642-643.pdf

    Hi Duncan,
    i'm sorry that this answer took this long, but i think a constructive answer which takes a long time is better than a useless answer in a short time....
    For the following thought-provoking impulses we have to consider the signal-change when increasing the frequency. The points which describe the signal get streched over the period. Increasing the frequency enlarges the distance between the points.
    a) The spline algorithm could be the problem here hence the signal does not correctly pass through the points anymore with increased frequency. Therefor the amplitude decreases with increased frequency. Perharps another kind of spline algorithm can be helpful.
    b) Another point can be the control deviation. Since a feedback control system needs a devia
    tion for the control, the deviation gets larger when increasing the frequency of the controlled loop. Maybe the control loop has to set the desired value when already getting to a new point. So the signal could get "washy" and the maximum amplitude is reduced.
    In this case, the "Velocity Feedforward"-parameter could be of use. This parameter is to use with caution for it can have similar effects like a too high chosen integral term.
    c) You can try to set the 7344 to circular contour. Therefor use 2 axis where you use the second axis as dummy (open step). There is a major disadvantage in this setup: since you use 2 axes at the same time, the 7344 can update each axis only with 125 microseconds. But perharps this is sufficient. Either way the parameter of the control loop have to be adapted (integral term reduced).
    d) If the 125 microseconds describend in c) is insufficient, you can try to test it with a 7352. The 7352 can handle 2 axis at a time with a update rate of 62.5 microse
    conds for each axis.
    I hope this answer helps you in solving your rather special issue.
    -Norbert
    NI Germany
    CEO: What exactly is stopping us from doing this?
    Expert: Geometry
    Marketing Manager: Just ignore it.

  • How can I calculate the request time ?

    Hello,
    How can I calculate the total consume time in each request ?
    For example, I want to start calculating the time when I click on a Link or a button and the end time when it completed load the page !
    Eric

    You could use a filter like this one:
    import java.io.*;
    import java.net.*;
    import java.util.*;
    import java.text.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletContext;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    public class TimeFilter implements Filter {
        // The filter configuration object we are associated with.  If
        // this value is null, this filter instance is not currently
        // configured.
        private FilterConfig filterConfig = null;
        private static final boolean debug = false;
        private long start = 0;
        private long end = 0;
        public TimeFilter() {
        private void doBeforeProcessing(ServletRequest request, ServletResponse response)
        throws IOException, ServletException {
            if (debug) log("CalendarFilter:DoBeforeProcessing");
            System.out.print("In Filter  ");
            this.start = System.currentTimeMillis();
            System.out.println((new java.util.Date()).toString() +
                               " start request ");
        private void doAfterProcessing(ServletRequest request, ServletResponse response)
        throws IOException, ServletException {
            if (debug) log("TimeFilter:DoAfterProcessing");
            System.out.println("Completion Time = " + (System.currentTimeMillis() - start));
         * @param request The servlet request we are processing
         * @param result The servlet response we are creating
         * @param chain The filter chain we are processing
         * @exception IOException if an input/output error occurs
         * @exception ServletException if a servlet error occurs
        public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain)
        throws IOException, ServletException {
            if (debug) log("TimeFilter:doFilter()");
            doBeforeProcessing(request, response);
            Throwable problem = null;
            try {
                chain.doFilter(request, response);
            catch(Throwable t) {
                problem = t;
                t.printStackTrace();
            doAfterProcessing(request, response);
            // If there was a problem, we want to rethrow it if it is
            // a known type, otherwise log it.
            if (problem != null) {
                if (problem instanceof ServletException) throw (ServletException)problem;
                if (problem instanceof IOException) throw (IOException)problem;
                sendProcessingError(problem, response);
         * Return the filter configuration object for this filter.
        public FilterConfig getFilterConfig() {
            return (this.filterConfig);
         * Set the filter configuration object for this filter.
         * @param filterConfig The filter configuration object
        public void setFilterConfig(FilterConfig filterConfig) {
            this.filterConfig = filterConfig;
         * Destroy method for this filter
        public void destroy() {
         * Init method for this filter
        public void init(FilterConfig filterConfig) {
            this.filterConfig = filterConfig;
            if (filterConfig != null) {
                if (debug) {
                    log("TimeFilter:Initializing filter");
         * Return a String representation of this object.
        public String toString() {
            if (filterConfig == null) return ("TimeFilter()");
            StringBuffer sb = new StringBuffer("TimeFilter(");
            sb.append(filterConfig);
            sb.append(")");
            return (sb.toString());
        private void sendProcessingError(Throwable t, ServletResponse response) {
            String stackTrace = getStackTrace(t);
            if(stackTrace != null && !stackTrace.equals("")) {
                try {
                    response.setContentType("text/html");
                    PrintStream ps = new PrintStream(response.getOutputStream());
                    PrintWriter pw = new PrintWriter(ps);
                    pw.print("<html>\n<head>\n</head>\n<body>\n"); //NOI18N
                    // PENDING! Localize this for next official release
                    pw.print("<h1>The resource did not process correctly</h1>\n<pre>\n");
                    pw.print(stackTrace);
                    pw.print("</pre></body>\n</html>"); //NOI18N
                    pw.close();
                    ps.close();
                    response.getOutputStream().close();;
                catch(Exception ex){ }
            else {
                try {
                    PrintStream ps = new PrintStream(response.getOutputStream());
                    t.printStackTrace(ps);
                    ps.close();
                    response.getOutputStream().close();;
                catch(Exception ex){ }
        public static String getStackTrace(Throwable t) {
            String stackTrace = null;
            try {
                StringWriter sw = new StringWriter();
                PrintWriter pw = new PrintWriter(sw);
                t.printStackTrace(pw);
                pw.close();
                sw.close();
                stackTrace = sw.getBuffer().toString();
            catch(Exception ex) {}
            return stackTrace;
        public void log(String msg) {
            filterConfig.getServletContext().log(msg);
    }and in the web.xml :
       <filter>
            <filter-name>TimeFilter</filter-name>
            <filter-class>
                com.filter.TimeFilter
            </filter>
        <filter-mapping>
            <filter-name>TimeFilter</filter-name>
            <url-pattern>/services/*</url-pattern>
        </filter-mapping > 

  • How can i calculate the average in java

    how can i calculate the avergae mark out of two marks for instance in like exam mark out
    of two other ones
    thanks for considering this message

    Average or Mean:
    sum_of_N/N
    Here N is the number of marks.
    sum_of_N is the total sum of n(all marks added together)
    public int average(int[] marks) {
    int sum;
    sum = 0;
    for(int i=0;i < marks.length;i++) {
    sum=marks[i]+sum; // keep adding to the total
    return average = sum/marks.length;
    // warning- using an int here can be a pitfall(we could have a decimal outcome).
    }

  • I wanted to know how do you calculate the number of days between two dates

    i wanted to know how do you calculate the number of days between two dates in java ? i get both the dates from the database. i guess there are many issues like leap year and Febuary having diff no of months ..etc.

    thanks..
    I solve my problem as
    public class MyExample {
        public static void main(String a[]) {
            String stdate = "2009-03-01";
            java.sql.Date currentDate = new java.sql.Date(System.currentTimeMillis());
            java.sql.Date preDate = java.sql.Date.valueOf(stdate);
            System.out.println(currentDate);
            System.out.println(preDate);
    //        int dateCom = preDate.compareTo(currentDate);
    //        System.out.println(dateCom);
            long diff = currentDate.getTime() - preDate.getTime();
            int days = (int) Math.floor(diff / (24 * 60 * 60 * 1000));
             System.out.println(days);
    }

  • How can I calculate the waveform integral in a defined time interval?

    Hi:
    I need your help. How can I calculate the waveform integral in a defined time interval? For example: from "0" to "2pi"?!
    Thanks.

    Hello Clecio,
    You might want to try the Integral x(t) VI.  The documentation for this VI notes:
    Performs the discrete integration of the sampled signal X. Integral x(t) calculates a definite integral. The value of the output array at any value x is the area under the curve of the input array between 0 and x.
    You would pass the samples of the waveform that fall between your particular window, then pass 1/number of samples for the d(t) parameter.
    Hope that helps.
    Wendy L
    LabWindows/CVI Developer Newsletter - ni.com/cvinews

  • How to globally limit the bandwidth of FMS 3.5

    Hi all,
    Can you give me a hint on how to solve this or confirm me the following ?
        Is it possible to limit globally the bandwidth usage of FMS 3.5 ?
    I don't want FMS  to use all the bandwidth available via our ISP.
    I want my coworkers and other servers to be able to continue using Internet while sending/receiving data from/to FMS
    I know it is possible to limit various bandwidths per Applications, but it seems there is no easy way - using the xml config files - to globally limit the server bandwidth.Ok I could compute a limit per app, but it is not a long terme solution to modify all the config files each time a new applications is to be installed.
    So I think it is not possible to easily limit globally the bandwidth of FMS.
    Do you agree with me ?
    If not, how did you manage this : do you have an example, some code ?
    Thanks for your answers
    Fred

    Thanks for the try, though I'd hope you aimed at a another solution
    I think your proposition is not possible this way, because:
    (It is for streaming only )
    1) say we have a BW of 100 [Mb/s] available for this FMS.
    2) the individual bw needed by the media files (indbw) within an application ranges from 200 [kb/s] to 2000[kb/s] (some files are audio, others medium quality video, some good quality video)
    3) the BandwidthCap (in application.xml) is  per connection within the application. (to simplify the talk we choose a BandwidthCap = indbw )
    4) the MaxConnections (in vhost.xml) is per vhost
    The question is "which indbw one chooses to divide the available 100 [Mb/s] BW" : ( MaxConnections = BW divided by BandwidthCap )
    Two possibilities:
    A) Let's take audio only indbw, that's 200 [kb/s], then FMS can serve 500 connections
    B) Let's take good quality vid indbw, that's 20000 [kb/s], then FMS would be limited to 50 connections.
    Both ways are not good :  in A) we risk jamming the internet link if too many of the connections are in fact streaming video, in B) we can not serve enough people and will likely waste some BW sinc not all clients will stream good quality video.
    Does anyone has another hint about " how to globally limiting the bandwidth of Flash Media Server 3.5" ?

  • How do u calculate the subset of the  cube in essbase?

    how do u calculate the subset of the cube in essbase?
    please suggest.........

    Suggest you read - http://download.oracle.com/docs/cd/E17236_01/epm.1112/esb_dbag/dcadevcs.html#dcadevcs63536
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • How can I calculate the total time in java?

    Hello!
    I need to calculate the total time!
    For example I have start time:
              Format formatter1;
              Date date1 = new Date();
              formatter1 = new SimpleDateFormat("hh:mm:ss");
              String startTime = formatter1.format(date1);
              //startTime = "14:20:40";
    And I have finish time:
              Format formatter2;
              Date date2 = new Date();
              formatter2 = new SimpleDateFormat("hh:mm:ss");
              String finishTime = formatter2.format(date2);
              //finishTime = "08:30:55";
    So, after manually calculating, I get total time: "18:10:15"
    How can I calculate the total time in java? (Using formatter1 and formatter2 I suppose)
    What I need is to print "total 18:10:15"
    Thanks!

    800512 wrote:
    I did the following but, I think something is wrong here:
    I defined before: Date date1 = new Date(); Date date2 = new Date();
    And it should be exactly 5 seconds between them.
    I found delta between date1 and date2:
    Format formatter = new SimpleDateFormat("HH:mm:ss");
              long timeInMilliFromStart = date1.getTime() - date2.getTime() ;
              Date date3 = new Date(timeInMilliFromStart);
              String timeInSecFromStart = formatter.format(date3);
    and I get always
    //timeInSecFromStart = 02:00:05
    But it should be exactly 00:00:05.
    What can be a problem?Because, like I said, a Date measure an instant in time, not a duration. So when you have 5000 ms, and you turn that into a Date, that means 5 sec. after the epoch, which works out to 1/1/1970 00:00:05.000 GMT.
    As I mentioned, if you're not currently in GMT, then you have to set the TZ of the DateFormat to GMT. Right now, it's showing you the time in your TZ. If you included the date in your SimpleDateFormat, you'd see either 1/1/1970 or 12/31/1969, depending on which TZ you're in.
    Bottom line: You're trying to use these classes in a way they're not meant for, and while you can get the results you want for a limited set of inputs if you understand what these classes do and how to work with that, it's a brittle approach and comes with all kinds of caveats.

  • How do I calculate the Out_flags number for the PIPL?

    Hey everyone!
    I'm kinda new to After Effects programming, so I hope I'm not asking a too obvious question.
    I've searched the web and this forum but just couldn't find a working solution for this problem.
    Compiling my plug-in works properly, but as soon as I select it from the effects menu I'm presented with a mismatch error.
    My question (as already asked in the title): How do I calculate the correct number for the pipl global_out_flags?
    Thanks in advance,
    Markus

    You will probably get a faster answer here: After Effects SDK                        
    The link is on the home page of the AE forum

  • How do i calculate the average of runs that have variable number of samples?

    Hi
    I am trying to calculate the average trajectory from  lets say 4 runs, with varying sample size.
    That is, if the the 4 runs have 78,74,73,55 samples respectively, How do I calculate the average of (78+74+73+55)/4 , (78+74+73)/3 and (78+74)/2  and 78/1 ?
    Thank you

    I'm not sure you gave a sufficient information. Assuming that you just want to calculate a linear average of the data collected in consecutive runs, you have two simple methods :
    1/ concatenate the data before calculating the mean.
    Simple, but can occupy a huhe amount of space since all the data have to be stored in memory
    2/ store only the means Mi and the corresponding number of data points ni and calculate a balanced mean : M = sum (ni x Mi) / sum (ni) )
    The attached vi illustrate both methods.
    Chilly Charly    (aka CC)
             E-List Master - Kudos glutton - Press the yellow button on the left...        
    Attachments:
    Averages.vi ‏40 KB

  • How do i calculate the scrollpane value

    hi all, how do i calculate the scrollpane value dynamically?
    thanks a lot

    hi sorry for the lousy information, because i was in the hurry.
    hm... should be describe in this way, in VB i know how to get the value of scrollbar when the scrollbar being scroll, but i do not know how to done it in JAVA.
    i have my sample code as following:
            sp.addComponentListener(new ComponentAdapter() {
                public void scrolled(ComponentEvent evt) {
                    width = getWidth();
                    height = getHeight();
            });any idea? izzit correct? it just show nothing while i use to print at console

Maybe you are looking for

  • OpenSQLException - Cannot assign double value

    Hello,   I have some table in database with field of type 'double'. I use JDBC to store data in this table and sometimes I would like to place special values in it, eg: preparedStatement.setDouble(1, Double.MIN_VALUE); Unfortunately I get exception l

  • APEX 4.2.1 Theme 26. Report template "Fixed headers" does not work in IE9

    Hi, The goal is to scroll the region, but not column headers. Works great on Chrome and Firefox, but on IE9, column headers scroll altogether with data. I have tried it in APEX workspace at ORACLE (select order_item_id, order_id from demo_order_items

  • ITunes Equalizer acting up

    The equaizer is acting up.  Unless I move the 500Hz slider, everything is muffled.  When I change EQ selections (acoustic, loudness, etc_), they will hold for one song, and then go back to the "muffled sound" on the next tune. I am also having troubl

  • Guide me please in sap abap hr and in sap hr. have 1 year exp did get job wht to do  ?

    Dear Friends , I Have 1 year exp as an Associate SAP ABAP HR Consultant and i have done MCA but still did get any job i am free from 3 months did get any call please guide me what to do my abap is not much strong but hr is good . i am so upset tht pl

  • Movement type from QM to Unrestricted

    Hi ALL, How to move the material from QM to Unrestricted...I am aware of 321 mvt type.. Please suggest me diffferent mvt type.. Thanks, Regards, Ameya k.