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

📄 adaptive_main.m

📁 LCMV算法智能天线Matlab仿真程序,非常好用
💻 M
字号:

%this function creat the signal source
Pd=2000;
Fd=1;
Fs=4*Fd;
R=0.5;
Delay=5;
No=1;
m=2;
x1 = randint(Pd,1,m);
x2 = randint(Pd,1,m);
y1 = modmap(x1,Fd,Fs,'qask',m);
y2 = modmap(x1,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);
s1=amodce(rcv_a1,10, 'qam');
s2=amodce(rcv_a2,10, 'qam');
save sig_dat s1 s2;

%signal received by the antennas

j=sqrt(-1);
angle1=30;angle2=-60;
th=[angle1; angle2];
nn=1024;
SN1=-20; SN2=20;
sn=[SN1; SN2];
deg2rad=pi/180;

% signal_to_noise ration adjust 

load sig_dat
tt=1:nn;

S=[s1(tt).';s2(tt).'];
nr=randn(m,nn); % creat a m*nn random matrix
ni=randn(m,nn);
U=nr+j*ni;%  noise signals at the antenna array
Ps=S*S'/nn;
ps=diag(Ps); %返回Ps的主对角元素
refp=2*10.^(sn/10);
tmp=sqrt(refp./ps);
S2=diag(tmp)*S;

%control matrix
tmp=-i*pi*sin(th'*deg2rad);
tmp2=[0:m-1 ]';
a2=tmp2*tmp;
A=exp(a2);
X=A*S2+U;

% the correlative matrix of the signals received by antennas

Rxx=X*X'/nn;
Rinv=inv(Rxx);

% calculate the w_lms
rxd=X*S2(1,:)'/nn; % X与矩阵S2的第一行相乘;
% s1(tt) is selected as the desired signal

%calculate the w_lcmv
C=A(:,1);% 将矩阵A的第一列赋值给C
h=[1].';
w_lcmv=Rinv*C*inv(C'*Rinv*C)*h;

% Antenna Pattern output

k=[-90:90]';
tmp=-i*pi*sin(k'*deg2rad);
tmp2=[0:m-1]';
a2=tmp2*tmp;
Ap=exp(a2);

pattern2=abs(w_lcmv'*Ap).^2/2;
pdb2=10*log10(pattern2);
plot(k,pdb2);
axis([-90 90 -80 0]);
legend('LCMV(SNR1=-20,SNR2=20)');
xlabel('Angle[degree]');
ylabel ('Antenna Pattern');
grid





⌨️ 快捷键说明

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