基于Android系统的FMCW雷达的移植与开发

这是大三下学期的一个嵌入式课设。记录以作反思。

一、开发环境

        1、电脑端:Android Studio

        2、手机端:VIVO Z3

        3、开发语言:Java

        4、目标:在智能手机上实现 FMCW Radar 雷达测距

二、连续调频波雷达(FMCW)

        连续调频波雷达,也称FMCW(英文名字的缩写)。至于FMCW雷达的基本原理,其他不少博主都有介绍,这里我简单说一下我的理解:

1、FMCW 雷达周期性地发射 chirp 信号;

2、chirp 信号,就是频率随时间线性增长,如下图所示

3、FMCW雷达系统框架如下图所示。IF:中频信号,是Tx和Rx的频率之差。

4、测距:声波从发射到接收需要一定的时间,在这段时间内,所经过的距离是与被测目标距离的两倍。

 

 

 三、实现方法

        在电脑端通过Android Studio编程开发出一个能发送Chrip信号和接收被反射回来的Chrip信号的APP。源码链接:

链接:https://pan.baidu.com/s/1Q8FXurQ-aqRgQxsTaTO3bw?pwd=eda6 
提取码:eda6 
        看懂源码后,把APP移植到手机。如何移植到手机,其他博主也有很多讲解,不会的搜一搜就好。

        移植到手机后,记得打开APP的麦克风权限,不然接收不到反射回来的信号。发送信号和接收信号都被存在手机存储中固定的位置,源码中有说明,找到文件后,在电脑端用matlab分析。

Fs=48000;
fid0 = fopen('C:\Users\86151\Desktop\录音文件\5F.pcm','r');%发送信号
fid1 = fopen('C:\Users\86151\Desktop\录音文件\5J.pcm','r');%接收信号
x0 = fread(fid0,50000,'int16');%10000
x1 = fread(fid1,50000,'int16');
%sound(x,Fs);
%figure(1)
%plot(x)
x2=(x0.*x1);
fp=1.1*4000;
hlpf = fir1(256, 2 * fp / Fs);  
x2_lpf = filter(hlpf,1,x2); % 差频
%x2_lpf_freq= abs(fftshift(fft(real(x2_lpf))));
subplot(2,2,1);
N = length(x0);
time = (0:N-1)/Fs;% 计算时间坐标
plot(time,x0);
xlabel('时间');
subplot(2,2,2);
spectrogram(x0,1024,512,1024,Fs); 
subplot(2,2,3);
spectrogram(x1,1024,512,1024,Fs); 
subplot(2,2,4);
spectrogram(x2_lpf,1024,512,1024,Fs); 
figure(1)
window = 1024;
noverlap = window/2;
%f_len = window/2 + 1;
%f = linspace(0, 150e3, f_len);
[s, f, t, p] = spectrogram(x2_lpf, window, noverlap , 1024, Fs);
figure(2);
d=340*f/50000;  %2*斜率=50000
imagesc(t, d, abs(s));xlabel('时间'); ylabel('距离');

colorbar;
figure(3)
plot(d,p); xlabel('距离');

        接收到的信号由于手机性能,会有50ms左右的延迟。记得裁掉再通过matlab分析,不然误差会很大。我使用AU进行裁剪,对于能打开pcm文件的APP应该也可以进行裁剪。

        举个例子:离被测目标1.5M左右,频率范围是16KHz~20KHz,载波速率以声速表示。通过matlab分析的结果如下:

左边的图表示中频信号,右边的图表示距离。

四、总结

        也不知道总结个啥。做这个课设的过程中遇到不少问题,增长了知识,也增长了见识。祝我好运,也祝你好运。

 

 

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值