Hi Marcus,
Thanks for your detailed answer!!!Can we consider this approach as a new spread
spectrum technology or is really an existing one?
Best regards
George SV1BDS
Στάλθηκε από το Ταχυδρομείο Yahoo σε Android
Στις Δευ, 1 Μαΐ, 2023 στις 23:14, ο χρήστηςMarcus
Müller έγραψε: Hi George,
thanks for the reply!
>> "VCO generator":
> It produces two different vectors depending of fh Boolean value. A
>sawtooth vector of
> values between -0.5 and 0.5 or the same random values between -0.5 and
>0.5. The
> sawtooth values used in alignment phase (adjusting myblock).
Yes, indeed! But I was focussing on the self.fh == True case.
>> "Repeat":
>
> This block offloads the previous block as is too heavy to produce random
>numbers at
> the rate needed.
Well, you did not write it very efficiently, but agreed, if you just need to
repeat the
vector, by all means, this is a nice way to do it.
>> "VCO (complex)":
> The VCO complex, with the values specified, produce frequencies between
>-500 kHz for
> -0.5 and +500 kHz for +0.5 input. This block creates the frequency change.
But only for fh == False. For fh == True, you're really just piping in random
numbers to a
mapper that maps the random numbers from [-0.5,+0,5] to a point on the unit
circle with
phase [-π;+π]. This phase is then what is output *for every sample*,
separately. Your VCO
really does only this:
output[i] = output[i-1] · exp(1j · sensitivity/sampling_rate · input[i]),
and in your case, sensitivity/sampling_rate == 2π ,
output[i] = output[i-1] · exp(1j · 2π · input[i])
= output[i-1] · random phase increment in [-π;+π].
and because your input is just random independent numbers between -0.5 and
+0.5, you just
get random independent numbers on the output: (pseudo-)White noise.
Connect a QT GUI Frequency Sink to the output of your VCO (complex), set
fh==True and
looks how flat and random the output spectrum is.
(I'm attaching a subgraph of your flow graph with that sink, and also a
screenshot from
the QT GUI Frequency Sink)
>> "Multiply":
> It moves the USB voice signal by frequency created from previous steps.
Sorry, definitely no USB created anywhere! If that was the case, the QT GUI
Frequency Sink
mentioned above would have to show zero for the upper half (before you complex
conjugate),
or the lower half of the spectrum, because you shift your 0-frequency-symmetric
message
signal spectrum by the frequencies in the spectrum of your VCO's output, and if
you only
want them to end up in the USB, then all these "shifting" frequencies would
have to be in
the upper half of the spectrum.
> You can better understand it considering frequencies rather than phases.
I'm about to say the same to you :)
Notice that frequency is the derivative of the phase. In your VCO block, you
generate
completely random phase increments. The derivative of that is just again
complete
randomness – every single sample.
Anything that you really can say "has a frequency" needs to have the same phase
increment
for multiple samples. But you're switching the phase increment with every
sample -
completely randomly.
This really nicely spreads the signal power from narrowband input signal into
the full
sampling rate bandwidth, but it's really not frequency hopping.
Best regards,
Marcus