[Top][All Lists]

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

Re: [Discuss-gnuradio] Question about stream to complex and fft

From: Kyeong Su Shin
Subject: Re: [Discuss-gnuradio] Question about stream to complex and fft
Date: Fri, 14 Jun 2019 11:31:08 +0000

Hello S.L:

That sounds correct to me.

One note, however: the sampling rate in GNU Radio is just a conceptual thing, and does not determine the 'actual time that GNU Radio takes to generate or consume the samples', if you do not use hardware sinks/sources (like SDR sources) and/or throttle blocks. If your flowgraph does not have such blocks, then the flowgraph will execute 'as fast as it can'. The data generated by your program will be still correct; it is just that the 'time' is just a conceptual thing (so as you don't have to deal with normalized sampling rates) and may not agree with the actual execution speed of the program.

Kyeong Su Shin

보낸 사람: S. L. <address@hidden> 대신 Discuss-gnuradio <discuss-gnuradio-bounces+ksshin=address@hidden>
보낸 날짜: 2019년 6월 14일 금요일 오후 6:08:55
받는 사람: address@hidden
제목: [Discuss-gnuradio] Question about stream to complex and fft
Hello, I have a question about the real-time operation of gnuradio and the "stream-to-vector" and FFT modules "

In the example image I have:

variable samp_rate to 32K

and the following flowchart:

Signal source (waveform: cosine, sample_rate: 32K, frecuency: 1K) -> stream-to-vector (Num items: 1024) -> FFT (size: 1024) -> Complex-to-Mag (Vector lenght: 1024) - > QT GUI Vector Sink (Vector size: 1024)

Then cosine has 1K of frequency and sample rate is 32K and FFT size is 1024

I'm not really sure how the gnuradio simulation works so I'd like to check it with you and see if I'm right or I'm wrong

A whole cosine wave would take 1ms
since the sample rate is 32K, a cosine wave would be 32 samples
Then 1024 samples would be 1024/32 = 32 cosine waves, that is 32 * 1 ms = 32 ms

Since I have vector-to-stream and fft to 1024 samples, I think or I guess it stores the first 1024 samples (from 0 ms to 32 ms) and the vector-to-stream module passes those samples to the FFT module that performs the FFT of those 1024 samples
Then another 1024 samples (form 32 ms to 64 ms) would arrive and I would pass those samples to the FFT

That is, the FFT block performs its function every 32 ms with 1024 sample vectors

Is this operating logic on the stream-to-vector and fft block correct? or I'm wrong

Thank you very much everyone for your time
a greeting

reply via email to

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