求:
1LMSRLS两种算法求佳滤波器系数
(1)LMS算法画出次实验误差方收敛曲线训练长度500出滤波器系数进行20次独立实 验出方收敛曲线出3步长值较
(2)RLS算法画出次实验误差方收敛曲线训练长度500出滤波器系数进行20次独立实验出方收敛曲线出3步长值较
2LMSRLS性较
LMS算法实验结果
方法:采化正LMS算法进行实验理步长取0< <2保证收敛试验中取 =1信噪24dB分计算次单独实验误差方曲线20次误差方曲线:
a 步长 =1时误差方曲线分示图111图112
b 步长 =15时误差方曲线分示图121图122
c 步长 =05时误差方曲线分示图131图132
d 步长 =1信噪14dB时误差方曲线分示图141图142
滤波器系数见表1
计算时滤波器系数初值0
算法:
初始化步骤:(k=0)
令
运算步骤:k=1k需终时刻
中:
图111 图112
表1:图参数滤波器系数
1次结果
20次均值
W_LMS
002504793925628
002986562530132
002046378573298
002865584457748
017802294663508
052130273693787
147018122701659
054559049404784
020787496044109
009626132941092
W_LMS_average
000257905368949
000632450298949
003600731943043
007235585396209
021080734619194
055292006920221
146735654708385
055992365404623
020410473616417
006897068190797
008363330010759
001954656302519
图121 图122
图131 图132
图141 图142
实验结果分析:
取信噪较:
1) 信噪降低单次实验误差曲线机性明显增加
2)信噪降低20次实验收敛结果略差
取步长值较:
1) 步长越收敛速度越慢
2) 步长越均收敛误差越
3) 获精度必然牺牲收敛速度
二RLS算法实验结果
样条件RLS算法设计适应均衡器观察收敛性终误差性信噪24dB条件进行实验单次实验20次实验结果图示滤波器系数见表2
算法(教材78页):
初始化步骤:(k=0)
令
运算步骤:k=1k需终时刻
分计算次单独实验误差方曲线20次误差方曲线:
a 步长 =1时误差方曲线分示图211图212
b 步长 =15时误差方曲线分示图221图222
c 步长 =05时误差方曲线分示图231图232
d 步长 =1噪声信噪14dB时误差方曲线分示图231图232
图211 图212
表2:图参数滤波器系数
1次结果
20次均值
W_RLS
001782488475112
003138833381097
004398243433135
009111778425875
021501098274277
054498588229671
144822533989136
053004832569316
019223128816099
006984373553842
002383967789780
W_RLS_average
000209667972210
000611364222245
002250178836483
006677219507211
019096547010969
053092779696941
144506679650091
053072062273108
018990635459860
006357946096134
001779163679535
图221 图222
图231 图232
图241 图242
实验结果分析:
a 取步长值信噪较:LMS结果相
b RLS算法LMS算法较:
1) 图112图212出RLS算法收敛速度明显LMS算法快
2) RLS算法终误差值LMS算法( )
3) RLS算法较LMS算法复杂性
三说明
里列出实验相关函数中lmsrls两函数直接算出实验结果nlms时正LMS适应滤波算法
表3:Matlab函数功表
filter
出滤波器参数输入信号产生滤波器输出
lms
LMS适应滤波算法
nlms
正LMS适应滤波算法
rls
RLS适应滤波算法
awgn
信号加高斯白噪声
flipud
矩阵倒置
rand
均匀分布产生01间机数
zeros
产生0量
eye
产生单位阵
参考书目:
[1] 机信号处理陆光华等编著**电子科技学出版社2002年10月第版
[2] 离散机信号处理张旭东陆明泉编著清华学出版社2005年11月第版
[3] MATLAB6x 信号处理邹鲲等编著清华学出版社2002年5月第版
附录(程序):
function [W_LMSW_RLSpowereLMSpowereRLS]rls_lms
u步长子收敛子
控制适应速度稳定性增益常数
u1
training length n500
n500
generate signal s(n)
for i1n
if rand>05
s(i)1
else
s(i)1
end
end
(signal+FIR)+noise x
s_filter_outfilter([03 09 03][1 0 0]s)filter out
Y FILTER(BAX) filters the data in vector X with the
filter described by vectors A and B to create the filtered
data Y[]1*500
awgn Add white Gaussian noise to a signal
s_filter_outawgn(s_filter_out24) SN24dB 信号加高斯白噪声
FIR length
fir_lenth11
compute X
X(n)时刻n适应滤波器参考输入信号矢量N信号采样值构成
X(n)[x(n)x(n1)x(nN+1)]
s_filter_out1[zeros(1fir_lenth1) s_filter_out]
for j1n
X(j)flipud(s_filter_out1(jj+fir_lenth1)')
flipud(A) Flip matrix A in updown direction
end
W(n)适应滤波器时刻n权矢量
W(n)[w0(n)w1(n)wN_1(n)]'N 适应滤波器阶数
W_LMSzeros(1fir_lenth)'initial W[0 0]' for LMS
W_RLSzeros(1fir_lenth)'initial W[0 0]' for RLS
Reye(fir_lenth)initial EI
delay 7 dots 延迟7点
s[zeros(17) s(15007)]
for j1n
e_LMS(j)s(j)X(j)'*W_LMS
W_LMSW_LMS+2*u*e_LMS(j)*X(j)general algorithmLMS
W_LMSW_LMS+u*e_LMS(j)*X(j)sum(power(X(j)2))normalized algorithmNLMS
输入量化
e_RLS(j)s(j)X(j)'*W_RLS
RR(R*X(j)*X(j)'*R)(1+X(j)'*R*X(j))R[]11*11
W_RLSW_RLS+R*X(j)*e_RLS(j)
end
powereLMSpower(e_LMS2)
powereRLSpower(e_RLS2)
function main(sum)
sum:表示误差方均值实验次数
fir_lenth11
n500
powereLMSsumzeros(1n)
powereRLSsumzeros(1n)
W_LMS_sumzeros(fir_lenth1)
W_RLS_sumzeros(fir_lenth1)
for i1sum
[W_LMSW_RLSpowereLMSpowereRLS]rls_lms
powereLMSsumpowereLMSsum+powereLMS
powereRLSsumpowereRLSsum+powereRLS
W_LMS_sumW_LMS_sum+W_LMS
W_RLS_sumW_RLS_sum+W_RLS
end
powereLMSaveragepowereLMSsumsum
powereRLSaveragepowereRLSsumsum
显示次均LMSRLS滤波器权值
sum1表示单次结果
W_LMS_averageW_LMS_sumsum
W_RLS_averageW_RLS_sumsum
画误差曲线
plot(powereLMSaverage)
title('试验误差方曲线')
legend('powereLMSaverage')
xlabel('n')
ylabel('e^2(n)')
figure
plot(powereRLSaverage'r')
title('试验误差方曲线')
legend('powereRLSaverage')
xlabel('n')
ylabel('e^2(n)')
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档