Thanks for coming back to me and I apologies for the vague description of my problem. Let me try to clarify what i meant please.
The DFT is a sliding window DFT which gives me the output per each sample instead of calculating the DFT for the whole N (well it gives DFT per sample but I take output after 2 samples in my case).
So I take 1024 vector and perform DFT on each sample and then I find, lets say, one top frequency after 2 samples as I mentioned above (because of the nature of my input signal there will be a peak somewhere in that DFT).
All the above happens in one block.
I then store those peaks in a vector. So for each pair of input samples (in that 1024 vector above) the output vector will look something like this - in Hz [0 0 0 2000 2000 2000 -1000 0 0 0 ...]. I now want to take that output vector and generate a tone for each sample pair at time t (ie it doesnt generate all the tones at once but each tone at specific time). So e.g. the first three pairs will have 0Hz, then the 4th pair will have tone at 2000Hz, etc.
I tried feeding that output vector above to vector to stream and then freq mod block but that obviously didnt get me very far. It works fine if my signal is ideal. If i introduce frequency error the output is too distorted.
My question is really, is there an efficient way to convert an output vector of samples to frequency (each input to the vector represents a frequency).