Interprétation du code de portée du radar à synthèse d'ouverture (4) fait maison

Je n'ai pas compris le code de plage au début. Je ne sais pas pourquoi le code de plage ressemble au précédent code de mesure de la vitesse Doppler. Il semble rechercher un ifft, c'est-à-dire calculer la différence de fréquence. Pourquoi la différence de fréquence peut-elle mesurer la distance? N'a-t-il pas mesuré la vitesse avant?

Plus tard, j'ai d'abord cherché les informations de XX2206, car le PPT indiquait que le résultat de la mesure devait être comparé à une sortie de XX2206. Cette broche de sortie est un signal similaire à une onde carrée.

Générateur de signaux XX2206:

Voici la carte de développement correspondante: http://www.saxmcu.com/XR2206.htm 

J'ai d'abord trouvé la carte de développement, mais je ne comprends pas pourquoi la broche 3 ressemble à un port d'entrée pour ajuster la sortie, mais l'introduction dit que c'est un port de sortie, mais cette carte peut être achetée plus tard et utilisée avec elle. Sortie d'oscilloscope et similaire.

这 是 fiche technique :https://pdf1.alldatasheetcn.com/datasheet-pdf/view/80496/EXAR/XR2206.html

Ensuite, j'ai regardé les données de la puce et j'ai trouvé que le diagramme schématique de ce radar est essentiellement un exemple de fiche technique.Bien que la fiche technique indique également qu'il s'agit d'un port de sortie, le circuit est similaire.

Les informations de la puce ont finalement donné le schéma de circuit équivalent à l'intérieur de la puce, qui est composée d'un empilement de diodes triodes.

Plus tard, j'ai lu l'article suivant et je sais pourquoi.

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

Il y a aussi un article avec des images, qui est plus détaillé.

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

 

S'il s'agit d'un signal de chirp, en raison de la différence de temps entre l'émission et la réception, les deux signaux de chirp ont des fréquences différentes dans le mélangeur. Le résultat de sortie est un signal de tonalité unique. La fréquence correspond à la différence de fréquence entre les deux chirps, qui peut refléter la différence entre eux. Quel retard. Mais ce résultat de calcul suppose qu'il est interdit à l'objet réfléchissant de bouger, c'est-à-dire qu'il n'y a pas de décalage Doppler. Si l'objet réfléchissant est en mouvement, une autre différence de fréquence sera en effet générée, de sorte que la mesure de vitesse et de distance sera couplée, ce qui signifie qu'il y aura des problèmes.

C'est pourquoi l'expérience précédente de mesure de vitesse, qu'il s'agisse d'un SDR ou d'un radar matériel, la source du signal est une onde cosinusoïdale à fréquence fixe (CW), pas une puce.

 

Bien sûr, la mesure de la vitesse et la mesure de la distance peuvent être réalisées en même temps d'une manière ou d'une autre. À ce stade, l'onde triangulaire est utilisée, car le changement de fréquence de l'onde triangulaire est opposé pendant le processus de montée et de descente, mais le changement de fréquence du décalage Doppler est constant. Les deux changements de fréquence peuvent être séparés de cette manière.

Mais dans notre expérience, ce n'est qu'un signal de rampe, une onde en dents de scie, pas une onde triangulaire, donc maintenant nous ne pouvons mesurer que la distance. De plus, il est nécessaire de trouver l'endroit où l'onde en dents de scie commence lors de la mesure de distance, c'est pourquoi le signal de synchronisation à 11 broches est nécessaire.

En mesurant la fréquence du signal de sortie mélangé des deux signaux de chirp, vous pouvez savoir combien les deux signaux de chirp sont décalés, et vous pouvez calculer la distance. La distance est également obtenue en mesurant la fréquence, elle peut donc être obtenue en utilisant 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');

Regardez maintenant le code. On peut voir que la bande passante est d'environ 300 MHz (2590-2260), et la bande passante est inversement proportionnelle à la résolution de la distance. Si nous utilisons LimeSDR comme radar, la résolution sera réduite de 5 fois.

Cette fois, les données du canal gauche collectées par la carte son sont également utilisées, nommées trig, et le canal droit est stocké dans s.

start = (trig> thresh);
Je n'ai pas compris cette phrase au début, mais plus tard j'ai appris qu'il s'agissait en fait d'une fonction. C'est-à-dire, comparez chaque trig (la valeur du canal gauche). S'il est supérieur au seuil, il est supérieur à 0 et start vaut 1, sinon start vaut 0. De cette façon, lorsque l'onde carrée est au-dessus de l'axe horizontal, le début est égal à 1 et au-dessous de l'axe horizontal, il est égal à 0.

La boucle suivante recherche la position de ii. Les 11 valeurs de départ avant cette position sont toutes 0, et après ii, le départ est 1, ce qui signifie que l'onde carrée devant cette position est en dessous de l'axe horizontal et l'onde carrée est au-dessus de l'axe horizontal à cette position. , Alors cette valeur ii est la position de début de la forme d'onde que nous voulons enregistrer, et la longueur de la forme d'onde est fixée à N = 20 ms. Coupez-la à partir de la position correspondante du tableau s et stockez-la dans sif.

Étant donné que plusieurs éléments de données répondant aux exigences peuvent être interceptés, chaque élément est stocké dans une ligne et le numéro de ligne est count.

Ce sif est le signal après le mixage chirp. Ensuite, supprimez la composante continue de sif, puis effectuez une transformation ifft sur sif pour trouver la fréquence du signal après mixage chirp, qui correspond à la distance.

L'annuleur à 2 impulsions suivant prend en compte le résultat des signaux de sortie mélangés des deux segments adjacents, et l'image de sortie est plus claire.

Je pense que je peux utiliser gnuradio au lieu de matlab pour le faire, et gnuradio peut directement entrer et lire les données de la ligne de la carte son. De cette manière, le traitement des données du radar matériel peut également être en gnuradio. Mais s'il s'agit d'un radar SDR, bien que le chirp puisse être généré, l'onde carrée ne sait pas comment l'améliorer. Je ne connais pas la relation entre l'onde carrée et la rampe du XR2206, et il semble que lorsque l'onde carrée est en dessous de l'axe horizontal, l'image de sortie mélangée est similaire à celle du haut de l'axe horizontal, mais est-elle inversée?

Je suppose que tu aimes

Origine blog.csdn.net/shukebeta008/article/details/108388059
conseillé
Classement