discuss-gnuradio
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] How to make an FFT block in c++


From: Alexandru Csete
Subject: Re: [Discuss-gnuradio] How to make an FFT block in c++
Date: Fri, 18 Oct 2013 23:20:28 +0200

On Fri, Oct 18, 2013 at 10:05 PM, Tommy Tracy II <address@hidden> wrote:
> Hello,
>
> I'm trying to make an FFT block in my hierarchical block, but I cannot seem
> to find the correct syntax.
> I'm trying to make it with a BLACKMAN_HARRIS windowing function, and it's
> easy in a python program:
>
>                         fft_forward = fft.fft_vfc(window_size, True,
> (fft.blackmanharris(window_size)), 1)
>                         fft_backward = fft.fft_vcc(window_size, False,
> (fft.blackmanharris(window_size)), False, 1)
>
>
> But in a c++ program it gets hairy. Does anyone have any experience with
> this?
>
>     gr::fft::fft_vfc::sptr fft_forward = gr::fft::fft_vfc::make(SIZE, true,
> gr::filter::firdes::WIN_BLACKMAN_HARRIS, num_threads);
>     gr::fft::fft:vcc::sptr fft_reverse = gr::fft::fft_vcc::make(SIZE, false,
> gr::filter::firdes::WIN_BLACKMAN_HARRIS, false, num_threads);
>
> I believe what I have wrong is the Windowing, which is of the form:
>
>     const std::vector< float > & window

I have only used gr::fft::fft_complex in C++ but I think it uses the
same window type. If that's true you can create the window using:

window = gr::filter::firdes::window(gr::filter::firdes::WIN_BLACKMAN_HARRIS,
SIZE, 6.76);

Alex



reply via email to

[Prev in Thread] Current Thread [Next in Thread]