|
|
| | -文章搜索 - 最新文章 - | |
用Matlab产生Max + plusII的仿真输入信号 |
| 发布时间:2006年9月11日 点击次数:1785 |
| 来源: 作者: 何曰光 |
MATLAB与MAX+PLUS II联合产生仿真信号流程如下。 (1)先在MATLAB中产生原始信号,并转换为2/16进制序列; (2)利用编写的MATLAB函数按一定格式生成向量文件(*.vec,纯文本文件); (3)在MAX+PLUS II中,打开要仿真的FPGA源文件,设置为“当前工程”并作编译; (4)打开simulator,选“File\Inputs/Outputs”,输入在MATLAB中生成的向量文件名,按“确定”按钮生成*.scf文件; (5)进行仿真。 在MAX+PLUS II中的仿真输入文件中有一种文本形式的向量文件(Vector File),这种文件是用一定格式的文本来描述仿真信号,可以方便地用任何纯文本编辑器来书写文件,定义仿真时间长度,用相对/绝对时间单位来定义复杂的输入信号。 MATLAB提供了两个基本的函数rand与randn用于产生随机数,在统计工具箱中还提供了产生各种分布随机数的函数,如正态分布和泊松分布等等。可以在MATLAB中用编程的方法产生一系列噪声数据,并且用向量文件的格式将数据保存在向量文件中,供MAX+PLUS II仿真时调用。下面以服从(0,1)间均匀分布的随机信号为例加以说明。 产生随机信号的noise.m文件如下。 fid=fopen(''file.vec'',''w''); fprintf(fid,''UNIT ns;\n''); fprintf(fid,''START 0;\n''); fprintf(fid,''STOP 1000;\n''); fprintf(fid,''INTERVAL 40;\n'') fprintf(fid,''INPUTS d1 d2 d3;\n''); fprintf(fid,''PATTERN\n''); random=rand(25,1); for i=1:25 if random(i)>=7/8 fprintf(fid,''1 1 1\n''); elseif random(i)>=6/8&random(i)<7/8 fprintf(fid,''1 1 0\n''); elseif random(i)>=5/8&random(i)<6/8 fprintf(fid,''1 0 1\n''); elseif random(i)>=4/8&random(i)<5/8 fprintf(fid,''1 0 0\n''); elseif random(i)>=3/8&random(i)<4/8 fprintf(fid,''0 1 1\n''); elseif random(i)<=2/8&random(i)>3/8 fprintf(fid,''0 1 0\n''); elseif random(i)<=1/8&random(i)>2/8 fprintf(fid,''0 0 1\n''); elseif random(i)<=1/8 fprintf(fid,''0 0 0\n''); end; end; fprintf(fid,'';''); fclose(''all''); fopen()函数的功能是以写入方式打开一个file.vec文件,用于存储随机信号数据,fprintf()函数用来向打开的文件中写数据;rand(25,1)函数用来产生25个服从(0,1)间均匀分布的随机信号;程序中for循环部分用来对随机信号进行量化编码,量化是采用均匀量化,编码是3位二进制编码。该例在MAX+PLUS II中的一个仿真波形如图所示。 衡量一个通信系统的主要指标是其抗各种干扰的能力,而实际信号中的噪声并不能定量测量,所以可以人为加入参数已知的正态分布随机噪声来定量地测出某个系统的误码率。将本文叙述的方法应用在数字通信系统的误码率测量中,较好地衡量了系统的抗随机噪声的能力,收到了很好的效果。 参考文献 1 范影乐.MATLAB仿真应用详解.人民邮电出版社.2001 2 顺天.MATLAB程序设计语言.西安电子科技大学出版社.1998 3 MaxplusII Datebook |
|
|
|
|
[嵌入式系统] 相关文章: 基于PSTN的家用电器远程控制系统简介:
引言 随着生活水平的不断提高,人们希望有一种自动化、智能化程度高的控制系统对所有的家用电器能实施远程控制。本文介绍了一种基于PSTN(Public Switched Telephone Network,公众电话网)实现对家用电器的远程控制,通过电话可以随时随地控制多种家用电器的开关和各种设定,诸如将空调提前升降温、电热水器提前预热等,应用前景相当广泛。 系统组成及工作原理 为了简化电路、降低成本、提高可靠性,本系统采用AT89C51作为主控制器,它是一款与MCS51完全兼容且内部自带有4KB的Flash存...... 用VHDL语言在CPLD上实现串行通信
PCI-1711数据采集卡及其应用
系统芯片nRF24E1及其在无绳电话中的应用
基于LabView的虚拟仪器实现频率稳定度的测量
MAX2206/MAX2208功率检测器在CDMA中的应用
高速嵌入式PXITM/CompactPCI控制器
融合运动和图像的运动控制卡
A/D PMC卡是首个12bit,100MHz的A/D卡
微型PCI无线通信插卡 |
|
|
|