为采样频率;

s

s

F

T

1

即为

采样间隔。

因此,

要想产生一个正弦波,

需要在每一个采样间隔计算

x[n]

的值,

并通过数模转换器

(

DAC

Digital-to-Analog Convector

)输出。通过将

x[n]

的值以不同的幅度和不同的采样间

隔输出,就可以得到任意幅度、任意频率的正弦波或余弦波。

根据上式,

x[n]

通过计算正弦函数而得。基于此,可以构造一个查找表,表中所列为余

弦函数的值。

考虑到不可能把正弦函数或余弦函数的所有值都放在查找表内,

不妨将表的大

小初设为

517

项。又考虑到正弦函数和余弦函数之间只有一个

90

°的相移,可以将表的大

小缩减为

257

项。表中的第一个值对应于

0

,最后一个值对应于

180

°,或者说

π

。这样,

表中相邻两点之间的间隔为

180/256=0.7031250

°,即表格中的第

1

项是

cos0

°的值,第

2

项是

cos0.7031250

°的值,第

3

项是

cos1.406250

°的值,以此类推,最后一项是

cos180

°

的值。利用该表所能构成的波形的相位步进通常是

0.7031250

°的整数倍。

在采样过程中,上式中的

n

值在每一个采样间隔递增,从而得到模拟正弦波的采样版

本。但是,如何通过查找余弦表的方法来产生一个任意频率

F

的正弦波呢?由于在前面构

造的余弦函数表中,

已经包括了以

0.7031250

°为间隔的余弦函数值,

现在的问题就变成了,

n

递增时,怎样估计出相位

fn

2

的值。

记录波形的初始相位和当前相位,以得到连续相位的正弦波。如果记录了上一个输出

点的相位值,

利用正弦波的频率信息,

就可以计算出当前输出点的相位值,

该相位值是和幅

度值相对应的。

在此基础上,

就可以根据相位值去查找余弦表中相应的位置,

得到当前输出

点的幅度值。

假设需要产生频率为

F

的正弦波,它的起始相位是

Init_Phase

,和

F

对应的相位步进为

Phase_Step

。相位步进的计算式为

arctan查表法_DSP正弦波——查表法原理相关推荐

  1. Django学习笔记(10)——Book单表的增删改查页面

    一,项目题目:Book单表的增删改查页面 该项目主要练习使用Django开发一个Book单表的增删改查页面,通过这个项目巩固自己这段时间学习Django知识. 二,项目需求: 开发一个简单的Book增 ...

  2. 【MySQL】(万字解析)MySQL表的增删改查(进阶-上)

    快速跳转✅ 1.数据库的约束 1.1 约束类型 1.2 NULL约束 1.3 UNIQUE:唯一约束 1.4 DEFAULT:默认值约束 1.5 PRIMARY KEY:主键约束 1.6 FOREIG ...

  3. 【MySQL】数据库2- MySQL表的增删改查(基础)

    目录 0. 注: 字符串编码方式查询 1. CRUD 2. 新增(Create) 2.1 单行数据 + 全列插入 2.2 多行数据 + 指定列插入 3. 查询(Retrieve)(查询操作不影响数据库 ...

  4. R操作MySQL数据库创建表、删除表、增删改查(CRUD)

    R操作MySQL数据库创建表.删除表.增删改查(CRUD) 关系数据中的数据是按照一定范式去存储的.当我们需要非常高级和复杂的Sql查询就可以使用关系数据库的数据资产.不光java和python可以容 ...

  5. 已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在tab表中,要查的学生学号放在变量no中,查表结果放在变量english中。

    已知某班学生的英语成绩按学号(从1开始)从小到大的顺序排列在tab表中, 要查的学生学号放在变量no中,查表结果放在变量english中. data segmenttab db 68,78,42,84 ...

  6. Oracle怎么查外键建在哪个表上

    怎样查外键建在哪个表上 有时候删除某张表记录的时候,会报错外键约束不能删除. 如果不了解表之间的关系,可以通过以下语句查询到外键是建在哪张表上的: select * from dba_constrai ...

  7. Mysql数据库和表的增删改查以及数据备份恢复

    数据库 查看所有数据库 show databases; 使用数据库 use 数据库名; 查看当前使用的数据库 select database(); 创建数据库 create database 数据库名 ...

  8. spool命令、创建一个表,创建并且copy表,查看别的用户下的表,rowid行地址 索引的时候使用,表的增删改查,删除表,oracle的回收站

      1.spool 命令 spool "D:\test.txt" spool off SQL> host cls 2.创建一个表 SQL> --条件(1):有创 ...

  9. 数据库、表、表内容增删改查

    数据库和表的创建 用户的增 删 改 查 增 create user '用户名'@'192.168.16.%' identified by '123':创建一个账户,并设置密码,可不设密码 grant ...

  10. mysql 表结构 增删改查_mysql学习【第3篇】:数据库之增删改查操作

    注意的几点: 1.如果你在cmd中书命令的时候,输入错了就用\c跳出 2.\s查看配置信息 一.操作文件夹(库) 增:create database db1 charset utf8; 删:drop ...

最新文章

  1. 提升开发效率的一款mybatis开发神器
  2. java游戏下载ios_java浏览器下载
  3. URL/URI/URN的认识
  4. Response对象学习
  5. 【编程】char unsigned int float double long 字节数
  6. Dubbo启动,调用方法失败【问题:调用超时】
  7. 程序员必知的8大排序(三)-------冒泡排序,快速排序(java实现) .
  8. mybatis 缓存总结以及遇到的问题
  9. java 2d 教程_Java 2D开发技巧之“灯光与阴影”
  10. 深入掌握JMS(二):一个JMS例子
  11. 网站优化:浏览器缓存控制简介及配置策略
  12. 用AJAX技术聚合RSS
  13. Numpy Scalars(标量)
  14. Asp.Net WebApi swagger使用教程
  15. 垃圾回收机制GC知识再总结兼谈如何用好GC(转)
  16. 套料排版代码python_XSuperNEST全自动套料解决方案
  17. 计算机体系结构与计算机组成的区别
  18. Java-Jsp基础教程
  19. 如何去掉高CAD选择集对话框(高版本才有)
  20. Pytorch 深度学习入门与实践 第二章 pytorch快速入门 (1)

热门文章

  1. 小米手机怎么复制加密门禁卡_使用小米手机复制加密门禁卡的方法
  2. 基于深度学习的命名实体识别与关系抽取
  3. 经济学和哲学_边做边学的哲学
  4. Navicat15 安装激活
  5. How to root android Oppo A11w,OPPO R11系列 解锁Bootloader 救砖 TWRP Recovery ROOT 详细教程 亲测[推荐]...
  6. 美发店员工合同WORD版(可直接下载打印)【卓美业网拓软件整理】
  7. linux ora -03113,ORA-03113解决方法
  8. PMP常考知识点整理
  9. 我收藏的PDF电子书第一部分
  10. LaTeX 有哪些「新手须知」的内容?