% filter parameters
tic;
M=16; % number of taps
step=0.0001; % step-size parameteR
e_max=5024; % maximum #of epochs
K=120;
G=170;
Y=500;
D=1000;
% constants
pi=3.14;
% initialize
pp=zeros(1,24);
qq=zeros(1,7);
pr=zeros(1,24);
x=zeros(1,21);
w1=zeros(1,M);
w2=zeros(1,M);
r11=zeros(1,M);
r12=zeros(1,M);
r21=zeros(1,M);
r22=zeros(1,M);
ss1=zeros(1,e_max);
ss2=zeros(1,e_max);
ee1=zeros(1,e_max);
ee2=zeros(1,e_max);
dd=zeros(1,e_max);
hp=[1 0.05 0.1 0.09 0.05 0.5 0.002];
hr=[1 0.5 0.02 0.05];
h11=[1 0.5 0.01 0.9 0.005 0.02];
h22=[1 0.5 0.01 0.9 0.005 0.02];
h12=[1 0.6 0.02 0.8 0.05 0.004];
h21=[1 0.6 0.02 0.8 0.05 0.004];
%计算部分
for t=1:24
pp(t)=sin((K/D)*2*pi*(25-t)+pi/5 )+sin((G/D)*2*pi*(25-t))+sin((Y/D)*2*pi*(25-t));
pr(t)=sin((K/D)*2*pi*(25-t)+pi/5 )+sin((G/D)*2*pi*(25-t))+sin((Y/D)*2*pi*(25-t));
end
t=25;
epoch=0;
while epoch<e_max
input=sin((K/D)*2*pi*t+pi/5 )+sin((G/D)*2*pi*t)+sin((Y/D)*2*pi*t);
for i=2:7
pp(7-i+2)=pp(7-i+1);
end
pp(1)=input;
for i=1:7
qq(i)=pp(i);
end
d=dot(qq,hp);
dd(epoch+1)=d; %期望信号
for i=2:24
pr(24-i+2)=pr(24-i+1);
end
pr(1)=input;
for i=1:21
for j=1:4
x(i)=x(i)+pr(i+j-1)*hr(j);
end
end
for i=1:16
for j=1:6
r11(i)= r11(i)+x(i+j-1)*h11(j);
r22(i)=r22(i)+x(i+j-1)*h22(j);
end
for l=1:6
r12(i)=r12(i)+x(i+l-1)*h12(l);
r21(i)= r21(i)+x(i+l-1)*h21(l);
end
end
s1=dot(r11,w1)+dot(r21,w2);
s2=dot(r12,w1)+dot(r22,w2);
ss1(epoch+1)=s1;
ss2(epoch+1)=s2;
e1=d+s1;
e2=d+s2;
ee1(epoch+1)=e1;
ee2(epoch+1)=e2;
for j=1:16
w1(j)=w1(j)-2*step*(e1*r11(j)+e2*r12(j));
w2(j)=w2(j)-2*step*(e1*r21(j)+e2*r22(j));
end
for i=1:16
r11(i)=0;
r12(i)=0;
r21(i)=0;
r22(i)=0;
end
for i=1:21
x(i)=0;
end
t=t+1;
epoch=epoch+1;
end
toc;
subplot(311)
plot(dd);
axis([0 e_max -2 2]);
title('期望信号');
subplot(312)
plot(ss1);
axis([0 e_max -2 2]);
title('滤波器通路1输出信号');
subplot(313)
plot(ss2);
axis([0 e_max -2 2]);
title('滤波器通路2输出信号');
figure(2)
subplot(211)
plot(ee1);
axis([0 e_max -0.5 0.5]);
title('误差信号1');
grid on;
subplot(212)
plot(ee2);
axis([0 e_max -0.5 0.5]);
title('误差信号2');
grid on;
figure(3)
subplot(211)
plot(dd,'b-');
axis([0 e_max -2 2]);
hold on
plot(ss1,'r-');
axis([0 e_max -2 2]);
hold on
plot(ee1,'g-');
axis([0 e_max -2 2]);
subplot(212)
plot(dd,'b-');
axis([0 e_max -2 2]);
hold on
plot(ss2,'r-');
axis([0 e_max -2 2]);
hold on
plot(ee2,'g-');
axis([0 e_max -2 2]);
没有合适的资源?快使用搜索试试~ 我知道了~
基于Matlab实现ANC算法仿真(源码).rar
共1个文件
m:1个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 62 浏览量
2024-12-18
09:33:27
上传
评论
收藏 1KB RAR 举报
温馨提示
1、资源内容:基于Matlab实现ANC算法仿真(源码).rar 2、适用人群:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业或毕业设计,作为“参考资料”使用。 3、解压说明:本资源需要电脑端使用WinRAR、7zip等解压工具进行解压,没有解压工具的自行百度下载即可。 4、免责声明:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。不一定能够满足所有人的需求,需要有一定的基础能够看懂代码,能够自行调试代码并解决报错,能够自行添加功能修改代码。由于作者大厂工作较忙,不提供答疑服务,如不存在资源缺失问题概不负责,谢谢理解。
资源推荐
资源详情
资源评论
收起资源包目录
基于Matlab实现ANC算法仿真(源码).rar (1个子文件)
基于Matlab实现ANC算法仿真(源码)
main.m 3KB
共 1 条
- 1
资源评论
Matlab仿真实验室
- 粉丝: 4w+
- 资源: 2427
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于计算机视觉的交通监测系统将视频检测器的实时视频流(或视频文件)作为输入,在工控机平台上编写Python程序,利用opencv库处理视频图像,最终提取车流量、车速、排队长度三个交通参数(源码+文档)
- VMware-Cloud-on-AWS-Blueprint.rar
- 【java源代码】基于位置服务的图书馆座位预约管理系统(完整前后端+mysql+说明文档).zip
- Nginx实战.rar
- 纯数字电路病号呼叫系统仿真
- NASA数据B0005-B0018电池数据集csv格式
- DevSecOps-for-Azure.rar
- 硬纸板、玻璃、金属、不可回收、纸张、塑料检测50-YOLO9数据集.rar
- axs15231b TP正常时序图
- NSGA-2学习笔记ppt
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功