资源简介
实现了OFDM系统的盲信道子空间信道估计,并用matlab描述了ber性能曲线
代码片段和文件信息
clear all;
close all;
%生成一个1*64的矩阵
for N=1:100
mod_in=randint(164);
%子载波个数16循环前缀个数4
%QPSK调制
mod_out=zeros(1length(mod_in)/2);
R=reshape(mod_in2length(mod_in)/2);
T=R‘ ;
B2D=bi2de(T‘left-msb‘)+1;
Temp=[-1-j -1+j 1-j 1+j];
for i=1:length(mod_in)/2
mod_out(i)=Temp(B2D(i))/sqrt(2);%归一化
end
%串并变换
E=reshape(mod_out2length(mod_out)/2);
%IFFT
f=ifft(E);
%并串
g=reshape(f132);
for i=1:32
g(i)=real(g(i));
end
a=g‘*g;
if N==1
l=a;
end
l=(a+l)/2;
end
%信道
m=[1 0.4 -0.7 0.5 0.1]; %5个
m1=zeros(14);
m2=zeros(14);
for i=1:4
m1(i)=m(i);
end
m2(1)=m1(1);
c0=toeplitz(m1m2);
m3=zeros(14);
m4=zeros(14);
u=5;
for i=2:5
u=u-1;
m4(u)=m(i);
end
m3(1)=m4(1);
c1=toeplitz(m3m4);
c3=zeros(44);
H=[c0 c3 c3 c1 c3 c3 c3 c3;c1 c0 c3 c3 c3 c3 c3 c3;c3 c1 c0 c3 c3 c3 c3 c3;c3 c3 c1 c0 c3 c3 c3 c3 ;c3 c3 c3 c1 c3 c3 c3 c0;c3 c3 c3 c3 c0 c3 c3 c1;c3 c3 c3 c3 c1 c0 c3 c3;c3 c3 c3 c3 c3 c1 c0 c3;c3 c3 c3 c3 c3 c3 c1 c0];
%接收信号自相关矩阵
out1=H*l*H‘;
%加高斯白噪声
snr=4;
SymCh = awgn(out1snr‘measured‘);
%svd分解
[USV] =svd(SymCh);
rank_l=rank(l);
b=U;
for i=1:rank_l;
b(:1)=[];
end
%b为噪声子空间特征向量36*4
%生成矩阵
A=zeros(14);
%b的第1列生成的A矩阵
for z=1:4:33
m3=zeros(14);
m4=zeros(14);
u=5;
e=z;
for n=1:4
u=u-1;
m4(u)=b(e1);
e=e+1;
end
m3(1)=m4(1);
temp=toeplitz(m3m4);
temp=fliplr(temp);
M=[temp;A];
if z==1
A11=M;
elseif z==5
A12=M;
elseif z==9
A13=M;
elseif z==13
A14=M;
elseif z==17
A15=M;
elseif z==21
A16=M;
elseif z==25
A17=M;
elseif z==29
A18=M;
elseif z==33
A19=M;
end
end
%b的第2列生成的A矩阵
for z=1:4:33
m3=zeros(14);
m4=zeros(14);
u=5;
e=z;
for n=1:4
u=u-1;
m4(u)=b(e2);
e=e+1;
end
m3(1)=m4(1);
temp=toeplitz(m3m4);
temp=fliplr(temp);
M=[temp;A];
if z==1
A21=M;
elseif z==5
A22=M;
elseif z==9
A23=M;
elseif z==13
A24=M;
elseif z==17
A25=M;
elseif z==21
A26=M;
elseif z==25
A27=M;
elseif z==29
A28=M;
elseif z==33
A29=M;
end
end
%b的第3列生成的A矩阵
for z=1:4:33
m3=zeros(14);
m4=zeros(14);
u=5;
e=z;
for n=1:4
u=u-1;
m4(u)=b(e3);
e=e+1;
end
m3(1)=m4(1);
temp=toeplitz(m3m4);
temp=fliplr(temp);
M=[temp;A];
if z==1
A31=M;
elseif z==5
A32=M;
elseif z==9
A33=M;
elseif z==13
A34=M;
elseif z==17
A35=M;
elseif z==21
A36=M;
elseif z==25
A37=M;
elseif z==29
A38=M;
elseif z==33
A39=M;
end
end
%b的第4列生成的A矩阵
for z=1:4:33
m3=zeros(14);
m4=zeros(14);
u=5;
e=z;
for n=1:4
u=u-1;
m4(u)=b(e4);
e=e+1;
end
m3(1)=m4(1);
temp=toeplitz(m3m4);
temp=fliplr(temp);
M=[temp;A];
if z==1
A41=M;
elseif z==5
A42=M;
elseif z==9
A43=M;
elseif z==13
A44=M;
elseif z==17
A45=M;
elseif z==21
A46=M;
elseif z==25
A47=M;
elseif z==29
A48=M;
elseif z==33
A49=M;
end
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 55 2018-08-27 11:33 OFDM盲信道估计_基于子空间的盲信道估计源代码\【源码使用必读】.url
文件 5894 2006-07-06 17:37 OFDM盲信道估计_基于子空间的盲信道估计源代码\基于子空间盲.m
目录 0 2018-08-30 08:52 OFDM盲信道估计_基于子空间的盲信道估计源代码
----------- --------- ---------- ----- ----
5949 3
相关资源
- 使用matlab的OFDM导频ls lmmse信道估计
-
使用MATLAB 2014a的Simuli
nk搭建的太阳能 - 灰色预测模型 MATLAB实现含具体数据
- 异步电机运行MATLAB仿真
- matlab函数大全
- ISARMATLAB仿真程序
- 基于matlab的车辆分类(更改图片集的
- 基于NSGAII多目标优化Matlab代码.zip
- matlab 矩阵增加一行或一列。
- Tikhonov正则化MATLAB程序
- 基于matlab的信号调频仿真
- 利用DOG算子实现图像特征提取中的角
- NSGA-II快速非支配排序遗传算法
- DCT、DWT数字水印技术-matlab代码183640
- pegasis+leachvsdeec
- matlab变分模态分解VMD
- 随机森林回归matlab代码
- QPSK与OQPSK数字调制方式MATLAB代码
- 计算光谱夹角的matlab代码,内有注释
- matlab实现人工鱼群算法测试函数
- 熵权法求权重 matlab程序
- 自动控制原理课程设计--用MATLAB进行控
- MD5算法_matlab版
- 多AUV目标搜素与围捕.zip
- 基于DS证据理论的信息融合代码
- 变分模态分解matlab
- 六种数字调制信号识别的matlab程序
- 滤波反投影fbp算法matlab
- 电弧炉MATLAB模型
- matlab中kdtree调用,搜索点云数据近邻
评论
共有 条评论