In Simulation i tested TX and RX for files of text and wav. In it every thing is ok, but when i used omocomsdr source and sink for real world, i see shifting data that i received.
Now i know i should synchronize between Transmitter and Receiver:
Fig1:Time Synchronization in Wireless Networks
I know in digital circuit we have three type synchronization:
1. Frequency synchronization 2. Packet synchronization 3. Clock recovery
so we need define any part: from gnuradio mailig list is quoted:
To solve #1, you can use a PLL or Costas loop, pilot tones, or a frequency estimator of your choice to remove the unavoidable carrier frequency offset caused by using separate oscillators on TX and RX. To solve #2, real communication systems generally use a preamble, a predefined data sequence at the start of each transmission, which the receiver can use to find the start of each transmission and to obtain a channel estimate. If your transmission is continuous in nature, you won't need to do this part. To solve #3, Gnuradio includes two blocks designed to recover clocked data from a demodulated signal: the M&M clock recovery block, and the polyphase filterbank clock recovery block. Both are closed-loop algorithms which attempt to recover clock-aligned data at the original clock rate.
So i want to with data solve synchronization our TX,RX:
you can see our experient problem in youtube video:
Finally my problem is solved In gnuradio-companion. wwe used Packet Synchronization in our projects.
we used packet encoder and packet decoder to our projet the grc file (for gnuradio 3.7.1) is shared in below links:
I announced i can send file mp3,mp4,ts,txt format file successfully it is same as bluetooth.I hope this post be useful for readers.