⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fft.m

📁 用matlab写的FFT程序。简单易懂!
💻 M
📖 第 1 页 / 共 5 页
字号:
close all;clear all;clc;
fo=57.6e6;                  %雷达中频信号频率
fd=100;                       %多普勒频率
r=6e4;                         %动目标距雷达的距离60km
fs= 52.8e6;                 %采样频率为40MHz
fc=4.8e6;                     %NCO的输出频率
ts=1/fs;
f_frame=1000;           %脉冲重复频率
T_frame=1/f_frame;  %脉冲重复周期
tao=1e-6;                    %脉冲宽度为1us
c=3e8;                         %光速
f=9370e6;                   %雷达发射频率
p=c/f;                           %雷达发射信号波长
pha=4*pi*r/p;              %动目标的初始相位

pha1=pi*(rand-rand);        %回波1的随机相位
pha2=pi*(rand-rand);        %回波2的随机相位
pha3=pi*(rand-rand);        %回波3的随机相位
pha4=pi*(rand-rand);        %回波4的随机相位
pha5=pi*(rand-rand);        %回波5的随机相位
pha6=pi*(rand-rand);        %回波6的随机相位
pha7=pi*(rand-rand);        %回波7的随机相位
pha8=pi*(rand-rand);        %回波8的随机相位
pha9=pi*(rand-rand);        %回波9的随机相位
pha10=pi*(rand-rand);        %回波1的随机相位
pha11=pi*(rand-rand);        %回波2的随机相位
pha12=pi*(rand-rand);        %回波3的随机相位
pha13=pi*(rand-rand);        %回波4的随机相位
pha14=pi*(rand-rand);        %回波5的随机相位
pha15=pi*(rand-rand);        %回波6的随机相位
pha16=pi*(rand-rand);        %回波7的随机相位
pha17=pi*(rand-rand);        %回波8的随机相位
pha18=pi*(rand-rand);        %回波9的随机相位
pha19=pi*(rand-rand);        %回波1的随机相位
pha20=pi*(rand-rand);        %回波2的随机相位
pha21=pi*(rand-rand);        %回波3的随机相位
pha22=pi*(rand-rand);        %回波4的随机相位
pha23=pi*(rand-rand);        %回波5的随机相位
pha24=pi*(rand-rand);        %回波6的随机相位
pha25=pi*(rand-rand);        %回波7的随机相位
pha26=pi*(rand-rand);        %回波8的随机相位
pha27=pi*(rand-rand);        %回波9的随机相位
pha28=pi*(rand-rand);        %回波1的随机相位
pha29=pi*(rand-rand);        %回波2的随机相位
pha30=pi*(rand-rand);        %回波3的随机相位
pha31=pi*(rand-rand);        %回波4的随机相位
pha32=pi*(rand-rand);        %回波2的随机相位
pha33=pi*(rand-rand);        %回波3的随机相位
pha34=pi*(rand-rand);        %回波4的随机相位
pha35=pi*(rand-rand);        %回波5的随机相位
pha36=pi*(rand-rand);        %回波6的随机相位
pha37=pi*(rand-rand);        %回波7的随机相位
pha38=pi*(rand-rand);        %回波8的随机相位
pha39=pi*(rand-rand);        %回波9的随机相位
pha40=pi*(rand-rand);        %回波1的随机相位
pha41=pi*(rand-rand);        %回波1的随机相位
pha42=pi*(rand-rand);        %回波2的随机相位
pha43=pi*(rand-rand);        %回波3的随机相位
pha44=pi*(rand-rand);        %回波4的随机相位
pha45=pi*(rand-rand);        %回波5的随机相位
pha46=pi*(rand-rand);        %回波6的随机相位
pha47=pi*(rand-rand);        %回波7的随机相位
pha48=pi*(rand-rand);        %回波8的随机相位
pha49=pi*(rand-rand);        %回波9的随机相位
pha50=pi*(rand-rand);        %回波1的随机相位
pha51=pi*(rand-rand);        %回波1的随机相位
pha52=pi*(rand-rand);        %回波2的随机相位
pha53=pi*(rand-rand);        %回波3的随机相位
pha54=pi*(rand-rand);        %回波4的随机相位
pha55=pi*(rand-rand);        %回波5的随机相位
pha56=pi*(rand-rand);        %回波6的随机相位
pha57=pi*(rand-rand);        %回波7的随机相位
pha58=pi*(rand-rand);        %回波8的随机相位
pha59=pi*(rand-rand);        %回波9的随机相位
pha60=pi*(rand-rand);        %回波1的随机相位
pha61=pi*(rand-rand);        %回波1的随机相位
pha62=pi*(rand-rand);        %回波2的随机相位
pha63=pi*(rand-rand);        %回波3的随机相位
pha64=pi*(rand-rand);        %回波4的随机相位
 
