综合课程设计基于Matlab的自适应均衡器设计
基于MATLAB的自适应均衡器的研究毕业论
![基于MATLAB的自适应均衡器的研究毕业论](https://img.taocdn.com/s3/m/805264e6d0f34693daef5ef7ba0d4a7303766c58.png)
基于MATLAB的自适应均衡器的研究毕业论自适应均衡器(Adaptive Equalizer)是一种用于消除信号传输中的失真影响的信号处理器。
在通信系统和数码信号处理中,信号在传输过程中容易受到噪声干扰和信号失真的影响,从而导致接收端的信号质量下降。
自适应均衡器通过根据接收端的反馈信息,调整均衡器的参数来补偿信号传输中的失真影响,从而提高信号质量。
MATLAB是一种广泛应用于科学和工程领域的高级计算机语言和环境。
它提供了丰富的工具和函数库,可以方便地进行信号处理和模拟仿真。
基于MATLAB的自适应均衡器研究可以通过建立模型、仿真实验和性能评估来实现。
首先,在MATLAB中可以通过建立自适应均衡器模型来进行研究。
自适应均衡器的基本原理是根据接收信号和已知的传输信号之间的差异,调整均衡器的系数来补偿信号失真。
在MATLAB中,可以根据特定的信道模型和均衡算法来实现自适应均衡器模型。
其次,通过进行仿真实验可以验证自适应均衡器的性能。
在MATLAB 中,可以生成各种类型的信号,并通过添加噪声和失真来模拟信号传输中的实际情况。
然后,使用自适应均衡器模型来对仿真信号进行处理,并比较处理前后的信号质量。
通过观察误码率、信号噪声比等指标,可以评估自适应均衡器的性能。
最后,可以使用MATLAB进行自适应均衡器的性能分析和优化。
通过调整均衡器的参数和算法,可以优化自适应均衡器的性能。
MATLAB提供了各种工具和函数库,如优化算法工具箱、信号处理工具箱等,可以帮助研究人员快速分析和优化自适应均衡器的性能。
总之,基于MATLAB的自适应均衡器的研究可以通过建立模型、进行仿真实验和性能评估来实现。
MATLAB提供了丰富的工具和函数库,可以方便地进行信号处理和模拟仿真,从而帮助研究人员深入了解和优化自适应均衡器的工作原理和性能。
基于MATLAB的数字均衡器设计
![基于MATLAB的数字均衡器设计](https://img.taocdn.com/s3/m/591e0d09581b6bd97f19eaf0.png)
基于MATLAB的数字滤波器设计摘要:通过Matlab 强大的信号处理功能,分析数字均衡器的设计要求,对各种数字音频信号进行滤波处理,设计出一种比较合理的数字滤波器,并在此基础上设计一种均衡器,最后对该数字滤波器和均衡器进行综合测试并改进,使其达到要求的指标。
关键词: MATLAB;数字滤波器;均衡器一、概述随着数字化技术的快速、深入发展,人们对数字化电子产品所产生的图像、图形以及声音等质量的要求越来越高。
在实时数字处理过程中,与D/A 和A/D 转换相关的模拟信号重构过程是决定数字系统输出质量的关键。
在声音的拾取过程及通过音响设备的传送过程中,由于设备或器件的原因,其幅度对频率的响应往往不一致,这样就达不到原来的效果,往往需要对目标信号进行滤波处理,以满足用户对信号的要求。
MATLAB 是一个数据分析和处理功能十分强大的工程实用软件,它的滤波器设计工具箱为实现声音信号的数字滤波提供了十分方便的函数和命令。
本文将介绍基于MATLAB设计出的一种实用的数字滤波器,并对其功能进行扩展,设计出一种均衡器。
滤波器的种类很多,按所通过信号的频段分为低通、高通、带通和带阻滤波器四种。
低通滤波器:它允许信号中的低频或直流分量通过,抑制高频分量或干扰和噪声。
高通滤波器:它允许信号中的高频分量通过,抑制低频或直流分量。
带通滤波器:它允许一定频段的信号通过,抑制低于或高于该频段的信号、干扰和噪声。
带阻滤波器:它抑制一定频段内的信号,允许该频段以外的信号通过。
上述每种滤波器又可以分为模拟滤波器和数字滤波器。
如果滤波器的输入输出都是数字信号,则这样的滤波器称之为数字滤波器,它通常通过一定的运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分来实现滤波。
根据数字滤波器冲激响应的时域特性,可将数字滤波器分为两种,即无限长冲激响应(IIR)滤波器和有限长冲激响应(FIR)滤波器。
根据数字信号处理的一般理论,IIR滤波器的特征是具有无限持续时间的冲激响应,而FIR滤波器使冲激响应只能持续一定的时间。
基于Matlab滤波器及均衡器设计
![基于Matlab滤波器及均衡器设计](https://img.taocdn.com/s3/m/965c00f47d1cfad6195f312b3169a4517723e5e6.png)
基于Matlab的数字滤波器设计及均衡器设计1数字滤波器设计背景及目的数字滤波器是一个离散时间系统,是一种按预定的算法,将输入离散时间信号转换为所要求的输出离散时间信号的特定功能装置。
数字滤波器具有高精度、高可靠性、可程控改变特性或复用、便于集成等优点。
数字滤波器在语言信号处理、图像信号处理、医学生物信号处理以及其他应用领域都得到了广泛应用。
数字滤波器有低通、高通、带通、带阻和全通等类型。
它可以是时不变的或时变的、因果的或非因果的、线性的或非线性的。
应用最广的是线性、时不变数字滤波器,以及FIR滤波器。
本次设计的目的是在Matlab R2007a的软件平台上,应用所学知识,设计一款FIR数字滤波器,要求有便于用户操作的用户界面,能完成低通、高通、带通及带阻等常用滤波功能。
2数字滤波器设计原理数字滤波器可以按所处理信号的维数分为一维、二维或多维数字滤波器。
一维数字滤波器处理的信号为单变量函数序列,例如时间函数的抽样值。
二维或多维数字滤波器处理的信号为两个或多个变量函数序列。
例如,二维图像离散信号是平面坐标上的抽样值。
本次设计的滤波器属于一维数字滤波器。
图1 信号变换数字滤波器的优点是利用差分方程可求离散系统的瞬态解,如下图2所示。
图2 滤波器优点FIR滤波器又称为有限脉冲响应滤波器,FIR就来源于名词“有限脉冲响应”的英文单词首字符缩写。
FIR传递函数:脉冲响应函数:由于h(k)是一个有限长度的序列,故FIR滤波器称为有限脉冲响应滤波器。
FIR滤波器的滤波公式:y(k)=h(0)x(k-m/2)+h(1)x(k-m/2+1) +...+h(m) x(k+m/2)FIR滤波器系数脉冲响应函数设计方法如下其中低通、高通、带通及带阻的设计原理如下图所示。
3设计内容7.3 搭建GUI界面Matlab环境下的图形用户界面(GUI)是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。
基于Matlab的自适应算法仿真平台的设计与实现
![基于Matlab的自适应算法仿真平台的设计与实现](https://img.taocdn.com/s3/m/17fbdb1c227916888486d72d.png)
y labe l( ∃ 参数 \ fon tsize{ 15} a \ fontsize { 13} 1, \ fontsize{ 15} a \ fon ts ize{ 13} 2∃ );
第 36 卷第 6 期 g rid on % 绘制仿真波形
杨学惠 , 等 : 基于 M atlab 的自适应算法 仿真平台的设计与实现
[ 3]
1 . 3 自适应算法仿真程序的实现 整个仿真平台由用户界面和自适应算法仿真程序 函数库两大部分组成。自适应算法仿真程序函数库是 整个仿真平台的核心 , 是平台能否正常运行, 仿真性能 优良与否的关键。所以各个算法仿真程序的设计和实 现是平台设计和实现的基础和核心内容。所有自适应 算法的 M atlab 仿真程序都放在函数库中, 并单独为一 个 M 函数文件。修改一种算法的仿真程序, 不会影响 到其它算法的仿真程序。即使一种算法的程序出现问 题 , 仿真平台无法调用其进行仿真, 其它算法完全不受 影响, 可以正常被用户界面调用来实现算法仿真。这 就保证了仿真平台的可靠性和开放性 , 也提高了仿真 平台的可扩展性。 各自适应算法的 M atlab 仿真 程序均是 基于对 2 阶自回归随机过程模型参数的预测来实现的。在这里 以 LSL (最小二乘格形 )自适应算法为例来说明算法仿 真程序的设计和实现。 1 . 3 . 1 LSL 算法编程思路 建立一个 2 阶自回归随机过程, 信号模型为 # 34#
x ( n) = a 1# x ( n - 1 ) + a 2# x ( n - 2 ) + w ( n ) ( 1) 该信号模型由单位方差的高斯白噪声 w ( n ) 激励 一个线性移不变全极点系统产生, 该系统的两个极点 为 z1 = 0 . 9# e 和 z2 = 0 . 9# e , 对应的滤波器的 参数是 a1 = 1 . 558 , a2 = - 0 . 81 。用一个 LSL 自适应 滤波器作为预测器, 预测信号 x ( n ) , 从而得到对信号 模型的两个参数的估计值 a ^1 ( n ) 和 a ^ 2 ( n ) , 通过比较 估计值 a ^ 1 ( n )、 a ^ 2 ( n) 和真实值 a1, a2 来分析 LSL 算法 的性能。 LSL 算法程序的流程图如图 2 所示。
综合课程设计基于Matlab的自适应均衡器设计
![综合课程设计基于Matlab的自适应均衡器设计](https://img.taocdn.com/s3/m/e84757b9dd88d0d233d46adc.png)
电子信息系综合课程设计基于Matlab的自适应均衡器设计专业名称通信工程班级学号学生姓名指导教师设计时间2010.12.20~2011.1.7课程设计任务书专业:学号:学生姓名(签名):设计题目:基于Matlab的自适应均衡器设计一、设计实验条件实验室,Matlab软件二、设计任务及要求1. 课题要求系统学习时域均衡原理,掌握理论知识;2. 首先进行时域均衡原理和算法设计,再在所用的仿真软件Matlab上对设计进行仿真分析,最后写实验报告;3. 对整个系统设计进行回顾,总结心得。
三、设计报告的内容1.设计题目与设计任务(设计任务书)2.前言(绪论)(设计的目的、意义等)3.设计主体(各部分设计内容、分析、结论等)4.结束语(设计的收获、体会等)5.参考资料四、设计时间与安排1、设计时间:3周2、设计时间安排:熟悉实验设备、收集资料: 4天设计图纸、实验、计算、程序编写调试: 7天编写课程设计报告: 3天答辩: 1天基于Matlab的自适应均衡器设计一、设计目的及意义:通过本学期通信原理课程的学习,主要对数字信号系统的通信原理、传输机制等有了系统深入的了解。
而实践性的课程设计能够起到提高综合运用能力,加强理论知识的学习,提高实验技术,启发创造新思想的效果。
此次课程设计是自适应均衡器设计。
我们按照查找资料、软件选择、系统设计、仿真实现、结果优化这一流程进行。
不仅使我们进一步巩固了课程知识,也提高了我们分析问题、解决问题的能力。
二、设计主体:1 、设计原理数字信号经过这样的信道传输以后,由于受到了信道的非理想特性的影响,在接收端就会产生码间干扰(ISI),使系统误码率上升,严重情况下使系统无法继续正常工作。
理论和实践证明,在接收系统中插入一种滤波器,可以校正和补偿系统特性,减少码间干扰的影响。
这种起补偿作用的滤波器称为均衡器。
时域均衡是利用均衡器产生的时间波形去直接校正已畸变的波形,使包括均衡器在内的整个系统的冲击响应满无码间串扰条件。
MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明书
![MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明书](https://img.taocdn.com/s3/m/12481b64e518964bcf847cd6.png)
MATLAB 环境下ISI 信道仿真及自适应均衡器设计程序说明一、系统模型二、ISI 信道仿真及LSM 算法自适应均衡器原理1、发送端和接收端滤波器的级联和在采样瞬间时的信道可用等效的离散时间FIR 信道滤波器来表示,Xn={0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088},n={-5,-4,…,5}。
2、基于MSE 准则的均衡器抽头系数的自适应算法为:^^1k k k k c c e y +=+∆其中^k c 代表抽头系数向量的估值,∆为迭代过程中的步长参数,k e 为误差信号,k y 代表在瞬时k 包含均衡器中2k+1接收信号值的行向量。
误差信号k e 表示为:k k k e a z =-;k z 为均衡器输出,k a 为已知信号序列。
最初用一已知伪随机序列{k a }在信道上将这个自适应均衡器进行训练。
在解调器端,均衡器用这个已知序列去调整它的系数,一旦初始调节完成,自适应均衡器就从一个训练模式切换到直接判决模式,这时:^k k k e a z =-,式中^k a 是检测器的输出。
为了确保收敛和在慢变化信道中好的跟踪能力,选择步长参数的一种经验公式是15(21)R k P ∆=+ 式中R P 代表接收到的信号加噪声的功率,它可以从接收信号中估计出。
三、仿真结果图四、结论分析从结果图中我们可以看出,在信噪比逐渐增大的过程中,未经均衡器均衡的差错率没有明显改善,可知系统中始终存在码间干扰造成的误码;经均衡器均衡后的差错率则有明显改善。
但我们同时也可以看到在信噪比较低情况下,均衡器均衡之后的误码率并没有明显改善,甚至没有未均衡的差错率低,这主要是因为噪声为随机信号,功率大时对源信号影响较大,而且均衡器不易跟踪;当我们把均衡器的步长调低后,跟踪能力增强,差错率降低。
附源程序代码:main_plot.mclear;clc;echo off;close all;N=10000; %指定信号序列长度info=random_binary(N); %产生二进制信号序列SNR_in_dB=8:1:18; %AWGN信道信噪比for j=1:length(SNR_in_dB)[y,len]=channel(info,SNR_in_dB(j)); %通过既有码间干扰又有白噪声信道numoferr=0; %初始误码统计数for i=len+1:N+len, %从第len个码元开始为真实信号码元if (y(i)<0), %判决译码elsedecis=1;end;if (decis~=info(i-5)), %判断是否误码,统计误码码元个数numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 未经均衡器均衡,得到的误码率end;semilogy(SNR_in_dB,Pe,'red*-'); %未经均衡器,误码率结果图hold on;delta_1=0.11; %指定自适应均衡器的步长delta_2=0.09; %指定自适应均衡器的步长for j=1:length(SNR_in_dB)y=channel(info,SNR_in_dB(j)); %通过信道z=lms_equalizer(y,info,delta_1); %通过自适应均衡器,并设置步长为0.11 numoferr=0;for i=1:N,if (z(i)<0),decis=-1;elsedecis=1;end;if (decis~=info(i)),numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 经自适应均衡器均衡后,得到的误码率end;semilogy(SNR_in_dB,Pe,'blacko-'); %自适应均衡器均衡之后,误码率结果图hold on;for j=1:length(SNR_in_dB)y=channel(info,SNR_in_dB(j)); %通过信道z=lms_equalizer(y,info,delta_2); %通过自适应均衡器,并设置步长为0.09 numoferr=0;for i=1:N,if (z(i)<0),decis=-1;elsedecis=1;end;numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 经自适应均衡器均衡后,得到的误码率end;semilogy(SNR_in_dB,Pe,'blue.-'); %自适应均衡器均衡之后,误码率结果图hold on;xlabel('SNR in dB');ylabel('Pe');title('ISI信道自适应均衡系统仿真');legend('未经均衡器均衡','经自适应均衡器均衡,步长detla=0.11',...'经自适应均衡器均衡,步长detla=0.09');random_binary.m%产生二进制信源随机序列function [info]=random_binary(N)if nargin == 0, %如果没有输入参数,则指定信息序列为10000个码元N=10000;end;for i=1:N,temp=rand;if (temp<0.5),info(i)=-1; % 1/2的概率输出为-1elseinfo(i)=1; % 1/2的概率输出为1endend;channel.m%模拟既有码间干扰又有高斯白噪声的信道function [y,len]=channel(x,snr_in_dB)SNR=exp(snr_in_dB*log(10)/10); %信噪比真值转换sigma=1/sqrt(2*SNR); %高斯白噪声的标准差%指定信道的ISI参数,可以看出此信道质量还是比较差的actual_isi=[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088];len_actual_isi=(length(actual_isi)-1)/2;len=len_actual_isi;y=conv(actual_isi,x); %信号通过信道,相当于信号序列与信道模型序列作卷积%需要指出,此时码元序列长度变为N+len-1,译码时我们从第len个码元开始到N+len个结束for i=1:2:size(y,2),[noise(i) noise(i+1)]=gngauss(sigma); %产生噪声end;y=y+noise; %叠加噪声gngauss.m%产生高斯白噪声function [gsrv1,gsrv2]=gngauss(m,sgma)if nargin == 0, %如果没有输入实参,则均方为0,标准差为1m=0; sgma=1;elseif nargin == 1, %如果输入实参为1个参数,则标准差为输入实参,均值为0 sgma=m; m=0;end;u=rand;z=sgma*(sqrt(2*log(1/(1-u))));u=rand;gsrv1=m+z*cos(2*pi*u);gsrv2=m+z*sin(2*pi*u);lms_equalizer.m%LSM算法自适应滤波器实现function [z]=lms_equalizer(y,info,delta)estimated_c=[0 0 0 0 0 1 0 0 0 0 0]; %初始抽头系数K=5;for k=1:size(y,2)-2*K,y_k=y(k:k+2*K); %获取码元,一次11个z_k=estimated_c*y_k'; %各抽头系数与码元相乘后求和e_k=info(k)-z_k; %误差估计estimated_c=estimated_c+delta*e_k*y_k; %计算校正抽头系数z(k)=z_k; %均衡后输出的码元序列end;。
自适应均衡器的设计
![自适应均衡器的设计](https://img.taocdn.com/s3/m/8e0c56754b35eefdc9d3332b.png)
电子信息工程学院《DSP技术及应用》课程设计报告题目:自适应均衡器的设计专业班级:通信工程专业10级通信B班二〇一三年六月十日目录一、设计目的 (1)二、设计要求 (1)三、设计原理及方案 (2)四、软件流程 (3)五、调试分析 (9)六、设计总结 (10)七、参考文献 (10)设计目的通过本学期课程的学习,我们主要对数字信号系统的通信原理、传输机制等有了深入的了解。
而实践性的课程设计能够起到提高综合运用能力,提高实验技术,启发创造新思想的效果。
我们小组此次课程设计是自适应均衡器设计,通过查找资料,我们了解到在一个实际的通信系统中,由于多径传输、信道衰落等影响,在接收端也会产生严重的码间串扰。
串扰造成严重影响时,必须对整个系统的传递函数进行校正,使其接近无失真传输条件。
为了提高通信系统的性能,一般在接收端采用均衡技术。
由于信道具有随机性、时变性,因此我们设计自适应均衡器,使其能够实时地跟踪无线通信信道的时变特性,根据信道响应自动调整滤波器抽头系数。
图1公式1 我们决定使用的LMS 算法是目前使用很广泛的自适应均衡算法,同时我们按照查找资料、系统设计、仿真实现、结果优化这一流程进行。
不仅使我们进一步巩固了课程知识,也提高了我们分析问题、解决问题的能力。
二、设计要求1、熟练掌握自适应滤波器的原理和LMS 算法的理论知识;2、学会运用matlab 软件,生成并对该信号进二进制序列信号和正弦信号,并模拟一个码间串扰信道,使信号通过码间串扰信道,之后对其进行加噪处理。
比较经过均衡器和未经均衡的效果随信噪比的变化。
3、完成以二进制序列信号和正弦信号为输入信号设计自适应均衡器的基础上,实现改变LMS 算法的步长进而改变自适应均衡器的抽头系数来观察信号的均方误差随步长的变化。
4、完成对归一化LMS 算法的研究,使经过信道的信号通过可以自定义NLMS 算法次数的自适应均衡器,观察信号的均方误差的变化曲线。
5、完成声音信号的采集,研究声音信号的时域波形和频域波形,对声音信号分别加高频噪声和通过模拟信道,使处理过的信号通过巴特沃斯滤波器和自适应均衡器,分析均衡器的效果。
MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明书
![MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明书](https://img.taocdn.com/s3/m/12481b64e518964bcf847cd6.png)
MATLAB 环境下ISI 信道仿真及自适应均衡器设计程序说明一、系统模型二、ISI 信道仿真及LSM 算法自适应均衡器原理1、发送端和接收端滤波器的级联和在采样瞬间时的信道可用等效的离散时间FIR 信道滤波器来表示,Xn={0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088},n={-5,-4,…,5}。
2、基于MSE 准则的均衡器抽头系数的自适应算法为:^^1k k k k c c e y +=+∆其中^k c 代表抽头系数向量的估值,∆为迭代过程中的步长参数,k e 为误差信号,k y 代表在瞬时k 包含均衡器中2k+1接收信号值的行向量。
误差信号k e 表示为:k k k e a z =-;k z 为均衡器输出,k a 为已知信号序列。
最初用一已知伪随机序列{k a }在信道上将这个自适应均衡器进行训练。
在解调器端,均衡器用这个已知序列去调整它的系数,一旦初始调节完成,自适应均衡器就从一个训练模式切换到直接判决模式,这时:^k k k e a z =-,式中^k a 是检测器的输出。
为了确保收敛和在慢变化信道中好的跟踪能力,选择步长参数的一种经验公式是15(21)R k P ∆=+ 式中R P 代表接收到的信号加噪声的功率,它可以从接收信号中估计出。
三、仿真结果图四、结论分析从结果图中我们可以看出,在信噪比逐渐增大的过程中,未经均衡器均衡的差错率没有明显改善,可知系统中始终存在码间干扰造成的误码;经均衡器均衡后的差错率则有明显改善。
但我们同时也可以看到在信噪比较低情况下,均衡器均衡之后的误码率并没有明显改善,甚至没有未均衡的差错率低,这主要是因为噪声为随机信号,功率大时对源信号影响较大,而且均衡器不易跟踪;当我们把均衡器的步长调低后,跟踪能力增强,差错率降低。
附源程序代码:main_plot.mclear;clc;echo off;close all;N=10000; %指定信号序列长度info=random_binary(N); %产生二进制信号序列SNR_in_dB=8:1:18; %AWGN信道信噪比for j=1:length(SNR_in_dB)[y,len]=channel(info,SNR_in_dB(j)); %通过既有码间干扰又有白噪声信道numoferr=0; %初始误码统计数for i=len+1:N+len, %从第len个码元开始为真实信号码元if (y(i)<0), %判决译码elsedecis=1;end;if (decis~=info(i-5)), %判断是否误码,统计误码码元个数numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 未经均衡器均衡,得到的误码率end;semilogy(SNR_in_dB,Pe,'red*-'); %未经均衡器,误码率结果图hold on;delta_1=0.11; %指定自适应均衡器的步长delta_2=0.09; %指定自适应均衡器的步长for j=1:length(SNR_in_dB)y=channel(info,SNR_in_dB(j)); %通过信道z=lms_equalizer(y,info,delta_1); %通过自适应均衡器,并设置步长为0.11 numoferr=0;for i=1:N,if (z(i)<0),decis=-1;elsedecis=1;end;if (decis~=info(i)),numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 经自适应均衡器均衡后,得到的误码率end;semilogy(SNR_in_dB,Pe,'blacko-'); %自适应均衡器均衡之后,误码率结果图hold on;for j=1:length(SNR_in_dB)y=channel(info,SNR_in_dB(j)); %通过信道z=lms_equalizer(y,info,delta_2); %通过自适应均衡器,并设置步长为0.09 numoferr=0;for i=1:N,if (z(i)<0),decis=-1;elsedecis=1;end;numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 经自适应均衡器均衡后,得到的误码率end;semilogy(SNR_in_dB,Pe,'blue.-'); %自适应均衡器均衡之后,误码率结果图hold on;xlabel('SNR in dB');ylabel('Pe');title('ISI信道自适应均衡系统仿真');legend('未经均衡器均衡','经自适应均衡器均衡,步长detla=0.11',...'经自适应均衡器均衡,步长detla=0.09');random_binary.m%产生二进制信源随机序列function [info]=random_binary(N)if nargin == 0, %如果没有输入参数,则指定信息序列为10000个码元N=10000;end;for i=1:N,temp=rand;if (temp<0.5),info(i)=-1; % 1/2的概率输出为-1elseinfo(i)=1; % 1/2的概率输出为1endend;channel.m%模拟既有码间干扰又有高斯白噪声的信道function [y,len]=channel(x,snr_in_dB)SNR=exp(snr_in_dB*log(10)/10); %信噪比真值转换sigma=1/sqrt(2*SNR); %高斯白噪声的标准差%指定信道的ISI参数,可以看出此信道质量还是比较差的actual_isi=[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088];len_actual_isi=(length(actual_isi)-1)/2;len=len_actual_isi;y=conv(actual_isi,x); %信号通过信道,相当于信号序列与信道模型序列作卷积%需要指出,此时码元序列长度变为N+len-1,译码时我们从第len个码元开始到N+len个结束for i=1:2:size(y,2),[noise(i) noise(i+1)]=gngauss(sigma); %产生噪声end;y=y+noise; %叠加噪声gngauss.m%产生高斯白噪声function [gsrv1,gsrv2]=gngauss(m,sgma)if nargin == 0, %如果没有输入实参,则均方为0,标准差为1m=0; sgma=1;elseif nargin == 1, %如果输入实参为1个参数,则标准差为输入实参,均值为0 sgma=m; m=0;end;u=rand;z=sgma*(sqrt(2*log(1/(1-u))));u=rand;gsrv1=m+z*cos(2*pi*u);gsrv2=m+z*sin(2*pi*u);lms_equalizer.m%LSM算法自适应滤波器实现function [z]=lms_equalizer(y,info,delta)estimated_c=[0 0 0 0 0 1 0 0 0 0 0]; %初始抽头系数K=5;for k=1:size(y,2)-2*K,y_k=y(k:k+2*K); %获取码元,一次11个z_k=estimated_c*y_k'; %各抽头系数与码元相乘后求和e_k=info(k)-z_k; %误差估计estimated_c=estimated_c+delta*e_k*y_k; %计算校正抽头系数z(k)=z_k; %均衡后输出的码元序列end;。
MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明
![MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明](https://img.taocdn.com/s3/m/860ec763de80d4d8d15a4fba.png)
MATLAB 环境下ISI 信道仿真及自适应均衡器设计程序说明一、系统模型二、ISI 信道仿真及LSM 算法自适应均衡器原理1、发送端和接收端滤波器的级联和在采样瞬间时的信道可用等效的离散时间FIR 信道滤波器来表示,Xn={0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088},n={-5,-4,…,5}。
2、基于MSE (均方准则)的均衡器抽头系数的自适应算法为:^^1k k k k c c e y +=+∆其中^k c 代表抽头系数向量的估值,∆为迭代过程中的步长参数,k e 为误差信号,k y 代表在瞬时k 包含均衡器中2k+1接收信号值的行向量。
误差信号k e 表示为:k k k e a z =-;k z 为均衡器输出,k a 为已知信号序列。
最初用一已知伪随机序列{k a }在信道上将这个自适应均衡器进行训练。
在解调器端,均衡器用这个已知序列去调整它的系数,一旦初始调节完成,自适应均衡器就从一个训练模式切换到直接判决模式,这时:^k k k e a z =-,式中^k a 是检测器的输出。
为了确保收敛 和 在慢变化信道中好的跟踪能力,选择步长参数的一种经验公式是15(21)R k P ∆=+ 式中R P 代表接收到的信号加噪声的功率,它可以从接收信号中估计出。
三、仿真结果图四、结论分析从结果图中我们可以看出,在信噪比逐渐增大的过程中,未经均衡器均衡的差错率没有明显改善,可知系统中始终存在码间干扰造成的误码;经均衡器均衡后的差错率则有明显改善。
但我们同时也可以看到在信噪比较低情况下,均衡器均衡之后的误码率并没有明显改善,甚至没有未均衡的差错率低,这主要是因为噪声为随机信号,功率大时对源信号影响较大,而且均衡器不易跟踪;当我们把均衡器的步长调低后,跟踪能力增强,差错率降低。
附源程序代码:main_plot.mclear;clc;echo off;close all;N=10000; %指定信号序列长度info=random_binary(N); %产生二进制信号序列SNR_ in _dB=8:1:18; %AWGN信道信噪比for j=1:length(SNR _in_ dB)[y, len ]=channel(info, SNR _in _dB(j)); %通过既有码间干扰又有白噪声信道numoferr=0; %初始误码统计数for i=len+1:N+len, %从第len个码元开始为真实信元if (y(i)<0), %判决译码decis=-1;elsedecis=1;end;if (decis~=info(i-5)), %判断是否误码,统计误码码元个数numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 未经均衡器均衡,得到的误码率end;semilogy(SNR_in_dB,Pe,'red*-'); %未经均衡器,误码率结果图hold on;delta_1=0.11; %指定自适应均衡器的步长delta_2=0.09; %指定自适应均衡器的步长for j=1:length(SNR_in_dB)y=channel(info,SNR_in_dB(j)); %通过信道z=lms_equalizer(y,info,delta_1); %通过自适应均衡器,并设置步长为0.11 numoferr=0;for i=1:N,if (z(i)<0),decis=-1;elsedecis=1;end;if (decis~=info(i)),numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 经自适应均衡器均衡后,得到的误码率end;semilogy(SNR _in _ dB, Pe ,'blacko-'); %自适应均衡器均衡之后,误码率结果图 hold on;for j=1:length(SNR_in_dB)y=channel(info,SNR_in_dB(j)); %通过信道z=lms_equalizer(y,info,delta_2); %通过自适应均衡器,并设置步长为0.09 numoferr=0;for i=1:N,if (z(i)<0),decis=-1;elsedecis=1;end;if (decis~=info(i)),numoferr=numoferr+1;end;end;Pe(j)=numoferr/N; % 经自适应均衡器均衡后,得到的误码率end;semilogy(SNR_in_dB,Pe,'blue.-'); %自适应均衡器均衡之后,误码率结果图hold on;xlabel('SNR in dB');ylabel('Pe');title('ISI信道自适应均衡系统仿真');legend('未经均衡器均衡','经自适应均衡器均衡,步长detla=0.11',...'经自适应均衡器均衡,步长detla=0.09');random_binary.m%产生二进制信源随机序列function [info]=random_binary(N)if nargin == 0, %如果没有输入参数,则指定信息序列为10000个码元N=10000;end;for i=1:N,temp=rand;if (temp<0.5),info(i)=-1; % 1/2的概率输出为-1elseinfo(i)=1; % 1/2的概率输出为1endend;channel.m%模拟既有码间干扰又有高斯白噪声的信道function [y,len]=channel(x,snr_in_dB)SNR=exp(snr_in_dB*log(10)/10); %信噪比真值转换sigma=1/sqrt(2*SNR); %高斯白噪声的标准差%指定信道的ISI参数,可以看出此信道质量还是比较差的actual_isi=[0.05 -0.063 0.088 -0.126 -0.25 0.9047 0.25 0 0.126 0.038 0.088];len_ actual _isi=(length(actual_isi)-1)/2;len=len_actual_isi;y=conv(actual_isi,x); %信号通过信道,相当于信号序列与信道模型序列作卷积%需要指出,此时码元序列长度变为N+len-1,译码时我们从第len个码元开始到N+len个结束for i=1:2:size(y,2),[noise(i) noise(i+1)]=gngauss(sigma); %产生噪声end;y=y+noise; %叠加噪声gngauss . m%产生高斯白噪声function [gsrv1,gsrv2]=gngauss(m,sgma)if nargin == 0, %如果没有输入实参,则均方为0,标准差为1m=0; sgma=1;elseif nargin == 1, %如果输入实参为1个参数,则标准差为输入实参,均值为0 sgma=m; m=0;end;u=rand;z=sgma*(sqrt(2*log(1/(1-u))));u=rand;gsrv1=m+z*cos(2*pi*u);gsrv2=m+z*sin(2*pi*u);lm _equalizer .m%LSM算法自适应滤波器实现function [z]=lms_equalizer(y,info,delta)estimated_c=[0 0 0 0 0 1 0 0 0 0 0]; %初始抽头系数K=5;for k=1:size(y,2)-2*K,y_k=y(k:k+2*K); %获取码元,一次11个z_k=estimated_c*y_k'; %各抽头系数与码元相乘后求和e_k=info(k)-z_k; %误差估计estimated_c=estimated_c+delta*e_k*y_k; %计算校正抽头系数z(k)=z_k; %均衡后输出的码元序列end;。
自适应均衡器的设计与仿真毕业设计论文
![自适应均衡器的设计与仿真毕业设计论文](https://img.taocdn.com/s3/m/5c885e07fc4ffe473368abf9.png)
毕业设计(论文)自适应均衡器的设计与仿真摘要在移动通信领域中,码间干扰始终是影响通信质量的主要因素之一。
为了提高通信质量,减少码间干扰,在接收端通常采用均衡技术抵消信道的影响。
由于信道响应是随着时间变化的,通常采用自适应均衡器。
自适应均衡器能够自动的调节系数从而跟踪信道,成为通信系统中一项关键的技术。
本篇论文在对无线通信信道进行研究的基础上,阐述了信道产生码间干扰的原因以及无码间干扰的条件,介绍了奈奎斯特第一准则和时域均衡的原理。
深入研究了均衡器的结构和自适应算法,在均衡器的结构中主要介绍了4种自适应均衡器结构即线性横向均衡器、线性格型均衡器、判决反馈均衡器和分数间隔均衡器,并对这几种结构进行了比较。
对于系数调整算法主要介绍了常用的几种算法,包括LMS算法、RLS算法以及盲均衡常用的恒模算法(CMA),并讨论了它们各自的优缺点。
最后选用线性横向均衡器结构与上述3种系数调整算法,利用MATLAB进行仿真,并对结果进行分析与比较。
关键字:自适应均衡器,LMS,RLS,CMA ,MATLABAbstractIn the field of mobile communications, the inter-symbol interferences (ISI) is always one of the primary factor which effects transmission. Adaptive equalization is mainly solution of dealing with ISI. Equalizers are often used to combat the influence of channels for improving communication’s quality and decreasing ISI in receivers. Sometimes, channel response varies due to time, the adaptive equalizer is always necessary. Equalizer coefficients can be automatically adjusted to track the channel as a key communication system technology.On the basis of studying on wireless communication channel, this paper discusses the reasons of resulting inter-symbol interference (ISI) and without conditions, introduces Nyquist first rule and the theory of adaptive equalizers. The equalizer structures and the adaptive algorithm are particularly studied in this paper. Mainly introducing and comparing four adaptive equalizer structures, such as linear horizontal equalizer, line personality type equalizer, decision feedback equalizer, fractionally spaced equalizers. Then we research the algorithms of the adaptive equalizer which are often used, including LMS, RLS, CMA, and discuss their respective advantages and disadvantages. Finally, we choose different adaptive equalizer structures and algorithms, and use the MATALB tool to simulate, at the end of this paper we analyze and compare the results.Keywords: adaptive equalizer, LMS, RLS, CAM, MATLAB目录摘要 (I)ABSTRACT (II)目录 (III)第一章绪论 (1)1.1引言 (1)1.2国内(外)研究现状 (1)1.3论文研究的内容及主要工作 (2)第二章信道、码间干扰及均衡技术 (3)2.1信道 (3)2.1.1 恒参信道 (4)2.1.2 变参信道 (4)2.2通信信道模型 (6)2.3码间干扰 (7)2.4自适应均衡的原理与特点 (10)2.5本章小结 (11)第三章均衡器结构 (12)3.1自适应均衡简介 (12)3.2均衡器的分类 (12)3.3线性横向均衡器结构(LTE) (13)3.4线性格型均衡器(LLE) (14)3.5判决反馈均衡器(DFE) (15)3.6分数间隔均衡器(FSE) (17)3.7本章总结 (21)第四章自适应均衡算法的理论基础 (22)4.1最小均衡误差算法(LMS) (22)4.2递归最小二乘算法(RLS) (25)4.3盲均衡算法 (27)4.4本章小结 (30)第五章均衡器的仿真与实现 (31)5.1采用线性横向均衡器与LMS算法 (31)5.2采用线性横向均衡器与RLS算法 (31)5.3利用恒模算法和线性横向均衡器 (32)总结 (35)参考文献 (36)致谢 (37)附录 (38)第一章绪论1.1引言通常信道特性是一个复杂的函数,它可能包括各种线性失真、非线性失真、交调失真、衰落等。
MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明
![MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明](https://img.taocdn.com/s3/m/24880e750a4c2e3f5727a5e9856a561252d3218a.png)
MATLAB环境下ISI信道仿真及自适应均衡器设计程序说明MATLAB是一种广泛用于科学计算和工程领域的高级编程语言和环境。
在MATLAB环境下,可以进行ISI(Inter-Symbol Interference)信道仿真及自适应均衡器设计。
ISI是指传输过程中,当前符号对后续符号产生的干扰,会导致接收端的误码率增加。
自适应均衡器旨在消除ISI,提高信号的传输质量。
下面是一个示例程序,用于说明在MATLAB环境下进行ISI信道仿真及自适应均衡器设计的步骤和方法:1.生成发送信号:首先,定义发送信号的长度和发送符号序列。
可以使用随机数生成器或自定义发送符号序列。
例如,可以使用randi函数生成一个长度为N的随机二进制序列。
2.传输信号:将发送信号通过ISI信道传输。
可以使用MATLAB中的conv函数来模拟信号通过ISI信道,conv函数将发送信号与信道冲激响应进行卷积操作。
信道冲激响应可以根据具体的信道特性进行定义,例如,可以使用瑞利衰落信道或AWGN(Additive White Gaussian Noise)信道。
3.加入噪声:在传输信号的基础上添加噪声。
可以使用MATLAB中的awgn函数来添加高斯白噪声。
awgn函数通过指定信号的信噪比(SNR)来控制噪声的强度。
4.接收信号:接收被噪声污染的信号。
可以使用MATLAB中的corr函数来计算接收信号与发送信号之间的相关性,以便后续均衡器设计。
5.自适应均衡器设计:使用自适应均衡器算法来消除ISI。
在MATLAB环境中,有多种自适应均衡器算法可供选择,包括LMS(Least Mean Squares)、NLMS (Normalized Least Mean Squares)、RLS(Recursive Least Squares)等算法。
6.误码率评估:使用误码率作为性能指标来评估均衡器的性能。
可以通过比较接收信号与发送信号之间的误差来计算误码率。
基于MATLAB的自适应滤波算法的研究讲解
![基于MATLAB的自适应滤波算法的研究讲解](https://img.taocdn.com/s3/m/2c4629f75fbfc77da269b1dc.png)
前言基于MATLAB的自适应滤波算法的研究1 前言滤波技术是信号处理的一项基本的重要技术,利用这种技术,可以抑制信号中的干扰,获取需要的信息。
在数据通信过程中,需要传输的信号是扩展频谱信号,其中可能混有来自另一频带用户的信号检测中,在宽带信号中可能混有企图破坏检测系统的窄带干扰信号。
用于消除上述干扰的滤波器,既可以是固定参数的,也可以是自适应的。
如果采用固定参数的设计方法研制出一种认为是最佳的滤波器,就意味着设计者预先知道了一切可能的输入条件(包括有用信号与噪声的先验知识)以及系统在这些条件下的响应。
然而,实际系统的状态往往随时间和空间的不断变化而变化,输入条件的范围即使是在统计意义下也可能是不确切的,例如上述干扰的具体频带事先是无法知道的。
所以固定参数滤波器在这种情况下是失效,要实现在这种条件下的滤波,必须要求系统的参数能随着条件的变化而自行调整,这样的系统称为自适应系统。
用这种系统对信号进行的变换、加工就是自适应信号处理,也可以统称为自适应滤波。
由于自适应滤波器具有自动地调节自身参数的能力,能极大的保证的不失真,可以更好更快地解决上述问题。
自适应滤波可以用DSP 构成的系统来实现,随着大规模集成电路技术的发展,市场上出现许多能够适应实时数字信号处理要求的DSP 芯片,其中美国德州仪器公司生产的T MS320C32 浮点DSP,其处理能力达到40 位浮点精度,浮点数操作能力达到60MFLOPS,指令速度为30MIPS,因此在许多数据采集系统和实时信号处理系统中得到了广泛的应用。
自适应滤波算法的研究是当今自适应信号处理中最为活跃的研究课题之一。
滤波是当今信息处理领域的一种极其重要的技术。
本文阐述了自适应滤波器的设计方法,分析了运用MATLAB软件进行自适应滤波器的设计过程。
本文在论述自适应滤波基本原理的基础上,重点讨论了基于LMS的自适应滤波器算法和基于RLS的自适应滤波器算法。
基于MATLAB的自适应滤波算法的研究2 选题背景2.1研究目的和意义自1967年B.Widrow等人提出自适应滤波器以来,在短短的四十年中,自适应滤波器的发展很快,已广泛地用于系统模型识别,通信信道的自适应均衡,雷达与声纳的波束形成,减少或消除心电图中的周期干扰,噪声中信号的检测、跟踪、增强和线性预测等。
基于matlab数字均衡器设计
![基于matlab数字均衡器设计](https://img.taocdn.com/s3/m/c2ee248a70fe910ef12d2af90242a8956becaade.png)
2.设计原理2.1数字滤波器数字滤波器的原理简介数字滤波器的功能是把输入序列通过一定的运算,变换成输出序列。
数字滤波器一般可用两种方法实现:一种是根据描述数字滤波器的数学模型或信号流程图,用数字硬件构成专用的数字信号处理机,即硬件方式;另一种是编写滤波器运算程序,在计算机上运行,即软件方式。
考虑到软件的灵活性及易于实现,本文采用软件方式实现数字滤波器。
数字滤波器有无限冲激响应(IIR)和有限冲激响应(FIR)两种。
下面分别介绍:(1) IIR滤波器IIR滤波器的特点是:单位冲激响应h(n)是无限长的;系统函数H(z)在有限长Z平面(0<|Z|<∞)有极点存在;结构上存在输出到输入的反馈,也即结构上是递归型的;因果稳定的IIR滤波器其全部极点一定在单位圆内。
其系统函数为(1)计算机上实现时则需要用到差分方程的形式,如下(2)IIR滤波器有四种基本的网络结构(具体参看文献[3]),直接I型、直接II型、级联型与并联型。
其中直接I型需要2N个延迟单元,而直接II型只需要N个延迟单元。
因此,用软件实现时,直接II型少占用存储单元。
级联型则是将N阶IIR系统函数分解成二阶因式连乘积,并联型则是将系统函数化成部分分式之和,则可得到IIR数字滤波器的并联结构。
(2) FIR滤波器IIR滤波器的特点是:系统的单位冲激响应h(n)是个有限长序列;系统函数|H(z)|在|z|>0处收敛,极点全部在z=0处(即FIR一定为稳定系统);结构上主要是非递归结构,没有输出到输入反馈。
但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
其系统函数的一般形式为(3)对应的差分方程为(4)FIR系统的基本结构有直接型、级联型、快速卷积型、频率取样型等。
FIR与IIR滤波器的比较与选择IIR滤波器可以用比FIR滤波器少的阶数来满足相同的技术指标,这样,IIR滤波器所用的存储单元和所用的运算次数都比FIR滤波器少。
基于MATLAB迫零算法的自适应均衡器研究
![基于MATLAB迫零算法的自适应均衡器研究](https://img.taocdn.com/s3/m/746dd22a10661ed9ad51f365.png)
(上接第 36 页) 收塔加高载荷后,无需对塔基础进行改造,只需在吸收塔原有不同 部位,将吸收塔增高,脱硫塔的改动较小,改造后,虽然会增加塔内 压力,但新增浆液循环泵喷淋层新增加附属设备会大幅度提高脱 硫效率,从而减少循泵偷运数量,不会增加过多运行成本,同时,该 改造方案也可以更适合超低排放改造要求,使排放的二氧化硫含 量可低于 35mg/m3。
≤
π Ts
包括 T(w)在内的总传输特性将能消除码间串扰。
3.迫零算法
经典的自适应均衡器算法有迫零算法(ZF),最小均方误差算法
(LMS),递推最小二乘法(RLS),卡尔曼算法。本文主要研究迫零算
法(ZF),
3.1 横向滤波器的延迟单元为无穷多的时候:
为消除抽ቤተ መጻሕፍቲ ባይዱ时刻接收端的码间串扰,期望达到:
实际应用中,大多是截短的横向滤波器,不能完全消除码间串 扰,只能适当的调整各抽头系数,尽可能的减小码间串扰,理想情 况下:
自适应均衡原理理论上当基带传输系统的总特性满足奈奎斯特第一准则的时候就可以消除码间串扰在实际实现时难免存在滤波器的设计误差和信道特性的变化无法实现理想的传输特性在抽样时刻上总会存在一定的码间串扰为了减小码间串扰的影响在系统中插入一种可调滤波器来校正或补偿系统传输特性在数据传输期间借助信号本身来调整增益从而实现自动均衡的目的
科学技术
基于 MATLAB 迫零算法的自适应均衡器研究
张雯,李浩进,白文乐 北方工业大学电子信息工程学院
Forced to zero algorithm of adaptive equalizer based on MATLAB
Zhang Wen,Li Haojin,Bai Wenle The northern industrial university Electronic informationengineering college
MATLAB课程设计(自适应中值滤波)
![MATLAB课程设计(自适应中值滤波)](https://img.taocdn.com/s3/m/ab0fb31284254b35eefd34c0.png)
信息工程系课程设计报告课程MATLAB课程设计专业通信工程班级 2级本科二班学生姓名1 景学号114 学生姓名2 学号1414 学生姓名3 王学号6学生姓名4 学号31学生姓名4学号02二〇一四年十二月目录目录ﻩ1摘要:ﻩ错误!未定义书签。
关键词:ﻩ错误!未定义书签。
1.算法描述 ....................... 错误!未定义书签。
1.1噪声点ﻩ31.2 窗口尺寸选择ﻩ错误!未定义书签。
1.3求滤波窗口内中值,并替换像素点。
错误!未定义书签。
2程序实现........................ 错误!未定义书签。
2.1准备和描述 ................. 错误!未定义书签。
2.2扩大窗口、确定窗口ﻩ错误!未定义书签。
2.3确定最大、最小值和中值.... 错误!未定义书签。
2.4中值替换像素点、输出图像 (8)实验结果 ......................... 错误!未定义书签。
参考文献ﻩ错误!未定义书签。
摘要:通过本次课程设计,主要训练和培养学生综合应用所学MATLAB课程的自适应中值的相关知识,独立学习自适应中值滤波的原理及处理方式。
学会扩大窗口并找到其区域内的中值、最小值、以及最大值,然后用中值代替像素点。
通过自主学习和查阅资料来了解程序的编写及改进,并用MATLAB进行仿真。
关键词:自适应中值滤波灰度值椒盐噪声像素点.1.算法描述1.1 噪声点脉冲噪声是图像处理中常见的一类,中值滤波器对消除脉冲噪声非常有效。
噪声脉冲可以是正的(盐点),也可以是负的(胡椒点),所以也称这种噪声为“椒盐噪声”。
椒盐噪声一般总表现为图像局部区域的最大值或最小值,并且受污染像素的位置是随机分布的,正负噪声点出现的概率通常相等。
图像噪声点往往对应于局部区域的极值。
1.2窗口尺寸选择滤波窗口尺寸的选择影响滤波效果,大尺寸窗口滤波能力强,但细节保持能力较弱;小尺寸窗口能保持图像大量细节但其滤波性能较低。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
电子信息系综合课程设计基于Matlab的自适应均衡器设计专业名称通信工程班级学号学生姓名指导教师设计时间2010.12.20~2011.1.7课程设计任务书专业:学号:学生姓名(签名):设计题目:基于Matlab的自适应均衡器设计一、设计实验条件实验室,Matlab软件二、设计任务及要求1. 课题要求系统学习时域均衡原理,掌握理论知识;2. 首先进行时域均衡原理和算法设计,再在所用的仿真软件Matlab上对设计进行仿真分析,最后写实验报告;3. 对整个系统设计进行回顾,总结心得。
三、设计报告的内容1.设计题目与设计任务(设计任务书)2.前言(绪论)(设计的目的、意义等)3.设计主体(各部分设计内容、分析、结论等)4.结束语(设计的收获、体会等)5.参考资料四、设计时间与安排1、设计时间:3周2、设计时间安排:熟悉实验设备、收集资料: 4天设计图纸、实验、计算、程序编写调试: 7天编写课程设计报告: 3天答辩: 1天基于Matlab的自适应均衡器设计一、设计目的及意义:通过本学期通信原理课程的学习,主要对数字信号系统的通信原理、传输机制等有了系统深入的了解。
而实践性的课程设计能够起到提高综合运用能力,加强理论知识的学习,提高实验技术,启发创造新思想的效果。
此次课程设计是自适应均衡器设计。
我们按照查找资料、软件选择、系统设计、仿真实现、结果优化这一流程进行。
不仅使我们进一步巩固了课程知识,也提高了我们分析问题、解决问题的能力。
二、设计主体:1 、设计原理数字信号经过这样的信道传输以后,由于受到了信道的非理想特性的影响,在接收端就会产生码间干扰(ISI),使系统误码率上升,严重情况下使系统无法继续正常工作。
理论和实践证明,在接收系统中插入一种滤波器,可以校正和补偿系统特性,减少码间干扰的影响。
这种起补偿作用的滤波器称为均衡器。
时域均衡是利用均衡器产生的时间波形去直接校正已畸变的波形,使包括均衡器在内的整个系统的冲击响应满无码间串扰条件。
频域均衡是从校正系统频率特性出发,使包括均衡器的基带系统的总特性满足无失真传输条件;频域均衡在信道特性不变,且在传输低速数据时是适用的。
而时域均衡可以根据信道特性的变化进行调整,能够有效地减小码间串扰,故在高速数据传输中得以广泛应用。
图1数字基带传输系统在实际中,当数字基带传输系统(如图1)的特性()()ωωωωRTGCGH)()(=不满足奈奎斯特第一准则时,就会产生有码间串扰的响应波形。
现在我们来证明:如果在接收滤波器和抽样判决之间插入一个称之为横向滤波器的可调滤波器,其冲激响应为∑∞-∞=-=n SnT nT t C t h )()(δ其中,ωωπωππd e nTH T T C s SST jn T T iSSSn ⎰∑-+=)(2nC 完全依赖于H(ω),那么,理论上就可消除抽样时刻上的码间串扰。
由 上式可以看出,这里的()t h T 是图2所示网络的单位冲激响应。
该网络是有无限多的按横向排列的迟延单元sT 和抽头加权系数nC 组成的,因此成为横向滤波器。
它的功能是利用它产生的无限多个响应波形之和,将接收滤波器输出端抽样时刻上有码间串扰的响应波形变换成抽样时刻上无码间串扰的响应波形。
由于很想滤波器的均衡原理是建立在响应波形上的,故把这种均衡成为时域均衡。
图2横向滤波器不难看出,横向滤波器的特性将取决于各抽头系数nC 。
如果nC 是可调整的,则图3所示的滤波器是通用的;特别是当nC 可自动调整时,则它能够适应信道特性的变化,可以动态校正系统的事件响应。
图3有限长横向滤波器及其输入和输出波形理论上,无限长的横向滤波器可以完全消除抽样时刻上的码间串扰,但实际中是不可能实现的。
因为,不仅均衡器的长度受限制,并且系数nC 的调整准确度也受到限制。
如果nC 的调整准确度可不到保证,即使增加长度也不不会获得显著的效果。
因此,有必要进一步讨论有限长横向滤波器的抽头增益调整问题。
设一个具有2N+1个抽头的横向滤波器,如图3(a )所示,其单位冲激响应为()t e ,则有∑-=-=NNi SiiT t C t e )()(δ有设它的输入为)(t x ,)(t x 是被均衡的对象,并设它没有附加噪声,如图3(b )所示,则均衡后输出波形()t y 为∑-=-=*=NNi SiiT t x C t e t x t y )()()()(在抽样时刻SkT t = (设系统无延时时)上,有∑-=-=NNi ik i k xC y上式说明,均衡器在第k 个抽样时刻上的样值ky 将有2N+1个iC 与ik x -乘积之和来决定。
显然,其中除0y 以外的所有ky 都属于波形失真引起的码间串扰。
当输入波形)(t x 给定,及各种可能的ik x -确定是,通过调整iC 使指定的ky 等于零时容易办到的,但同时要求所有的ky (除k=0外)都等于零却是一件很难的事。
这也说明,利用有限长的横向滤波器减小码间串扰是可能的,但完全消除是不可能的。
为了反映这些失真的大小,我们可采用最小均方和迫零算法准则来衡量。
本实验采用最小均方误差算法(LMS )。
LMS (Least Mean Square )算法最早由Widrow 于1960年建立。
采用最小均方算法的均衡器比迫零算法均衡器要稳定一些,它所采用的准则是使均衡器的期望输出值和实际输出值之间的均方误差(MSE)最小化的准则。
由Wiener 滤波理论可知,滤波器的最优抽头系数矢量可表示为xdxx opt r R W 1-=式中xx R 是输入信号矢量()n x 的互相关函数,()n x r xd 是输入信号矢量与期望信号矢量()n d 的互相关函数。
直接求解式此式的运算量非常大,尤其当滤波器的抽头系数个数比较多时。
考虑如图4所示的自适应FIR 滤波器:)(n y 1-z 1-z 1-z1-z)1(-n y )(~n x ∑)(1n w )(2n w )(2n w L -)(1n w L -⨯⨯⨯⨯⨯)1(--L n y )(0n w ……图4 自适应FIR 滤波器令()()()()()n X W n d n y n d n e H -=-=表示滤波器在n 时刻的误差,并定义均方误差()()[]()()⎥⎦⎤⎢⎣⎡-==⎰22n x W n d E n e E n J H de为代价函数。
由梯度的定义可以得出,代价函数相对于滤波器抽头系数矢量w 梯度为()()(){}n e k n x E n J k *--=∇2()()()[]{}1,...1,0,2-=*---=M k n x W n d k n x E H ,定义梯度矢量为()()()()[]TM defn J n J n J n J 110,....,,-∇∇∇=∇以及输入矢量和抽头系数矢量:()()()()[]TM n x n x n x n x 1.....1+--=()()()()[]TM n w n w n w n w 110.....-=则此式可以写作以下矢量形式:()()()()[]{}n w X n d n x E n J H -*-=∇2()n w R r xx xd 22+-= 最广泛使用的自适应算法形式为“下降算法”:()()()()n v n n w n w μ+-=1式中()n w 是第n 步迭代的系数矢量,()n μ是第n 步迭代的更新步长,而v(n)是第n 步迭代的更新方向矢量。
最常用的下降法为梯度下降法,又称最陡下降法。
在这种算法里,更新方向矢量v(n)取作第n-1 次迭代的代价函数J (n-1)的负梯度,即最陡下降法的统一形式为()()()()1211-∇--=n J n n w n w μ 系数21为了使得到的更新公式更加简单可得抽头系数矢量的更新公式为()()()()()11--+-=n w R r n n w n w xx xd μ从上式中可以看出,滤波器抽头系数矢量的更新迭代与xd r 和xx R 有关,而实际的信号处理过程中,xd r 和xx R 都不是能够先验知道的,因此通常用梯度的估计值()1-∇∧n J 来代替()1-∇n J .()()()()()()[]n w n x n x n d n x n J H-*-=∇∧2可得()()()()()()()()[]n w n x n X n d n x n n w n w H-*+-=μ1()()()()n x n e n n w *+-=μ1 其中()()()n y n d n e -=为滤波器输出与期望信号的误差函数。
上式就是LMS 算法抽头系数的更新公式,容易验证。
()()n J n J ∇∇∧是的无偏估计,通过上面的讨论可以总结出LMS 算法的具体步骤如下: 步骤l :初始化抽头系数矢量()[]0,....0,0==n n w T;步骤2 :当n=n+1时计算滤波器输出()()n x w n y H =, 计算误差函数()()()n y n d n e -=,更新滤波器抽头系数矢量()()()()(),1n x n e n n w n w *+-=μ 关于上面的LMS 算法有以下几点注释:注释l :若取()=n μ常数,则称为基本LMS 算法。
注释2 :若取()()(),02,0(,>∈+=ββμ),其中a n x n x an H 则的到归一化LMS 算法。
注释3 :在功率归一化算法中,取()()()可由的方差表示其中,,22n x n an x xσσμ=()()n e n xx2221+-=λσσ递推计算,这里)1,0(∈λ为遗忘因子,由0<a<M2确定,而M 是滤波器阶数. 注释4 :当期望信号未知时,步骤2中的d(n)可直接用判决器的实际输出()n d ∧代替。
本实验中选取滤波器阶数order=63,调整步长u=0.02,均为经验值。
2 、Matlab 仿真过程 1.定义一个随机信道c=0.4; x1=c*rand(); x2=c*rand();x3=c*rand();%信道参数isi=[1,x1,x2,x3];snr=10; %AWGN信道信噪比2.定义滤波器各参数order=63; %滤波器阶数len=1000; %训练序列长度u=0.02; %调整步长M=(order-1)/2;N=len+length(isi)-1;e=zeros(1,N);error=e;y=zeros(1,N); %FIR滤波器输出3.信道均衡过程for i=1:100x=sign(rand(1,len)-0.5);%采用PN码作为训练序列noise=randn(1,N)/10.^(snr/10);%AWGNy=conv(isi,x)+noise;%输出wk=zeros(1,order);%横向滤波器系数for n=order:N-M+1 %LMS算法y1=y(n+M-1:-1:n-M-1);d1=wk*y1';e(n)=x(n)-d1;wk=wk+u*e(n)*y1;e(n)=10*log10(abs(e(n)));endqerror=error+e;end4.得到横向滤波器系数wk输出结果:wk =Columns 1 through 9-0.0058 0.0297 0.0283 0.0247 -0.0147 -0.0118 0.0385 -0.0348 0.0095Columns 10 through 180.0422 0.0321 0.0236 0.0126 -0.0068 -0.0310 0.0094 0.0207 -0.0136Columns 19 through 270.0354 0.0016 -0.0281 0.0181 0.0014 0.0073 -0.0104 0.0038 0.0422Columns 28 through 360.0149 0.0396 0.0150 0.9751 -0.2937 -0.2446 0.1236 0.0825 -0.0315Columns 37 through 45-0.0098 -0.0055 0.0035 -0.0426 -0.0316 0.0045 0.0007 -0.0574 0.0115Columns 46 through 540.0346 -0.0578 0.0389 -0.0503 -0.0110 0.0133 0.0500 -0.0114 -0.0143Columns 55 through 63-0.0055 -0.0214 0.0119 0.0058 -0.0181 -0.0184 -0.0392 0.0115 -0.02725.计算自适应均衡器误差收敛性error=error(order:N-M+1)/100;%误差值t=1:length(error);plot(t,error);title('误差收敛曲线');ylabel('误差dB');xlabel('n');02004006008001000-12-10-8-6-4-2误差收敛曲线误差d Bn图5误差收敛曲线6. 随机信号通过理想均衡信道M = 4;msg = randint(1500,1,M); %产生一个1500 x 1 在[0,M-1]区域内的随机整数序列modmsg = qammod(msg ,M); %进行qam 调制的映射 trainlen = 500; %定义训练序列的帧长chan = [.986; .845; .237; .123+.31i]; %定义信道参量 filtmsg = filter(chan ,1,modmsg); % 模拟信道变化 eq1 = lineareq(8, lms(0.01));%生成均衡器对象 eq1.SigConst = qammod([0:M-1],M); % 设置星座图[symbolest ,yd] = equalize(eq1,filtmsg ,modmsg(1:trainlen));h = scatterplot(filtmsg ,1,trainlen ,'bx'); hold on; %以蓝星画出未经过均衡的信号scatterplot(symbolest ,1,trainlen ,'g.',h); %在原图的基础上以绿色画出经过均衡后的信号scatterplot(eq1.SigConst ,1,0,'k*',h); %在原图的基础上以黄色标出理想星座图legend('Filtered signal','Equalized signal', 'Ideal signal constellation'); hold off; % 计算误码率demodmsg_noeq = qamdemod(filtmsg ,M); %解调未均衡的码字 demodmsg = qamdemod(yd ,M); %解调已均衡的码字[nnoeq ,rnoeq] = symerr(demodmsg_noeq(trainlen+1:end),...对比未均衡信号和样本信号的误码和误码率msg(trainlen+1:end));[neq ,req] = symerr(demodmsg(trainlen+1:end),...msg(trainlen+1:end)); %对比均衡信号和样本信号的误码和误码率 disp('Symbol error rates with and without equalizer:') disp([req rnoeq])-2-1012-2.5-2-1.5-1-0.500.511.522.5Q u a d r a t u r eIn-PhaseScatter plotFiltered signal Equalized signalIdeal signal constellation图6信号星座图输出结果: Symbol error rates with and without equalizer:0 0.32303、实验结果分析输入信号通过参数可调的数字滤波器后产生输出信号,将其与期望相应进行比较,形成误差信号,并以此通过LMS算法对滤波器参数进行逐步调整,最终使误差均方值最小,并得到自适应均衡器各阶参数。