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

文章介绍了通信系统中为消除码间干扰所使用的均衡技术,特别是迫零均衡方法。通过MATLAB仿真,展示了均衡前后的眼图,以直观比较均衡效果。代码实现了迫零均衡器,并通过调整滤波器抽头系数来优化信号质量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.结果图

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜菜菜~~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值