t_clutter=700e-6;         %杂波位置
t_clutter_pluse=1e-6;
sigma=2;                    %瑞利分布参数sigma
t1=0:ts:t_clutter_pluse-ts;
rand('state',0);            %把均匀分布伪随机发生器置为0状态
u=rand(1,length(t1));
echo_clutter=0.8*sqrt(2*log(1./u))*sigma;    %产生瑞利杂波
s_echo_clutter=[zeros(1,t_clutter/ts),echo_clutter,zeros(1,(T_frame-t_clutter)/ts-length(echo_clutter))];

%********************************************************************第一路*************************************************************************%
n1=0:ts:tao-ts;
spt=ones(1,length(n1)); 
n=0:ts:T_frame-ts;
s11=[spt, zeros(1,(T_frame/ts-length(spt)))];
s1=10*cos(2*pi*fo*n-pha+pha1);
signal_1=s11.*s1;
figure(1),subplot(211),plot((0:ts:T_frame-ts),signal_1);
title('雷达中频信号-1')

n=0:ts:T_frame-ts;
t_mobj=2*r/c;              % 动目标位置
echo_mobj1=[zeros(1,t_mobj/ts),spt,zeros(1,(T_frame-t_mobj)/ts-length(spt))];
s_doppler1=10*cos(2*pi*(fo+fd)*n-pha+pha1);
r1=s_doppler1.*echo_mobj1;
s_echo11=awgn(r1,20);                      %加了白噪声的回波信号
s_echo_1=s_echo11+s_echo_clutter;
subplot(212),plot((0:ts:T_frame-ts),s_echo_1);
title('回波信号-1')


%%%%%%发射信号1正交解调 %%%%%%
local_oscillator_i=cos(n*fc*2*pi);         % I路本振信号
local_oscillator_q=sin(n*fc*2*pi);         % Q路本振信号
t_i1=local_oscillator_i.*signal_1;           % I路解调
t_q1=local_oscillator_q.*signal_1;        % Q路解调

b=fir1(20,0.2);
tran_i1=filter(b,1,t_i1);
tran_q1=filter(b,1,t_q1);

tran_1=tran_i1+i*tran_q1;   %发射复信号1

%%%%%%%%%回波信号1正交解调%%%%%%%%%%%      

s_echo_i1=local_oscillator_i.*s_echo_1;           % I路解调
s_echo_q1=local_oscillator_q.*s_echo_1;        % Q路解调
echo_i1=filter(b,1,s_echo_i1);
echo_q1=filter(b,1,s_echo_q1);

echo_1=echo_i1+i*echo_q1;   %回波复信号1

tran_1_cn=conj(tran_1);
return_1=conv(tran_1_cn,echo_1);

%********************************************************************第二路*************************************************************************%
n2=0:ts:tao-ts;
spt=ones(1,length(n2)); 
n=0:ts:T_frame-ts;
s22=[spt, zeros(1,(T_frame/ts-length(spt)))];
s2=10*cos(2*pi*fo*(n-T_frame)-pha+pha2);
signal_2=s22.*s2;

n=0:ts:T_frame-ts;
t_mobj=2*r/c;              % 动目标位置
echo_mobj2=[zeros(1,t_mobj/ts),spt,zeros(1,(T_frame-t_mobj)/ts-length(spt))];
s_doppler2=10*cos(2*pi*(fo+fd)*(n-T_frame)-pha+pha2);
r2=s_doppler2.*echo_mobj2;
s_echo22=awgn(r2,20);                      %加了白噪声的回波信号
s_echo_2=s_echo22+s_echo_clutter;

%%%%%%发射信号2正交解调 %%%%%%
t_i2=local_oscillator_i.*signal_2;           % I路解调
t_q2=local_oscillator_q.*signal_2;        % Q路解调

b=fir1(20,0.2);
tran_i2=filter(b,1,t_i2);
tran_q2=filter(b,1,t_q2);

tran_2=tran_i2+i*tran_q2;   %发射复信号2

%%%%%%%%%回波信号2正交解调%%%%%%%%%%%      
s_echo_i2=local_oscillator_i.*s_echo_2;           % I路解调
s_echo_q2=local_oscillator_q.*s_echo_2;        % Q路解调
echo_i2=filter(b,1,s_echo_i2);
echo_q2=filter(b,1,s_echo_q2);

