I'm extremely new to this (gnuradio, usrp's, and radios in general) so I
apologise if this question doesn't make sense or has obviously been
answered else where ( I have up until now been trying to find answers
without bothering anyone).

I have written my own gnuradio block as a source, i'm trying to replicate
the signal source waveform generator to get a grasp on how it is done. My
problem is that I don't know how to implement the Sampling Frequency. When
I looked at the source of the block I'm trying to replicate I noticed it
used a variable called nco to step along the wave it generates.

Currently I for my work method of my source block I have:

float *out = (float *) output_items[0];

for (int i = 0; i < noutput_items; i++)
> {
>     d_count = d_count + 1;
>     out[i] = d_Amplitude * sin(2 * 3.14159 * d_WaveFreq *
> d_Count/5000000.0);
> }


This produces a Sine and lets me control the amplitude and wave frequency
nicely, but the purely depends on how fast samples are produced.My question
is, how do I do this "properly"? How do I limit the amount of items
produces/ how often the sine wave is sampled? I don't understand how the
nco class does it in the provided block so I'm hoping for some
clarification.

I thought of checking the time that each sample was produced and comparing
that to the previous one, having a variable controlling allowed time
between the two or something like that, but it really comes down to me not
really understanding how the items/samples are produced.

Any help would be greatly appreciated, even if it's just a URL pointing me
in the right direction.

Cheers,
Charles
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio

Reply via email to