通信工程课程设计自适应通信系统辨识的仿真设计.doc

上传人:文库蛋蛋多 文档编号:4142564 上传时间:2023-04-07 格式:DOC 页数:32 大小:690.50KB
返回 下载 相关 举报
通信工程课程设计自适应通信系统辨识的仿真设计.doc_第1页
第1页 / 共32页
通信工程课程设计自适应通信系统辨识的仿真设计.doc_第2页
第2页 / 共32页
通信工程课程设计自适应通信系统辨识的仿真设计.doc_第3页
第3页 / 共32页
通信工程课程设计自适应通信系统辨识的仿真设计.doc_第4页
第4页 / 共32页
通信工程课程设计自适应通信系统辨识的仿真设计.doc_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《通信工程课程设计自适应通信系统辨识的仿真设计.doc》由会员分享,可在线阅读,更多相关《通信工程课程设计自适应通信系统辨识的仿真设计.doc(32页珍藏版)》请在三一办公上搜索。

1、 课 程 设 计 院(系、部) 电 信 学 院教 研 室 通 信 工 程项 目 名 称自适应通信系统辨识的仿真设计设 计 人 指 导 教 师 目录第1章基础知识31.1数字通信系统的组成31.2系统辨识31.3自适应系统辨识4第2章算法原理42.1LMS算法42.2LMS算法推导132.3LMS算法步骤16第3章自适应系统辨识方案设计173.1仿真系统参数173.2评判标准173.3程序设计18第4章仿真结果分析234.1输入信号234.2步长28第5章结论31第1章 基础知识1.1数字通信系统的组成1.1.1结构图 信号源调制系统解调解调信号噪声信号源:是指已抽样的,经过编码和量化的数字信号

