sin查找表 matlab,FPGA查找表法sin函数的实现

实验一Sin(x)函数的计算

一、实验要求

1、系统可以根据输入的角度(或弧度)x,显示相应的sin(x)数值,保证角度精度≤0.1度。

2、编辑测试激励文件,进行相关测试,注意测试的完备性。

3、根据DE2板资源,设计下载测试方案,并且完成硬件下载测试。

二、实验方案

本实验要求用FPGA实现角度(0度~360度)的Sin函数的计算,角度的分辨率小于等于0.1度。考虑到实现的简便性,本实验采用查表法实现Sin函数的计算。首先我们用Matlab计算出Sin函数值,然后生成.mif文件。用Matlab生成的.mif文件在Quartus中配置FPGA的Rom。跟具输入的角度值得到其Sin函数值存储的Rom地址,然后根据地址取出Rom中存储的Sin函数值,最后显示在数码管上,从而实现Sin函数的计算。

三、实验过程及代码

1.Matlab中.mif文件的生成

由于输入的角度值为0度~360度,所以计算出的Sin函数值至少有3600个,但由于Sin函数值的对称性,所以实际上存储在FPGA的Rom中的值只需要900个。因此在Matlab中我们设置depth=1024,在这里我们对Sin函数值做了扩大10000倍后四舍五入取整的处理,以便于在Rom中存储,所以在这里我们设置width=14。Matlab中的程序如下:

clear all;

close all;

clc;

t=[0:0.1:90]; %角度

x=pi*t/180; %弧度数

sin_val=sin(x); %sin函数值

fid=fopen('sine.mif','wt'); %以wt格式打开文件sine.mif

fprintf(fid,'width=14;\r\n'); %设置width=14

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值