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

📄 pp.m

📁 OFDM系统中时域和频域波束形成算法
💻 M
字号:
function[pro]=PP(SNRindB,fd,buchang)
Q=4;
M=4;
N=64;
[s,d_pilot,preamble]=xinhao1;
U=xindao1(s,SNRindB,fd);
T=U(1:4,1:Q_preamble);
RX=zeros(4);
for i=1:Q_preamble
RX=RX+T(1:4,i)*T(1:4,i)';
end;
RX=RX/Q_preamble;
p=zeros(4,1);
for i=1:Q_preamble
p=p+T(1:4,i)*preamble(i)';
end
p=p/Q_preamble;
w=inv(RX)*p;
j=sqrt(-1);%产生4*64的傅立叶变换矩阵
F4_64=zeros(4,N);
for i=1:4
for k=1:64
F4_64(i,k)=exp((-j)*2*pi*(k-1)*(i-1)*16/N);
end
end
y1=zeros(1,N);
jieshou=zeros(1,N);
panjue=zeros(1,Q);
for l=(M_preamble+1):M
V=U(1:4,((l-1)*N+1):(l*N));
y1=w'*V;
Y1=zeros(1,N);%FFT变换
Y1=fft(y1,N);
for i=1:N%判决
if(real(Y1(i))>=0)
jieshou(i)=1;
else
jieshou(i)=-1;
end
end
panjue(1,((l-1)*N+1):l*N)=jieshou;
pilot=zeros(4,1);%提取解调后期望信号中的pilot
for i=1:4
pilot(i,1)=jieshou((i-1)*16+1);
end
d_pilot1=F4_64'*d_pilot(1:4,l);
pilot1=F4_64'*pilot;
w=w+2*buchang*V*(d_pilot1-pilot1);
end
for i=Q_preamble+1:Q%计算误码率
if(d1(i)~=panjue(i))
numo=numo+1;
end;
end
pro=numo/Q_data;

⌨️ 快捷键说明

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