2、。调制:调制(modulation)就是对信号源的信息进行处理加到波上,使其变为适合于信道传输的形式的过程,就是使载波随信号而改变的技术。这里指数字调制(包括PSK调制和QAM调制)。系统(经过信道)系统:传输系统,也就是信道。解调1、解调是从携带消息的已调信号中恢复消息的过程。2、解除符号间的干扰;去噪。1.2系统辨识 对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。 通常,预先给定一个模型类M(即给定一类已知结构的模型),一类输入信号u和等价准则JL(y,yM)(一般情况下,J是误差函数,是过程输出y和模型输出y

3、M的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。 系统辨识包括两个方面:结构辨识和参数估计。 辨识的基本步骤为:先验知识和建模目的的依据。实验设计。结构辨识。参数估计。模型适用性检验。 目的:恢复发射信号,克服卷积效应,均衡即反卷积;克服符号间的干扰。1.3自适应系统辨识1.3.1 定义 能根据环境的改变而自动改变以此得到问题最优解的一类技术总称。自适应系统的组成 自适应系统和常规系统类似,可以分为开环自适应和闭环自适应两类型。开环自适应系统主要是对输入信号或信号环境进行测量,并用测量得到的信息形成公式或算法,用以调整自适应系统自身;而闭环自适应系统还利用系统调整得到

4、的结果的有关知识去优化系统的某种性能,即是一种带“性能反馈”的自适应系统。开环自适应系统自适应算法 输入输出 图1.3.1 开环自适应系统闭环自适应系统自适应算法输入输出图1.3.2 闭环自适应系统1.3.2 目的 采用自适应的目的:当系统改变时也可以进行辨识。自适应系统可以利用前一时刻已经获得的滤波器参数等结果,自动的调节现时刻的滤波器参数,以适应信号和干扰未知的或随时间变化的统计特性,从而实现最优滤波。1.3.3 数字形式 采用的数字形式是迭代形式。第2章算法原理2.1 LMS(Least Mean Square )算法:LMSx(n)x(n-1)x(n-2). X(n-m+1)d(n).

5、y(n)e(n)=d(n)-y(n)图2.1.1.LMS算法原理框图自适应滤波器在时刻n的向量定义:抽头权向量:参考输入向量:是主输入信号,是期望输出值,是误差信号,也是系统输出值,M是滤波器长度。由维纳-霍夫方程可知,最小均方误差为:实际上,该方程与维纳滤波器结果完全一样。自适应滤波器与维纳滤波器相比,其差别在于它增加了一个识别控制环节,将输出与期望值进行比较,利用误差去控制,使=最小值,从而得到的估计。根据最优的数学算法最陡下降法,下一个权矢量等于现在的权矢量加一个正比于梯度的负值变化量,即有:通过梯度下降法:由,推导可知: 。其中2.1.1基本LMS算法原理: 构成自适应滤波器的基本部件

6、是自适应线性组合器的M各输入为,其输出y(k)是这些输入加权后的线性组合,即 (1) 图2.1.2. 自适应线性组合器定义权向量W= T,且 (2)在图2.1.2中,令代表“所期望的响应”,并定义误差信号 (3)式(3)写成向量形式 (4) 误差平方为 上式两边取数学期望后,得均方误差 (5)定义互相关函数行向量: (6)和自相关函数矩阵 (7)则均方误差(5)式可表述为 (8) 这表明,均方误差是权系数向量W的二次函数,它是一个中间向上凹的抛物形曲面,是有唯一最小值的函数。调节权系数使均方误差为最小,相当于抛物形曲面下降找最小值。可以用梯度来求该最小值。 将式(8)对权系数W求导数,得到均方

7、误差函数的梯度 (9)令,即可以求出最佳权系数向量 (10) 因此,最佳权系数向量通常也叫做Wiener权系数向量。将代入式(8)得最小均方误差 (11) 利用式(10)求最佳权系数向量的精确解需要知道和的先验统计知识,而且还需要进行矩阵求逆等运算。Widrow and Hoff (1960) 提出了一种在这些先验统计知识未知时求的近似值的方法,习惯上称为Widrow and Hoff LMS算法。这种算法的根据是最优化方法中的最速下降法。根据最速下降法,“下一时刻”权系数向量应该等于“现在时刻” 权系数向量加上一个负均方误差梯度的比例项,即 (12)式中,式一个控制收敛速度与稳定性的常数,称

8、之为收敛因子。 不难看出LMS算法有两个关键:梯度的计算以及收敛因子的选择。 的近似计算 精确计算梯度是十分困难的,一种粗略的但是却十分有效得计算的近似方法是:直接取作为均方误差的估计值,即 (13)式中的为 (14)将(14)代入(13)中得到梯度估计值 于是,Widrow-Hoff LMS的算法最终为 (15)式(15)的实现框图如下所示 图2.1.3 LMS 算法的实现框图下面分析梯度估计值的无偏性。的数学期望为 (16)在上面的推导过程中,利用了和二者皆为标量的事实。在得到最后的结果时,利用了式(9)。式(16)表明梯度估值是无偏估计。的选择对权系数向量更新公式(15)两边取数学期望,

9、得 (17) 式中,I为单位矩阵 当k=0时, 对于k=1,利用上式结果,则有 起始时, 故 重复以上迭代至k+1,则有 (18)由于是实值的对称阵,我们可以写出其特征值分解式 (19)这里,我们利用了正定阵的性质,且 是对角阵,其对角元素是的特征值。将式(19)代入(18)后得 (20)注意到以下恒等式及关系式:(1) (21a)(2) (21b)(3) 假定所有的对角元素的值均小于1(这可以通过适当选择实现),则 (21c) (4) (21d)将式(21a)(21d)代入(20),结果有 (22) 由此可见,当迭代次数无限增加时,权系数向量的数学期望值可以收敛至Wiener解,其条件是对角

10、阵的所有对角元素均小于1,即 或 (23) 其中是的最大特征值。称为收敛因子,它决定达到式(22)的速率。事实上,收敛于由比值决定,该比值叫做谱动态范围。大的值喻示要花费很长时间才会收敛到最佳权值。克服这一困难的方法之一是产生正交数据。2.2LMS算法推导 最小均方差(LMS)算法,即权系数递推修正达到最佳权系数 是依据最小均方算法。最陡下降法(Steepest Descent Method)是LMS算法的基础,即下一时刻权系数矢量 应该等于“现时刻”权系数矢量 加上一项比例为负的均方误差函数的梯度 ,即 (1)其中 为 (2) 为控制收敛速度与稳定性的数量常数,称为收敛因子或自适应常数。式(

11、1)中第二项前的负号表示当梯度值为正时,则权系数应该小,以使 下降。根据式(1)的递推算法,当权系数达到稳定时,一定有 ,即均方误差达到极小,这时权系数一定达到所要求的最佳权系数 。LMS算法有两个关键:梯度的计算以及收敛因子 的选择。按(2)计算 时,要用到统计量G,P,因此有很大困难,故通常用一种粗糙,但却有效的方法,就是 用 代替,即: (3) 式(3)的含义是指单个误差样本的平方 作为均方误差 的估计值,从而使计算量大大减少。从而最终可以推出权系数迭代的LMS算法为: (4) 为输入样本向量,只要给定系数迭代的初值 ,根据上式可以逐步递推得到最佳权系数,并计算出滤波器误差输出。下图为L

12、MS算法的流程图:d(n) _e(n)+y(n) 2uu(n)图2.2.1 LMS算法流程图LMS算法所用到计算式如下: 系统输出: 误差估计: 权值更新: 参数分析:其中 为信号输出, 为输入向量, 为误差值, 为权值向量, 为期望值, 为步长。在LMS算法中步长值 的取舍问题非常重要,直接影响了算法的收敛速度。 值是用来调整加权参数的修正速度,若 值取的过小,收敛速度就会过于缓慢,当取的过大时,又会造成系统收敛的不稳定,导致发散。所以选取最佳的 值是LMS算法中一个重要的问题。具体收敛条件可由下面的式子分析得出:;,可以以得出收敛条件 及 其中 是输入相关矩阵 的最大特征值。2.3LMS算

13、法步骤 步骤一:初始化: 步骤二:更新: 滤波:; 误差估计:; 权向量更新:; 其中是用来控制稳定性和收敛速度的步长参数。为确保自适应过程的稳性,必须满足,其中为输入功率。第3章自适应系统辨识方案设计3.1、 仿真系统参数3.1.1LMS自适应系统辨识l 假定系统权向量为W=1, 0.5, 0.3Tl 输入信号分别选用n 0-1之间均匀分布的随机信号,调制方式采用8PSK。n 正弦信号。 接收信号加入信噪比为30dB的高斯白噪声信。3.2评判标准用Matlab编程实现盲均衡算法,对算法迭代一定次数,画出系统各系数随迭代次数变化的曲线图。3.3程序程序3.3.1输入信号为0-1之间均匀分布的随

14、机信号,调制方式采用8PSK的 LMS算法程序设计。该程序设计可分为以下几步: 1产生发射源信号 1)随机产生1000个01之间均匀分布的随机信号 在MatLab中可采用rand函数,如: rand(1000,1,) 2)将这些随机信号调制为8PSK方式 2产生接收信号 1)将产生发射源信号与系统滤波器系数进行卷积运算 在MatLab中可采用conv函数,如: conv(u, w) 2)再将卷积运算后的信号加上高斯白噪声 在MatLab中可采用awgn函数,如: awgn(y, 30) 3. 对LMS算法的参数进行设定 1)首先选用合适的步长,此处可选用0.01-0.3之间 2)确定滤波器初值

