主要内容

mlseeq

使用MLSE平衡线性调制信号

描述

y= mlseeq (x,chcffs,常量,tblen,opmode)平等的基带信号向量x使用最大似然序列估计(MLSE)。chcffs提供了估计信道系数。常量提供了理想的信号星座点。tblen指定了回溯深度。opmode指定了均衡器的操作模式。MLSE使用实现维特比算法

例子

y= mlseeq (___,nsamp)指定每个符号样本的数量x除了参数在前面的语法。

例子

y= mlseeq (___,nsamp,序言,后同步信号)指定每个符号样本的数量x、序言和后同步信号,除了参数的语法。这个语法适用于当opmode“rst”只有。有关更多信息,请参见序言和后同步信号复位操作模式

y= mlseeq (___,nsamp,init_metric,init_states,init_inputs)指定每个符号样本的数量x,初始状态可能性度量,最初的回溯,和初始回溯均衡器的输入,除了参数的语法。这三个输入一般final_metric,final_state,final_inputs输出从先前的调用这个函数。这个语法适用于当opmode“合同”只有。有关更多信息,请参见初始化在连续操作模式

例子

(y,final_metric,final_state,final_inputs)= mlseeq (___)返回规范化最终状态可能性度量,最后回溯,和最终的回溯输入结束时回溯解码过程,使用任何输入参数的语法。这个语法适用于当opmode“合同”只有。有关更多信息,请参见初始化在连续操作模式

例子

全部折叠

使用复位操作模式mlseeq均衡器。解调信号并检查比特误码率。

指定调制顺序,均衡器回溯深度,每个符号,样本数量和消息长度。

M = 2;tblen = 10;nsamp = 2;msgLen = 1000;

生成参考星座。

const = pammod ([0: M - 1], M);

用随机数据生成一条消息。调节和upsample信号。

msgData =兰迪([0 m - 1] msgLen 1);msgSym = pammod (msgData, M);msgSymUp = upsample (msgSym nsamp);

通过扭曲通道和过滤数据添加高斯噪声信号。

陈= (0.986;0.845;0.237;0.12345 + 0.31);msgFilt =过滤器(陈1 msgSymUp);msgRx = awgn (msgFilt 5“测量”);

平衡然后解调信号恢复消息。初始化均衡器,提供信道估计,参考星座,均衡器回溯深度,每个符号的样本数量,并设置操作模式重置。检查信息比特误码率。你的结果可能不同,因为这个示例使用随机数。

eqSym = mlseeq (tblen msgRx,成龙,const,“rst”,nsamp);eqMsg = pamdemod (eqSym, M);(nerrs误码率)= biterr (msgData eqMsg)
nerrs = 1
数量= 1.0000 e 03

恢复的消息包括序言、平衡信号,并检查符号错误率。

指定调制顺序,均衡器回溯深度,每个符号的样本数量,序言和消息长度。

M = 4;tblen = 16;nsamp = 1;序言= [3;1];msgLen = 500;

生成参考星座。

const = pskmod (0:3, 4);

生成一个消息通过使用随机数据和预先考虑消息的序言。调制的随机数据。

msgData =兰迪([0 m - 1] msgLen 1);msgData =[序言;msgData];msgSym = pskmod (msgData, M);

通过扭曲通道和过滤数据添加高斯噪声信号。

chcoeffs = (0.623;0.489 + 0.234我;0.398我;0.21);陈= chcoeffs;msgFilt =过滤器(chcoeffs 1 msgSym);msgRx = awgn (msgFilt 9“测量”);

平衡收到信号。配置均衡,提供信道估计,参考星座,均衡器回溯深度、操作模式,每个符号的样本数量,序言。相同的序言符号出现在消息的开始向量和语法mlseeq。因为系统不使用后同步信号,一个空向量被指定为最后一个输入参数mlseeq语法。

检查平衡的信号的符号错误率。由于使用随机数每次运行的结果不同。

eqSym = mlseeq (tblen msgRx,成龙,const,“rst”nsamp序言,[]);(nsymerrs, ser) = symerr (msgSym eqSym)
nsymerrs = 8
ser = 0.0159

使用的连续操作模式mlseeq均衡器。解调接收信号的数据包并检查符号错误统计信息。

指定调制顺序,均衡器回溯深度,每个符号的样本数量,消息长度和数量的数据包的过程。

M = 4;tblen = 10;nsamp = 1;msgLen = 1000;numPkts = 25;

