Digital Signal Processing

Hi all.
Recently, I've been busy with a project on signal processing. I have no experience in this field so i am clueless about how to do it.
I've been searching the internet about his topic and i keep getting the same results. So i would just like to ask you some questions to clear things out.
I've been able to create a program which records sound and stores the samples in a buffer. I want to analyze this sound and see which frequencies are present in it. I keep getting posts on Fourier analysis, but i don't understand why exactly i need it, or more precisely, what to do with it.
As i understand, the sequence of samples which i've gathered are hard to analyze, and so, i need to convert it to another series with FFT or DFT. I have found a peace of code which takes as an input the series, and spits out an output which i have no clue how to read or what it represents. The code is basically this: http://people.csail.mit.edu/hammond/teaching/hide/fft/fftcode.html
I get two columns of numbers, A's and B's, but i don't know what they are supposed to represent. What do i do with this output to check which frequencies are present in the signal?
I hope someone can guide me to the right direction.
Thanks.

Thanks KlausJJ, my program can now identify frequency magnitudes of a sound. I struggled a bit with the FFT, then i changed the FFT code i had mentioned earlier, and used another one, and it's working fine.
I now have another important question. I want to identify a clap sound. I'm not sure how to do this. I'm not sure if i should use FFT or not. If i want to compare a sound patterns produced by a clap, do i compare the frequencies or simply the clap waveforms. I'm thinking i can compare the frequency magnitudes of the claps for the frequency ranges. What i wanna do is get the 20 highest frequencies of a clap, and see if another sound is a clap by looking at its 15 highest frequencies. If those 15 freq ranges are present in the original clap's 20 highest frequency ranges, then i confirm that it's a clap. Or maybe i should compare the 15 highest and lowest?
Is this method effective? Or is there a better way of comparing patterns?
Thanks.

