LimeSDR实验教程(1) DVB-T发射

(参考https://irrational.net/2014/03/02/digital-atv/)

几年前我做了一个视频,用hackrf发射摄像头实时画面,然后再用rtlsdr(电视棒模式)接收,其实limesdr-usb和limesdr-mini也能实现一样的功能。

https://v.youku.com/v_show/id_XMTczMDE3NjEzNg==.html?spm=a2h0k.11417342.soresults.dtitle

现在简单讲一下。在接收端,要保证rtlsdr工作于正常的电视棒模式,而不是sdr模式,可以通过ls /dev/dvb来检查,如果电视棒插上后下面有adapter0就说明没问题,(默认情况下不装任何驱动,ubuntu就直接能支持),确认完毕后可以用apt安装vlc。

 

发射稍微有点复杂。要安装支持limesdr的gr-osmosdr,不能太旧(否则不支持limesdr),也不能太新(否则不支持apt版本的gnuradio)。

搞定后先装gr-dvbt。

git clone https://github.com/BogdanDIA/gr-dvbt.git
cd gr-dvbt
mkdir build
cd build
cmake ../
make && sudo make install

然后是sdr-example

git clone https://github.com/argilo/sdr-examples

 然后在sdr-example文件夹里

先mkfifo in.fifo(只需要做一次,不需要每次都做)

然后dvbt-limesdr.py in.fifo (这里dvbt-limesdr.py是我基于dvbt-bladerf.py改的,只是把osmosdr source里的arg清空了)

然后要装一个avconv 可以apt安装。

再运行avconv的命令(如果dev里有video0,即有笔记本自带摄像头,可以直接运行下列命令)

avconv -f alsa -i pulse -f video4linux2 -s 640x480 -i /dev/video0 -vf drawtext=fontfile=/usr/share/fonts/truetype/freefont/FreeSerif.ttf:text="XXXXXX":x=440:y=420:fontsize=48:[email protected]:box=1:[email protected] -vcodec mpeg2video -s 640x480 -r 60 -b 4000000 -acodec mp2 -ar 48000 -ab 192000 -ac 2 -muxrate 4524064 -mpegts_transport_stream_id 1025 -mpegts_service_id 1 -mpegts_pmt_start_pid 0x1020 -mpegts_start_pid 0x0121 -f mpegts -y in.fifo

 

然后发射端就搞定了。

 

再到接收端电脑里运行vlc dvb://frequency=441000000:bandwidth=6就可以看了。

 

本文提到的所需代码如下(gr-osmosdr, gr-dvbt, sdr-examples)

链接: https://pan.baidu.com/s/1UG0QfREDRAJEyngNpO74aQ 提取码: mhdk 

 

你可能感兴趣的:(LimeSDR实验教程)