基于SPW-FSM Editor的CPM调制器的建模

基于spw-fsm editor的cpm调制器的建模
cpm调制是一种非线性有记忆调制方式,其信号内在的状态转移特性更适合于用有限状态机(fsm)来描述。spw的fsm editor是一个简单易用的fsm建模工具,用其生成的fsm模型可以直接用于spw的bde仿真环境中。本文给出了3rc-cpm信号的内在状态及其转移的分析,并对基于fsm editor的建模过程进行了详细叙述,最后给出了完整的cpm调制器系统模型及其仿真波形。
关键词: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),并用前一状态的in-1更新in-2;三是输入为-1起始时刻的转移,驱动条件为(in==-1 && k==0),并用前一状态的in-1更新in-2。
5. 为克服开始阶段输入信号不稳对系统工作的不利影响,在起始状态加入边沿检测,以此作为系统工作的起始时刻。方法是将起始状态自身转移的驱动条件设为(in×in-1!=-1),执行动作设为(in-1= in),同时把起始状态向0时刻状态的转移条件设为(in× in-1=-1)。
6. 对模型进行验证。
7. 保存模型,生成标准的spw模块,创建好的3rc-cpm相位生成模块参见图3。
完整的cpm调制器模型如图4所示。首先随机产生+1、-1符号序列,送给相位生成模块得到所需相位,然后对相位作正余弦运算得到基带信号,再和载波信号混频生成调制信号。由于载波信号采样率较高,为使乘法运算速率匹配,还需对基带信号进一步上采样。
分别在cpm调制器模型的输入符号、输出相位、输出相位余弦值、同相支路输出、正交支路输出、调制器输出等处设置波形观测点。各点输出波形如图5所示。
结语
本文利用spw的有限状态机建模工具fsm editor实现了一个cpm的调制器模型。用fsm editor创建模型具有物理意义清晰、易于修改和扩展等特点。用fsm editor对通信系统进行建模的关键点在于状态的提取以及对状态间转移的准确把握,只要正确地分析出所有的状态和转移,用fsm editor建模就变得非常简单了。
参考文献
1 john g. proakis. digital communications. mcgraw-hill,new york, third edition, 1995
2 j. b. anderson,t. aulin, and c-e. w. sundberg. digital phase modulation. new york. ny: plenum. 1986
3 carl-erik sundberg. continuous phase modulation, ieee communications magazine, vol. 24, pp. 25 - 38, april 1986
4 spw finite state machine editor user's guide. cadence design systems, inc. march 2002

3D成像传感器和硬件子系统市场到2025年将实现579亿美元的增长
新能源汽车高压数据采集解决方案的介绍
联通高管透露WCDMA网演进:三阶段实现100M速率
暴利!印度智能手机达5.85亿,手游市场潜力巨大
美国三城市率先体验5G_全球5G普及已不再是梦
基于SPW-FSM Editor的CPM调制器的建模
国产嵌入式工控机的设计理念是怎么样的呢?
IBM、微软同时落子张江,张江、临港南北联动发展
华为云智能体连接物理世界实现智能世界
全球人工智能之战一触即发 看亚马孙如何悄然布局
移植shttpd Web服务器到嵌入式Linux系统
芯片制造到底有多难?真正的芯片制造过程十分复杂
AI是否会成为下一次冷战的“核武器”?
极速智能一体机 挖掘高质量金融数据价值
工业4.0新浪潮来袭 发展过程需分成五大阶段
在贮藏和保存粮食时防止粮食腐坏的关键--氧气传感器
浅析C51单片机编程过程中的要点
品质铸就品牌,古瑞瓦特再度荣获“中国十大分布式光伏逆变器品牌”
电磁辐射会带来什么污染?应怎样治理?
华为公布数据传输专利及通信装置
s