基于SPW-FSM Editor的CPM调制器的建模
发布时间:2008/5/28 0:00:00 访问次数:850
关键词:spw;fsm editor;cpm调制器;有限状态机
引言
cpm(连续相位调制)是典型的有记忆调制方式,其符号间的关联特性使得这种调制方式具有不同的状态。在对cpm系统进行仿真时,首先需要产生调制信号。产生调制信号的方法有很多,最直接的方法是按照cpm信号的表达式运算得到,但需要记忆很多中间状态;还可以将所有可能的输出波形存成一张表,采用查表法得到调制信号,但需要较大的存储空间。事实上,cpm信号可以看作是一个有限状态系统,在时间轴上具有清晰的状态转移关系,根据这一特性,我们采用spw的建模工具fsm editor成功地生成了cpm的调制信号。由于该方法实际上是对cpm本质特性的描述,因此物理意义清晰,且参数易于修改,非常适合cpm系统的建模仿真。
fsm editor简介
fsm editor是spw的一个可选工具,主要是以图形化的方式对有限状态机系统进行建模,应用对象包括控制系统、网络协议以及有记忆调制系统等。一个完整的fsm模型由状态集、状态间的转移、附加在状态和转移上的adl(action description language)文本、输入/输出端口、参数以及记忆变量构成,并且可以封装成标准的spw模块。adl事实上是c语言的一个子集,每一个状态的入口动作和出口动作以及每一个转移的驱动条件和执行动作都由adl文本描述。
创建一个fsm模型包括以下步骤:启动fsm editor;定义输入/输出端口、参数和记忆变量;创建起始状态和其它状态,每一个fsm模型都必须有且仅有一个起始状态(起始状态以双线环表示,其他状态以单线环表示);编辑各状态属性,包括名称、描述、入口动作和出口动作的定义;创建状态间的转移;编辑转移属性,包括名称、描述、驱动条件和执行动作的定义;利用fsm editor的verify功能对模型进行验证;保存模型,同时生成标准的spw模块。
模型创建完成即可以像普通的bde模块一样添加到任何一个仿真系统中进行仿真。
cpm调制状态分析
cpm调制信号的一般表达式为:
(1)
其中
(2)
t为符号周期,即波特率的倒数,e表示时间t内的信号能量,fc为载波频率,h为有理调制指数,…}为m进制发送符号序列,取值范围是…, ,q(t)为归一化相位成形波形,满足条件:
(3)
定义q(t)的微分形式为g(t),则g(t)是持续时间为lt的脉冲波形,称为相位成形脉冲。如果l=1,相应的cpm信号称为全响应cpm;如果l>1,则称为部分响应cpm。
生成cpm调制信号的关键在于产生相位f(t;i),由(2)式可得:
(t-kt)
(t-kt)
(4)
其中qn可以递归的方式表示为:
(5)
由(4)式可知,时间内的f(t;i)可由qn及{in, in-1, …in-l+1}唯一确定,因此cpm信号在t=nt时刻的状态可以定义为
…,in-l+1} (6)
由于,因此当m为偶数时,qn共有p个,即;当m为奇数时,qn共有2p个,即,所以cpm信号的状态数为:
(7)
以二进制cpm(即m=2)为例,其他参数如下:l=3,h=1/2(m=1,p=2),则状态数为2pml-1=2×2×23-1=16,以(qn, in-2, in-1)格式来表示状态,16个状态分别表示为(0,1,1)、(0,1,-1)、……(3p/2,-1,-1),各状态间的转移如图1所示,其中虚线表示当前时刻接收符号为+1,实线表示当前时刻接收符号为-1。
假定系统0时刻前的输入为i-1=1,i-2=i-3=…=0,以及q-1=0,则由(5)式可得q0=q-1+phi-3=0,因此系统0时刻的状态不同于以上16种状态,以( 0, 0, 1)表示。
建模过程与仿真波形
系统的fsm模型如图2所示。由于系统的输出(相位值)在每比特内都是一个连续变化的波形,因此输出端口必须进行适当上采样才能够体现变化趋势,本系统中采用了八倍上采样,即用八个采样点表示一比特时间内的相位输出波形。该模型的建立分为以下几个步骤:
1. 定义输入/输出端口分别为in和outputphase;定义参数h;定义记忆变量in-2、in-1、k和qn。
2. 创建起始状态和其它17个状态及各状态间的转移。
3. 编辑状态属性。为实现八倍上采样,每个状态除在每个符号起始时刻由输入触发外,还需利用@else条件触发其余七次,每一次的入口动作完成以下运算:
outputphase=
k++;
每一次的出口动作完成以下运算:
if (k==8) {k=0;}
4. 编辑转移属性。所有转移分为三类:一是状态自身的转移,利用@else条件控制其跳转,不需执行任何动作;二是输入为+1起始时刻的转移,驱动条件为(in==+1 && k==0
关键词:spw;fsm editor;cpm调制器;有限状态机
引言
cpm(连续相位调制)是典型的有记忆调制方式,其符号间的关联特性使得这种调制方式具有不同的状态。在对cpm系统进行仿真时,首先需要产生调制信号。产生调制信号的方法有很多,最直接的方法是按照cpm信号的表达式运算得到,但需要记忆很多中间状态;还可以将所有可能的输出波形存成一张表,采用查表法得到调制信号,但需要较大的存储空间。事实上,cpm信号可以看作是一个有限状态系统,在时间轴上具有清晰的状态转移关系,根据这一特性,我们采用spw的建模工具fsm editor成功地生成了cpm的调制信号。由于该方法实际上是对cpm本质特性的描述,因此物理意义清晰,且参数易于修改,非常适合cpm系统的建模仿真。
fsm editor简介
fsm editor是spw的一个可选工具,主要是以图形化的方式对有限状态机系统进行建模,应用对象包括控制系统、网络协议以及有记忆调制系统等。一个完整的fsm模型由状态集、状态间的转移、附加在状态和转移上的adl(action description language)文本、输入/输出端口、参数以及记忆变量构成,并且可以封装成标准的spw模块。adl事实上是c语言的一个子集,每一个状态的入口动作和出口动作以及每一个转移的驱动条件和执行动作都由adl文本描述。
创建一个fsm模型包括以下步骤:启动fsm editor;定义输入/输出端口、参数和记忆变量;创建起始状态和其它状态,每一个fsm模型都必须有且仅有一个起始状态(起始状态以双线环表示,其他状态以单线环表示);编辑各状态属性,包括名称、描述、入口动作和出口动作的定义;创建状态间的转移;编辑转移属性,包括名称、描述、驱动条件和执行动作的定义;利用fsm editor的verify功能对模型进行验证;保存模型,同时生成标准的spw模块。
模型创建完成即可以像普通的bde模块一样添加到任何一个仿真系统中进行仿真。
cpm调制状态分析
cpm调制信号的一般表达式为:
(1)
其中
(2)
t为符号周期,即波特率的倒数,e表示时间t内的信号能量,fc为载波频率,h为有理调制指数,…}为m进制发送符号序列,取值范围是…, ,q(t)为归一化相位成形波形,满足条件:
(3)
定义q(t)的微分形式为g(t),则g(t)是持续时间为lt的脉冲波形,称为相位成形脉冲。如果l=1,相应的cpm信号称为全响应cpm;如果l>1,则称为部分响应cpm。
生成cpm调制信号的关键在于产生相位f(t;i),由(2)式可得:
(t-kt)
(t-kt)
(4)
其中qn可以递归的方式表示为:
(5)
由(4)式可知,时间内的f(t;i)可由qn及{in, in-1, …in-l+1}唯一确定,因此cpm信号在t=nt时刻的状态可以定义为
…,in-l+1} (6)
由于,因此当m为偶数时,qn共有p个,即;当m为奇数时,qn共有2p个,即,所以cpm信号的状态数为:
(7)
以二进制cpm(即m=2)为例,其他参数如下:l=3,h=1/2(m=1,p=2),则状态数为2pml-1=2×2×23-1=16,以(qn, in-2, in-1)格式来表示状态,16个状态分别表示为(0,1,1)、(0,1,-1)、……(3p/2,-1,-1),各状态间的转移如图1所示,其中虚线表示当前时刻接收符号为+1,实线表示当前时刻接收符号为-1。
假定系统0时刻前的输入为i-1=1,i-2=i-3=…=0,以及q-1=0,则由(5)式可得q0=q-1+phi-3=0,因此系统0时刻的状态不同于以上16种状态,以( 0, 0, 1)表示。
建模过程与仿真波形
系统的fsm模型如图2所示。由于系统的输出(相位值)在每比特内都是一个连续变化的波形,因此输出端口必须进行适当上采样才能够体现变化趋势,本系统中采用了八倍上采样,即用八个采样点表示一比特时间内的相位输出波形。该模型的建立分为以下几个步骤:
1. 定义输入/输出端口分别为in和outputphase;定义参数h;定义记忆变量in-2、in-1、k和qn。
2. 创建起始状态和其它17个状态及各状态间的转移。
3. 编辑状态属性。为实现八倍上采样,每个状态除在每个符号起始时刻由输入触发外,还需利用@else条件触发其余七次,每一次的入口动作完成以下运算:
outputphase=
k++;
每一次的出口动作完成以下运算:
if (k==8) {k=0;}
4. 编辑转移属性。所有转移分为三类:一是状态自身的转移,利用@else条件控制其跳转,不需执行任何动作;二是输入为+1起始时刻的转移,驱动条件为(in==+1 && k==0
上一篇:一种利用DDS技术实现的变频电源