modelsim中显示正弦波

本文介绍了如何使用MATLAB生成正弦波形文件,并在ModelSim环境下进行仿真,通过设置将二进制信号转换为正弦波图形显示,为后续的FFT仿真做好准备。主要步骤包括生成sin波形文件、编写testbench以及在ModelSim中的设置和显示。
摘要由CSDN通过智能技术生成

  在一般情况下,我们仅仅需要看到数据的二进制或者十六进制,但是当信号为方波正弦波信号或者为频谱信号时候,在仿真过程中,如果能够显示出波形信号,那么仿真结果将更加直观,由于公司不能上网,所以在家实现该仿真功能,结果如下:

第一步:生成sin波形文件(sin.txt)

这一步使用matlab完成,matlab中的代码如下:

fc = 10e6;

n  = 1/fc/256;

t  = [0:255]*n;

x  = sin(2*pi*fc*t);

xx = fix(128+(2^7-1)*x);

y  = dec2hex(xx);

解释:

在一个周期采样256个点,fix函数是将数据向0取整,例如1.1变成1,1.2也变成1.这里先将正弦波幅值变成128.最后将数据变成16进制。最后将y的值存到sin.txt文件中,结果如下图所示:

 

第二步:编写testbench文件

编写testbench的原理不解释,如下图所示:

第三步:运行modelsim

对于这样只有tb文件而没有其他模块的仿真对于我还是第一次,首先新建工程,添加文件后,编译,仿真,添加信号,结果如下图所示。

 

这时候信号显示为二进制,其中data_out就是正弦波信号,如果要将这个信号在modelsim中显示为正弦波图形,需要进行下面设置:

1、选择data_out信号,右击—>Radix—>Unsigned

2、选择data_out信号,右击—>Format—>Analog(automatic)

设置好后,就可以显示正弦波,如下图所示。

 

其实这个仅仅是为了后面做FFT的仿真做铺垫,后期将会对其频谱进行图形显示。 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值