DSPRelated.com
Forums

Blackman Window

Started by Jorge September 12, 2007
Hello everybody,

sorry to bother you with this... but i really can't find it anywhere.

Let's say i do the following....

1. I take a digital signal, and apply blackman-window to N chunks of
it. It looks something like this:
	win = -.5*cos(2.*M_PI*(double)j/(double)doubles_in_chunk)+.5;
	windowed[j] = win * in[i + j];

2. I process every chunk of signal, which has already been multiplied
by it's window.
3.... how do i undo the blackman window ?... does anybody have the
equation ?. (i'm having a great issue with this).

Thanks a lot in advance for your help

Regards!!

Hi,

maybe somebody else can offer a more thorough expanation... until then,
some random references that might be useful:
http://ccrma.stanford.edu/~jos/parshl/Overlap_Add_Synthesis.html
http://www.dspguide.com/CH18.PDF
http://www.dsprelated.com/showmessage/67773/1.php

Cheers

Markus
thank you very much Markus!!!

Regards

Jorge wrote:

   ...

> 3.... how do i undo the blackman window ?... does anybody have the > equation ?. (i'm having a great issue with this).
What does it mean to undo a window? Rescale the final amplitude, maybe? Jerry -- Engineering is the art of making what you want from things you can get. ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
On Sep 12, 4:20 pm, Jorge <jleandrope...@gmail.com> wrote:
> Hello everybody, > > sorry to bother you with this... but i really can't find it anywhere. > > Let's say i do the following.... > > 1. I take a digital signal, and apply blackman-window to N chunks of > it. It looks something like this: > win = -.5*cos(2.*M_PI*(double)j/(double)doubles_in_chunk)+.5; > windowed[j] = win * in[i + j]; > > 2. I process every chunk of signal, which has already been multiplied > by it's window. > 3.... how do i undo the blackman window ?... does anybody have the > equation ?. (i'm having a great issue with this). > > Thanks a lot in advance for your help > > Regards!!
It's not clear exactly what you're doing in your example. Are you just pointwise multiplying a signal with the Blackman window, or are you using the window as an FIR filter? If you're just multiplying the two together, you could just invert each value in the window and multiply again to undo the effect. However, points in the window that have small values will have very large inverses, which can amplify any error introduced in the computation. If you're using the window as a filter, then you could compute an inverse filter that you could cascade with the Blackman one. That has a similar problem, though; the portions of the frequency band eliminated by the Blackman filter (it is lowpass) will have very large values in the response of the inverse filter, amplifying any noise that might exist in that band. Jason
Sorry for being late...

Already solved it... i've decided not to use windowing. What i'm doing
is the following....

As a final university project, i've written a software based on neural
networks, able to distortion guitar-digitalized-audio-signals, in
offline mode.

In order to do so, you must first train a neural network using two
audio samples.... Clean audio, from the instrument, and the exact same
sample, (same length) but after being distortioned with an effect -i'm
using Boss DS1 to run this tests-.

I was wondering if i could improve the performance by using some kind
of windowing to normalize the data being fed to the network... but it
didn't work out as expected.

Thank you again,
Regards!.






Jorge wrote:

> Already solved it... i've decided not to use windowing. What i'm doing > is the following.... > > As a final university project, i've written a software based on neural > networks, able to distortion guitar-digitalized-audio-signals, in > offline mode. > In order to do so, you must first train a neural network using two > audio samples....
I have a Blackman Widow (or is it a Black Window?) living near my porch. It builds the neural networks to catch the samples; it is really interesting to watch how it works. I suppose it is well trained. Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
> I have a Blackman Widow (or is it a Black Window?) living near my porch. > It builds the neural networks to catch the samples; it is really > interesting to watch how it works. I suppose it is well trained.
Kill her !!!. Those are nasty insects...!!!. Well trained or not... those things definitely don't rock !! =D
Have you tried to "train" a simple polynomial?

If not, it may be a good idea to do so, as a simple reference result for
the neural network magic.

Cheers

Markus

PS: Polynomials are not the smartest of creatures, but at least they
aren't poisonous :)


Markus,

i've done an interesting test...

1. I've generated a SIN wave, with Audacity, 440 hertz, just one
second.
2. I've recorded a distorted version of that sinus... using my DS1
3. Then... i trained a network. Well, the results were amazingly
good... the best configuration i've found is four layers, 32:32:32:1
(neurons per layer). The generated version (by the network) of the
original sinus looks almost exactly the same.

The problem is that... if i use something with more complexity than a
simple sinus wave, the results aren't as good... of course...  (and
using the same network architecture, and same number of epochs).

That's why i'm trying to figure out how to improve things.


Thanks everybody for your replys !!!!! =D