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<mmuel...@gnuradio.org> έγραψε:   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  

Reply via email to