• 大小: 11KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-14
  • 语言: 其他
  • 标签: FXLMS  算法  ANC系统  

资源简介

本FXLMS算法包含了四种基础的FXLMS算法案例,均可直接运行成功,同时将该算法运用在ANC系统之上。

资源截图

代码片段和文件信息

%  ANC based on FxLMS
%    u(k)      +--------+     d(k)                 +       e(k)
% U ------+--->|   Pw   |------D-------------------> sum --+--->e_cont
%         |    +--------+                             ^-   |
%         |                                           |    |
%         |        \                              r(k)|    |     
%         |     +---------+     y(k)    +---------+   |    |
%         +-Wx->|   Ww    |Wy--------Sx>|   Sw    |Sy-+    |
%         |     +---------+             +---------+        |
%         |            \                                   |
%         |             \----------------\                 |
%         |                               \                |
%         |      +---------+   x(k)   +-----------+        |
%         +--Cx->|   Cw    |Cy--Xx--->|    LMS    |<-------+
%                +---------+          +-----------+        
% use FIR to model P(z)W(z)S(z)C(z)
% estimate S(z) offline
% white noise              +--------+            +
%   x_iden -----+--------->!  Sw    !-y_iden----->sum---+----->e_iden
%               !          +--------+             ^-    !
%               !                                 !     !
%               Cx                /               !     !
%               !          +--------+             !     !
%               +--------->!  Cw    !--Cy---------+     !
%               !          +--------+                   !
%               !              /                        !
%               !             /                         !
%               !          +-------+                    !
%               +--------->!  LMS  !--------------------+
%                          +-------+
%



clear all
clc


fs = 10000;%采样频率
L = 3000;% 长度
m = 0:L-1;
t = m/fs; %时间
N = 7;                        % order of primary and secondary fir filter
M = 17;                       % order of adaptive fir filter W(z)M 应取 N 的2-3之间

% 估计P(z)和S(z)

% Pw = rand(1N+1);
% Sw = 0.25*rand(1N+1);

% 取自于文献《一维多谐频声源主动噪声控制算法》
Pw1 = [0 1 0 -0.07 0.006];
Pw2 = 1;
Sw1 = [0 1];
Sw2 = [1 0.1];


% 离线估计C(z)
x_iden = randn(1L);
y_iden = filter(Sw1 Sw2 x_iden);

% 初始化
Cx = zeros(1N+1);       % the state of C(z)
Cw = zeros(1N+1);       % the weight of C(z)
e_iden = zeros(1L);     % data buffer for the identification error

% LMS算法
mu1 = 0.1;
for k = 1:L                      % discrete time k
    Cx = [x_iden(k) Cx(1:N)];     % update the state
    Cy = sum(Cx.*Cw);           % calculate output of C(z)
    e_iden(k) = y_iden(k)-Cy;     % calculate error   
    Cw = Cw+mu1*e_iden(k)*Cx;     % adjust the weight
end

% 检验结果
figure
subplot(211)
plot([1:L] e_iden)
ylabel(‘幅值‘);
xlabel(‘采样点数 k‘);
legend(‘噪声残差‘);
subplot(212)
hold on 
stem(Cw ‘r*‘)
ylabel(‘幅值‘);
xlabel(‘滤波器权值‘);
legend(‘C(z)的滤波器权值‘);


% ANC系统

% 输入的估计
Z = 3; % 叶片数
n = 50; % 风扇转速(r/s)
fk = n*Z; % 旋转噪声信号基频(Hz)(500Hz以下为低频)
R = 0.22; % 叶片长度

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2014-03-02 21:48  anc\
     文件        5025  2013-06-25 15:31  anc\FXLMS_on_ANC.m
     文件        5315  2013-06-25 15:38  anc\FXNLMS_on_ANC_01.m
     文件        5165  2013-06-25 15:41  anc\FXNLMS_on_ANC_02.m
     文件        5782  2013-06-11 21:54  anc\online_FXLMS_on_ANC.m
     文件        5080  2013-06-25 15:52  anc\test_of_one_channel_of_whole_system.m
     文件        1803  2012-12-24 12:09  anc\test_of_test_model.m

评论

共有 条评论