echo_2=echo_i2+i*echo_q2;   %回波复信号2

tran_2_cn=conj(tran_2);
return_2=conv(tran_2_cn,echo_2);

%********************************************************************第三路*************************************************************************%
n3=0:ts:tao-ts;
spt=ones(1,length(n3)); 
n=0:ts:T_frame-ts;
s33=[spt, zeros(1,(T_frame/ts-length(spt)))];
s3=10*cos(2*pi*fo*(n-2*T_frame)-pha+pha3);
signal_3=s33.*s3;

n=0:ts:T_frame-ts;
t_mobj=2*r/c;              % 动目标位置
echo_mobj3=[zeros(1,t_mobj/ts),spt,zeros(1,(T_frame-t_mobj)/ts-length(spt))];
s_doppler3=10*cos(2*pi*(fo+fd)*(n-2*T_frame)-pha+pha3);
r3=s_doppler3.*echo_mobj3;
s_echo33=awgn(r3,20);                      %加了白噪声的回波信号
s_echo_3=s_echo33+s_echo_clutter;

%%%%%%发射信号3正交解调 %%%%%%
t_i3=local_oscillator_i.*signal_3;           % I路解调
t_q3=local_oscillator_q.*signal_3;        % Q路解调

b=fir1(20,0.2);
tran_i3=filter(b,1,t_i3);
tran_q3=filter(b,1,t_q3);

tran_3=tran_i3+i*tran_q3;   %发射复信号3

%%%%%%%%%回波信号3正交解调%%%%%%%%%%%      
s_echo_i3=local_oscillator_i.*s_echo_3;           % I路解调
s_echo_q3=local_oscillator_q.*s_echo_3;        % Q路解调
echo_i3=filter(b,1,s_echo_i3);
echo_q3=filter(b,1,s_echo_q3);

echo_3=echo_i3+i*echo_q3;   %回波复信号3

tran_3_cn=conj(tran_3);
return_3=conv(tran_3_cn,echo_3);

%********************************************************************第四路*************************************************************************%
n4=0:ts:tao-ts;
spt=ones(1,length(n4)); 
n=0:ts:T_frame-ts;
s44=[spt, zeros(1,(T_frame/ts-length(spt)))];
s4=10*cos(2*pi*fo*(n-3*T_frame)-pha+pha4);
signal_4=s44.*s4;

n=0:ts:T_frame-ts;
t_mobj=2*r/c;              % 动目标位置
echo_mobj4=[zeros(1,t_mobj/ts),spt,zeros(1,(T_frame-t_mobj)/ts-length(spt))];
s_doppler4=10*cos(2*pi*(fo+fd)*(n-3*T_frame)-pha+pha4);
r4=s_doppler4.*echo_mobj4;
s_echo44=awgn(r4,20);                      %加了白噪声的回波信号
s_echo_4=s_echo44+s_echo_clutter;

%%%%%%发射信号4正交解调 %%%%%%
t_i4=local_oscillator_i.*signal_4;           % I路解调
t_q4=local_oscillator_q.*signal_4;        % Q路解调

b=fir1(20,0.2);
tran_i4=filter(b,1,t_i4);
tran_q4=filter(b,1,t_q4);

tran_4=tran_i4+i*tran_q4;   %发射复信号4

%%%%%%%%%回波信号4正交解调%%%%%%%%%%%      
s_echo_i4=local_oscillator_i.*s_echo_4;           % I路解调
s_echo_q4=local_oscillator_q.*s_echo_4;        % Q路解调
echo_i4=filter(b,1,s_echo_i4);
echo_q4=filter(b,1,s_echo_q4);

echo_4=echo_i4+i*echo_q4;   %回波复信号4

tran_4_cn=conj(tran_4);
return_4=conv(tran_4_cn,echo_4);

%********************************************************************第五路*************************************************************************%
n5=0:ts:tao-ts;
spt=ones(1,length(n5)); 
n=0:ts:T_frame-ts;
s55=[spt, zeros(1,(T_frame/ts-length(spt)))];
s5=10*cos(2*pi*fo*(n-4*T_frame)-pha+pha5);
signal_5=s55.*s5;

n=0:ts:T_frame-ts;
t_mobj=2*r/c;              % 动目标位置
echo_mobj5=[zeros(1,t_mobj/ts),spt,zeros(1,(T_frame-t_mobj)/ts-length(spt))];
s_doppler5=10*cos(2*pi*(fo+fd)*(n-4*T_frame)-pha+pha5);
r5=s_doppler5.*echo_mobj5;
s_echo55=awgn(r5,20);                      %加了白噪声的回波信号
s_echo_5=s_echo55+s_echo_clutter;

