Re: Capturing 2 Level FSK with frequency hopping?

2022-07-10 Thread Paul Atreides
It might also help to look at the FHSS utilities from Sandia Labs, which has a 
burst detector and FSK demodulator.
https://github.com/sandialabs/gr-fhss_utils 

For a more application specific implementation, gr-smartmeters is built on 
FHSS_utils. The developer has some fantastic tutorial videos explaining the 
approach, the protocol, the decoding and also walks through burst detection to 
frame decode/crc check. 

https://github.com/BitBangingBytes/gr-smart_meters

https://wiki.recessim.com/view/Gr-smart_meters_Setup_Guide



> On Jul 10, 2022, at 08:16, Johannes Demel  wrote:
> 
> Hi Peter,
> 
> since you're looking at a signal with less than 10MHz bandwidth around 
> 910MHz, you might have hardware available that is able to capture the whole 
> bandwidth. This should be a good starting point.
> 
> Besides, the best approach to solve your challenge depends on more parameters.
> 
> Questions that I'd consider first:
> Do you need to process all 6 bands in parallel?
> Are all signal sources synchronized? Do they come from the same source?
> How large are the guard bands?
> How large is the time gap between every sequential hop in a subband?
> Do the subbands depend on each other in some way?
> Is there a preamble to sync to?
> Do you intend to change block parameters at runtime?
> 
> It might be interesting to use polyphase filters to divide your ~10MHz signal 
> into 6 subbands first. Then use a polyphase filter to separate your channels. 
> Or use the Xlating FIR for your subbands. I'd play around and observe the 
> effects of each approach.
> You might want to use a polyphase filter for all your 6 * 60 channels.
> 
> Cheers
> Johannes
> 
>> On 10.07.22 12:18, Peter Lambrechtsen wrote:
>> Hello,
>> Excuse my ignorance as I am fairly new to gnuradio but I am trying to figure 
>> out how best to capture a data stream that is in the ISM band that also has 
>> frequency hopping.
>> Channel spacing of 25kHz
>> It has two data bit rates of 62.5bps and 500bps
>> Starting at 910.5Mhz and going up to 919.975 and in there it has 6 sub bands 
>> of 60 channels it hops between sequentially between the frequencies in the 
>> sub band every 0.4s
>> I'm wondering what the best approach would be to capture the data and figure 
>> out when the timing frame was to determine which was the initial frame as 
>> then it should be able to follow the sequential hopping.
>> Still trying to work on the blocks to capture all the traffic as I haven't 
>> figured that out yet as I am just working off the specification and trying 
>> to understand the Frequency Xlating FIR Filter to at least capture one FSK 
>> stream to make sure it is sane what I should be receiving, then move to the 
>> frequency hopping.
>> Thanks, Peter
> 


Re: Invalid type specifier

2022-07-10 Thread user 1



Thank you Ron for the bug in 3.10.2.


But after correction and new compilation the error message is 
unfortunately still present when I launch GRC.



[*** LOG ERROR #0001 ***] [2022-07-09 17:52:42] [test_bvb] {invalid type 
specifier}




Jeff


-

Le 10/07/2022 à 11:57, Ron Economos a écrit :
Are you trying to set the Minoutbuf setting on your block to something 
other than 0? There was a bug with that in 3.10.2.


Fixed in 3.10.3. 
https://github.com/gnuradio/gnuradio/commit/af6f28e3ba7042ac5eeb8c4b39857cbb15d436a5 



Ron

On 7/10/22 01:44, user 1 wrote:

Hello,

I have build a simple test OOT block to learn and play with vectors. 
My OOT block written in C++ is between a file data source and a file 
data sink.


The gcc compilation is error free. All is OK, my block works fine, the 
resulting data are consistent.


However, at the start of the execution in GRC, I get the following 
error message:


[*** LOG ERROR #0001 ***] [2022-07-09 17:52:42] [test_bvb] {invalid 
type specifier}


Probably something wrong !


I work under:
  Ubuntu 20.04.1
  GnuRadio 3.10.2
  gcc 9.4.0
  python 3.8.10


Thank you for your help.



Jeff






Re: Capturing 2 Level FSK with frequency hopping?

2022-07-10 Thread Johannes Demel

Hi Peter,

since you're looking at a signal with less than 10MHz bandwidth around 
910MHz, you might have hardware available that is able to capture the 
whole bandwidth. This should be a good starting point.


Besides, the best approach to solve your challenge depends on more 
parameters.


Questions that I'd consider first:
Do you need to process all 6 bands in parallel?
Are all signal sources synchronized? Do they come from the same source?
How large are the guard bands?
How large is the time gap between every sequential hop in a subband?
Do the subbands depend on each other in some way?
Is there a preamble to sync to?
Do you intend to change block parameters at runtime?

It might be interesting to use polyphase filters to divide your ~10MHz 
signal into 6 subbands first. Then use a polyphase filter to separate 
your channels. Or use the Xlating FIR for your subbands. I'd play around 
and observe the effects of each approach.

You might want to use a polyphase filter for all your 6 * 60 channels.

