• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-03
  • 语言: Matlab
  • 标签: RLS  matlab  simulink  

资源简介

本资源位实现RLS算法的链路和代码,仿真了不同条件下RLS算法的性能

资源截图

代码片段和文件信息

clc
clear all;
close all;

num_subcarrer = 1200;
ofdm_num=14;
frame_len=num_subcarrer*(ofdm_num-2);%%减2是因为要加2个参考信号的子载波
NFFT=2048;
N_in_RLS=30720;

global Xn;
global Pn;
global wn;

M = 10;%RLS横向滤波器的阶数
lamda=0.9999;%记忆因子
delta=1; %
Xn=zeros(M1);%进入滤波器中的M个数据组Xn
Pn=eye(MM)./delta;%初始化自相关矩阵的逆初始化为单位矩阵乘以一个很小的正实数,此处取1
wn=zeros(M1);%初始化滤波器系数。共有N_length个信号


%%%加参考信号
num_RS=600;
matrix_rs = zeros(num_RS20);                                          %一个无线帧的10个子帧包含的RS总数
for m = 1:20                                                             %在时隙的第1个和第5个OFDM符号添加参考信号
         matrix_rs( :m ) = RS_generator( (m-1)3 ); 
end
%参考信号资源映射到1200个资源元素
rs_map = zeros(num_subcarrer20);   %自干扰信号发送参考信号资源映射
for n=1:20
    for m=1:600
         rs_map( 2*mn ) = matrix_rs( mn ); 
    end
end
rs_data_map = zeros( num_subcarrer20 );   %有用信号发送参考信号资源映射
for n=1:20
    for m=1:600
       rs_data_map( (2*m-1)n ) = matrix_rs( mn ); 
    end
end

%%%资源映射填充0
num_filler = 2048 - num_subcarrer;                                     %一个无线帧填充0的行数目2048为IFFT点数
Dc_filler = zeros(1ofdm_num);                             %子帧直流子载波0填充,对应1个子帧的填充
map_filler1 = zeros(423ofdm_num);                         %子帧的1625到2047号子载波0填充
map_filler2 = zeros(424ofdm_num);                         %子帧的0到423号子载波0填充 

%%第3和第10个ofdm符号放参考信号
slot0_sf0 = 1:num_subcarrer; 

评论

共有 条评论