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

📄 dft1.m

📁 基于DFT的快速DOA估计
💻 M
字号:
function DFT1()

% 1D

clear;

%信源
%--------------------------------------------
Pd=2000;
Fd=1;% Fd is the sampling rate of the message signal.
Fs=4*Fd;
R=0.5;
Delay=5;
No=1;
M=4;
x1=randint(Pd,1,M);
x2=randint(Pd,1,M);
x3=randint(Pd,1,M);
y1=modmap(x1,Fd,Fs,'qask',M);
y2=modmap(x2,Fd,Fs,'qask',M);
y3=modmap(x3,Fd,Fs,'qask',M);
[rcv_a1,ti]=rcosflt(y1,Fd,Fs,'fir/sqrt/Fs',R,Delay);
[rcv_a2,ti]=rcosflt(y2,Fd,Fs,'fir/sqrt/Fs',R,Delay);
[rcv_a3,ti]=rcosflt(y3,Fd,Fs,'fir/sqrt/Fs',R,Delay);
s1=amodce(rcv_a1,10,'qam');
% s2=amodce(rcv_a2,10,'qam');
% s3=amodce(rcv_a3,10,'qam');
s2=s1;
s3=s1;

%--------------------------------------------

%全局变量定义
%-------------------------------------------- 
degrad=pi/180;
i=sqrt(-1);
M=8; %阵元数
K=3;
d=0.5;
th=[-30 10 45];%角度间隔小于10度,不能分辨
nn=1;%采样数
sn=[10;10;10];
   
%--------------------------------------------

%生成离散信号
%--------------------------------------------
S=[s1(1);s2(1);s3(1)];
nr=randn(M,nn);
ni=randn(M,nn);
Z=nr+i*ni; %每路噪声方差为2 ?.
Ps=S*S';%  (N*N)  
ps=diag(Ps);%平均功率(p*1)
refp=2*10.^(sn/10);%10*log10(S/N)=SNR
tmp=sqrt(refp./ps);
S2=diag(tmp)*S;%构造信号(N*nn),信噪比为sn
%--------------------------------------------

%协方差矩阵
%--------------------------------------------
jj = (-1)^0.5;
i = [0:M-1]';
k = [1:K];
A = exp(jj*2*pi*d*i*sin(th(k)*degrad));

        
% for j=1:N
%     for i=1:M
%         for k=1:d
%             A(M*(j-1)+i,k)=exp(jj*2*pi*((i-1)*cos(th(k))+(j-1)*sin(th(k)))*cos(fi(k)));
%         end
%     end
% end         % MN*d

X=A*S2+Z;%阵列接收信号  (MN*nn)     

NN = 10240; %  FFT
y = fft(X,NN);

result = SearchDFT1(y,NN,K,d)

⌨️ 快捷键说明

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