À×´ïϵͳ·ÂÕæÉè¼Æ±¨¸æ¶þ - ͼÎÄ

À×´ïϵͳ·ÂÕæÉè¼Æ±¨¸æ

pxx2=abs(fft(xdata(401:800),Ns).^2)/Ns; pxx3=abs(fft(xdata(801:1200),Ns).^2)/Ns; pxx4=abs(fft(xdata(1201:1600),Ns).^2)/Ns; pxx5=abs(fft(xdata(1601:2000),Ns).^2)/Ns; pxx=10*log10((pxx1+pxx2+pxx3+pxx4+pxx5)/5); f=(0:length(pxx)-1)/length(pxx);

subplot(313),plot(f,pxx);title('¹¦ÂÊÆ×¹À¼Æ');ylabel('·ù¶È(È¡¶ÔÊý)');xlabel('f');grid on;

µÚ 17 Ò³ ¹² 26 Ò³

À×´ïϵͳ·ÂÕæÉè¼Æ±¨¸æ

Éè¼Æ±¨¸æÈýʵÏÖ´úÂë

close all; clear all; clc;

%%%%%%²úÉúÀ×´ï·¢ÉäÐźÅ%%%%%%%%%%%%%%%%%% f_frame=1e3; %À×´ï·¢ÉäÐźÅÖØÆµ

T_frame=1/f_frame; %À×´ï·¢ÉäÂö³åÖØ¸´ÖÜÆÚ code=[1,1,1,1,1,-1,-1,1,1,-1,1,-1,1]; λ°Í¿ËÂë tao=10e-6; %Âö³å¿í¶È10us fc=28e6; %µ÷ƵÐÅºÅÆðʼƵÂÊ f0=30e6; %ÖÐÆµÆµÂÊ fs=50e6; %²ÉÑùƵÂÊ50MHz ts=1/fs; %²ÉÑùÖÜÆÚ B=4e6; %µ÷ƵÐźŴø¿í

t_tao=0:1/fs:tao-1/fs; %ÔÚÒ»¸öÂö¿íÄڵIJÉÑùµãÊý N=length(t_tao); k=B/fs*2*pi/max(t_tao); n=length(code); pha=0; s=zeros(1,n*N); for i=1:n if code(i)==1 pha=pi; else pha=0; end

s(1,(i-1)*N+1:i*N)=cos(2*pi*fc*t_tao+k*cumsum(t_tao)+pha); end

%%%%%%%²úÉúÂö³åѹËõϵÊý%%%%%%%%%%%%%%%%%%%

µÚ 18 Ò³ ¹² 26 Ò³

À×´ïϵͳ·ÂÕæÉè¼Æ±¨¸æ

%¶Ôµ¥¸öÂö¿íÄÚÏßÐÔLMFÐźŽøÐÐÕý½»½âµ÷ n=0:N-1; s1=s(1:N);

local_oscillator_i=cos(n*f0/fs*2*pi); %i·±¾ÕñÐźŠlocal_oscillator_q=sin(n*f0/fs*2*pi); %q·±¾ÕñÐźŠfbb_i=local_oscillator_i.*s1; %i·½âµ÷ fbb_q=local_oscillator_q.*s1; %q·½âµ÷ window=chebwin(51,40); [b,a]=fir1(50,2*B/fs,window); fbb_i=[fbb_i,zeros(1,25)]; fbb_q=[fbb_q,zeros(1,25)]; fbb_i=filter(b,a,fbb_i); fbb_q=filter(b,a,fbb_q);

fbb_i=fbb_i(26:end); %½ØÈ¡ÓÐЧÐÅÏ¢ fbb_q=fbb_q(26:end); fbb=fbb_i+j*fbb_q;

%%²úÉúÀíÏëÏßÐÔµ÷ƵÂö³åѹËõÆ¥ÅäϵÊý%%%%%%%%%%%%%% M=65536;% ÔÚÒ»¸öÖÜÆÚÄÚ²ÉÑùÁË50000¸öµã£¬ËùÒÔÀûÓÃfft×ö65536µãfft£¨2^16) D=B*tao;

match_filter_1=ts*fliplr(conj(fbb))*sqrt(D)*2/tao;

match_filter_1_fft=fft(match_filter_1,M);%µÚÒ»´ÎÂö³åѹËõÆ¥Åä´¦ÀíϵÊý %%%%¶Ô»ìºÏµ÷ÖÆÐźŽøÐÐÕý½»½â%%%%%%%%%%%%%%% N=length(s); n=0:N-1;

local_oscillator_i=cos(n*f0/fs*2*pi); %i·±¾ÕñÐźŠlocal_oscillator_q=sin(n*f0/fs*2*pi); %q·±¾ÕñÐźŠfbb_i=local_oscillator_i.*s; %i·½âµ÷ fbb_q=local_oscillator_q.*s; %q·½âµ÷ window=chebwin(51,40); [b,a]=fir1(50,0.5,window);

µÚ 19 Ò³ ¹² 26 Ò³

À×´ïϵͳ·ÂÕæÉè¼Æ±¨¸æ

fbb_i=[fbb_i,zeros(1,25)]; fbb_q=[fbb_q,zeros(1,25)]; fbb_i=filter(b,a,fbb_i); fbb_q=filter(b,a,fbb_q);

fbb_i=fbb_i(26:end); %½ØÈ¡ÓÐЧÐÅÏ¢ fbb_q=fbb_q(26:end); signal=fbb_i+j*fbb_q;

signal_fft=fft(signal,M);

pc_result_fft=signal_fft.*match_filter_1_fft; pc_result=ifft(pc_result_fft,M); t=tao*length(code);

match_filter_2=2*ts*fliplr(conj(pc_result))*2/t;

match_filter_2_fft=fft(match_filter_2,M);%µÚ¶þ´ÎÂö³åѹËõÆ¥Åä´¦ÀíϵÊý

clear local_oscillator_i; clear local_oscillator_q; clear fbb;clear fbb_q;clear fbb_i; clear match_filter_1; clear match_filter_2; clear signal; clear signal_fft; clear pc_result; clear pc_result_fft;

%%%²úÉúÀ×´ï»Ø²¨Ðźţº¶¯Ä¿±ê·´É仨²¨+¾²Ä¿±ê·´É仨²¨+ÈðÀûÔÓ²¨+ÔëÉù N_echo_frame=18; %±¾³ÌÐòÉè¼ÆÎª¶Ô18¸öÂö³å½øÐвÉÑù

%%¶¯Ä¿±ê·´É仨²¨ÐźÅ%%%%%%%%%%%%%%%%%%%%

µÚ 20 Ò³ ¹² 26 Ò³

ÁªÏµ¿Í·þ£º779662525#qq.com(#Ìæ»»Îª@)