Interpretación del código de rango del radar de apertura sintética (4) hecho en casa

No entendí el código de rango al principio. No sé por qué el código de rango es similar al código de medición de velocidad Doppler anterior. Parece estar buscando ifft, es decir, calculando la diferencia de frecuencia. ¿Por qué la diferencia de frecuencia puede medir la distancia? ¿No medía la velocidad antes?

Más tarde, busqué primero la información de XX2206, porque el PPT indicaba que el resultado de la medición debería compararse con una salida de XX2206. Este pin de salida es una señal similar a una onda cuadrada.

Generador de señales XX2206:

Esta es la placa de desarrollo correspondiente: http://www.saxmcu.com/XR2206.htm 

Primero encontré la placa de desarrollo, pero no puedo entender por qué el pin 3 parece un puerto de entrada para ajustar la salida, pero la introducción dice que es un puerto de salida, pero esta placa se puede comprar más tarde y jugar con ella. Salida de osciloscopio y similares.

这 是 hoja de datos: https://pdf1.alldatasheetcn.com/datasheet-pdf/view/80496/EXAR/XR2206.html

Luego miré los datos del chip y encontré que el diagrama esquemático de este radar es básicamente un ejemplo de una hoja de datos. Aunque la hoja de datos también dice que este es un puerto de salida, el circuito es similar.

La información del chip finalmente dio el diagrama de circuito equivalente dentro del chip, que está compuesto por una pila de triodos de diodos.

Más tarde, leí el siguiente artículo y básicamente sé por qué.

http://www.docin.com/p-2048157065.html

También hay una imagen con más detalles.

https://www.sohu.com/a/203541554_695278

 

Si se trata de una señal de chirrido, debido a la diferencia de tiempo entre la transmisión y la recepción, las dos señales de chirrido tienen frecuencias diferentes en el mezclador. El resultado de salida es una señal de tono único. La frecuencia corresponde a la diferencia de frecuencia entre los dos chirridos, que puede reflejar la diferencia entre ellos. ¡Qué retraso! Pero el resultado de este cálculo supone que el objeto reflectante tiene prohibido moverse, es decir, no hay desplazamiento Doppler. Si el objeto reflectante está en movimiento, se generará otra diferencia de frecuencia, de modo que la medición de velocidad y distancia se acoplará, lo que significa que habrá problemas.

Por eso, en el experimento de medición de velocidad anterior, ya sea SDR o radar de hardware, la fuente de la señal es una onda cosenoidal de frecuencia fija (CW), no un chip.

 

Por supuesto, la medición de la velocidad y la medición de la distancia se pueden lograr al mismo tiempo de alguna manera. En este momento, se usa la onda triangular, porque el cambio de frecuencia de la onda triangular es opuesto durante el proceso ascendente y descendente, pero el cambio de frecuencia del desplazamiento Doppler es constante. Los dos cambios de frecuencia se pueden separar de esta forma.

Pero en nuestro experimento, es solo una señal de rampa, una onda de diente de sierra, no una onda triangular, por lo que ahora solo podemos medir la distancia. Además, es necesario encontrar el lugar donde comienza la onda de diente de sierra al medir la distancia, por lo que se necesita la señal de sincronización de 11 pines.

Al medir la frecuencia de la señal de salida mixta de las dos señales de chirp, puede saber cuánto están desplazadas las dos señales de chirp y puede calcular la distancia. La distancia también se obtiene midiendo la frecuencia, por lo que se puede lograr usando ifft.

clear all;
close all;

%read the raw data .wave file here
[Y,FS,NBITS] = wavread('running_outside_20ms.wav');

%constants
c = 3E8; %(m/s) speed of light

%radar parameters
Tp = 20E-3; %(s) pulse time
N = Tp*FS; %# of samples per pulse
fstart = 2260E6; %(Hz) LFM start frequency for example
fstop = 2590E6; %(Hz) LFM stop frequency for example
%fstart = 2402E6; %(Hz) LFM start frequency for ISM band
%fstop = 2495E6; %(Hz) LFM stop frequency for ISM band
BW = fstop-fstart; %(Hz) transmti bandwidth
f = linspace(fstart, fstop, N/2); %instantaneous transmit frequency

%range resolution
rr = c/(2*BW);
max_range = rr*N/2;

%the input appears to be inverted
trig = -1*Y(:,1);
s = -1*Y(:,2);
clear Y;

%parse the data here by triggering off rising edge of sync pulse
count = 0;
thresh = 0;
start = (trig > thresh);
for ii = 100:(size(start,1)-N)
    if start(ii) == 1 & mean(start(ii-11:ii-1)) == 0
        %start2(ii) = 1;
        count = count + 1;
        sif(count,:) = s(ii:ii+N-1);
        time(count) = ii*1/FS;
    end
