David Scaperoth <[EMAIL PROTECTED]> wrote:
On 7/3/07, pratik hetamsaria <[EMAIL PROTECTED]> wrote: Hi Everyone
I am currently trying to make a USRP transceiver run, which is based on TDMA
approach.
As a warning, the USRP and GNU Radio are going to give you some trouble when
it comes to TDMA (at least for smaller time slots). However, in the near
future the mblocks and inband signalling on the USRP will allow you to
precisely timestamp the data that is coming in from the ADC...so if you can
stand to wait (or help out with the work), it might be in your best interest.
Elaborating on it, it should be a system which works in receive mode for
sometime, writes the data in a file and in the next slot transmits the data
which has been written in the file.
Reading from the previous archives, I figured out that switching between the
modes can be done by setting the "set_auto_tr(True)".
The switching works lovely when writing reading and is done into and from
different files. But as soon as the same file is used, problem starts.
I have been working on tx_voice.py and rx_voice.py. I start the receiver first
so that it writes onto the file. After few seconds, i start the transmitter and
then after every 5 seconds I make the transmit mode go to sleep for another 5
seconds.
When you say you "make the transmit mode go to sleep", how do you stop sending
data from the file?
------ I just use the time.sleep function for making the transmit mode go into
the sleep mode. I have assumed that it doesnt transmit during that time because
then the receiver gets active and starts receiving packets. Reading from
archives, i figured out that the USRP transmits whenever it has some data to
transmit and then gets into the receiving mode. Please correct me if i am wrong.
But, the problem is that it works fine for some time but after that the
transmit mode stops and the receiver keeps on receiving more packets and then
we dont get into the transmit mode.
How fast are you transmitting / receiving (sampling rate)? What kind of CPU
are you using? Writing to a file continuously is a pretty ominous task for a
computer if the sampling rate is say 1MHz. If you did this for 5 seconds, the
computer may be just simply lagging behind. (Does anyone know how fast it is
possible to write to a harddrive?). Are you getting 0u0u on the screen while
its running?
----The bitrate is 50000 and samples per symbol is 5 for transmit and receiver
sides. The interpolation rate is 512 and the corresponding decimation rate is
256. I am using a Pentium 4 3.0 GHz processor .I am not getting any underbuffer
in my case while i am transmitting. What i get is that the transmitter simply
stops after transmitting a few packets.
Another thing to keep in mind is that the ADC is continuously sending data
across the USB. When you begin to transmit, the data sent to the USB is just
garbage (noise), so in the end you have to be constantly throwing data away
when you are transmitting. This will all change when the mblocks are finished.
Wahoo!
-----Please explain what do yo mean by "data sent to the USB is just noise ,so
u'll have to be constantly throwing data away" .
The transmit mode stops even though the number of packets written to file are
more than read. Maybe this could be a problem of buffering or something
because if i keep the transmission in repeat mode then the transmit mode doesnt
stop. However In my case, i dont want the transmission in repetition mode. I
only want to transmit whatever i have received. I have also ensured that the
rates of receiveing and transmission are the same.
hope this helped some
Even if the TDMA approach doesnt work, then my work can also be done even if i
use FDMA i.e I would just like that the data received be first demodulated and
remodulated and transmitted over a differnt frequency. The only thing is that i
need a function of a relay. But, I am not sure whether with the rates i am
transmitting and receiving
this could be done. Also, i have tried making the USRP as the source and the
sink by using the commands
self.u = usrp.source_c(0,decim)
self. dst = usrp.sink_c (0, options.interp)
and making the connection as
fg.connect(self.u,self.dst)
I have tried viewing the signals on the scope by using self.scope from
usrp_oscope.py . I just tried testing it by viewing signals sent from
usrp_siggen.py at a frequency of 910Mhz and retransmitted at a frequency of
950MHz. However, the signals look very different if i just run the
usrp_oscope(original version when i just receive the signal and display it on
the oscope) and in the other case(where i retransmit it at a different
frequency). So, could somebody please point out if i am doing any mistake over
here. I have just a feeling that whatever i am doing is pretty simple to do but
maybe i am doing some mistake sumwhere..:)
Thanks for your help
Pratik Hetamsaria
David
Could anybody please help me out with the situation.I just want to retransmit
the data received from USRP.
Thanks for all the help in advance
Pratik Hetamsaria
---------------------------------
Here's a new way to find what you're looking for - Yahoo! Answers
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Send free SMS to your Friends on Mobile from your Yahoo! Messenger. Download
Now! http://messenger.yahoo.com/download.php
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
http://lists.gnu.org/mailman/listinfo/discuss-gnuradio