⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 singlefreqcancel.m

📁 噪声对消源程序
💻 M
字号:
function SingleFreqCancel

clear all;
close all;
clc;

test_time=50;
step_size=0.05;
l=100;
T=16;
M=2;
average_weight=zeros(l,M);
average_mean_sqr_err=zeros(l,1);
average_err=zeros(l,1);
dot_num=1:l;
dest=2*cos(2*pi*dot_num/T);
phi=2*pi*rand(1,test_time);

for t=1:test_time
    input_signal=sin(2*pi*dot_num/T+phi(t));%+0.1*randn(1,l);
    weight=zeros(l,M);
    mean_sqr_err=zeros(l,1);
    err=zeros(l,1);
    for k=2:l-1
        output(k)=weight(k,:)*input_signal(k:-1:k-M+1)';
        err(k)=dest(k)-output(k);%weight(k,:)*input_signal(k:-1:k-1)';
        weight(k+1,:)=weight(k,:)+step_size*err(k)*input_signal(k:-1:k-1);%%%%%%
        mean_sqr_err(k)=err(k)*err(k);
    end
    average_weight=average_weight+weight;
    average_mean_sqr_err=average_mean_sqr_err+mean_sqr_err;
    average_err=average_err+err;
end
 
average_weight=average_weight/test_time;
average_mean_sqr_err=average_mean_sqr_err/test_time;
average_err=average_err/test_time;

% % Plot results
figure(1);
plot(average_weight);
figure(2);
%semilogy(average_mean_sqr_err);
plot(average_mean_sqr_err);
    figure(3)
    subplot(221);
    plot(input_signal);axis([0 l -2.5 2.5]);
    title('输入input_signal');
    %hold on;
    subplot(222);
    plot(output);axis([0 l -2.5 2.5]);
    title('输出output')';
    subplot(223);
    plot(dest);
    %hold on;
   figure(4)
   plot(average_err);axis([0 l -2.5 2.5]);
   %hold on;



               

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -