discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: [Discuss-gnuradio] Handling of IQ files


From: Marcus Müller
Subject: Re: [Discuss-gnuradio] Handling of IQ files
Date: Sun, 20 Mar 2016 19:18:13 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0

Hi Henry,

So correlating is digitally mixing something with a predetermined sequence?
um, no. Not in the sense that I'd use "correlating".
Mixing in this context is simple point-wise multiplication.
I guess, then, if you have a PSK waveform you might multiply it by something, starting at various offsets in the signal, to try and decode it?
A correlation of two digital signals is pretty much that, you take the first signal, multiply it with the second, sum that up, and then shift either signal, rinse, repeat. You get a vector of correlation coefficients which can be interpreted as "how similar is the first signal to the second being shifted by a different sample delays".

Generally, if you have a known pulse shape (i.e. your transmitter takes the transmit symbol, in case of BPSK that would be either +1 or -1, and multiplies it with the pulse shape) you can correlate against that pulse shape, and you'll get the factor with which the pulse was multiplied (which is your transmit symbol combined with whatever your channel does to the signal).

Because we were talking about the DFT/FFT:

Look up the Discrete Fourier Transform in its Matrix form: You take a vector of samples $x$ and multiply it with a matrix $W$ to get the discrete Fourier transform of $x$, which I shall denote $X$:

$X=Wx$, with

$W \in \mathbb N
      ^{N\times N}$ (i.e. a square matrix, representing the N-point DFT)
$x,X \in \mathbb
      N ^N$ (i.e. column vectors).

Remember how you do matrix-vector multiplication:
To get the result's element in its $n$-th result row and the $m$-th result column, you take row $n$ from the left factor (i.e. a row of $W$, which has $N$ rows, so $n\in\{1,\dots,N\}$), and multiply it point-wise with $m$-th column of the right factor ($x$, which only has 1 column, so $m\equiv 1$) and calculate the sum.
Now, point-wise multiplication & summation is what is defined as dot product, so what happens here is that you take your sample vector $x$ and calculate the dot products with each row of the DFT Matrix $W$. The rows of the DFT matrices happen to be nothing else but samples of complex sinusoids.

Regarding Lou's:
The FFT is different (I actually don't know how it works, other than it operates on 2^n samples), but the output is the same.
Exactly, an FFT is just a specific implementation of the DFT (because you really don't want to do vector-matrix multiplication if you can avoid it, because you'd end up doing $N^2$ multiplications and summations), and is mathematically equivalent. In a first step, the fact that the DFT matrix is pretty regular and all entries appear twice is used to save calculations. Modern FFTs do all kind of cool optimizations that I don't understand the least, but what I learnt is that today, the Radix-2 algorithm isn't the only FFT algorithm in existence, and so it turns out that for example the FFTW library, which GNU Radio uses to do its FFTs, can deal with any DFT that has a prime factorization with "nearly no" prime factors >7 [1].

So, yeah, DSP often gets a lot easier if you just consider it an exercise in linear algebra :)

Cheers,
Marcus

[1] http://www.fftw.org/doc/Complex-DFTs.html#Complex-DFTs



On 20.03.2016 17:45, Henry Barton wrote:
So correlating is digitally mixing something with a predetermined sequence? I’ve been struggling to figure out what correlation means and this seems right. I guess, then, if you have a PSK waveform you might multiply it by something, starting at various offsets in the signal, to try and decode it?

Sent from Windows Mail

From: madengr
Sent: ‎Sunday‎, ‎March‎ ‎20‎, ‎2016 ‎12‎:‎22‎ ‎PM
To: address@hidden

Yes, pretty much.  With the DFT (and the continuous one) you are correlating
the input waveform with harmonically related, complex sinusoids; essentially
for each harmonic you mix it down to DC then sum (integrate).  The FFT is
different (I actually don't know how it works, other than it operates on 2^n
samples), but the output is the same.
Lou


Henry Barton wrote
> I’ve read up on the FFT and DSP and I must say I’m impressed that
> multiplying two waveforms is the digital equivalent of heterodyning. Am I
> right in my understanding that finding frequency components (FFT-ing) is
> simply multiplying a series of known sine waves by your input waveform?





--
View this message in context: http://gnuradio.4.n7.nabble.com/Handling-of-IQ-files-tp58915p58935.html
Sent from the GnuRadio mailing list archive at Nabble.com.

_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


_______________________________________________
Discuss-gnuradio mailing list
address@hidden
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio


reply via email to

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