1 内容介绍

符号间干扰是影响带限通信信道性能的重要因素之一,为提高系统性能,在接收端需采用均衡技术,盲信道均衡算法是现在的研究热点.迫零盲均衡算法充分利用了输出信号的统计特性,因此具有很好的应用前景.从理论上对目前具有实际应用价值的最小均衡误差、特征矢量分解等迫零盲均衡算法作了介绍,并提出了改进算法中值需解决和注意的问题.

2 仿真代码

echo off;

clear all;

close all;

%迫零均衡前的眼图

%1.随机产生双极性序列

n= 3000;

M = 300;

A=n/M;%一个码元的取样点数,即过采样率为10

P=0.2;%1码概率

%x=2*round(rand(1,n)+P-0.5)-1;%产生一列01码

x=sign(randn(1,1000));

%2.发送信号序列与一个多抽头的滤波器卷积(相当于经过一个多径信道),产生码间串扰

%h=[0.02 0.05 0.1 -0.2 1 -0.2 0.1 0.06 0.01];

%h=[0.02 0.03 -0.13 0.2 0.08 -0.22 0.28 0.45 -0.2];

h=[0.03 0.06 0.14 -0.25 1 -0.25 0.14 0.03 0.02];%最优

x1=conv(x,h);

%3.成型滤波

%一种简单的方法生成过采样信号

temp=[1;zeros(A-1,1)];

x2=temp*x1;

x2=x2(1:end);%过采样信号

%通过升余弦滤波器,成型滤波

N_T=6;%控制滤波器长度,滤波器的阶数为2*N_T+1。

alpha = 1; % 滚降系数,影响带宽

r=rcosfir(alpha,N_T,A,1); % 产生升余弦滤波器系数

x3=conv(r,x2);

%x3=x3(fix(A*N_T)+1:end-fix(A*N_T));%删去由于卷积产生的拖尾的0

%4.将不同码元周期内的图形平移至一个周期内画出眼图。

figure(1);

for ii=0:(M-1)/2

plot(x3([1:2*30+1]+ii*2*30));

hold on;

end

xlim([0 44]);

title('迫零均衡前的眼图');

%5.用matlab画眼图函数直接画眼图

eyediagram(x1,5,2);

title('迫零均衡前的眼图');

%二、迫零均衡

N=5;

c=force_zero(h,N);

y=conv(x1,c);

%三、迫零均衡后的眼图

%1.成型滤波

%一种简单的方法生成过采样信号

temp=[1;zeros(A-1,1)];

y1=temp*y;

y1=y1(1:end);%过采样信号

%通过升余弦滤波器,成型滤波

N_T=4;%控制滤波器长度,滤波器的阶数为2*N_T+1

alpha = 1;%滚降系数,影响带宽

r=rcosfir(alpha,N_T,A,1);%产生升余弦滤波器系数

y2=conv(r,y1);

%y2=y2(fix(A*N_T)+1:end-fix(A*N_T));%删去由于卷积产生的拖尾的0

%2.将不同码元周期内的图形平移至一个周期内画出眼图

figure(3);

for ii=0:(M-3)/2

plot(y2([1:10*A+1]+ii*2*A));

hold on;

end

xlim([0 44]);

title('迫零均衡后的眼图');

%3.用matlab画眼图函数直接画眼图

eyediagram(y,5,2);

title('迫零均衡后的眼图');

%四、计算ISI信号叠加不同信噪比的信道加性噪声后?

%用不同阶数的迫零均衡器均衡后的误码率,并与理想误码率曲线比较。

SNRdB=[4:12];%信噪比(dB)的范围

N=[1 2 3];%用3、5、7阶横向滤波器迫零

err_rate=zeros(length(N),length(SNRdB));%误码率统计

for ii=1:length(N)

C=force_zero(h,N(ii))

for jj=1:length(SNRdB)

SNR=10^(SNRdB(jj)/10);%计算比值形式的信噪比

err=0;%误码数清零

for kk=1:10^3 %循环多次以达到足够的精确度

x=2*round(rand(1,M)+P-0.5)-1;   %产生双极性码

x1=awgn(x,SNR,'measured','linear'); %加入高斯白噪声

x1=conv(x1,h);  %通过多径信道

y=conv(x1,C);

L=(length(y)-M)/2;

y=y(L+1:L+M);%除去由于卷积产生的拖尾信号

y=sign(y);%抽样判决,判决分界为0

err=err+sum(abs(x-y))/2;%误码数累加

end

err_rate(ii,jj)=err/(M*10^3)%误码率计算

end

end

figure(5);

semilogy(SNRdB,0.5*erfc(sqrt(0.5*10.^(SNRdB/10))));

hold on;

grid on;

semilogy(SNRdB,err_rate(1,:),'-*r');

hold on;

grid on;

semilogy(SNRdB,err_rate(2,:),'-ok');

hold on;

grid on;

semilogy(SNRdB,err_rate(3,:),'-hc');

title('迫零均衡后的误码率');

legend('理想误码率特性','三阶迫零均衡误码率','五阶迫零均衡误码率','七阶迫零均衡误码率');

xlabel('SNR');​

3 运行结果

4 参考文献

[1]雷旭, 徐重阳. 基于二阶矩的直接盲迫零均衡算法[J]. 系统工程与电子技术, 2003.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

