It sounds like a bug in your code. Have you checked to ensure that your
buffers are being managed properly?
In article <1099733947.119860.302410@f14g2000cwb.googlegroups.com>, "Shafik"
<shafik@u.arizona.edu> wrote:
>Thanks for all the help, I used the OLA method and the noise was
>reduced significantly. However, I still get a small "spike" on the
>edges of the time frames. This ends up sounding like a constant
>"buzzz". I cant figure out why that is happening.
>Any ideas why?
>
>--Shafik
>
Reply by Mike Yarwood●November 6, 20042004-11-06
"Shafik" <shafik@u.arizona.edu> wrote in message
news:1099733947.119860.302410@f14g2000cwb.googlegroups.com...
> Thanks for all the help, I used the OLA method and the noise was
> reduced significantly. However, I still get a small "spike" on the
> edges of the time frames. This ends up sounding like a constant
> "buzzz". I cant figure out why that is happening.
> Any ideas why?
>
> --Shafik
>
No
Reply by Shafik●November 6, 20042004-11-06
Thanks for all the help, I used the OLA method and the noise was
reduced significantly. However, I still get a small "spike" on the
edges of the time frames. This ends up sounding like a constant
"buzzz". I cant figure out why that is happening.
Any ideas why?
--Shafik
Reply by Vladimir Vassilevsky●November 5, 20042004-11-05
What you are doing implies the perfect synchronization between the FFT
windows on both sides. That is not practical. Use the continious time
filterbanks instead.
Vladimir Vassilevsky
DSP and Mixed Signal Design Consultant
http://www.abvolt.com
Shafik wrote:
> Hello DSP community,
>
> Im attempting a band-splitter voice scrambler based on the FFT.
>
> I collect 64 samples of voice, take the FFT, shuffle the magnitudes of
> the frequency bins (i keep the phase intact), then take an inverse FFT
> and send it out to the speaker. And the cycle repeats.
>
> On the other side I do the inverse process. However Im getting a lot of
> "digital" noise and I am unable to recover my audio properly. Is this
> because Im not using the overlap-add method, or does that not matter? I
> fear that I might be getting time-domain aliasing when I process the
> data in the FFT domain.
> Any help would be greatly appreciated.
> --Shafik
>
Reply by Jerry Avins●November 4, 20042004-11-04
Shafik wrote:
> If you dont mind me asking:
>
> How then, is the FFT used for filtering of images, where the FFT of an
> image is taken, modified in the frequency domain, then converted back.
> The same is done with time-domain signals as well.
> Why is the issue of aliasing not considered then?
>
> --Shafik
FFT filtering is indirect convolution. Without special attention of some
sort, it does circular convolution. Linear convolution is needed.
When the signal (image) is treated piecemeal without accounting for
circularity, artifacts are generated. Images filtered using FFTs are
usually treated as a whole, so artifacts appear only around the edges.
They are different from the edge-effect artifacts from linear
convolution, but in the same place.
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by Mike Yarwood●November 4, 20042004-11-04
"Shafik" <shafik@u.arizona.edu> wrote in message
news:1099529183.380535.322790@z14g2000cwz.googlegroups.com...
> Hello DSP community,
>
> Im attempting a band-splitter voice scrambler based on the FFT.
>
> I collect 64 samples of voice, take the FFT, shuffle the magnitudes of
> the frequency bins (i keep the phase intact), then take an inverse FFT
> and send it out to the speaker. And the cycle repeats.
>
> On the other side I do the inverse process. However Im getting a lot of
> "digital" noise and I am unable to recover my audio properly. Is this
> because Im not using the overlap-add method, or does that not matter? I
> fear that I might be getting time-domain aliasing when I process the
> data in the FFT domain.
> Any help would be greatly appreciated.
> --Shafik
>
Hi Shafik
If your timing is exactly right and you have enough precision in your
samples and in the arithmetic that you are doing then you should be o.k but
only if the FFT periods in your receiver line up exactly with the boundaries
that you established in the scrambler and the channel between is effectively
noise-free,broadband and linear. Somehow I doubt that thats the case.
Best of Luck - Mike
Reply by Shafik●November 4, 20042004-11-04
If you dont mind me asking:
How then, is the FFT used for filtering of images, where the FFT of an
image is taken, modified in the frequency domain, then converted back.
The same is done with time-domain signals as well.
Why is the issue of aliasing not considered then?
--Shafik
Reply by Jerry Avins●November 3, 20042004-11-03
Shafik wrote:
> Hello DSP community,
>
> Im attempting a band-splitter voice scrambler based on the FFT.
>
> I collect 64 samples of voice, take the FFT, shuffle the magnitudes of
> the frequency bins (i keep the phase intact), then take an inverse FFT
> and send it out to the speaker. And the cycle repeats.
>
> On the other side I do the inverse process. However Im getting a lot of
> "digital" noise and I am unable to recover my audio properly. Is this
> because Im not using the overlap-add method,
Yes
> or does that not matter? I
> fear that I might be getting time-domain aliasing when I process the
> data in the FFT domain.
Same thing.
Jerry
--
Engineering is the art of making what you want from things you can get.
�����������������������������������������������������������������������
Reply by Shafik●November 3, 20042004-11-03
Hello DSP community,
Im attempting a band-splitter voice scrambler based on the FFT.
I collect 64 samples of voice, take the FFT, shuffle the magnitudes of
the frequency bins (i keep the phase intact), then take an inverse FFT
and send it out to the speaker. And the cycle repeats.
On the other side I do the inverse process. However Im getting a lot of
"digital" noise and I am unable to recover my audio properly. Is this
because Im not using the overlap-add method, or does that not matter? I
fear that I might be getting time-domain aliasing when I process the
data in the FFT domain.
Any help would be greatly appreciated.
--Shafik