Re: Logarithmic Interpolation
- From: "Rune Allnor" <allnor@xxxxxxxxxxxx>
- Date: 16 Apr 2006 11:15:37 -0700
Michel Rouzic skrev:
Rune Allnor wrote:
Michel Rouzic skrev:
Martin Eisenberg wrote:
Michel Rouzic wrote:
I didn't wanna talk about this too much, because I rather
realize by myself if it's a dumb idea than be told, but my plan
is to *try* using that to perform pitch shift/time stretch.
my basic idea is, get the FFT of the signal you want to shift,
interpolate the FFT logarithmically, shift the contents towards
the left or the right depending on what you want to obtain,
interpolate back to linear form, IFFT. of course, i'm definitly
not sure and quite sceptical about the odds of obtaining the
wanted result, but I think it's worth trying.
Since adding to log frequency is the same as multiplying linear
frequency you can get the same thing with just one interpolator,
used to resample the scaled spectrum.
oh yeah, that's right, but, if I do that, wouldn't the result be just
like interpolating the signal in the time-domain?
Nope. Interpolation (i.e. sampling the spectrum on a denser grid)
corresponds to elongating the duration in time domain.
what do you mean by elongating the duration? you mean making it longer
while keeping it at the same frequencies or not?
If you (in linear scale) interpolate to find new spectrum coefficients
at half the bin widths, you ought to get the your original signal
sampled at the original frequency, but zero-padded to twice the
length/number of samples.
You indicate above that this is an academic exercise, and as such
it makes perfect sense. However, I think you are doing things
a bit too complicated. Why not check the properties of spectrum
interpolation etc in linear scale first, and switch to logarithmic
after you've got some more experience?
sure, but in the first place I had some trouble seeing how it could be
performed in the linear scale, and actually, I have quite some trouble
successfully implementing it.
Sure. But doing these things in logarithmic scale don't make
it easier. When something doesn't quite work, is it because the
general idea is wrong, or because something went wrong with
the linear-to-logarithmic conversion? It can be very hard to tell.
the problem is, no matter how i try to put it, i end up with a
resampled version of my original signal plus zero-padding.
Seems reasonable, see above.
let's see,
if i want to move everything up by one octave, it must i must multiply
every frequency by two, frequency 0.01 becomes 0.02, frequency 0.1
becomes 0.2 etc... so basically, it's all about interpolating the
signal in the frequency domain by a factor of 2, which is zero-padding
in the time domain, and then get rid of the upper half of the spectrum
so that I get my frequency multiplication right.
Aha... you want to do a frequency shift? It is not obvious how to do
that. In radio, this is usally done as Amplitude Modulation, AM,
where you multiply (mix) with a sinusoidal at the carrier frequency.
Now, in AM the carrier is usually a lot figher than the bandwidth
of the baseband signal. In your case, you get some sort of aliasing
that ought to make lots of problems.
If you haven't done so already, have a look at a text on
AM modulation.
if i got it right, it means that all my original idea would do is
zeropad and decimate all in the time domain, right?
I don't know. I didn't notice that frequency shift thing until
right now.
Somehow, I think there is a bit confusion about what effects are
caused interpolating the spectrum, and what effects are caused
by working in logarithmic scale.
yeah, i'm definitly confused, and right now I have no idea on how to
obtain something different than zeropading and decimation in the time
domain out of frequency-domain interpolation.
The zero padding is as expected, the resampling... well, I don't know.
Rune
.
- Follow-Ups:
- Re: Logarithmic Interpolation
- From: Michel Rouzic
- Re: Logarithmic Interpolation
- References:
- Logarithmic Interpolation
- From: Michel Rouzic
- Re: Logarithmic Interpolation
- From: Rune Allnor
- Re: Logarithmic Interpolation
- From: Michel Rouzic
- Re: Logarithmic Interpolation
- From: Martin Eisenberg
- Re: Logarithmic Interpolation
- From: Michel Rouzic
- Re: Logarithmic Interpolation
- From: Rune Allnor
- Re: Logarithmic Interpolation
- From: Michel Rouzic
- Logarithmic Interpolation
- Prev by Date: Re: Logarithmic Interpolation
- Next by Date: Re: Need some advice on matlab.pls help
- Previous by thread: Re: Logarithmic Interpolation
- Next by thread: Re: Logarithmic Interpolation
- Index(es):
Relevant Pages
|
|