On 3/17/19 3:45 PM, Kevin Reid wrote:
If you want to detect clipping, you want to know if the magnitude of any
sample is greater than 1.0 — that's all there is to it. No FFT. My code
happens to divide the stream into vectors but that is the only similarity.
Performing a FFT will not help you detect clipping. To illustrate this:
suppose your signal content is a bunch of different sine waves of
constant amplitude and slightly different frequencies. The maximum
sample magnitude in the combined signal will occur when the phases of
all those sines align, which will happen periodically. But the FFT's job
is to separate out those sines into independent bins of constant
amplitude. A signal that clips and one that doesn't can look very
similar in the frequency domain, but in the time domain the difference
is obvious because you're looking /directly at what matters/ — the
sample values that are (after scaling) being sent to the DAC.
That all makes sense. But if you are looking at the raw IQ stream, with
two values per sample, do you just look to see if either the I or the Q
hits 1, or do you need to manipulate both components of the complex
number to get a real number?
_______________________________________________
Discuss-gnuradio mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio