为采样频率;

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. cJSON库源码分析
  2. linux 内核维护,Linux 4.18内核系列生命周期结束:用户需尽快更新内核
  3. resin php mysql_RedhatAS4.0上安装Apache2+PHP5+MySQL+Resin+SSL+GD+webalizer
  4. linux虚拟实验服务,Linux虚拟服务器(LVS)实验文档PDF
  5. 深入理解asp.net中的 __doPostBack函数
  6. hduoj 2546饭卡
  7. java中的html标签位置,Java 过滤所有html标签,复制文件到指定位置
  8. mac下终端命令行下添加mysql命令
  9. Maven中dependencyManagement的使用
  10. Silverlight 自定义表格 转
  11. 设计模式学习五、代理模式
  12. 《Windows程序设计》之剪贴板查看器
  13. 2020 智慧城市解决方案(智慧城市系统及相关技术)
  14. 投票 java_java实现投票程序设计
  15. 【Python】MySQLdb库的使用以及格式化输出字段中的值
  16. win10更新失败 无法安装 Windows,因为这台电脑的磁盘布局不受UEFI固件支持
  17. 【Matlab】MATLAB绘图
  18. 独家首发|汇聚知识 理解世界——百度王海峰谈知识图谱的最新演讲笔记
  19. 【进阶四】Python实现(MD)HVRP常见求解算法——蚁群算法(ACO)
  20. java 上转型对象_Java中上转型对象数组

热门文章

  1. adb命令刷机vivox20_vivo手机变砖 刷机手机端口连上显示adb
  2. python源码打包成exe、exe反编译、pyd加密防止反编译
  3. CANTest 测试软件基本操作介绍
  4. 数据分析之数据预处理、分析建模、可视化
  5. 查询的端口 -解决端口被占用的问题
  6. 关于vs应用程序无法正确启动问题
  7. 【使用Idea打包war包】
  8. 解决SecureCRT信号灯超时
  9. filenet java配置_技术的力量:IPFS新贵Filenet缘何采用Podt
  10. 什么是javaEE、javaSE、javaME,这三者区别是什么?