资源简介
TI官方采用FMCW毫米波雷达进行非接触测量呼吸心跳的算法方案,matlab实现,1min计算一次,已验证
代码片段和文件信息
%% breath & heart analyze
%% 目前版本ADC数据为复信号有符号点,大小16bit,二进制存储,一个二进制文件存储一个chirp
%% 每个chirp有4080个点(IQ各有2040个点),40mhz采样率,每个chirp50us
% 初始化变量
filelength = 300;
N = filelength/2;
adci = zeros(12048);
adcq = zeros(12048);
fft_data = zeros(filelength2048);
angle_fft = zeros(filelength2048);
fft_data_sq = zeros(filelength2048);
fft_data_last = zeros(11024);
range_max = 0;
% 首先进行文件读取,300个文件,大概1min
files = dir(strcat(‘g:\\adc_data\\‘‘*.dat‘));
for i = 1:filelength
fp = fopen(strcat(‘g:\adc_data\‘files(i).name));
adc_data = fread(fp2040*2‘int16‘);
adci(1:2040) = adc_data(1:2:4080-1); %数据补零,可用可不用
adcq(1:2040) = adc_data(2:2:4080);
fft_data(i:) = fft(adci + 1i*adcq2048); %Range-FFT
fft_data_sq = abs(fft_data(i:));
real_data = real(fft_data(i:));
imag_data = imag(fft_data(i:));
for j = 1:2048 %对每一个距离点取相位 extract phase
angle_fft(ij) = atan2(imag_data(j)real_data(j));
end
end
% Range-bin tracking 找出能量最大的点,即人体的位置
for j = 1:2048
for i = 1:filelength % 进行非相干积累
fft_data_last(j) = fft_data_last(j) + fft_data_sq(ij);
end
if ( fft_data_last(j) > range_max)
range_max = fft_data_last(j);
max
- 上一篇:kld采样
- 下一篇:matlab编写的地震剖面显示程序
相关资源
- LFMCW雷达汽车防撞系统仿真代码
- 调频三角波的matlab仿真
- FMCW连续调制波频谱分析
- FMCW MATLAB
- matlab FMCW雷达相位法测角修正
- 线性调频连续波雷达仿真matlab,汽车
- LFMCW_multi
- LFMCW雷达测距测速
- matlab FMCW雷达相位法测角算法有误,请
- FMCW雷达matlab仿真
- LFMCW雷达发射接收信号及测距matlab仿真
- FMCW_RADAR
- LFMCW_Mult_32T_ANFANG
- FMCW 使用连续波雷达测速测距
- FMCW-radar-ranging
- FMCW-radar 小型车载雷达的原理仿真。使
- LFMCW LFMCW 雷达测距测速
- lfmcw
- radar_matlab 雷达信号处理M
- FMCW FMCW体制雷达的测距测速仿真
评论
共有 条评论