【信号处理】迫零均衡前与迫零均衡后眼图对比附Matlab代码相关推荐

  1. 【WSN通信】能量均衡的无线传感器网络非均匀分簇路由协议附matlab代码

    1 简介 提出了一种能量高效均衡.非均匀分簇和簇间多跳路由有机结合的无线传感器网络分布式分簇路由协议DEBUC(distributed energy-balanced unequal clusteri ...

  2. 【信号处理】基于小波变换的时间重分配多重同步压缩变换TMSST附matlab代码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

  3. sql数据库教程百度云_【推荐】零基础水彩画入门教程|零基础水彩教程百度云...

    零基础水彩画入门教程|零基础水彩教程百度云! 照着教程画却总是画不好,这些水彩技法你真的学会了吗? 盲目地照着葫芦画瓢,不懂控制确实很难学会,可以关注一下公众号:每日学绘画,可以领取水彩电子书和全套视 ...

  4. “零余额”账户为何从来不曾零

    一.什么是零余额账户?其作用如何? 零余额帐户指财政部门或财政部门为预算单位在商业银行开设的用于办理预算资金支付清算的账户.零余额帐户日终在与设在中央银行的国库单一账户清算后结余为零. 从零余额账户的 ...

  5. 达芬奇密码 第一百零二章 第一百零三章

    达芬奇密码 第一百零二章 第一百零三章[@more@] 第一百零二章 塞拉斯一瘸一拐地走进一个看不见的寂静空间里.这时薄雾已经在肯辛顿花园中弥漫开来.他跪在湿漉漉的草地上,感到有股热血正从他肋骨以下的 ...

  6. VMWARE ESXI 虚拟硬盘的格式:精简置备、厚置备延迟置零、厚置备置零

    2019独角兽企业重金招聘Python工程师标准>>> VMWARE ESXI 虚拟硬盘的格式:精简置备.厚置备延迟置零.厚置备置零 精简置备(thin provision): 精简 ...

  7. VMware vSphere中三种磁盘:精简置备/厚置备置零/厚置备延迟置零

    有时候我们可能会遇到这样几种现象:虚拟机置备100G,但是平台上却显示虚拟机使用了500G存储? 平台上看到所有虚拟机加起来才3T,存储上5T的空间却没了,严重的还导致所有虚拟机宕机. 为啥?都是&q ...

  8. php 零宽断言,正则表达式之零宽断言实例详解

    这篇文章主要介绍了正则表达式之零宽断言,简单介绍了零宽断言的概念.分类及php实现技巧与相关注意事项,需要的朋友可以参考下 本文实例讲述了正则表达式之零宽断言.分享给大家供大家参考,具体如下: 前言 ...

  9. php 零宽断言,正则表达式之零宽断言实例详解【基于PHP】

    这篇文章主要介绍了正则表达式之零宽断言,简单介绍了零宽断言的概念.分类及php实现技巧与相关注意事项,需要的朋友可以参考下 本文实例讲述了正则表达式之零宽断言.分享给大家供大家参考,具体如下: 前言 ...

最新文章

  1. oracle-ords
  2. 释疑の删除多余的ALV布局以及选择条件变式
  3. PyTorch-torch.nn.AdaptiveAvgPool2d
  4. matlab实现整数规划/01规划
  5. 计算机网络由边缘和( )两大部分组成,计算机网络期末总复习资料分章节
  6. java处理图片base64编码的相互转换
  7. jmeter笔记02
  8. Xshell、Xftp免费版本
  9. 计算机的输入法如何使用简短描述,应用电脑(1)第一章 计算机组成与中文输入法...
  10. if函数多个条件怎么用c语言,条件函数怎么用(if函数多个条件怎么用)
  11. 广义线性模型(GLMs)及算法介绍
  12. 基于JavaEE的居民水电费管理系统_JSP网站设计_MySQL数据库设计
  13. 2018年六月前十超级计算机,CPU天梯图2018年6月最新版 六月台式电脑CPU性能排行 (全文)...
  14. 百度网盘文件真实地址解析
  15. Android逆向之某游单机SDK破解
  16. exagear安装java_exagear模拟器怎么使用 exagear模拟器使用方法安装教程
  17. Unity 解决SpriteAtlas图集打包AssetBundle白图问题
  18. Word查找替换详细用法及通配符一览表
  19. Android自定义Scrollbar样式
  20. 【C++ Caffe】ubuntu下MNIST训练结果

热门文章

  1. Unable to find libthread_db matching inferior‘s thread library, thread debugging will not be availab
  2. 补充:Log4j2日志文件,RollingFile的文件滚动更新机制;
  3. 韩服17+苹果ID验证
  4. 哔哩哔哩2020校园招聘前端笔试卷(一)
  5. java照片水印怎么做的_java图片加水印_百度经验
  6. 【分享贴】教师资格证高中数学笔试经验分享贴
  7. 【持续更新】2007-2022年英伟达历代桌面Tesla显卡列表,Tesla显卡发布日期
  8. 经典古诗词名句 mysql,中国古代经典古诗词名句
  9. 动态贴纸是通过什么技术实现的?为什么能火爆至今?
  10. @Value 获取乱码 问题解决