%%%%%%发射信号5正交解调 %%%%%%
t_i5=local_oscillator_i.*signal_5;           % I路解调
t_q5=local_oscillator_q.*signal_5;        % Q路解调

b=fir1(20,0.2);
tran_i5=filter(b,1,t_i5);
tran_q5=filter(b,1,t_q5);

tran_5=tran_i5+i*tran_q5;   %发射复信号5

%%%%%%%%%回波信号5正交解调%%%%%%%%%%%      
s_echo_i5=local_oscillator_i.*s_echo_5;           % I路解调
s_echo_q5=local_oscillator_q.*s_echo_5;        % Q路解调
echo_i5=filter(b,1,s_echo_i5);
echo_q5=filter(b,1,s_echo_q5);

echo_5=echo_i5+i*echo_q5;   %回波复信号5

tran_5_cn=conj(tran_5);
return_5=conv(tran_5_cn,echo_5);

%********************************************************************第六路*************************************************************************%
n6=0:ts:tao-ts;
spt=ones(1,length(n6)); 
n=0:ts:T_frame-ts;
s66=[spt, zeros(1,(T_frame/ts-length(spt)))];
s6=10*cos(2*pi*fo*(n-5*T_frame)-pha+pha6);
signal_6=s66.*s6;

n=0:ts:T_frame-ts;
t_mobj=2*r/c;              % 动目标位置
echo_mobj6=[zeros(1,t_mobj/ts),spt,zeros(1,(T_frame-t_mobj)/ts-length(spt))];
s_doppler6=10*cos(2*pi*(fo+fd)*(n-5*T_frame)-pha+pha6);
r6=s_doppler6.*echo_mobj6;
s_echo66=awgn(r6,20);                      %加了白噪声的回波信号
s_echo_6=s_echo66+s_echo_clutter;

%%%%%%发射信号6正交解调 %%%%%%
t_i6=local_oscillator_i.*signal_6;           % I路解调
t_q6=local_oscillator_q.*signal_6;        % Q路解调

b=fir1(20,0.2);
tran_i6=filter(b,1,t_i6);
tran_q6=filter(b,1,t_q6);

tran_6=tran_i6+i*tran_q6;   %发射复信号6

%%%%%%%%%回波信号6正交解调%%%%%%%%%%%      
s_echo_i6=local_oscillator_i.*s_echo_6;           % I路解调
s_echo_q6=local_oscillator_q.*s_echo_6;        % Q路解调
echo_i6=filter(b,1,s_echo_i6);
echo_q6=filter(b,1,s_echo_q6);

echo_6=echo_i6+i*echo_q6;   %回波复信号2

tran_6_cn=conj(tran_6);
return_6=conv(tran_6_cn,echo_6);
 
%********************************************************************第七路*************************************************************************%
n7=0:ts:tao-ts;
spt=ones(1,length(n7)); 
n=0:ts:T_frame-ts;
s77=[spt, zeros(1,(T_frame/ts-length(spt)))];
s7=10*cos(2*pi*fo*(n-6*T_frame)-pha+pha7);
signal_7=s77.*s7;

n=0:ts:T_frame-ts;
t_mobj=2*r/c;              % 动目标位置
echo_mobj7=[zeros(1,t_mobj/ts),spt,zeros(1,(T_frame-t_mobj)/ts-length(spt))];
s_doppler7=10*cos(2*pi*(fo+fd)*(n-6*T_frame)-pha+pha7);
r7=s_doppler7.*echo_mobj7;
s_echo77=awgn(r7,20);                      %加了白噪声的回波信号
s_echo_7=s_echo77+s_echo_clutter;

%%%%%%发射信号7正交解调 %%%%%%
t_i7=local_oscillator_i.*signal_7;           % I路解调
t_q7=local_oscillator_q.*signal_7;        % Q路解调

b=fir1(20,0.2);
tran_i7=filter(b,1,t_i7);
tran_q7=filter(b,1,t_q7);

tran_7=tran_i7+i*tran_q7;   %发射复信号7

%%%%%%%%%回波信号7正交解调%%%%%%%%%%%      
s_echo_i7=local_oscillator_i.*s_echo_7;           % I路解调
s_echo_q7=local_oscillator_q.*s_echo_7;        % Q路解调
echo_i7=filter(b,1,s_echo_i7);
echo_q7=filter(b,1,s_echo_q7);

echo_7=echo_i7+i*echo_q7;   %回波复信号7

tran_7_cn=conj(tran_7);
return_7=conv(tran_7_cn,echo_7);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -