Open younaman opened 1 year ago
Hi Younaman, sorry for the delay to asnwer, I was very busy. This adsbTransmit block was created a long time ago, when I have the GNURadio 3.7, now, mainly because of the python updates, some error can occur in the installation process. I suggest you to try to transmit ADSB data from binary file, as explained here: https://github.com/edersonrmachado/gr-adsbTransmit/issues/1#issuecomment-832493529, You can download the bin file to put in the first block at this folder https://github.com/edersonrmachado/gr-adsbTransmit/blob/master/examples/files.zip
Best regards!
@edersonrmachado I am a little confused, where should I put the file? I extract the files.zip and it contains 10.bin,15.bin and 30.bin, I put them into the /example directory, but still missing the block. Have I missed something? Looking forward to your reply!
Besides, when I open the /example/tx_rx.grc, there still multiple missing blocks In my gnuradio companion. How can I fix these problems? Looking forward to your reply!
Hi @younaman, the 3 missing blocks indicate that you have not install ADS-B receiver blocks from @mhostetter, so you can install it from here https://github.com/mhostetter/gr-adsb. The other two blocks (complex to mag and Null sink) are in red because of missing blocks. After sucessfully install ADS-B receiver blocks, you must to replace the transmit part (the 3 blocks here https://github.com/edersonrmachado/gr-adsbTransmit/issues/3#issue-1581905452), by those blocks showed here https://github.com/edersonrmachado/gr-adsbTransmit/issues/1#issuecomment-832493529. Finally, you need to charge the 30bin file into the "File source" block. To do it, open the "File source" block and put the 30bin file path. In short:
@edersonrmachado Thanks for your reply! I have installed the gr-adsb, and the complex to mag and Null sink is not missing now! Besides, I install the gr-sqlite, and the missing block are showed below:). There still miss the ADSB_adsbSingleMsgGne_b block, and seqlite_sink block. For the first block, I notice that in the #1 comment, you said to replace this block to 30.bin? I am a green hand of gnuradio, how can I replace it with the 30.bin? For the second block(seqlite_sink), how could I fix this missing block? Thank you again for your patience and valuable comments:) Looking forward to your reply!
@edersonrmachado Besides, the Constant Source, and QT GUI Time Sink block are gray, is there something wrong? If it's an "issue", how can I fix them?
@edersonrmachado Thanks! I follow your valuable comments and fix all the "Missing block" and other python3 problems, the source code can compile and run now! Thank you very much for your comments and patience!
However, I have a new issue :) The ads-b receiver looks "empty" when I try to display the data. Are there any comments that can help me solve this problem? Looking forward to your reply!
Nice @younaman !! Maybe you can add block "Unpack K bits" with K=8, between the throttle block and "UChar To Float", in the transmit part, to extract 8 bits each time, like in the picture here https://github.com/edersonrmachado/gr-adsbTransmit/issues/1#issuecomment-832493529.
Regarding test strategy, you can try to follow these steps below, it may be a good practice to start and understand the tests:
By connecting the "Multiply Const" from transmit side directly to the "Complex to Mag^2" from the receiver side. You don't need to delete the USRP blocks, just disable them.
If you have two available channels in your USRP, you can use a cable + attenuator to connect the Tx channel directly to the Rx channel. Make sure that you are setting correctly the USRP's blocks, putting the same USRP address and selecting "TX/RX" antenna in the transmitter and RX2 in receiver (I think you have already correctly set these options)
In this case just replace the cable + attenuator for 2 antennas
@edersonrmachado Thanks a lot:) I have fixed the "empty" issue, but I have a few more questions.
How can I fix these two problems? By the way, as you know, I am a beginer of adsb, usrp, and gnuradio. But if you can give me some more "detailed" comments, I will try my best to follow your suggestions and fix these problems:) Looking forward to your reply!
Hi @younaman, I think you are working very well!! It seems that the packets are there, in the amplitude x time graph. Maybe you can try to adjust the "threshold". The threshold detect the bits. The signals that are above the threshold will be consider as "1" logic and the signals that are below "0", so you must to manually adjust this value to correctly detect the packets. To do this, you can change the value of the "Detection Threshold" from 0.01 to 0.02 or another value that is around the mean amplitude. You can also give a zoom into the signal, ( maybe with the mouse scroll, or crtl + mouse scroll, I dont remember very well...) , in the amplitude x time graph) to see the signal with more details and help to choose the threshold value
The spikes in the signal, when you add the USRPs to communicate, are because of the channel attenuation. When you work just with the blocks connecting directly the output of the transmitter to the input of the receiver, the digital signal generated is passed directly through the blocks, without attenuation (it is like a simulation). When you add a cable between RX and TX and use a USRP, the signal will be attenuated by the noise as well as when you communicate with two antennas. So it's normal to have the spikes there.
@edersonrmachado Thanks for your help. I have learned a lot. But in today's work, I still have two problems to solve. 1 I can't find a way to view the decoded data in the command window.Just like in this https://github.com/edersonrmachado/gr-adsbTransmit/issues/2#issuecomment-878778712,
2 the plane was not found on the map
If possible, I hope you can give me some suggestions and look forward to your reply.
Hello @younaman, for the 1st comment, in additon to the gnuradio terminal, the data is usually shown on the same bash terminal that you have opened the gnuradio.
For the 2nd comment, I think you need see the decoded data in terminal before to go to the server visualization, because the data should be correctly decoded before displayed in map. Maybe the threshold is not set accordingly yet, notice that in this picture https://user-images.githubusercontent.com/52592519/220643931-2414e263-4eab-4e23-852d-9ea322257a33.png in the graph at right, the threshold (red line) is adjusted around the "middle of the spikes" of the signal
Dear author: There are something wrong when I install and run the gr-adsbTransmit on Gnuradio 3.8.1, I installed successfully but there are something wrong when I run the example code. More specifically, some of the modules are empty and can not run as expected. Here are the steps I used to install and run the example:
cd gr-adsbTransmit/
vim CMakeLists.txt
I replace the line 144 of CMakeLists.txt from "find_package(Gnuradio "3.7.2" REQUIRED)" to "find_package(Gnuradio "3.8.5" REQUIRED)" as I install the GNUradio 3.8.5cmake -DGNURADIO_ALL_INCLUDE_DIRS=/usr/include/gnuradio/swig ../
make
sudo make install
sudo ldconfig
It seems no error so far.cd gr-adsbTransmit/examples
gnuradio-companion adsbExample37.grc
However, when the gnuradio-companion starts, some of the modules are empty:Block paths: /usr/local/share/gnuradio/grc/blocks
Loading: "/home/qiuxueyan/gr-adsbTransmit/examples/adsbExample37.grc"