C114门户论坛百科APPEN| 举报 切换到宽版

亚星游戏官网

 找回密码
 注册

只需一步,快速开始

短信验证,便捷登录

搜索
查看: 1231|回复: 0

volterra代码分享 [复制链接]

军衔等级:

亚星游戏官网-yaxin222  新兵

注册:2013-9-4
发表于 2021-6-15 10:11:47 |显示全部楼层
linear_length=5; % channel_length should be odd
% second_memory_length=5;
% second_nonlinear_length=second_memory_length*(second_memory_length+1)/2;
second_nonlinear_length=0;
third_memory_length=5;
third_nonlinear_length=3*(third_memory_length)*(third_memory_length+1)/12+...
    third_memory_length*(third_memory_length+1)*(2*third_memory_length+1)/12;
channel_length=linear_length+second_nonlinear_length+third_nonlinear_length;
w=zeros(channel_length,1);
half_length=ceil(linear_length/2);
w(half_length)=1;
P=eye(channel_length)*1;
lamda=1;
Nb=1;
Nsym=length(x_stream);
for k = half_length:Nb:Nsym*Nb-half_length
    kernel_3=third_order(x_stream(k+floor(third_memory_length/2):-1:k-floor(third_memory_length/2))).';
    temp_input=[x_stream(k+floor(linear_length/2):-1:k-floor(linear_length/2)),kernel_3];
    temp_x=P*temp_input.';
    temp_k=temp_x/(lamda+conj(temp_input)*temp_x);
    temp_output=w'*temp_input.';
    e(ceil(k/Nb)) = datax(ceil(k/Nb)) - temp_output ;
    w=w+temp_k.*conj(e(ceil(k/Nb)));  
    P=1/lamda*(P-temp_k*conj(temp_input)*P);
end
figure
plot(e.*conj(e));      
set(gca,'Linewidth',2,'fontsize', 13);
xlabel('符号数', 'fontsize', 13);
ylabel('均方误差', 'fontsize', 13);
set(gca,'YLim',[0 25]);%Y轴的数据显示范围
set(gca,'xtick',0:1000:4000,'xticklabel',0:1000:4000);
text(500,22,'(b) ','FontSize',19)
grid on

举报本楼

您需要登录后才可以回帖 登录 | 注册 |

手机版|C114 ( 沪ICP备12002291号-1 )|联系大家 |网站地图  

GMT+8, 2024-9-21 08:16 , Processed in 0.122822 second(s), 15 queries , Gzip On.

Copyright © 1999-2023 C114 All Rights Reserved

Discuz Licensed

回顶部
XML 地图 | Sitemap 地图