diff --git a/demo.m b/demo.m deleted file mode 100644 index a50762d..0000000 --- a/demo.m +++ /dev/null @@ -1,69 +0,0 @@ -clear;close all;clc; - -%% 雷达参数(使用mmWave Studio默认参数) -global parameter; -parameter = generateParameter(); -Range_Res=parameter.c/(2*parameter.BandwidthValid); %距离分辨率 -Range_Index=Range_Res*(1:parameter.rangeBin); -Speed_Res=parameter.lambda/(2*parameter.dopplerBin*parameter.Tc); -Speed_Index=(-parameter.dopplerBin/2:1:parameter.dopplerBin/2-1)*Speed_Res; -Azimuth_Index=(-parameter.angleBin/2:1:parameter.angleBin/2-1); -global frame; -frame = 1; %第frame帧 - -%% 读取原始ADC数据 -fname='C:\ti\mmwave_studio_02_01_01_00\mmWaveStudio\PostProc\adc_data.bin'; -data_radar=DCA1000_Read_Data(fname); - -%% 距离FFT -range_win = hamming(parameter.Samples); %加海明窗 -doppler_win = hamming(parameter.Chirps); -range_profile = zeros(parameter.Samples,parameter.Chirps,parameter.txNum*parameter.rxNum); -for k=1:parameter.txNum*parameter.rxNum - for m=1:parameter.Chirps - temp=data_radar(:,m,k).*range_win; %加窗函数 - temp_fft=fft(temp,parameter.rangeBin); %对每个chirp做N点FFT - range_profile(:,m,k)=temp_fft; - end -end - -%% 多普勒FFT -speed_profile = zeros(parameter.Samples,parameter.Chirps,parameter.txNum*parameter.rxNum); -for k=1:parameter.rxNum - for n=1:parameter.rangeBin - temp=range_profile(n,:,k).*(doppler_win)'; - temp_fft=fftshift(fft(temp,parameter.dopplerBin)); %对rangeFFT结果进行M点FFT - speed_profile(n,:,k)=temp_fft; - end -end - -%% 方位角FFT -angle_profile = zeros(parameter.Samples,parameter.Chirps,parameter.angleBin); -for n=1:parameter.rangeBin %range - for m=1:parameter.dopplerBin %chirp - temp=speed_profile(n,m,:); - temp=temp(1:8); - temp_fft=fftshift(fft(temp,parameter.angleBin)); %对2D FFT结果进行Q点FFT - angle_profile(n,m,:)=temp_fft; - end -end - -%% 绘制2D FFT的三维视图 -figure(1); -speed_profile_temp = reshape(speed_profile(:,:,1),parameter.rangeBin,parameter.dopplerBin); -speed_profile_Temp = speed_profile_temp'; -[X,Y]=meshgrid((0:parameter.rangeBin-1)*parameter.Fs*parameter.c/parameter.rangeBin/2/parameter.Slope,(-parameter.dopplerBin/2:parameter.dopplerBin/2-1)*parameter.lambda/parameter.Tc/parameter.dopplerBin/2); -mesh(X,Y,(abs(speed_profile_Temp))); -xlabel('距离(m)');ylabel('速度(m/s)');zlabel('信号幅值'); -title('2D FFT处理三维视图'); -xlim([0 (parameter.rangeBin-1)*parameter.Fs*parameter.c/parameter.rangeBin/2/parameter.Slope]); ylim([(-parameter.dopplerBin/2)*parameter.lambda/parameter.Tc/parameter.dopplerBin/2 (parameter.dopplerBin/2-1)*parameter.lambda/parameter.Tc/parameter.dopplerBin/2]); - -%% 得到Range-Azimuth热力图 -angle_profile_display=abs(angle_profile); -angle_profile_display=squeeze(sum(angle_profile_display,2)); -figure(2); -imagesc(Azimuth_Index,Range_Index,angle_profile_display); -set(gca,'YDir','normal'); -title('Range-Azimuth Heatmap', 'FontWeight', 'bold'); -xlabel('Azimuth(°)'); -ylabel('Range(m)');