Cheers
Johannes

On 10.07.22 12:18, Peter Lambrechtsen wrote:

Hello,

Excuse my ignorance as I am fairly new to gnuradio but I am trying to 
figure out how best to capture a data stream that is in the ISM band 
that also has frequency hopping.


Channel spacing of 25kHz
It has two data bit rates of 62.5bps and 500bps
Starting at 910.5Mhz and going up to 919.975 and in there it has 6 sub 
bands of 60 channels it hops between sequentially between the 
frequencies in the sub band every 0.4s


I'm wondering what the best approach would be to capture the data and 
figure out when the timing frame was to determine which was the 
initial frame as then it should be able to follow the sequential hopping.


Still trying to work on the blocks to capture all the traffic as I 
haven't figured that out yet as I am just working off the specification 
and trying to understand the Frequency Xlating FIR Filter to at least 
capture one FSK stream to make sure it is sane what I should be 
receiving, then move to the frequency hopping.


Thanks, Peter




Fwd: Capturing 2 Level FSK with frequency hopping?

2022-07-10 Thread WarMonkey
First you should build a packet detector which can determine if there is a
packet over the air or not. This can be done by detecting channel power
change
Then you can cut out the part of I/Q stream which just includes one packet.
After that you can run frequency demod on the packet.
To demod this kind of burst please consider it as an optimizing procedure:
you guess the center freq, symbol phase and symbol rate of the FSK burst,
making both the freq and symbol timing error minimized.

Peter Lambrechtsen  于2022年7月10日周日 18:20写道:

> Hello,
>
> Excuse my ignorance as I am fairly new to gnuradio but I am trying to
> figure out how best to capture a data stream that is in the ISM band that
> also has frequency hopping.
>
> Channel spacing of 25kHz
> It has two data bit rates of 62.5bps and 500bps
> Starting at 910.5Mhz and going up to 919.975 and in there it has 6 sub
> bands of 60 channels it hops between sequentially between the frequencies
> in the sub band every 0.4s
>
> I'm wondering what the best approach would be to capture the data and
> figure out when the timing frame was to determine which was the
> initial frame as then it should be able to follow the sequential hopping.
>
> Still trying to work on the blocks to capture all the traffic as I haven't
> figured that out yet as I am just working off the specification and trying
> to understand the Frequency Xlating FIR Filter to at least capture one FSK
> stream to make sure it is sane what I should be receiving, then move to the
> frequency hopping.
>
> Thanks, Peter
>


Capturing 2 Level FSK with frequency hopping?

2022-07-10 Thread Peter Lambrechtsen
Hello,

Excuse my ignorance as I am fairly new to gnuradio but I am trying to
figure out how best to capture a data stream that is in the ISM band that
also has frequency hopping.

Channel spacing of 25kHz
It has two data bit rates of 62.5bps and 500bps
Starting at 910.5Mhz and going up to 919.975 and in there it has 6 sub
bands of 60 channels it hops between sequentially between the frequencies
in the sub band every 0.4s

I'm wondering what the best approach would be to capture the data and
figure out when the timing frame was to determine which was the
initial frame as then it should be able to follow the sequential hopping.

Still trying to work on the blocks to capture all the traffic as I haven't
figured that out yet as I am just working off the specification and trying
to understand the Frequency Xlating FIR Filter to at least capture one FSK
stream to make sure it is sane what I should be receiving, then move to the
frequency hopping.

Thanks, Peter


Re: Invalid type specifier

2022-07-10 Thread Ron Economos
Are you trying to set the Minoutbuf setting on your block to something 
other than 0? There was a bug with that in 3.10.2.


Fixed in 3.10.3. 
https://github.com/gnuradio/gnuradio/commit/af6f28e3ba7042ac5eeb8c4b39857cbb15d436a5


Ron

On 7/10/22 01:44, user 1 wrote:

Hello,

I have build a simple test OOT block to learn and play with vectors. 
My OOT block written in C++ is between a file data source and a file 
data sink.


The gcc compilation is error free. All is OK, my block works fine, the 
resulting data are consistent.


However, at the start of the execution in GRC, I get the following 
error message:


[*** LOG ERROR #0001 ***] [2022-07-09 17:52:42] [test_bvb] {invalid 
type specifier}


Probably something wrong !


I work under:
  Ubuntu 20.04.1
  GnuRadio 3.10.2
  gcc 9.4.0
  python 3.8.10


Thank you for your help.



Jeff




Invalid type specifier

2022-07-10 Thread user 1

Hello,

I have build a simple test OOT block to learn and play with vectors. My 
OOT block written in C++ is between a file data source and a file data sink.


The gcc compilation is error free. All is OK, my block works fine, the 
resulting data are consistent.


However, at the start of the execution in GRC, I get the following error 
message:


[*** LOG ERROR #0001 ***] [2022-07-09 17:52:42] [test_bvb] {invalid type 
specifier}


Probably something wrong !


I work under:
  Ubuntu 20.04.1
  GnuRadio 3.10.2
  gcc 9.4.0
  python 3.8.10


Thank you for your help.



Jeff