Re: trigonometric
- From: "RobR" <masked@xxxxxx>
- Date: Tue, 03 Jun 2008 04:01:59 -0500
RobR wrote:up
RobR wrote:
Thanks for your answer Jerry.Why create the extra samples only to discard them later?
I know i do not get more information by interpolating.
But after my operation i have those 2048 FD samples with the same
information as the 12 from the beginning, but filtered.
The TD signal may have a certain amount of timing delay/advance.
If I do:
-12 FD samples (with TD timing error=>FD frequency phase increment)
-12-ifft them -> 12 TD samples (its a transform, so full info is kept
sometill now)
-apply an element-wise window filter (i.e. 110000000000); now info is
lost!
-convert back to FD by 12-fft
-i come out with a quite high error vector, if the timing error was
thatwhere in between two discrete sampling points
So, by oversampling I want to achieve a better TD resolution, such
rate)the window filter (which of course is adopted to the higher sampling
does not kill that much information, as its the case with the former
approach.
I understand. By upsampling and later choosing the starting point to
downsample, you allow fine time shifts in the signal. I don't understand
why you don't downsample first and then filter, but I didn't work out
the timing. Maybe it's more efficient. It might have helped had you
noted that up front.
I start with those 12 samples and want to come back to this amount.
If I would be fine with those iffted 12 samples, window filtered, back to
FD via 12-fft, I would do it.
My wanted information in TD is more or less a peak of power within the
time frame.
The window filter lets this peak pass and attenuates the rest (actually is
completely cancels it out).
With the oversampled version, it seems there is more info concentrated
into the peak (especially in case of fractional timing errors), so the rest
can be attenuated with less side effects.
That's the only, but significant reason for oversampling.
As I said, now I end up with the oversampled amount of samples after fft
in FD.
...
wantAnd, the information is spread along all those 2048 samples and i
moreto
configurableknow the correct operation to merge it back to the 12.
I do not filter in TD because this would require a runtime
bandpass filter.
The initial fft is done in the system anyway.
Also I think fft-ifft filtering, also called fast convolution is
theefficient for my case.Fast convolution is more efficient than transversal convolution when
depends
signal size exceeds some number of samples. Although that number
proposesomewhat on the processor, it is never as small as 12. You don't
cansimple fast convolution, however. You also (needlessly, as far as I
on,see) interpolate and decimate.
I took the 12 samples as an working assumption. For the system I work
this value may grow up to 1200 and
1200� >> (2048 log 2048)*3+2048
If it looks like trouble at first, account for the filtering transients.
Back to your original question: If you upsampled properly, the new
signal contains all of the information in the original and nothing more.
Therefore, it ought not change if you filter it appropriately for
downsampling. (That would be a good overall check, but not worthwhile in
the working system.) Decimate in goof health. :-)So with decimating you mean, take every nth sample?
In may case about every 170th?
Well, unfortunately this gives not the fully correct result.
Assumed, I have all ones in FD over my twelve samples.
ifft
gets me a peak at first position in TD, rest 0s.
Window Filter: [1 0 0 0 0 0 0 0 0 0 0 0]
Back to FD via fft
result: all ones as I started: correct
This is the best-case scenario for the non-oversampling version.
It fails, when my original FD signal has fractional (fractional, regarding
sampling freq) timing error.
So,
use 2048-ifft
i come our with abs(sinc) shaped values in TD with the main peak at first
position.
Apply expanded window filter [11111111...[170]00000000000000000...[2048]]
(actually, this filter wraps around to the left a bit, but leave that out
for now)
Back to FD via 2048-fft.
Now, I want the correct operation, that brings me back as near as possible
to my starting 12 all one samples.
The energy is spread along all 2048 samples and has to be focused back to
12.
When taking just every nth sample, maybe the information is generally
kept, but energy is lost.
If its not completly clear, I may provide some MATLAB code, that
clarifies.
Best regards,
Robert
Jerry.
--
Engineering is the art of making what you want from things you can get.
- References:
- trigonometric "downsampling" in frequency domain
- From: RobR
- Re: trigonometric "downsampling" in frequency domain
- From: Jerry Avins
- Re: trigonometric
- From: RobR
- Re: trigonometric
- From: Jerry Avins
- Re: trigonometric
- From: RobR
- Re: trigonometric
- From: Jerry Avins
- trigonometric "downsampling" in frequency domain
- Prev by Date: Re: Choosing a DSP for audio processing
- Next by Date: PLL to generate low frequencies
- Previous by thread: Re: trigonometric
- Next by thread: Re: trigonometric
- Index(es):
Relevant Pages
|
Loading