signal-processing

Audio libraries for digital signal processing in C#

Hello all, My problem is this: I'm developing a reasonably small application (which needs to be able to grow in the future, but for now, limited functionality will suffice) which recieves audio (16bit mono @ 44.1kHz) and performs fourier transforms and filtering on the data. My experience with all the fields you can imagine this invol...

Digital Filter Design Matlab sptool/fdatool

What is the best method for selecting design properties for a digital filter in Matlab with the GUI sptool? More specifically, if I have a signal, how do I go about determining which filter values will yield the best solution. Example: For my signal A: One possible filter could have properties: Design Method: FIR, Window Window T...

How to Get a Quantitative Comparison of Two Signals

I’m trying to implement a Blind Source Separation (BSS) algorithm and I’m running into trouble determining the efficacy of the algorithm. I’m trying to create test cases where I work backwards and start with a signal vector s, which is normally unknown, and then create a mixing matrix A, which I use to transform s to create the observa...

Least squares optimal scaling

Hi, I have two waveforms which are linked by a numerical factor. I need to use optimal scaling (least squares) between the two waveforms to calculate this factor in Matlab. Unfortunately I have no idea how to do this. The two wave forms are seismic signals related by the velocity of the seismic waves, which I'm trying to calculate. Any ...

Explain this DSP notation

I'm trying to implement this extenstion of the Karplus-Strong plucked string algorithm, but I don't understand the notation there used. Maybe it will take years of study, but maybe it won't - maybe you can tell me. I think the equations below are in the frequency domain or something. Just starting with the first equation, Hp(z), the pi...

Strange artefact in my Fourier transform

Hey, I have performed an fft (fast fourier transform) on a time series waveform in Matlab, but I seem to have a weird wave actually in the fourier transform plot, although there are spikes this wave looks like something I'd expect to see only in the time domain. Is there any programming reason why this could happen? ...

How do I generate a fixed-waveform table in C?

What is the most efficient way to generate a signed float array of arbitrary length containing the amplitude (represented from 1 to -1) of a sine wave in C? ...

spike in my inverse fourier transform

I am trying to compare two data sets in MATLAB. To do this I need to filter the data sets by Fourier transforming the data, filtering it and then inverse Fourier transforming it. When I inverse Fourier transform the data however I get a spike at either end of the red data set (picture shows the first spike), it should be close to zero a...

Best way to program piecewise-linear function on DSP TMS320C5509

There is a Table of pairs , which defines pieces bounds. And we are using straightforward algorithm: y = f(x) Calculate index n in Table using x Get Yn and Yn+1, compute linear interpolation Y Y is the answer. So i think, there must be more efficient method, could you please point me? ...

DCT Compression - Block Size, Choosing Coefficients

I'm trying to understand the effect of the Block Size and best strategy of choosing the Coefficients in DCT compression. Basically I want to ask what I wrote here: http://stackoverflow.com/questions/4582/video-compression-what-is-discrete-cosine-transform/1948138#1948138 Lets assume the most primitive compression. Making block of an im...

Magnitude of FFT result depends on wave frequency?

I'm baffled by the results I'm getting from FFT and would appreciate any help. I'm using FFTW 3.2.2 but have gotten similar results with other FFT implementations (in Java). When I take the FFT of a sine wave, the scaling of the result depends on the frequency (Hz) of the wave--specifically, whether it's close to a whole number or not....

"Winamp style" spectrum analyzer

I have a program that plots the spectrum analysis (Amp/Freq) of a signal, which is preety much the DFT converted to polar. However, this is not exactly the sort of graph that, say, winamp (right at the top-left corner), or effectively any other audio software plots. I am not really sure what is this sort of graph called (if it has a dist...

Programmable Logic Devices

Dear all, I have a confusion in understanding the structure of PAL device. My first question is that if we buy a PAL device , then how can we know that how many min terms are added by each OR gate in the OR array? In other words I am asking, is there any standard by which we can know the number inputs each OR gate has in the OR arr...

Music Recognition and Signal Processing

I want to build something similar to Tunatic or Midomi (try them out if you're not sure what they do) and I'm wondering what algorithms I'd have to use; The idea I have about the workings of such applications is something like this: have a big database with several songs for each song in 1. reduce quality / bit-rate (to 64kbps for inst...

What causes Audio output to stutter?

There is a very common software bug that causes about 1 second of audio to be played a few times in succession, creating a kind of stutter. I notice this most often when playing video games. I know this is not architecture specific, I have seen it happen in consoles, in old PC's and it just happened 5 minutes ago when I booted wi...

Calculating Inverse Filter

Does anyone has an idea how to calculate the Inverse of a 2-D filter? Let's say I have a 3x3 filter: 0 1 0 1 1 1 0 1 0 I want to fins it's inverse. It's easy to do using DFT. But let's say I want to do it by convolution. Now, that's the problem, Matlab symbolic isn't my specialty. Assuming there's a 3X3 Inverse Filter it means convoluti...

How to program the TI TMS320C674x real-time clock using C

Intense googeling failed to turn out a single decent example of how to program the RTC. all I could find were examples for the C5000/4000 models, which seems work differently as I was unable to locate any of the header files required to get the sample code to compile. the closest I got was finding the RTC user manual, but it's no...

TI TMS320C64xx : add a PRD funcion

I have to add a function that will run every specified period. it seems stright forward as Code composer has a GUI tool to do that : DSP/BIOS Condig->PRD-> in the propierties form I can fill in the function name that gets called with every clk interrupt, but the GUI rejects my functions as "undefined labels' the function I want t...

Code Composer 4 (Eclipse based)- makefiles

How do I prevent Code Composer 4 (which is based on Eclipse) from generating its own makefile and use the one I provide instead? Background: I am starting a FreeRTOS project on a MSP430F5436 using Code Composer 4 and have a demo app with a supplied make file) Thanks! ...

Pitch detection using neural networks

I am trying to use ANN for pitch detection of musical notes. The network is a simple two-layer MLP, whose inputs are basically a DFT (averaged and logarithmically distributed), and 12 outputs correspond to the 12 notes of a particular octave. The network is trained with several samples of those 12 notes played by some instrument (one no...