Similar Messages

  • Is there any tutorial for using ARM cortex-A processors of Zynq for digital signal processing ?

    Hello, everyone.
    Is there any tutorial for using ARM cortex-A processors(such as A9 and A53) of Zynq to deal with digital signal processing  problems?
    Please tell me , thanks.

    Hi
    Check below links
    http://www.xilinx.com/training/zynq/software-acceleration-for-dsp-functions-with-zynq.htm
    https://www.youtube.com/watch?v=ErEG7ZREcJQ
    http://www.xilinx.com/support/documentation/application_notes/xapp1170-zynq-hls.pdf
    http://www.xilinx.com/support/documentation/application_notes/xapp890-zynq-sobel-vivado-hls.pdf
    http://www.xilinx.com/support/documentation/application_notes/xapp1167.pdf

  • Digital Signal Processing Technique

    Dear Members
    The problem I have got in my term paper is to input a sound sample by a sound card(microphone)and acquire the digital sampled frequencies of that sample.In order to obtain DFT of that signal for recognition.
    Which API or method should I use to develop in JAVA.

    javax.sound might be what you want.

  • Help with digital signal processing app

    I have been programming in CVI for nearly 7 years now, using general purpose
    National Instruments DAQ boards.
    I have an application where I need to mimic an analog processing stage digitally,
    obtaining the same results as the analog processing. The analog process
    is a simple filter, but I'm not sure the best approach: a filter or perhaps
    an FFT? If a filter, which type? The digital processing needs to be done
    in real time, during the acquisition process.
    Thanks!

    Thanks KlausJJ, my program can now identify frequency magnitudes of a sound. I struggled a bit with the FFT, then i changed the FFT code i had mentioned earlier, and used another one, and it's working fine.
    I now have another important question. I want to identify a clap sound. I'm not sure how to do this. I'm not sure if i should use FFT or not. If i want to compare a sound patterns produced by a clap, do i compare the frequencies or simply the clap waveforms. I'm thinking i can compare the frequency magnitudes of the claps for the frequency ranges. What i wanna do is get the 20 highest frequencies of a clap, and see if another sound is a clap by looking at its 15 highest frequencies. If those 15 freq ranges are present in the original clap's 20 highest frequency ranges, then i confirm that it's a clap. Or maybe i should compare the 15 highest and lowest?
    Is this method effective? Or is there a better way of comparing patterns?
    Thanks.

  • I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.

    I am using the Order Analysis Toolkit and want to get more information about the compensation for "Reference Signal Processing", which is scarce in the manuals, the website and the examples installed with the toolkit.
    In particular, I am analyzing the example "Even Angle Reference Signal Processing (Digital Tacho, DAQmx).vi", whose documentation I am reproducing in the following:
    <B>DESCRIPTIONS</B>:
    This VI demonstrates how to extract even angle reference signals and remove the slow-roll errors. It uses DAQmx VIs to acquire sound or vibration signals and a digital tachometer signal. This VI includes a two-step process: acquire data at low rotational speed to extract even angle reference; use the even angle reference to remove the errors in the vibration signal acquired at normal operation.
    <B>INSTRUCTIONS</B>:
    1. Run the VI.
    2. On the <B>DAQ Configurations</B> tab, specify the <B>sample rate</B>, <B>samples per channel</B>, device and channel configurations, and tachometer channel information.
    <B>NOTE</B>: You need to use DSA PXI-447x/PXI-446x and PXI TIO device in a PXI chassis to run this example. The DSA device must be in slot 2 of the PXI chassis.
    3. Switch to <B>Extract Even Angle Reference</B> tab. Specify the <B>number of samples to acquire</B> and the <B># of revs in reference</B> which determines the number of samples in even angle reference. Click <B>Start</B> to take a one-shot data acquisition of the vibration and tachometer signals. After the acquisition, you can see the extracted even angle references in <B>Even Angle Reference</B>.
    4. Switch to the <B>Remove Slow-roll Errors</B> tab. Click <B>Start</B> to acquire data continuously and view the compensate results. Click <B>Stop</B> in this tab to stop the acquisition.
    <B>ORDER ANALYSIS VIs USED IN THIS EXAMPLE</B>:
    1. SVL Scale Voltage to EU.vi
    2. OAT Digital Tacho Process.vi
    3. OAT Get Even Angle Reference.vi
    4. OAT Convert to Even Angle Signal.vi
    5. OAT Compensate Even Angle Signal.vi
    My question is: How is the synchronization produced at the time of the compensation ? How is it possible to eliminate the errors in a synchronized fashion with respect to the surface of the shaft bearing in mind that I am acquired data at a low rotation speed in order to get the "even angle reference" and then I use it to remove the errors in the vibration signal acquired at normal operation. In this application both operations are made in different acquisitions, therefore the reference of the correction signal is lost. Is it simply compensated without synchronizing ?
    Our application is based on FPGA and we need to clarity those aspects before implementing the procedure.
    Solved!
    Go to Solution.

    Hi CracKatoA.
    Take a look at the link bellow:
    http://forums.ni.com/ni/board/message?board.id=170&message.id=255126&requireLogin=False
    Regards,
    Filipe Silva

  • Signal Processing and LabVIEW Expert Full Time Position – London, UK

    1x Signal Processing and LabVIEW Expert - Full Time Position – London, UK
    1.0      Description:
    As a Signal Processing/Software Engineer, you'll be part of a team that is responsible for developing applications based on large high speed data analysis for a large green energy project. Your skills must include a knowledge of Waveform analysis and understand the concepts of cross correlation, Fourier Analysis, Spectral analysis and other similar items.
    The position ideally requires someone of CLA level of LabVIEW program to act as the project lead on the programming and technical levels of the system.
    2.0      Duties and Responsibilities:
    The duties and responsibilities of this position include, but are not limited to, interacting directly with customers to program, train, inform, advise and consult in the design of their applications using the best test and measurement hardware and software by:
    ◦     Programming memory and speed efficient applications using LabVIEW and Object Oriented Programming and Event-based architectures.
    ◦     Understanding of the data acquisition side of the system and previous experience using National Instruments hardware and DAQmx
    ◦     Knowledge of Power engineering, Volts, Amps, current, Power Factor etc.
    ◦     Providing timely, accurate and effective solutions to technical problems.
    ◦     Providing guidance on the installation and working functionality of both software and hardware, including explanation of configuration settings.
    ◦     Reproducing and troubleshooting problems and incompatibilities.
    ◦     Delivering technical presentations and demonstrations to customers, colleagues and partners.
    ◦     Ability to project manage and understand how to keep on track with a Microsoft project based externally monitored project.
    3.0      Qualifications & Requirements:
    ◦     Minimum second class higher honours degree in engineering or science related field, such as electronic engineering, physics, mechatronics or computer science.
    ◦     Basic Knowledge of text based programming languages.
    ◦     Experience in either LabVIEW, minimum of three years full time and at CLA level, or capability to reach there in a short space of time with the relevant training.
    ◦     Experience in a second language such as JAVA, C and C++ is strongly preferred.
    ◦     Have a vast experience of signal processing, both digital and analog.
    ◦     Although not required, but must have skills to pass the Certified LabVIEW Developer exam and CLA within the year.
    ◦     Ability to learn new skills/languages/applications quickly (MATLAB, JavaScript, STK, etc.).
    ◦     Knowledge in instrumentation & control, and industrial automation, is strongly preferred.
    ◦     Must be able to handle multiple tasks and enjoy working with people.
    ◦     Strong problem solving skills to analyse the problem and think creatively to provide a solution.
    ◦     Excellent written, oral and presentation skills are key.
    ◦     Ability to deal effectively with customers to make them successful is essential.
    ◦     Ability to get along with others and function as a team player as well as work effectively alone.
    ◦     A proactive/can do attitude is vital and a positive outlook on problem solving.
    ◦     Legal right to live and work in the UK. Sponsorship is not available.
    ◦     Must hold a full valid UK driving license.
    4.0      Location:
    This role is located in London, UK
    5.0      Reporting:
    Signal Processing Engineers will report to the Technical Director.
    6.0      Salary:
    Competitive salary based on level of experience.
    7.0      Application:
    To apply for this position please send a copy of your CV to
    [email protected]
    Please state the job title of LabVIEW Signal Processing Engineer in the email subject.

    Hi,
    I am from india.I can able to complete the projects through the internet itself.
    Please let me know if any demos required to show my expertation. 

  • Measure Frequency of Digital Signal from DAQ-Board

    I'm using a National Instruments DAQ board and I need to measure the
    frequency of a digital signal from my data acquisition board.
    I know the measure frequency.vi (In diagram - data acquisition -
    counter), but i don´t understand yours implementation mainly in input
    "counter". Because i don't understand the relationship of board channel (for
    signal acquiring ) and the measure frequency.vi.
    Thanks in advance,
    [email protected]

    Hi,
       Attached is a vi which models your signal, and provides a way to measure the average frequency over a window of time. It converts the signal to a sequence of periods. I usually start with this approach because you can save the data in a much more compact form if your sampling rate is high. Obviously over a specified period of time, if there are no zero crossings the frequency is zero, so I was a little incoherent before. The real issue is the latency caused by averaging. Your frequency measurement is most accurate half your window size before the current time, so smaller windows give you more up to date measurements, but also more noisy. If you need the most up to date measurement, then you have to use the time since the last crossing which is the case where the frequency never goes to zero. That's probably not a realistic situation. If you needed less latency, you could use a prediction algorithm.
    Also, there are a number of signal measuring and processing vi's that LV gives you, for instance pulse measurements that could be used to partially implement this or other approaches, but I normally steer clear of them unless they fit exactly due to having to convert back and forth to the waveform data type.
    Have fun!
    Attachments:
    DigRandFreq.png ‏62 KB
    DigitalRandomFreq.vi ‏34 KB

  • Advanced signal processing toolkit for Version 8.5

    Hi all,
    Please guys help me out. I am looking for the advanced signal processing toolkit for labview 8.5 (not an evaluation ) .
    any help would be appreciated 
    Bill David

    Dear Norbert_B.
    Thanks a lot for your help . But I just cannot find a way to tell you this . I have just installed a newer version of labview ( LAB-VIEW 2009) because I got it from a friend and it has the Advance Signal Processing Toolkit . but have no idea where do i get the Digital Filter design toolkit as well as the biomedical toolkit that suits this version of software. 
    In another word I am just suffering with it . I have an application to build and it needs the digital filter toolkit and the biomedical toolkit . I know that's alot to request ..but I am trying to be honest with you .
    your help was already appreciated.............m loosing my mind
    Bill David
    Bill David

  • Inspire 4.1 4400 Signal Processing?

    So Ive got this very nice set of speakers here I bought a while back. They are the inspire 4.1 4400's. Today was actually the first time in a long while I had them hooked up to a 2 channel source while leaving all 4 satellites connected. I had them hooked up to the living room tv which gets its signal from a digital cable box through the standard composite cables (Yellow, White, and Red). The tv does have an "enhanced sound" feature which is enabled.
    But back to my original question: As a guy who drools over technical details, Im curious if these speakers have any extra signal processing when receiving a basic 2 channel signal? Because I noticed at points throughout the day where the rear satellites would sometimes sound like they are receiving different signals than the front satellites and than at other times all 4 would be identical.

    shof55,
    Here's an example of what the cable is.
    Jason

  • How can i build a manchester coding in labview signal processing?

    how can i build a manchester coding in labview signal processing?
    mean to say that how can i digitize my audio input.i waqnt to convert my audio input into manchester coded data format!!!
    kindly post related VIs
    regards
    Solved!
    Go to Solution.

    idma-
    Check out the LabVIEW FPGA example http://zone.ni.com/devzone/cda/epd/p/id/6126
    Generate Manchester Signal
    Basic example showing generation of a Manchester encoded data stream. The data to be sent is generated in one loop and passed to a FPGA FIFO. The subVI which generates the Manchester data stream reads the data bytes form the FIFO and passes them to the digital output. The subVI prepends a simple header to each data packet which allows a reader (see next example) to synchronize and acquire/parse the data. The header consists of a thee half bit pulse followed by a one half bit pulse. The three half bit pulse is not a valid component of regular Manchester encoding and can therefore be differentiated from the rest of the protocol. In addition it can be used by the receiver to to easily measure the bit rate of the protocol. By dividing the length of the three half bit pulse in half (3/4 of a bit), the receiver has a measure to differentiate between full and half bit pulses in the rest of the protocol.
    Generate and Read Manchester Signal
    An extension of the previous example which adds a Manchester receiver subVI. You must physically wire the digital output channel to your input channel to loop back the data outside the I/O connector of your FPGA R series card or C series module. The Manchester receiver subVI is expecting the data packet to be prepended by a header as explained in the previous section.
    I will see if the is a more precise example but this should help
    Sam S
    Applications Engineer
    National Instruments

  • Z600 workstation missing pci data acquisition and signal processing controller driver

    I just installed Win7 Pro x86 on my Z600 workstation.  It was an upgrade from WinXP Pro.  In Device Manager I am missing the driver for the PCI Data Acquisition and Signal Processing Controller and Hardlock USB 1.02.  Can someone assist me in finding these drivers.  I looked on the Support/Drivers page for this  model but couldn't find anything.
    This question was solved.
    View Solution.

    Hi,
    You might get better assistance on the HP Enterprise Business Forum since you have a professional worktsation.
    HP DV9700, t9300, Nvidia 8600, 4GB, Crucial C300 128GB SSD
    HP Photosmart Premium C309G, HP Photosmart 6520
    HP Touchpad, HP Chromebook 11
    Custom i7-4770k,Z-87, 8GB, Vertex 3 SSD, Samsung EVO SSD, Corsair HX650,GTX 760
    Custom i7-4790k,Z-97, 16GB, Vertex 3 SSD, Plextor M.2 SSD, Samsung EVO SSD, Corsair HX650, GTX 660TI
    Windows 7/8 UEFI/Legacy mode, MBR/GPT

  • PCI Data Acquisition and Signal Processing Controller driver

    I've installed win 8.1x64 on my HP Probook 450 G2 but I am missing the PCI Data Acquisition and Signal Processing Controller driver.
    Can you please help?
    Thanks,
    Leontina
    This question was solved.
    View Solution.

    Hi:
    Please see if installing the Intel Chipset driver installs that device.
    https://downloadcenter.intel.com/Detail_Desc.aspx?DwnldID=20775&lang=eng&ProdId=816

  • Pci data acquisition and signal processing controller -Device software not installed

    My pc shows me ,the driver software for pci data acquisition and signal processing controller is not installed  on my Device manager.
    Please suggest me a suitable solution.

    No its not working , Give me an alternate solution.

  • Is there a better way to generate custom timed digital Signals

    I am trying to generate digital output of high and lows with particular delays on different lines. Each daq assistant is activating single line on a port on USB 6501. There more complex high and lows that I need to generate with variable time difference between high and low. There is codebelow which accomplishes what I am trying to achieve but for executing a long pattern of high and low signal is very time consuming to do this way. I am sure there is a better way to do this, I  not a expert on labview so I haven't uncovered its full potential. Can anybody suggest a more effective and a quick way to do this. I would hgihly appreciate. Thanks!
    I have not shown in the code below but through DAQ assistant I have initialized lines to low level logic.
    Solved!
    Go to Solution.

    See the attached file
    Attachments:
    Digital Signal.vi ‏335 KB

  • How to input/output a digital signal and acquire an analog signal at the same time?

    Dasylab, version: 8.0.04
    Acquirement Card: PCI1002L
    When I use DasyLab to acquire the analog signals is no problem without digital inputs and outputs,
    and when I use DasyLab to input or output a digital signal is no problem also, but when I do that at the
     same time, DasyLab tell me the rate is too high and stop.
    so, I searched the manual book1 (user guide) for that, it showed me :
    To internally equalize measurement time and system time in the analog input, digital input and counter
    hardware modules, use the following settings:
       Synchronization: PC Clock
       Sampling rate: <= 5Hz
       Block size: =1
    the problem is, if I set the Sampling rate to 5Hz, the speed of the acquirement datas is not enough for my
    application.
    so, how to improve it? who can give me a example programm for me. thanks!
    by the way, I come from China, my English isn't good, I'm sorry.
    Allen, China.

    Hi,
    Have things changed over the years?
    I need to syncronise a digital output (Modul NI9474) and an analoge input (AI-Modul NI9203) module. I need to measure time intervals from a flank in signal A to a flank in signal B. I would like accuracies of the order of 1 ms. Currently, the signals are not synchronised, with errors of the order of 2 times the block length (block size x sample rate), sometimes much higher. The best I got so far was a block size of around 20 with a sample rate of 1 kHz.
    If I use the master and slave settings on the RTSL settings, my program doesn't run properly.
    If I use digital signals for input and output, I can syncronise them with RTSL settings and everything is good, but I can't always do that.
    Also, if I do anything in the GUI (such as scrollowing something or going to another window), my output gets screwed up properly.
    1. What can be done to synchronise AI with DO?
    2. Is there something that can be done to avoid messing up the output when something happens in the user interface? (I know that I am messing up the outputs as they make some valves switch and that is loud).
    Thanks in advance!

Maybe you are looking for