实验五 数字振荡器实验_第1页
实验五 数字振荡器实验_第2页
实验五 数字振荡器实验_第3页
实验五 数字振荡器实验_第4页
实验五 数字振荡器实验_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验五实验五 数字振荡器实验数字振荡器实验 一 实验目的一 实验目的 本实验属于综合性实验 在项目开发中 我们经常要用产生某一频率的正弦振荡信号 比如在电话通信中 用两个不同频率的正弦信号的叠加来代表按键 正弦信号的生成方法 有三种 计算法 查表法和数字振荡器 用计算法求正弦波的离散序列值程序设计容易 但实际应用时会占用计算时间 使系统运行速度变慢 查表法是先通过 matlab 将正弦波的 序列值计算出来并寄存在存储器中 运行时只要按顺序和一定的速度取出便可 这种方法 要占用较多的存储空间 但是速度快 第三种方法是利用数字振荡器来实现不同频率信号 的叠加 这种方法通过迭代的方法计算出不同频率的正弦信号序列 结构简单 运算速度 快 节省内存 因此在 DSP 实际应用中我们选择这种方法 数字振荡器的本质是 使用一个 IIR Infinite Impulse Response 滤波器 通过把 它的极点放在单位圆上面来产生振荡 利用正弦波 sinx 的指数形式 2 1 sin jxjx ee j x 可以得到正弦序列 x n 的 Z 变换为 2 1 sin jnwTjnwT ee j Tnnx 11 00 11 X 2 z 2 jnwTjnwTnjwTnjwTn nn eezezez jj 1 2 jwTjwT zz jzeze 22 2 1 22 cos 1 jwTjwT zzezze jzzwT 此式在 z 1 时成立 且 22 sin 2 cos 1 zwTCz zzwTzAzB sin 1 cos 2wTCBwTA 根据 Z 变换的基本原理和性质 序列 x n 及其 Z 变换 X z 之间存在一一对应的关系 即对于给定的 X z 可以通过反 Z 变换 唯一地确定 x n 因此 产生一个正弦波就等价于利用上式设计一个二阶 IIR 滤波器 使其系统传递函 数就是正弦序列 x n 的 z 变换 系统传递函数为 21 1 2 1 BzAz Cz BAzz Cz zH 滤波器的极点就是分母的根 0 2 BAzz 2 4 cos4 cos 2 2 4 2 2 2 1 wTwTBAA P sin cos wTjwT 由上式可以看出 P1 2是一对复根 其幅值为 1 相角为 wT 幅值为 1 的极点在单位圆 上 对应一个数字振荡器 其振荡频率由系数 A B 和 C 决定 因此 设计数字振荡器主要 是设计这些系数 由系统函数求得差分方程 设初始条件为 121 zXCzzYBzzYAzzY 0 对上式作反 Z 变换 得 这是一个二阶差分方 1 2 1 nCxnBynAyny 程 其单位冲激响应就是 sin wT 由上面的式子可得数字振荡器系统流程图如图 1 所示 利用单位冲激函数 x n 1 的性质 即仅当 n 1 时 x n 1 1 代入上式 n 0 y 0 Ay 1 By 2 0 0 n 1 y 1 Ay 0 By 1 C C n 2 y 2 Ay 1 By 0 0 Ay 1 n 3 y 3 Ay 2 By 1 n k y k Ay k 1 By k 2 在 n 2 以后 y n 可以用 y n 1 和 y n 2 算出 这是一个递归的差分方程 由此出发 就可以完成数字振荡器的设计 例如 设该振荡器的频率为 F 1KHz 采样 频率为 Fs 10KHz 则 系数 A 2cos wT 0 6282radians s F wT F 1 618033989 B 1 C sin wT 0 587785252 由此基础上 利用之前那个公式就可以产生 相应的正弦波 二 实验设备二 实验设备 1 微机一套 操作系统为 WINWODS98 WINDOWS2000 SP2 或 WINDOWS XP SP1 或具有更高 级的补丁 2 DSP 硬件仿真器一台 DSP 实验箱一台 示波器一台 1 5000CCS2 0 软件版本 4 部分源程序及链接命令文件见 D EXPER EXP6 目录下的 asm 和 cmd 文件 c 文件 lib 文件 三 实验设置三 实验设置 1 开关 K9 拨到右边 即仿真器选择连接右边的 CPU2 Z 1 Z 1 B A C X n y n 图 1 数字振荡器系统流程 图 四 实验内容四 实验内容 1 用 Z 变换的移位性质可知 1 0 其中 所以得到差分方程 0 1 2 y nAy nBy nb x n 000 sin 2cos 1bkwAw B 其中 为输出信号的频率 正弦信号的幅值 采样信号频率 0 0 2 s f w f 0 fk s f 8KHZ 归一化数字频率 设初始条件则差分方程变换为 0 w 0 1 0 2 sin yyw 初始条件 1 2 y nAy nBy n 0 2cos 1 2 y nw y ny n 0 1 0 2 sin yyw 根据上面的参数 代入输出信号的频率可以得到产生不同频率正弦信号所需要的参数 表 1 数字振荡器参数表 频率 HZ AB 1 y 2 y 6971 70774 100 52049 7701 64528 100 56856 8521 56868 100 62033 9411 47820 100 67359 12091 16410 100 81315 13360 99636 100 86707 14770 79862 100 91682 16330 56854 100 95875 2 使用内存的图形观察工具对正弦振荡器的仿真结果进行时域分析和频域分析 注意正确 设置参数 例程 产生 770HZ 正弦振荡信号 表 1 数字振荡器参数表 图图 a 770HZ 的时域图形的时域图形 图图 b 770HZ 的频谱图的频谱图 五 实验内容五 实验内容 1 仔细阅读所给的部分源程序 并完成完成该程序 要求实现 697HZ 1209HZ 两种频率的正弦 信号叠加输出 2 从叠加后的波形输出来看 原始波形中含有的哪些频谱成分 3 完成表 1 数字振荡器参数表中各个参数值得计算 七 源程序及链接程序七 源程序及链接程序 1 1 datasamp cdatasamp c FileName DTMF C Description 数字振荡器实验 Write by LinLianDong Date 2013 05 03 Update 2013 05 03 include typedef h include math h 由于使用 sin 函数 此程序产生 697HZ 正弦波 load 程序以后 运行 才能得到仿真结果 设置断点 观察变量地址 仿真 CPU 用 C54XX simulator 数据格式 31 bit floating point 采样频率 8KHZ 时域显示用 line 频域显示用 bar 程序设计中频域采样取 N 205 main 以下初始化参数为正弦振荡器初始化参数 float a1 row float a 8 1 70774 1 64528 1 56868 1 47820 1 16410 0 99636 0 79862 0 56854 double yn chu zhi 8 0 52049 0 56856 0 62033 0 67359 0 81315 0 86707 0 91682 int j double yn 800 yn row 400 400 点合成频率输出 400 点静音信号 程序开始 yn row 1 0 yn 0 0 yn 1 0 生成正弦波 a1 row a 1 row 770 yn row 0 yn chu zhi 1 for j 2 j 400 j 产生正弦信号序列 400 点 yn row j a1 row yn row j 1 yn row j 2 yn j yn row j 此处添加代码 实现两个不同频率正弦信号的叠加 for j 401 j VECT PAGE 0 汇编的中断向量表 text PROG PAGE 0 C 与汇编的可执行代码段 cinit PROG PAGE 0 C 初始化变量和常数表 bss IDATA PAGE 1 C 与汇编的全局和静态变量 const DARAM PAGE 1 C 定义常量段 stack DARAM PAGE 1 C 系统堆栈 switch IDATA PAGE 1 为常量语句建立的表格 data IDATA PAGE 1 汇编的定义的数据段 第第 4 章章 附附 录录 附录附录 1 TMS320C5402 CPU 及外设存储器寄存器映射表及外设存储器寄存器映射表 0IMR 中断屏蔽寄存器 1IFR 中断标志寄存器 2 5 测试保留 6ST0 状态寄存器 0 7ST1 状态寄存器 1 8AL 累加器 A 低字 15 0 比特 9AH 累加器 A 高字 31 16 比特 AAG 累加器 A 保护位 39 32 比特 BBL 累加器 B 低字 15 0 比特 CBH 累加器 B 高字 31 16 比特 DBG 累加器 B 保护位 39 32 比特 ET 暂存寄存器 FTRN 传送寄存器 10 17AR0 AR7 辅助寄存器 ARn n 0 7 18SP 堆栈指针 19BK 循环缓存区大小寄存器 1ABRC 块重复计数器 1BRSA 块重复开始地址 1CREA 块重复结束地址 1DPMST 状态寄存器 1EXPC 程存扩展寻址寄存器 1E 1F 保留 20McBSP0 DRR2 带缓存串口 0 数据接收寄存器 2 21McBSP0 DRR1 带缓存串口 0 数据接收寄存器 1 22McBSP0 DXR2 带缓存串口 0 数据发送寄存器 2 23McBSP0 DXR1 带缓存串口 0 数据发送寄存器 1 24TIM 定时器计数器 25PRD 定时器周期寄存器 26TCR 定时器控制寄存器 27 保留 28SWWSR 等待状态产生寄存器 29BSCR Bank switching 控制寄存器 2A 保留 2BSWCR 扩展等待控制寄存器 2CHPIC 主机接口控制寄存器 2D 2F 保留 30TIM1 定时器计数器 31PRD1 定时器周期寄存器 32TCR1 定时器控制寄存器 33 37 保留 38McBSP0 SPSA 多缓冲串口 0 子地址寄存器 39McBSP0 SPSD 多缓冲串口 0 子数据寄存器 3A 3B 保留 3CGPIOCR GP I O 引脚控制寄存器 3DGPIOSR GP I O 引脚状态寄存器 3E 3F 保留 40McBSP1 DRR2 带缓存串口 1 数据接收寄存器 41McBSP1 DRR1 带缓存串口 1 数据发送寄存器 42McBSP1 DXR2 带缓存串口 1 控制寄存器 43McBSP1 DXR1 带缓存串口 1 控制扩展寄存器 44 47 保留 48McBSP1 SPSA 多缓冲串口 1 子地址寄存器 49McBSP1 SPSD 多缓冲串口 1 子数据寄存器 4A 53 54DMPREC DMA 优先允许控制寄存器 55DMSA DMA 子地址寄存器 56DMSDI 57DMSDN 58CLKMD 时钟方式寄存器 59 5F 保留 附录附录 2 C5402 中的中断标志寄存器 中的中断标志寄存器 IMR 和中断屏蔽寄存器 和中断屏蔽寄存器 IFR 1 1 中断标志寄存器中断标志寄存器 IFRIFR IFR 中某位为 1 表明有相应中断 再次写 1 清除中断 2 2 中断屏蔽寄存器 中断屏蔽寄存器 IMRIMR 要开放某个中断 只需向 IMR 中相应位 中断允许位 写 1 而 ST1 中 INTM 位为中断屏 蔽总开关 IFRIFR 和和 IMRIMR 寄存器各位功能描述寄存器各位功能描述 位号名称功能描述 15 14 保留 13DAMC5 DMA 通道 5 中断标志 屏蔽位 12DMAC4 DMA 通道 4 中断标志 屏蔽位 11BXINT1 DMA C3 McBSP1 发送中断标志 屏蔽位或 DMA 通道 3 中断 标志屏蔽位 10BRINT1 DMAC2 McBSP1 接收中断标志 屏蔽位或 DMA 通道 2 中断标志 屏蔽位 9HPINT 主机接口中断标志 屏蔽位 8INT3 外部中断 3 中断标志 屏蔽位 7TINT1 DAMC1 TIMER1 中断标志 屏蔽位或 DMA 通道 1 中断标志 屏蔽位 6DMAC0 DMA 通道 0 中断标志 屏蔽位 5BXINT0 McBSP0 发送中断标志 屏蔽位 4BRINT0 McBSP0 接收中断标志 屏蔽位 3TINT0 Timer0 中断标志 屏蔽位 2INT2 外部中断 2 中断标志 屏蔽位 1INT1 外部中断 1 中断标志 屏蔽位 0INT0 外部中断 0 中断标志 屏蔽位 注 所有 DMA 通道控制均由 DMPREG 寄存器来控制 附录附录 3 TMS320C5402 中断向量表与优先级中断向量表与优先级 中断号 优先 级 名 称位 置功 能 01 RS SINTR0 复位 软 硬件 12 NMI SINT164 非屏蔽中断 2 SINT178 软件中断 17 3 SINT18C 软件中断 18 4 SINT1910 软件中断 19 5 SINT2014 软件中断 20 6 SINT2118 软件中断 21 7 SINT221C 软件中断 22 8 SINT2320 软件中断 23 9 SINT2424 软件中断 24 10 SINT2528 软件中断 25 11 SINT262C 软件中断 26 12 SINT2730 软件中断 27 13 SINT2834 软件中断 28 14 SINT2938 软件中断 29 15 SINT303C 软件中断 30 163 INT0 SINT040 外部中断 0 174 INT1 SINT144 外部中断 1 185 INT2 SINT248 外部中断 2 196TINT SINT3 4C定时器 0 中断 207BRINT0 SINT450 缓存串口 0 接收中断 218BXINT0 SINT554 缓存串口 0 发送中断 229 保留 DMAC0 SINT6 58 保留 缺省 DMAC0 2310TINT DMAC1 SINT75C 定时器 1 中断或 DMA 通道 1 中断 2411 INT3 SINT860 外部中断 3 2512HPINT SINT964 HPI 口中断 2613BRINT1 DMAC2 SINT1068 带缓存串口 1 接收中断 2714BXINT1 DMAC3 SINT116C 带缓存串口 1 发送中断 2815DMAC4 SINT1270 DMA 通道 4 中断 2916DMAC5 SINT1374 DMA 通道 5 中断 30 31 78 7F 保留 附录附录 4 TMS320C5402 状态和控制寄存器状态和控制寄存器 1 1 状态寄存器 状态寄存器 0 0 ST0ST0 结构如下 结构如下 15 13 1211109 8 0 Bit ARPTCCOVAOVBDP 各状态位功能描述各状态位功能描述 位号名称功能描述 15 13 ARP 辅助寄存器指针 当寻址不修正时 要求 ARP 0 12TC 测试 控制标志位 保存 ALU 的测试结果 11C 进位位 加法时产生进位或减法时产生借位置 C 1 10OVA 累加器 A 和 B 溢出标志位 9OVB 累加器 A 和 B 溢出标志位 8 0 DP 数据存储器页指针 在直接寻址时作为数存的高 9 位地址 2 2 状态寄存器 状态寄存器 1 1 ST1ST1 结构如下 结构如下 15141312111098765 4 0 BRAFCPLXFHMINTM0OVMSXMC16FRCTCMPTASM 各状态位功能描述各状态位功能描述 位号名称功能描述 15BRAF 块重复操作标志位 为 1 时表示进行块重复操作 14CPL 直接寻址编辑方式位 CPL 0 时直接寻址指针为 DP CPL 1 时直接寻址 指针为 SP 13XF XF 引脚状态位 通过改变该寄存器的值可以改变 XF 引脚的输出 12HM 保持方式位 处理器响应 hold 信号时 HM 0 时表示处理器继续执行内 部操作 而将外部接口置成高阻 当 HM 1 时 表示处理器暂停内部 操作 11INTM 中断方式位 当 INTM 0 时 开放所有可屏蔽中断 当 INTM 1 时 关 闭所有可屏蔽中断 100 读时总是 0 9OVM 溢出方式位 OVM 0 时 忽略溢出 当 OVM 1 时 发生溢出时填充 00 7fff ffffh 正溢出 或 00 8000 0000h 负溢出 8SXM 符号扩展方式位 SXM 0 时禁止符号扩展 SXM 1 时数据进入 ALU 时进 行符号扩展 7C16 双 16 位 双精度算术方式位 C16 0 时进行双精度算术运算 C16 1 时进行双 16 位算术运算 6FRCT 小数方式位 在小数乘法时乘法器输出左移一位 来消除多余符号位 5CMPT 修正方式位 决定 ARP 是否进行修正 CMPT 0 时 间接单数存操作数操 作时 不进行 ARP 修正 CMPT 1 时 用 AR0 进行修正 4 0 ASM 累加器移位方式位 3 3 处理器工作方式状态寄存器 处理器工作方式状态寄存器 PMSTPMST 结构如下 结构如下 15 7 6543210 Bit IPTRMP MCOVLYAVISDROMCLKOFFSMULSST 各状态位功能描述各状态位功能描述 位号名称功能描述 15 7 IPTR 中断向量指针 指向中断向量位置 6 MP MC微处理器 微控制器工作方式位 若 MP 0 使用片内 ROM 若MC MP 1 则片内 ROM 不安排到程序空间 此状态由外部引脚决定 MC 但是可以软件修改 5OVLY RAM 重复占位位 当 OVLY 0 DARAM 只能映射到程序空间 当 OVLY 1 时 DARAM 同时映射到程序存储空间 注意 数据页 0 不能 映射到程序空间 4AVIS 地址可见位 设置寻址内部程序空间时地址线是否在外部地址引脚 输出 当 AVIS 1 时 则内部程序寻址时 在地址总线上同时输出 3DROM 数据 ROM 位 DROM 0 时 片内 ROM 不映射到程序存储区 DROM 1 时 片内 ROM 映射到数据存储区 2CLKOFF CLKOUT 时钟输出关断位 CLKOUT 1 时 禁止 CLKOUT 的输出 并且 保持高电平 1SMUL 乘法饱和方式位 当 SMUL 1 时 并且 OVM 1 FRCT 1 时 在进行乘 法累加运算时 作饱和处理 0SST 存储饱和位 附录附录 5 片内 片内 4K 掩模掩模 ROM 的内部资源的内部资源 地址为 F800h FFFFh 其内部资源 其中 F000h

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论