end
%check to see if triggering works
% plot(trig,'.b');
% hold on;si
% plot(start2,'.r');
% hold off;
% grid on;

%subtract the average
ave = mean(sif,1);
for ii = 1:size(sif,1);
    sif(ii,:) = sif(ii,:) - ave;
end

zpad = 8*N/2;

%RTI plot
figure(10);
v = dbv(ifft(sif,zpad,2));
S = v(:,1:size(v,2)/2);
m = max(max(v));
imagesc(linspace(0,max_range,zpad),time,S-m,[-80, 0]);
colorbar;
ylabel('time (s)');
xlabel('range (m)');
title('RTI without clutter rejection');

%2 pulse cancelor RTI plot
figure(20);
sif2 = sif(2:size(sif,1),:)-sif(1:size(sif,1)-1,:);
v = ifft(sif2,zpad,2);
S=v;
R = linspace(0,max_range,zpad);
for ii = 1:size(S,1)
    %S(ii,:) = S(ii,:).*R.^(3/2); %Optional: magnitude scale to range
end
S = dbv(S(:,1:size(v,2)/2));
m = max(max(S));
imagesc(R,time,S-m,[-80, 0]);
colorbar;
ylabel('time (s)');
xlabel('range (m)');
title('RTI with 2-pulse cancelor clutter rejection');

% %2 pulse mag only cancelor
% figure(30);
% clear v;
% for ii = 1:size(sif,1)-1
%     v1 = abs(ifft(sif(ii,:),zpad));
%     v2 = abs(ifft(sif(ii+1,:),zpad));
%     v(ii,:) = v2-v1;
% end
% S=v;
% R = linspace(0,max_range,zpad);
% for ii = 1:size(S,1)
%     S(ii,:) = S(ii,:).*R.^(3/2); %Optional: magnitude scale to range
% end
% S = dbv(S(:,1:size(v,2)/2));
% m = max(max(S));
% imagesc(R,time,S-m,[-20, 0]);
% colorbar;
% ylabel('time (s)');
% xlabel('range (m)');
% title('RTI with 2-pulse mag only cancelor clutter rejection');

Ahora mira el código. Se puede ver que el ancho de banda es de unos 300MHz (2590-2260), y el ancho de banda es inversamente proporcional a la resolución del rango.Si usamos LimeSDR como radar, la resolución se reducirá 5 veces.

Esta vez también se utilizan los datos del canal izquierdo recopilados por la tarjeta de sonido, denominados trig, y el canal derecho se almacena en s.

start = (trig> thresh);
no entendí esta oración al principio, pero luego me enteré de que en realidad es una función. Es decir, compare cada trig (el valor del canal izquierdo), si es mayor que thresh es mayor que 0 y start es 1, en caso contrario start es 0. De esta manera, cuando la onda cuadrada está por encima del eje horizontal, el inicio es todo 1 y debajo del eje horizontal es todo 0.

El siguiente bucle busca la posición de ii. Los 11 valores de inicio antes de esta posición son todos 0, y después de ii, el inicio es 1, lo que significa que la onda cuadrada frente a esta posición está por debajo del eje horizontal y la onda cuadrada está por encima del eje horizontal en esta posición. , Entonces este valor ii es la posición inicial de la forma de onda que queremos guardar, y la longitud de la forma de onda está fijada en N = 20ms. Córtalo de la posición correspondiente de la matriz sy guárdalo en sif.

Debido a que se pueden interceptar varios datos que cumplen con los requisitos, cada uno se almacena en una fila y se cuenta el número de fila.

Este sif es la señal después de la mezcla de chirp. Luego, elimine el componente dc de sif y luego haga una transformación ifft en sif para encontrar la frecuencia de la señal después de la mezcla de chirp, que corresponde a la distancia.

El siguiente cancelador de 2 pulsos tiene en cuenta el resultado de las señales de salida mixtas de los dos segmentos adyacentes, y la imagen de salida es más clara.

Creo que puedo usar gnuradio en lugar de matlab para hacerlo, y gnuradio puede ingresar y leer datos directamente desde la línea de la tarjeta de sonido. De esta manera, el procesamiento de datos del radar de hardware también puede estar en gnuradio. Pero si se trata de un radar SDR, aunque se puede generar el chirp, la onda cuadrada no sabe cómo mejorarlo. No conozco la relación entre la onda cuadrada y la rampa de XR2206, y parece que cuando la onda cuadrada está debajo del eje horizontal, la imagen de salida mixta es similar a la de la parte superior del eje horizontal, pero ¿está invertida?

Supongo que te gusta

Origin blog.csdn.net/shukebeta008/article/details/108388059
Recomendado
Clasificación