15、=0, 0, 0T 4. LMS算法 对以下步骤不断进行迭代: 1)=,其中=, , 2)计算误差信号=- 3) 4)=+1, 回到步骤1) 5. 画出关于迭代次数的曲线 在Matlab中可选用plot函数输入信号为0-1之间均匀分布的随机信号,调制方式采用8PSK的 LMS算法源代码: clear all;close all;h=1 0.5 0.3; %channelnum=1000; % number of the input lx=rand(num+2 ,1); % generate random input y=filter(h,1,x); % output % 8psk modula

16、tionfor n=1:num+2 for m=1:8 if x(n)(m-1)/8 & x(n)m/8 xpsktemp(n)=m; end endendpi=3.1415926;for m=1:8 psk(m)=cos(11*pi/8-(m-1)*pi/4)+i*sin(11*pi/8-(m-1)*pi/4);endxpsk=psk(xpsktemp);xpsk=xpsk;ypsk=filter(h,1,xpsk);snr=30;y=awgn(y,snr,measured);% LMS algorithmU=0.01 0.03 0.3 0.5; % step sizeWpsk=zeros(

17、3,num+1,length(U);for k=1:length(U) for m=1:num Wpsk(:,m+1,k)=Wpsk(:,m,k)+2*U(k)*conj(ypsk(m+2)-Wpsk(:,m,k)*xpsk(m:m-1+3)*xpsk(m:m-1+3); endend% plot the resultt=1:1001;figure(1);plot(t,abs(Wpsk(1,:,1),-.,t,abs(Wpsk(2,:,1),-,t,abs(Wpsk(3,:,1),-);xlabel(k),ylabel(W);legend(w1,w2,w3,4);figure(2);subpl

18、ot(2,2,1);plot(t(1:300),abs(Wpsk(1,1:300,1),-.);xlabel(k),ylabel(w3);title(a);legend(=0.01,4);subplot(2,2,2);plot(t(1:300),abs(Wpsk(1,1:300,2),-);xlabel(k),ylabel(w3);title(b);legend(=0.03,4);subplot(2,2,3);plot(t(1:300),abs(Wpsk(1,1:300,3),-);xlabel(k),ylabel(w3);title(c);legend(=0.3,4);subplot(2,2

19、,4);plot(t(1:300),abs(Wpsk(1,1:300,4),:);xlabel(k),ylabel(w3);title(d);legend(=0.5,4); 3.3.2 输入信号选用正弦信号时的LMS算法程序设计该程序设计可分为以下几步:1产生发射源信号 为正弦信号 2产生接收信号 1)将产生发射源信号与系统滤波器系数进行卷积运算 在MatLab中可采用conv函数,如: conv(u, w) 2)再将卷积运算后的信号加上高斯白噪声 在MatLab中可采用awgn函数,如: awgn(y, 30) 3. 对LMS算法的参数进行设定 1)首先选用合适的步长,此处可选用0.01-0

20、.3之间 2)确定滤波器初值=0, 0, 0T 4. LMS算法对以下步骤不断进行迭代:1)=,其中=, , 2)计算误差信号=-3)4)=+1, 回到步骤1) 5. 画出关于迭代次数的曲线在Matlab中可选用plot函数输入为正弦信号时的LMS算法源代码:clear all;close all;h=1 0.5 0.3; %channelnum=1000; % number of the input lpi=3.1415926;t=0:0.01:10.01;x=sin(10*pi*t);y=filter(h,1,x); % output x1=x;a=30;y=awgn(y,a,measur

21、ed);% LMS algorithmU=0.01 0.03 0.3 0.5; % step sizeWpsk=zeros(3,num+1,length(U);for k=1:length(U) for m=1:num Wpsk(:,m+1,k)=Wpsk(:,m,k)+2*U(k)*conj(y(m+2)-Wpsk(:,m,k)*x1(m:m-1+3)*x1(m:m-1+3); endend% plot the resultt=1:1001;figure(1);plot(t,abs(Wpsk(1,:,1),-.,t,abs(Wpsk(2,:,1),-,t,abs(Wpsk(3,:,1),-)

22、;xlabel(k),ylabel(W);legend(w1,w2,w3,4);figure(2);subplot(2,2,1);plot(t(1:300),abs(Wpsk(1,1:300,1),-.);xlabel(k),ylabel(w3);title(a);legend(=0.01,4);subplot(2,2,2);plot(t(1:300),abs(Wpsk(1,1:300,2),-);xlabel(k),ylabel(w3);title(b);legend(=0.03,4);subplot(2,2,3);plot(t(1:300),abs(Wpsk(1,1:300,3),-);x

23、label(k),ylabel(w3);title(c);legend(=0.3,4);subplot(2,2,4);plot(t(1:300),abs(Wpsk(1,1:300,4),:);xlabel(k),ylabel(w3);title(d);legend(=0.5,4);第4章仿真结果分析4.1输入信号4.1.1输入信号为0-1之间均匀分布的随机信号,调制方式采用8PSK时的仿真结果。不加入高斯白噪声时程序运行后所得到的图形:图4.1.1.0.01时的W的收敛曲线图4.1.2. 不同下的w3收敛曲线图图4.1.1 给出的是采用LMS算法,当0.01,叠代1000次后,得到系统滤波器参

24、数的收敛曲线图。从图中我们可以看到,三个系数基本在叠代到第200次收敛到真实值,可见算法在这种情况下是有效的。图4.2.2 给出了,当为0.01, 0.03, 0.3和0.5时,采用LMS算法叠代300次后得到的滤波器系数收敛曲线图,在图中,我们可以看到,(b)中的值大于(a)中的,其收敛速度明显加快。而(c)中的值过大而导致收敛曲线产生了振荡现象,但是最后仍旧收敛。(d)中的取值由于超过了1/max,所以导致了曲线的发散。因此,合理地对的取值将影响LMS算法性能的优劣。 加入高斯白噪声时程序运行后所得到的图形:图 4.1.3.0.01时的W的收敛曲线图 4.1.4. 不同下的w3收敛曲线图由

25、图4.1.3和图4.1.4可以看出加入高斯白噪声后系统滤波器的收敛曲线和不加高斯白噪声时的收敛曲线基本一致,可以看出输出信号经过一段时间基本达到跟踪,说明当输入信号为01均匀分布的随机信号加上高斯白噪声时采用LMS算法对滤波的效果很好。4.1.2输入为正弦信号时的仿真结果 加入高斯白噪声时程序运行后所得到的图形:图 4.1.5.0.01时的W的收敛曲线图4.1.6不同下的w3收敛曲线图 由图4.1.5可以看出,当输入信号为正弦信号,采用LMS算法。迭代1000次后,当取为0.01时,曲线收敛,但是并未收敛到真实值。如图4.1.6.采用LMS算法,叠代300次后,w3的收敛曲线,其步长分别取0.

26、01, 0.03 ,0.3和0.5。当取为0.01和0.03时,曲线收敛,但是它并未收敛到真实值,当为0.3时,曲线在0.5附近作间歇性振荡现象,而当为0.5时,曲线在0.5附近的振荡现象更明显。得到以上结果的主要原因是,正弦信号为单一频率的信号,而LMS算法要求输入信号的频率应该尽可能丰富,它对频率简单的信号是无法估计出滤波器系数的。4.2步长 对输入信号为0-1之间均匀分布的随机信号 4.2.1步长变小: 步长变为0.0001,0.003,0.0003,0.005后程序运行后图形如下所示 :图4.2.1 0.0001时的W的收敛曲线图4.2.2不同下的w3收敛曲线图由图4.2.1可以看出当

27、的取值偏小时,迭代1000次后,三个系数直到在迭代到第1000次时才直接收敛到真实值,收敛速度慢。图4.2.2是取0.0001,0.003,0.00003,0.005时的W3的收敛曲线,可以清楚的看出当取0.0001和0.0003时,曲线时而收敛时而发散但最收敛到了真实值。当取0.003和0.005时,曲线的收敛速度明显加快,且取0.005的时候更为快,此时在大约迭代到第10次时有很明显的振荡现象但最终还是收敛了。也就是说当的取值在不超过1/max时,不管收敛速度是快还是慢,曲线最终都会收敛的。4.2.2步长变大:步长变为 1.5 ,0.37,3,0.95后程序运行后图形如下所示 :图4.2.

28、31.5时的W的收敛曲线 图4.2.4不同下的w3收敛曲线图 图4.2.3给出了,当取1.5时,得到的系统滤波器参数的收敛曲线图,从图中可以看出,三个系数基本在迭代到第500次就都发散了。在图4.2.4中,当取1.5,0.37,3和0.96时,采用LMS算法迭代300次后得到曲线除(b)外(a)(c)(d)均是发散的,因为它们的取值均超过了1/max ,所以导致了曲线发散。第5章结论通过第4章对仿真结果的分析,我们可以得到以下结论:当输入信号采用01均匀分布的随机信号加上高斯白噪声时,采用LMS算法进行迭代所得到的滤波器系数收敛曲线与的取值密切相关,当取0.01,迭代次数为1000时,系数基本在迭代到第200次收敛到真实值,即算法在这种情况下是有效的。而当的取值大于1/max时,算法所得到的系数曲线就不在收敛了而是发散的。因此,说明了合理地对进行取值将直接影响到LMS算法性能的优劣。的取值应该在01/max 之间。当输入信号为正弦信号时,采用LMS算法,迭代1000次后,取值为0.01时的滤波器系数曲线收敛,但最终并未收敛到真实值,而取到0.5时曲线就时而发散时而收敛,不能得到一个精确的收敛时刻。得到这种情况的原因是,由于正弦信号是单一频率信号,而LMS算法要求输入信号的频率应该尽可能的丰富,它对频率简单、单一的信号是无法估计出滤波系数的。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号