9. 变换域算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
L1
wˆ k 1 wˆ k u kL i e kL i
i0
wˆ k 1 wˆ k Φk
L1
Φk u kL iekL i A k ek i0
L=M 从计算复杂性观点看,这是最佳选择。此时滤波 器的长度是2的幂次,且卷积运算可在频域中完成。
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
算法总结
Wˆ
k
1
Wˆ
k
FFT
Φk
0
Φk IFFT conjUk e Ek 的最前M个元素
E
k
FFT
e
0
k
ek dk yk
yT k y kM , y kM 1,..., y kM M 1 IFFT U k e Wˆ k 的最后M 个元素
L=M=8实现BLMS算法,其他仿真和LMS算法一致。
dotnumber=10000;
u=wgn(dotnumber,1,0);
for n=1:dotnumber
noise=wgn(dotnumber,1,-20); vector_u=[vector_u(2:end);u(
h=[-0.1 0.2 0.7 0.4 -0.2 - n)];
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
L=M=8实现BLMS算法,其他仿真和LMS算法一致。
for n=1:dotnumber vector_u=[vector_u(2:end);u(n)]; vector_d=[vector_d(2:end);d(n)]; if(mod(n,len)==len-1) for j=1:len A(:,j)=vector_u(j+len:-1:j+1); end vector_y=A'*w; vector_e=vector_d-vector_y; phi=A*vector_e; w=w+mu*phi; end w_error(n)=norm(w-wo)^2;
中国科学院声学研究所 Institute of Acoustics, CAS
vector_y用频域计算
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
vector_y=A'*w;
w_k=fft([w;zeros(len,1)]); u_k=fft(vector_u); y_k=w_k.*u_k; y_temp=real(ifft(y_k)); vector_y=y_temp(len+1:end);
end
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
频域算法
Wˆ
k
FFT
wˆ
k
0
Uk FFT u kM M ,...,u kM 1,u kM ,...,u kM M 1
yT k y kM , y kM 1,..., y kM M 1 IFFT U k e Wˆ k 的最后M 个元素
分别采用:y k AT wˆ (k) 和快速傅立叶变换计算y(k)
Uk FFT u kM M ,...,u kM 1,u kM ,...,u kM M 1
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
中国科学院声学研究所 Institute of Acoustics, CAS
W用频域更新
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
wˆ k 1 wˆ k Φk
Wˆ
k
FFT
wˆ k
0
Wˆ
k
1
Wˆ
k
FFT
Φk
0
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Laboratory of Noise and Vibration Research, CAS
频域与子带算法
吴鸣
中国科学院声学研究所
中国科学院噪声与振动重点实验室
中国科学院声学研究所 Institute of Acoustics, CAS
2018.3.5
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
频域计算
Φk Akek
E
k
FFT
e
0
k
Φk IFFT conjUk e Ek 的最前M个元素
分别采用: Ak ek 和快速傅立叶变换计算
M滤波器阶数长度,L为块的长度
y(kL i) wˆ T (k)u(kL i)
用A写出? y k ykL, y kL 1,L , y kL L 1T
中国科学院声学研究所 Institute of Acoustics, CAS
滤波器输出信号
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
ek dk yk
用A和e写出?
L1
wˆ k 1 wˆ k u kL i e kL i
i0
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
滤波器系数更新 A(k) u(kL),u(kL 1),L ,u(kL L 1)
vector_u=2*rand(16,1)-1; w=[-0.1 0.2 0.7 0.4 -0.2 -0.1 0.12 -0.25].';
中国科学院声学研究所 Institute of Acoustics, CAS
频域计算
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
len=8; vector_u=2*rand(2*len,1)-1; vector_e=2*rand(len,1)-1;
for j=1:len A(:,j)=vector_u(j+len:-1:j+1);
end
e_k=fft([zeros(len,1);vector_e]); u_k=fft(vector_u); phi_k=e_k.*conj(u_k); (real(ifft(phi_k))).' (A*vector_e).'
M 1
y(kL i) wˆ T (k)u(kL i) wˆ j k u kL i j ,i 0,1,L , L 1 j0
yk ykL, ykL 1,L , y kL L 1T
A(k) u(kL),u(kL 1),L ,u(kL L 1)
y k AT wˆ (k)
中国科学院声学研究所 Institute of Acoustics, CAS
mu=0.001;
end
w=zeros(len,1);
w_error=zeros(dotnumber,1);
e=zeros(dotnumber,1);
vector_u=zeros(2*len,1);
vector_d=zeros(len,1);
A=zeros(len,len);
中国科学院声学研究所 Institute of Acoustics, CAS
0.1 0.12 -0.25].';
vector_d=[vector_d(2:end);d(
wo=h;
n)];
d=filter(h,1,u); d(dotnumber+1:end)=[];
if(mod(n,len)==len-1) 计算A,y,e,w
d=d+noise;
end
len=8;
w_error(n)=norm(w-wo)^2;
块自适应算法总结
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
n kL i i 0,1,L , L 1 每来L个数据进行一次操作
A(k) u(kL),u(kL 1),L ,u(kL L 1)
u(n) u(n),u(n 1),L ,u(n M 1)T
输入信号
串并 转换
器
块FIR 滤波器
并串 转换 器
区分 机制
滤波输出信号
完成块相关 和权Leabharlann Baidu更新
的机制
串并 转换 器
误差信号
期望 响应
L1
wˆ k 1 wˆ k u kL i e kL i
i0
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
块自适应算法
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
误差信号:e kL i d kL i y kL i
ek ekL,ekL 1,L ,ekL L 1T
dk d kL, d kL 1,L , d kL L 1T
问题:
LMS算法的计算量?
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
中国科学院声学研究所 Institute of Acoustics, CAS
块自适应算法
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
dk d kL, d kL 1,L , d kL L 1T
y k AT wˆ (k)
ek dk yk
wˆ k 1 wˆ k Φk
Φk Akek
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
vector_u=2*rand(16,1)-1; w=[-0.1 0.2 0.7 0.4 -0.2 -0.1 0.12 -0.25].';
中国科学院声学研究所 Institute of Acoustics, CAS
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
中国科学院声学研究所 Institute of Acoustics, CAS
用频域计算带入算法
中国科学院噪声与振动重点实验室 Key Lab. of Noise and Vib. Research, CAS
phi=A*vector_e;
e_k=fft([zeros(len,1);vector_e]); phi_k=e_k.*conj(u_k); phi_temp=real(ifft(phi_k)); phi=phi_temp(1:len);
频域算法
len=8; vector_u=2*rand(2*len,1)-1; w=[-0.1 0.2 0.7 0.4 -0.2 -0.1 0.12 0.25].'; for j=1:len
A(:,j)=vector_u(j+len:-1:j+1); end y=A'*w;
w_k=fft([w;zeros(len,1)]); u_k=fft(vector_u); y_k=w_k.*u_k; real(ifft(y_k))
L1
块自适应算法 wˆ k 1 wˆ k u kL i e kL i i0
时刻n与块编号k的关系: n kL i i 0,1,L , L 1
第k块的输入数据的矩阵表达式为:
托普利兹矩阵
A(k) u(kL),u(kL 1),L ,u(kL L 1)
u(n) u(n),u(n 1),L ,u(n M 1)T