通信原理与MTALAB(十六):迫零均衡

1.均衡

由于信道特性的不理想,码元序列经过信道后会产生码间干扰,为了尽可能地消除码间干扰,可以在接收端加和信道特性的逆滤波器即均衡器,这样信道传输函数和均衡器的传输函数乘积满足无码间干扰条件。
本次采用的是迫零均衡,其目的是使均衡器输出波形仅在零时刻的抽样值为1,其他时刻的抽样值为0。

2.代码

本代码是在发送滤波器和接收滤波器已经满足无码间干扰条件下的仿真,通过眼图来观察均衡前后的效果。

主程序

close all;
clear all;
M=200;                     % 码元数目
x=randi([0,1],1,M);        % 产生二进制随机码,M为码元个数
x=2*x-1;                   % 单极性转换成双极性码
% 信道等效成一个滤波器,h是信道等效滤波器的抽头系数
h=[0.02 0.05 0.1 -0.2 1 -0.2 0.1 0.06 0.01];
x1=conv(x,h);              % 码元序列经过信道,卷积
eyediagram(x1,2);          % 迫零均衡前的眼图
title('迫零均衡前的眼图'); % 标题

N=5;                       % 迫零均衡器的抽头数2N+1
C=force_zero(h,N);         % 迫零均衡器的抽头系数
y=conv(x1,C);              % 经过信道后的码元序列再经过均衡器
eyediagram(y,2);           % 迫零均衡后的眼图
title('迫零均衡后的眼图'); % 标题

force_zero.m文件

function [ c ] = force_zero( h,N )
%% 迫零均衡的实现
%h:归一化的多径信道系数h
%N:均衡器抽头数2N+1
%c:返回迫零均衡器的系数C
H=length(h);                 %  信道滤波器的抽头系数的长度
MID=find(h==1);              % 找到h的时间原点
%若原点两侧的值个数不等,补零使之相等;
if(MID-1<H-MID)
    for i=1:(H-MID)-(MID-1)
        h=[0,h];
    end
else
    for i=1:(MID-1)-(H-MID)
        h=[h,0];
    end
end
L=max(MID-1,H-MID);
%根据给定抽头数确定冲击序列x
%x=[h(-2N) h(-2N+1) ... h(0) ... h(2N-1) h(2N)]
x=zeros(1,4*N+1);
if 2*N>=L
    x([2*N+1-L:2*N+1+L])=h
else
    x=h([MID-2*N:MID+2*N]);
end
%根据x构造矩阵方程系数X
%X=[ x(0)     x(-1)    ...    x(-2N) ;
%    x(1)     x(0)     ...    x(-2N+1);
%    ..............................
X=[];
for i=1:2*N+1
    X=[X;fliplr(x(i:2*N+i))]; %fliplr函数用来翻转矩阵
end
%d为delta函数
d=zeros(2*N+1,1);
d(N+1)=1;
c=X^(-1)*d;
 
end

注:这两个文件需要放在同一文件夹下,并且函数文件force_zero.m不可以更改名字。

3.结果图

在这里插入图片描述
在这里插入图片描述

  • 14
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
迫零均衡是一种实现数字通信系统均衡的有效算法。它通过基于迫零准则的自适应线性均衡器来实现。在MATLAB仿真中,我们可以通过设置仿真参数和编写相应的代码来展示迫零均衡的实现过程。 首先,我们需要设置仿真参数,包括模拟样本数、预测滤波器阶数和步长等。然后,我们初始化变量,包括预测滤波器系数、发送的随机二进制序列和信道响应等。接下来,我们生成接收信号,其中包括噪声成分。最后,我们使用自适应均衡算法对接收信号进行处理和调整,并通过绘制图形展示结果。 除了MATLAB仿真,迫零均衡也可以通过编写相应的函数来实现。例如,成形滤波是迫零均衡中的一个重要步骤,它的作用是保证采样点不失真,避免干扰引起的间符号干扰(ISI)。成形滤波的位置通常在基带调制之后,因为经过成形滤波后,信号的信息已经有所损失,但能够有效避免ISI。 此外,我们还可以通过编写迫零均衡的实现函数来对多径信道进行均衡。函数通过给定的多径信道系数和均衡器抽头数来计算迫零均衡器的系数。 综上所述,迫零均衡是一种实现数字通信系统均衡的有效算法,可以通过MATLAB仿真和编写相应的函数来实现。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [基于迫零准则的自适应线性均衡器MATLAB仿真](https://blog.csdn.net/code_welike/article/details/130692936)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [信道均衡-ZF迫零均衡matlab实现](https://blog.csdn.net/weixin_42269062/article/details/104821614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜yuan~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值