Scaling down IFFT values

Hi All,

I need to scale down the OFDM transmission signal in time domain, after
IFFT
is done, so that, all the values are within the range -1 to 1. But, I
cant
simply add one more “scaling” block after cp_adder in

self.connect(self.preambles, self.ifft, self.cp_adder, self.scale, self)
(file: ofdm,py)

as it will scale down the preamble also, leading to non-recognition of
packet at receiver end.

Any pointer on where should I make the change?


View this message in context:
http://gnuradio.4.n7.nabble.com/Scaling-down-IFFT-values-tp50833.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Hi you!

Any pointer on where should I make the change?
Yes. Do it before preambling!
The inverse dft is a linear operation; it doesn’t really matter whether
you scale before or after. Note though that the IFFT as we use it adds a
sqrt(length_of_fft) factor, so account for that by dividing your scaling
factor by it.

Greetings,
Marcus

You should probably look at the new OFDM codes. If you see the
ofdm_tx.grc example, I think there’s already a scaler in there.

M

Did you mean something like:

self.connect(self._pkt_input, 0), self.scale, (self.preambles,0)) ?

That’s not working as it’s giving itemsize mismatch error!


View this message in context:
http://gnuradio.4.n7.nabble.com/Scaling-down-IFFT-values-tp50833p50967.html
Sent from the GnuRadio mailing list archive at Nabble.com.

Also I tried manually scaling down the output array in
fft_vcc_fftw:work
function. That has no effect no IFFT output!


View this message in context:
http://gnuradio.4.n7.nabble.com/Scaling-down-IFFT-values-tp50833p50968.html
Sent from the GnuRadio mailing list archive at Nabble.com.

No, I did not mean that.

Ok, this might be a problem: “Scaling”, for me, means “multiplying with
a scalar value”.
My suggestion therefore was that you just insert a multiplier before the
IFFT.

Maybe we’re talking about a different “scaling”?

Greetings,
Marcus