Satellite Flowgraphs

2023-07-13 Thread Vincenzo Mone
Hello all,

Please is there anybody on the list that is an Amateur radio and works
satellites?

If yes please can you send me  some flowgraphs to receive the satellites
using a 

Funcube Dongle Pro Plus?

Thanks in advance

 

73 de Enzo IK8OZV
EasyLog 5 BetaTester
EasyLog PDA BetaTester
WinBollet BetaTester
D.C.I. CheckPoint Regione Campania
Skype: ik8ozv8520




  *

  **   GSM  +39 328 7110193  **

  * SMS  +39 328 7110193*

  *

 



Fwd: multi file Tx/Rx over OFDM

2023-07-13 Thread GNU Radio, the Free & Open-Source Toolkit for Software Radio
Hey all,
trying to send a text file using B200 and receive it using B210 or PLUTO
over OFDM Tx/Rx blocks.
the setup works fine, but I need this setup to be repeated for 100
different text files. So, I modified the python code to read, send and
transmit the files one by one. the code works good for the first two
(sometimes three) files and after that the files written at receiver side
are all of size zero byte. I used another SDR on a nearby machine and could
detect that there is transmission going there.
attached is :
- the flow graph to illustrate the idea
-python code files (main one is ofdmrx_processor)

I wonder if it is related to buffering issues, you kind help is appreciated.

Moath Sulaiman
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

#
# SPDX-License-Identifier: GPL-3.0
#
# GNU Radio Python Flow Graph
# Title: FullDupx_OFDM_forCode
# Author: Moath Sulaiman
# Description: send and receive a file using OFDM over USRPs
# GNU Radio version: v3.11.0.0git-393-ga07ced54

from packaging.version import Version as StrictVersion
from PyQt5 import Qt
# from gnuradio import qtgui
from gnuradio import digital

from gnuradio import blocks
import pmt,os
from gnuradio import gr
from gnuradio.filter import firdes
from gnuradio.fft import window
import sys
import signal
from PyQt5 import Qt
from argparse import ArgumentParser
from gnuradio.eng_arg import eng_float, intx
from gnuradio import eng_notation
from gnuradio import uhd
import time
import numpy as np
from gnuradio import iio



class ofdm_rxblock(gr.top_block):

def __init__(self,fname):

gr.top_block.__init__(self, "ofdm_block_code", catch_exceptions=True)

##
# Variables
##
self.samp_rate = samp_rate = 150
self.rf_rate = rf_rate = 150
self.rand = rand = np.random.randint(0, 2, 100)
self.packet_len = packet_len = 48
self.len_tag_key = len_tag_key = "packet_len"
self.fft_len = fft_len = 64
self.cfreq = cfreq = int(2.8e9)
self.BW = BW = 2e6

GR_FIXED_BUFFER_SIZE = 128e6



##
# Blocks
##



# Rx Part 30D3F3D ##

#  B200 series receiver ##
# self.uhd_usrp_source_0 = uhd.usrp_source(
# ",".join(('serial=30D3F3D', '')),
# uhd.stream_args(
# cpu_format="fc32",
# args='',
# channels=list(range(0,1)),
# ),
# )
# self.uhd_usrp_source_0.set_samp_rate(samp_rate)
# self.uhd_usrp_source_0.set_time_unknown_pps(uhd.time_spec(0))
# self.uhd_usrp_source_0.set_center_freq(cfreq, 0)
# self.uhd_usrp_source_0.set_antenna("TX/RX", 0)
# self.uhd_usrp_source_0.set_bandwidth(BW, 0)
# self.uhd_usrp_source_0.set_gain(75, 0)

 PLUTO Receiver ##


self.iio_pluto_source_0 = iio.fmcomms2_source_fc32('ip:192.168.2.1' if 'ip:192.168.2.1' else iio.get_pluto_uri(), [True, True], 32768)
self.iio_pluto_source_0.set_len_tag_key('packet_len')
self.iio_pluto_source_0.set_frequency(cfreq)
self.iio_pluto_source_0.set_samplerate(samp_rate)
self.iio_pluto_source_0.set_gain_mode(0, 'slow_attack')
self.iio_pluto_source_0.set_gain(0, 64)
self.iio_pluto_source_0.set_quadrature(True)
self.iio_pluto_source_0.set_rfdc(True)
self.iio_pluto_source_0.set_bbdc(True)
self.iio_pluto_source_0.set_filter_params('Auto', '', 0, 0)


# OFDM Rcvr #


self.digital_ofdm_rx_0 = digital.ofdm_rx(
fft_len=fft_len, cp_len=(fft_len//4),
frame_length_tag_key='frame_'+"rx_len",
packet_length_tag_key="rx_len",
occupied_carriers=((-4,-3,-2,-1,1,2,3,4),),
pilot_carriers=((-6,-5,5,6),),
pilot_symbols=((-1,1,-1,1),),
sync_word1=None,
sync_word2=None,
bps_header=1,
bps_payload=2,
debug_log=False,
scramble_bits=False)

# self.digital_ofdm_rx_0.set_min_output_buffer(65536)
# self.digital_ofdm_rx_0.set_max_output_buffer(int(65536))


os.chdir(r'//home/moath/Documents/OFDM/ofdm_block/RandVector/Code/files/Rx_data')

# self.blocks_vector_source_x_0_0 = blocks.vector_source_f(rand, True, 1, [])
# self.blocks_sub_xx_0 = blocks.sub_ff(1)
# self.blocks_float_to_char_1 = blocks.float_to_char(1, 1)

# outfile = fname.replace('txt','out')
# self.blocks_file_sink_0 = blocks.file_sink(gr.sizeof_char*1, outfile, False)
# self.blocks_file_sink_0.set_unbuffered(False)
# self.blocks_char_to_float_1 = 

Re: Missings packets on OFDM system simulation

2023-07-13 Thread Marcus Müller

Hi Jorge,

yes, please share your flowgraph. It's moot even beginning talking about it without 
knowing it.


Best regards,
Marcus

On 12.07.23 20:53, JORGE GONZALEZ ORELLANA via GNU Radio, the Free & Open-Source Toolkit 
for Software Radio wrote:
Hello everyone, I have some question related with a OFDM transmission simulation, in 
particular, about losing packets.


I am using the OFDM Transmitter and Receiver blocks to do the transmission (if you need 
more details, I can upload an image of the flowgraph).


The problem that I get is when put some noise (to get some level of SNR), when I have 
about 20dB (or more) of SNR I don't lose any packet, but if I put less than 20dB of SNR, 
almost all packets gets lost, (just 1 or 2 packets are received), all of this happen over 
simulation.


Any suggestions on why this might happen?