我找到了此页面(How to capture raw IQ data from a RTL-SDR dongle and FM demodulate with MATLAB),如果可能,我希望有人为我详细解释代码。
这是代码:
function y = loadFile(filename)
% y = loadFile(filename)
%
% reads complex samples from the rtlsdr file
fid = fopen(filename,'rb');
y = fread(fid,'uint8=>double');
y = y-127.5;
y = y(1:2:end) + i*y(2:2:end);
答案 0 :(得分:0)
fid = fopen(filename,'rb');
y = fread(fid,'uint8=>double');
此功能以读取(二进制)模式打开文件,然后读取包含uint8
数据的文件,并使其像是double
数据。
y = y-127.5;
对于数组中的每个数据,将该值减小127.5。
y = y(1:2:end) + i*y(2:2:end);
现在将数组中的每两个跟随数字取一个,并使其成为一个复杂值,例如:
y = [1, 2, 3, 4, 5, 6]
y = y(1:2:end) + i*y(2:2:end);
% Result: y = [1 + 2i, 3 + 4i, 5 + 6i]