生成参考星座。

const = pskmod (0: M - 1 M);

设置初始输入参数指标,均衡器的状态,输入空向量。这些初始分配代表第一数据包传输的参数。

eq_metric = [];eq_states = [];eq_inputs = [];

分配变量符号错误统计。

ttlSymbErrs = 0;aggrPktSER = 0;

发送和接收多个消息包在一个模拟世界中循环。包传输和接收滤波器之间的每个数据包通过失真通道并添加高斯噪声。

jj = 1: numPkts

用随机数据生成一条消息。调制信号。

msgData =兰迪([0 m - 1] msgLen 1);msgMod = pskmod (msgData, M);

通过扭曲通道和过滤数据添加高斯噪声信号。

陈= [.986;.845;.237;.12345 + .31i];msgFilt =过滤器(陈1 msgMod);msgRx = awgn (msgFilt 10“测量”);

平衡了符号。配置均衡,提供信道估计,参考星座,均衡器回溯深度、操作模式,每个符号的样本数量,均衡器初始化信息。连续操作模式是指定的均衡器。在连续操作模式下,均衡器初始化信息返回(指标、状态和输入),作为下一次迭代的输入循环。

[eqSym, eq_metric eq_states eq_inputs] =tblen mlseeq (msgRx,成龙,常量,“合同”nsamp,eq_metric、eq_states eq_inputs);

保存符号错误统计信息。更新标志错误统计与聚合的结果。显示错误的总数。你的结果可能不同,因为这个示例使用随机数。

