function Q6_1_ErrorofChannelEstimation(block)
% Q5_1_Spread 用于扩频
setup(block);
%endfunction
function setup(block)
%% Register number of input and output ports
block.NumInputPorts = 2;
block.NumOutputPorts = 1;
%定义两个输入变量,第一个为PN序列周期
%第二个为每个时隙的数据个数
block.NumDialogPrms = 3;
%数据载波数
Nd=block.DialogPrm(1).Data;
%补零波数
Nz=block.DialogPrm(2).Data;
%导频载波数
Np=block.DialogPrm(3).Data;
%% Setup functional port properties to dynamically
%% inherited.
block.SetPreCompInpPortInfoToDynamic;
block.SetPreCompOutPortInfoToDynamic;
% 输入数据符号
block.InputPort(1).Dimensions = [Nd+Nz,1];
block.InputPort(1).DirectFeedthrough = true;
block.InputPort(1).SamplingMode = 'Frame'
block.InputPort(2).Dimensions = [Nd+Nz+Np,1];
block.InputPort(2).DirectFeedthrough = true;
block.InputPort(2).SamplingMode = 'Frame'
block.OutputPort(1).Dimensions = [1,1];
block.OutputPort(1).SamplingMode = 'Frame'
%% Set block sample time to inherited
block.SampleTimes = [-1 0];
%% Register methods
block.RegBlockMethod('Outputs', @Output);
block.RegBlockMethod('PostPropagationSetup', @DoPostPropSetup);
block.RegBlockMethod('InitializeConditions', @InitConditions);
%endfunction
function Output(block)
He=block.InputPort(1).Data;
H=block.InputPort(2).Data;
%数据载波数
Nd=block.DialogPrm(1).Data;
%补零波数
Nz=block.DialogPrm(2).Data;
%导频载波数
Np=block.DialogPrm(3).Data;
Nc=Nd+Nz+Np;
%提取数据符号(包括零)
L=Nc./Np;
H1=[];
for k=1:Np
index=(k-1).*L;
H1=[H1;H(index+1:index+L-1)];
end
Error=sum((abs(He)-abs(H1))).^2;
block.Dwork(1).Data=block.Dwork(1).Data+Error;
block.Dwork(2).Data=block.Dwork(2).Data+Nd+Nz;
block.OutputPort(1).Data = block.Dwork(1).Data/block.Dwork(2).Data;
%endfunction
function DoPostPropSetup(block)
%% Setup Dwork
%定义变量个数
block.NumDworks = 2;
block.Dwork(1).Name = 'x1';
block.Dwork(1).Dimensions = 1;
block.Dwork(1).DatatypeID = 0;
block.Dwork(1).Complexity = 'Real';
block.Dwork(1).UsedAsDiscState = true;
block.Dwork(2).Name = 'x2';
block.Dwork(2).Dimensions = 1;
block.Dwork(2).DatatypeID = 0;
block.Dwork(2).Complexity = 'Real';
block.Dwork(2).UsedAsDiscState = true;
%endfunction
function InitConditions(block)
%% Initialize Dwork
block.Dwork(1).Data = 0;
block.Dwork(2).Data = 0;
没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
收起资源包目录
OFDM信道估计LS算法matlab.rar (22个子文件)
OFDM信道估计LS算法matlab
6_1
Q6_1_RetreiveData.m 202B
Q6_1_InsertCP.m 1KB
Q6_1_ErrorofChannelEstimation.m 3KB
Q6_1_Transmit.m 1KB
m6_1.mdl 39KB
m6_2.mdl 23KB
Q6_1_ChannelEstimate.m 308B
callm6_1.m 169B
Q6_1_InsertPilot.m 2KB
Q6_1_InitData.mat 505B
Q6_1_CEandRD.m 2KB
6_1
Q6_1_RetreiveData.m 202B
Q6_1_InsertCP.m 1KB
Q6_1_ErrorofChannelEstimation.m 3KB
Q6_1_Transmit.m 1KB
m6_1.mdl 39KB
m6_2.mdl 23KB
Q6_1_ChannelEstimate.m 308B
callm6_1.m 169B
Q6_1_InsertPilot.m 2KB
Q6_1_InitData.mat 505B
Q6_1_CEandRD.m 2KB
共 22 条
- 1
tiny__boy
- 粉丝: 120
- 资源: 221
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论3