2011-02-18 5 views
2

GNU 라디오 (GNU Radio Companion의 파일 싱크)가 샘플을 이진 파일에 저장하는 형식을 알고 있습니까?녹음 된 샘플의 GNU 라디오 파일 형식

이 샘플은 Matlab에서 읽어야하지만 문제는 파일이 너무 커서 Matlab에서 읽을 수 없다는 것입니다.

이 바이너리 파일을 읽으려면 C++로 프로그램을 작성하고 있습니다.

답변

3

파일 싱크는 데이터 스트림의 덤프 일뿐입니다. 데이터 스트림 내용이 단순한 바이트라면 파일의 내용은 간단합니다. 데이터 스트림에 복소수가 포함되어 있으면 파일에 복소수 목록이 포함되며 각 복소수는 두 개의 부동 소수점으로 주어지고 각 부동 소수점은 (일반적으로) 4 바이트로 부동화됩니다.

gnuradio 파일 읽기 및 쓰기 블록의 구현은 gnuradio/gnuradio-core/src/lib/io/gr_file_sink.cc 및 gr_file_source.cc 파일을 참조하십시오.

파이썬과 gnuradio를 사용하여 파일을 다른 형식으로 변환 할 수도 있습니다.

from gnuradio import gr 
# Assuming the data stream was complex numbers. 
src = gr.file_source(gr.sizeof_gr_complex, "the_file_name") 
snk = gr.vector_sink_c() 
tb = gr.top_block() 
tb.connect(src, snk) 
tb.run() 
# The complex numbers are then accessible as a python list. 
data = snk.data() 
관련 문제