(nsymerrs, ser) = symerr (msgMod (1: end-tblen) eqSym (tblen + 1:结束);ttlSymbErrs = ttlSymbErrs + nsymerrs;aggrPktSER = aggrPktSER +爵士;结束printTtlErr =的总/ % d % d标志错误数据包收到。\ n”;流(printTtlErr ttlSymbErrs numPkts);
总共有172 25包接收符号错误。

显示总符号错误率。

printAggrSER =“总符号错误率是% 6.5 d。\ n ';流(printAggrSER aggrPktSER / numPkts);
总符号错误率为6.94949 e 03。

输入参数

全部折叠

输入信号,指定为一个矢量的调制符号。向量的长度x必须是一个整数倍数的nsamp

数据类型:
复数的支持:金宝app是的

信道系数,指定为一个向量。信道的信道系数提供了一种估计响应。当nsamp> 1,chcffs输入指定采样过量信道系数。

数据类型:
复数的支持:金宝app是的

参考星座,指定为一个向量元素。是调制的秩序。常量列出了理想信号星座点序列使用调制器。

数据类型:
复数的支持:金宝app是的

回溯深度,指定为一个正整数。均衡器的痕迹从可能性状态与最大的度量。

数据类型:

操作模式,指定为“rst”“合同”

价值 使用
“rst”

均衡器使用重置操作模式下运行。使您能够指定一个序言后同步信号的输入信号。函数处理输入信号,x,独立于输入信号从其他调用这个函数。这种操作模式不产生一个输出延迟。有关更多信息,请参见序言和后同步信号复位操作模式

“合同”

均衡器使用连续操作模式下运行。允许您保存内部状态信息的均衡器用于随后的调用这个函数。连续操作模式是有用的,如果输入信号被划分到一个流的数据包处理在一个循环。这种操作模式产生一个输出延迟tblen符号。有关更多信息,请参见初始化在连续操作模式

数据类型:字符

每个符号的样本数量,指定为一个正整数。nsamp是过采样的因素。

依赖关系

输入信号,x,必须是一个整数的倍数nsamp

数据类型:

输入信号中,指定为一个向量0和之间的整数1,是调制的秩序。省略一个序言,指定[]

有关更多信息,请参见序言和后同步信号复位操作模式

依赖关系

这只适用于当输入参数opmode被设置为“rst”

数据类型:

输入信号后同步信号,指定为一个向量0和之间的整数1,是调制的秩序。省略后同步信号,指定[]

有关更多信息,请参见序言和后同步信号复位操作模式

依赖关系

这只适用于当输入参数opmode被设置为“rst”

数据类型:

初始状态指标,指定为一个列向量N元素。的描述N,请参阅可能的状态数

有关更多信息,请参见初始化在连续操作模式

依赖关系

这只适用于当输入参数opmode被设置为“合同”。如果指定[]init_metric,您还必须指定[]init_statesinit_inputs

数据类型:

最初的回溯,指定为一个N——- - - - - -tblen矩阵的值介于0和整数N1。的描述N,请参阅可能的状态数

有关更多信息,请参见初始化在连续操作模式

依赖关系

这只适用于当输入参数opmode被设置为“合同”。如果指定[]init_states,您还必须指定[]init_metricinit_inputs

数据类型:

初始输入回溯,指定为一个N——- - - - - -tblen矩阵的值介于0和整数1。的描述N,请参阅可能的状态数

有关更多信息,请参见初始化在连续操作模式

依赖关系

这只适用于当输入参数opmode被设置为“合同”。如果指定[]init_inputs,您还必须指定[]init_metricinit_states

数据类型:

输出参数

全部折叠

输出信号,作为矢量调制符号的返回。

最后归一化状态指标,作为一个向量返回N元素。final_metric对应于年底最终状态指标回溯解码过程。的描述N,请参阅可能的状态数

有关更多信息,请参见初始化在连续操作模式

最后的回溯,作为一个返回N——- - - - - -tblen矩阵的值介于0和整数N1。final_state对应于最后回溯州的回溯解码过程。的描述N,请参阅可能的状态数

有关更多信息,请参见初始化在连续操作模式

最后回溯输入,作为一个返回N——- - - - - -tblen矩阵的值介于0和整数1。final_inputs对应于最后回溯输入结束时回溯解码过程。是调制的顺序。的描述N,请参阅可能的状态数

有关更多信息,请参见初始化在连续操作模式

更多关于

全部折叠

维特比算法

维特比算法是一个连续的格子搜索算法用于执行最大似然序列检测。

MLSE均衡器采用维特比算法递归搜索序列,最大化似然函数。使用维特比算法减少了序列的数量在格子搜索通过消除接收新数据序列。度规用来确定最大似然序列估计接收信号之间的相关性和信号为每一个收到的象征可能的状态数

有关更多信息,请参见[1][2]

序言和后同步信号复位操作模式

当操作的MLSE均衡器重置模式时,您可以指定一个序言和后同步信号作为输入参数。指定序言后同步信号向量等于序言和前缀和附加后同步信号,分别输入信号。的序言后同步信号向量由0和之间的整数1,元素的数量吗常量。省略了序言后同步信号输入参数,指定[]

函数适用于维特比算法时,初始化状态指标的方式取决于您指定一个序言,后同步信号,或两个:

  • 如果序言非空的,解码的序言和分配一个度量函数0到解码状态。如果序言不解码一个独特的国家(也就是说,如果序言的长度小于通道内存),0到所有国家的解码器分配一个指标所代表的序言。回溯路径结束序言所代表的州之一。

  • 如果序言[],所有国家的译码器初始化指标为0。

  • 如果后同步信号非空的,从最小的开始回溯路径所代表的所有可能的解码状态后同步信号。

  • 如果后同步信号[],回溯路径开始在州与最小的指标。

初始化在连续操作模式

当操作MLSE均衡器在连续模式,你可以根据返回值初始化均衡前调用的函数。

结束的时候回溯解码过程,函数返回final_metric,final_state,final_inputs。当opmode“合同”,分配这些输出init_metric,init_states,init_inputs分别为下一个调用的函数。这些作业开始时初始化均衡器最终状态指标,最后回溯,和最终的回溯输入从先前的调用的函数。

每个实数init_metric代表起始状态指标相应的状态。init_statesinit_inputs共同指定的初始回溯记忆均衡器。

输出参数 输入参数 意义 矩阵的大小 范围的值
final_metric init_metric 国家指标 1 -N 实数
final_state init_states 回溯州 N——- - - - - -tblen 之间的整数0和N1
fianl_inputs init_inputs 回溯输入 N——- - - - - -tblen 之间的整数0和1

使用默认值init_metric,init_states,init_inputs,指定每个[]。的描述N,请参阅可能的状态数

可能的状态数

的可能性,N,是相关的数量相州格子。N等于l1,在那里元素的数量吗常量l是符号的数量nonoversampled脉冲响应的通道。

引用

[1]Proakis约翰·G。数字通信,第四版。纽约:麦格劳-希尔,2001年。

[2]斯蒂尔,雷蒙德。移动无线电通信。英国奇切斯特:约翰威利& Sons, 1996。

版本历史

之前介绍过的R2006a