dsp任意信号发生器(共7篇)
实验报告
姓
名: 学院(系): 专
业: 组
员: 指导老师:
学 号:
电子工程与光电技术学院
通信工程
一、实验目的
1.熟悉 DSP 硬件开发平台; 2.熟悉 DSP 集成开发环境(CCS); 3.掌握 TMS320F2812 的存储器配置表; 4.学习TMS320F2812 的编程开发; 5.熟悉代码调试的基本方法。
二、实验仪器
计算机、C2000 DSP 教学实验箱、XDS510 USB 仿真器、示波器
三、实验内容
建立工程,编写DSP 的主程序,并对工程进行编译、链接,利用现有 DSP平台实现任意波的产生,通过示波器观察结果。对于实验所要求的内容,完成情况如下:
(1)、独立完成项目编译、链接、调试的全过程;
(2)、利用数码显示管,在DSP初始化子模块后添加语句或者编写子程序,使之能够显示实验日期2014.11.15。答:如图所示:
(3)、记录实验中个子程序包括主程序的入口实际地址,与 memory 比较,指出分别位于什么类型的存储器中。
答:入口地址为:0x00000000;位于片上M0.M1 SARAM。(4)、指出波形数据保存的空间地址,并以图形方式显示线性调频信号的波形,并保存,附在实验报告中。答:空间地址为:0x01000000 线性调频信号的波形如图所示:
四、实验中出现的问题及解决方案
1、改变信号频率的方式并编程实现,在示波器上验证:
首先需要改变原来的程序,初始程序为cos余弦函数,我们把它改成了sin正弦函数;另外信号频率需要不断变化,因此在源程序基础上增加了一个变量m.具体程序如下所示: 初始程序:
修改后程序:
改变信号频率后,示波器上验证的图形如下: A、m=2时,T=5.3ms;
B、m=3时,T=3.6ms;
C、m=4时,T=2.65ms;
D、m=8时,T=1.32ms;
2、在实验过程中,由于实验进行的比较顺利,因此我们还利用数码显示管显示了其他内容,例如下面图形所示,寓意为“304C一生一世”(304C为宿舍号):
五、实验感想
在进行本实验时,由于我们之前对CCS这个集成开发环境有了一定的熟悉,因此做起来少了生疏感。主要出现的问题在于编程方面,在编写正余弦函数表达式上我们是通过了学习他人的方式完成的。
关键词:低频信号发生器,单片机,D/A转换,任意波形
0 引 言
波形发生器亦称函数信号发生器, 作为实验用信号源, 是现今各种电子电路实验设计应用中必不可少的仪器设备之一。目前, 市场上常见的波形发生器多为纯硬件搭接而成, 且波形种类有限, 多为锯齿、正弦、方波、三角等波形。如555振荡电路便是产生正弦波、三角波和方波可取的途径之一。但是这种电路存在波形质量差、控制难、可调范围小、电路复杂和体积大等缺点。
利用单片机通过程序设计方法来产生低频信号, 其频率底线很低, 具有线路相对简单、结构紧凑、体积小、价格低廉、频率稳定度高、抗干扰能力强、用途广泛等优点。
现介绍利用AT89C52单片机和2片DAC0832 D/A转换器组成的数字式低频信号发生器, 可输出任意波形。波形信号频率范围为1 Hz~10 kHz, 信号电压范围为-5 V~+5 V, 并且输出电压幅值可以在0 V~5 V范围内调节。输出信号非线性失真低于0.1%, 频率稳定度达0.1%/h。
1 工作原理
任意波形函数发生器采用直接数字合成技术, 可以提供各种常用波形, 其输出波形是通过单片机系统建立的。工作过程为:在一个单片机的存储器中存入波形数据, 当要产生波形输出时, 所存信息经D/A转换器形成模拟量, 波形再通过一个放大器来调整驱动和传输能力。由于该信号发生器以模拟量形式输出的波形是在单片机内部存储的数字信号的控制下形成的, 所以在构建波形时, 具有时域、频域和视觉上的灵活性[1]。
任意波形函数发生器是依据存储器中的数值来构建波形的, 在存储器的数据中定义的一个波形的起始点与结束点之间的采样点数决定了波形的频率。输出波形频率f0由下式决定:
undefined
式中n1、n2为所要构建波形的第一个和最后一个采样点, 在存储器中的对应位置序号fs为采样频率。通过改变或重新设置这个参数即可得到不同频率的输出波形。
现以正弦波为例, 设要产生的正弦波为U (t) =Umsin 2πft, 周期T=1/f, 我们把每个周期平均分成P个区间。每个区间间隔为ΔT=T/P, 在ΔT区间内, U (t) 的值为常数。即认为:
0≤t<ΔT 时, U (t) =U (0) ;
ΔT≤t<2ΔT时, U (t) =Umsin (2πf×ΔT) ;
2ΔT≤t<3ΔT时, U (t) =Umsin (2πf×2ΔT) ;
︙
即:
undefined
由于
undefined
所以
undefined
通常正弦信号峰值电压恒定, 如设Um=225 mV, 我们可以用32个字节的存储器来储存i等于不同数值时的电压U (t) 或U (i) , 最小分辨率为1 mV。由于正弦信号4个象限内数值的对称性, 若把一个周期分成P=128等份, 但只有32个独立的数值, 因此只需32个字节的存储器就够了。
由此看出, 输出信号的频率取决于ΔT, 改变ΔT即可得到不同的输出频率, 并且输出频率的正确度基于单片机晶振频率的正确度和稳定度。而各区间的振幅值以数字形式存于单片机的内存中, 加上D/A转换器的稳定性, 因此输出信号的幅频特性很好。其输出信号的非线性失真低于0.1%。
2 硬件电路的实现
电路主要由AT89C52单片机产生所需输出信号的数字量, 再由D/A转换器将数字量转化为模拟电流输出, 通过运放转化为模拟电压输出。
因为D/A转换器的最大输出电压是由其输入的基准电压来控制的, 只要能控制D/A的基准电压便可以控制输出幅度, 因此只需在D/A转换器基准电压上加上一个变位器, 便可以方便地改变其输出信号的幅度。设计用2片DAC0832来完成输出信号的工作, 第1片D/A用来输出信号, 第2片D/A用来控制第1片D/A的基准电压, 其中用P1口作为2片D/A的数据总线[2]。电路框图如图1所示。
2.1 AT89C52单片机简介
AT89C52是一种低功耗、高性能的片内含有8 kB可编程/可擦除只读存储器的8位CMOS微控制器, 使用高密度、非易丢失存储技术制造, 并且与80C51的引脚和指令系统完全兼容。芯片上的Flash存储器允许在线编程或采用通用的非易丢失存储编程器重复编程。
AT89C52将具有多种功能的8位CPU与Flash存储器结合在一个芯片上, 为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案, 其性能价格比远高于8751。89C52的主要性能包括:片内有8 kB可在线重复编程的快闪擦写存储器;宽工作电压范围VCC可为2.7 V~6 V;全静态工作可从0 Hz至33 Hz;程序存储器具有3级加密保护; 32条可编程I/O线;3个16位定时器/计数器;中断结构具有8个中断源;21个特殊功能寄存器;1个可编程全双工串行通道;空闲状态维持低功耗和掉电状态保存存储内容[3]。
2.2 D/A转换器连接电路和运算放大电路的设计
设计中2片D/A的输出均采用双极性电压输出, 运算放大器选用的是LF358, 电路如图2所示。第1级DAC0832 D/A转换器将P1口输出的数字信号变成连续变化的电流信号, 这个电流信号经2个集成运算放大器组成的双极型电压输出电路变成电压信号输出。电压变化范围为-5 V~+ 5 V, 作为第2级DAC0832 D/A转换器的基准电压。P1 口的8位二进制输出信号再经第2级DAC0832 D/A转换器及集成运放输出, 使输出电压信号的精度更高[4]。
2.3 与AT89C52单片机的接口
从DAC0832内部结构中得知, 其前级输入锁存器和DAC寄存器可允许数据进入其中, 亦可锁定数据, 拒绝新数据进入。这取决于内部信号LE1和LE2各自受外部信号控制的情况。据此可归纳出3点:
1) 单缓冲方式:LE2和LE1受控于同一组外部信号, 2级寄存器同时锁存数据。
2) 双缓冲方式:LE2和LE1分别受不同信号控制, 2级寄存器先后接收数据。
3) 直通方式:LE1和LE2均恒为1, 外来数据直接通过前2级到达D/A转换器。
设计采用的是直通方式[5]。
2.4 键盘控制和显示电路
按键是系统的输入设备, 是控制单片机的唯一途径。设计中共使用了16个按键, 3×5键盘和一个复位键。3×5键盘中包含了0~9的数字键和多个波形选择键。由于功能键较多, 所以在输入控制命令时非常方便。
在设计要求中还选择将键盘的输入内容显示出来。而这些信息在信号输出时不需时刻改变, 可由单片机的串行通信口输出显示数据。在设计中, 显示采用的是5位7段显示器显示, 显示的数据由单片机的并行口P0输出, 采用动态显示的方法, 以P2口中的低5位 (P2.0~P2.4) 作为位选。显示器使用的是共阴极LED数码管, 并采用74LS07同相驱动器。按键消除抖动的处理采用软件方法。原理是:扫描键盘后, 延时10 ms, 再次扫描键盘, 确认有键按下, 跳到读键值的子程序, 等待按键的动作完成, 然后才继续执行其他操作。
3 软件设计
单片机内部数据只有0、1之分, 所产生的信号也都是离散信号。为了能够让单片机输出所需的数字信号, 我们采用对信号采样、量化的方法来实现由单片机产生所需信号。在设计中, 对正弦信号进行采样, 通过查表来实现输出不同的幅度值。采样点越密, 信号失真度也就越小。对于三角波, 就是实现2次循环, 通过由最小值到最大值和由最大值到最小值的循环来实现三角波的输出。方波的输出时间间隔由键盘输入, 然后由软件通过定时、计数器来控制。因此, 通过控制不同的计数初值就可以控制整个方波信号的频率, 其计数初值=65 536-输入值。对于其他波形, 程序根据输入频率值计算出波形的输出时间参数, 即波形中每2点的时间间隔C。程序设定寄存器T0作定时器, T1作计数器。当计算出C≤65 536时, CPU只使用T0。当C>65 536时, CPU将T0和T1串联起来使用。T0/T1被调用后开始计数, 总定时时间到, 输出一个点, 反复循环, 从而在一个周期内输出完整波形。
设计中软件分为初始化模块、显示模块、键盘扫描模块、键值处理模块和波形产生模块。
3.1 初始化模块设计
初始化模块的作用是将用户需要的内存单元清零, 清除系统原始数据对系统的影响。之后在显示电路中显示全0, 对观察以后的数据输入情况有很大帮助。
设计中主要用到了30H到40H的内存空间。因此, 这里主要对这部分单元清零, 并且将数据存储指针初始化。具体程序如下:
3.2 键盘扫描程序的设计
键盘扫描程序的作用是从键盘获取按键信息, 根据按键信息来执行命令操作。这部分是用户对系统进行操作的唯一途径。这部分程序的正确编写是确保人机正常对话的前提保证。
键盘工作原理为:行线通过电阻接+5 V, 当键盘上没有键闭合时所有的行线和列线都断开, 行线呈高电平。当键盘上某一个键闭合时, 则该键对应的行线和列线被短路, 此时, 行线的状态由列线决定。通过给列线置0 (低电平) , 判断行线的状态, 可以判断出是哪个键闭合[6]。
键盘扫描程序流程图如图3所示。
3.3 波形产生模块的设计
波形产生模块是设计的关键, 其精度如何, 关键在于波形产生模块设计的合理性。
系统设计中采用的是用单片机产生信号, 而单片机只能产生数字信号, 无论是信号频率还是信号幅度都是离散的点, 这些点的产生是根据不同波形情况采用不同的方法由计算机来完成的。其中方波的产生方法比较简单, 只要定时地向外输出0FFH和00H即可。正弦波的产生是通过对标准正弦波进行采样输出而得到的, 采样间隔越小, 正弦波的输出精度就越高, 失真度越小。对于三角波, 就是实现2次循环, 通过由最小值到最大值和由最大值到最小值的循环来实现三角波的输出。以下给出了三角波产生的程序:
4 结束语
本系统按实际应用需求而设计。实验调试表明该数字式低频任意信号发生器在技术指标上完全达到了设计要求。系统具有价格低、性能高, 在低频范围内稳定性好、操作方便, 产品体积小、耗电少等特点, 所以在实践中有较好的应用价值。若有实际需要, 系统只要在软件上做一定的改变, 就可以作为超低频任意信号发生器在相关领域内使用。
参考文献
[1]刘国林, 殷贯西.电子测量[M].北京:机械工业出版社, 2003:95-112.
[2]陈琼.一种单片机控制超低频任意信号发生器的设计与实现[J].南昌航空工业学院学报:自然科学版, 2004, 18 (3) :35-38.
[3]张友德, 赵志英, 涂时亮.单片微型机原理, 应用与实验[M].上海:复旦大学出版社, 2007.
[4]戴梅鄂, 史嘉权.微型计算机技术及应用[M].北京:清华大学出版社, 2002:1-220.
[5]蒋延彪.单片机原理及应用[M].重庆:重庆大学出版社, 2003:145-200.
关键词 基于DSP的信号处理系统 电子信息工程 信息处理
中图分类号:TP3 文献标识码:A
0前言
DSP技术正迅速应用于通信、电子、计算机等各个领域。用DSP技术来改进电子信息工程实践教学具有十分重要的意义。系统采用数字信号处理功能强大的专用处理器DSP作核心,结合计算机,实现了电子信息工程实践的综合化。把多种应用实践在一个通用的处理平台上实现,大大改进了电子信息工程教学活动。系统的优点就是在统一的平台上实现了多种应用实践,并且可以根据教学活动的需要和教学实践内容的不断完善,方便地更新系统软件,使系统功能增加和性能升级。
1 DSP在信号信息处理中的广泛应用
随着信息技术革命的不断深入和计算机技术的飞速发展,数字信号处理技术逐渐发展成为一门十分重要的技术学科。集成化的数字信号处理器DSP(Digital Signal Processor)的出现,为各种数字信号处理算法的实现提供了可能。这一方面极大地促进了数字信号处理技术的进一步发展;另一方面也使数字信号处理的应用领域不断地拓展。如今,DSP已经广泛地应用于通用数字信号处理、通信、控制、仪器、医学电子、消费电子、计算机、军事等各个领域。
2 DSP用于信号处理系统的优点
(1)高速的数据处理能力
DSP的独特的芯片结构使得它具有高速的数据处理能力。不同于普通的微处理器,DSP放弃了冯诺依曼结构,采用了哈佛结构,将程序与数据的存储空间分开,各有自己的地址总线与数据总线。这使处理指令和数据可以同时进行,从而大大提高了处理效率。同时,DSP设置了硬件乘法/累加器,能在单个指令周期内完成乘法/累加运算。高速的数据传输能力是DSP作高速实时处理的关键之一。现在的DSP大多设置了单独的DMA总线及其控制器,在不影响或基本不影响DSP处理速度的情况下,作并行的数据传输,传输速率可以达到每秒数百兆字节。
(2)可程控
用DSP设计的信号处理系统,可以设计各种软件来执行多种多样的信号处理任务。例如,给DSP载入数据采集相关程序使之成为数据采集处理器,而给DSP载入调制、解调相关程序它又成为调制解调处理器。
(3)DSP集成度高,系统化好
DSP器件是基于超大规模集成电路技术和计算机技术发展起来的高速高位单片计算机。它体积小,功能强,功耗小,系统化好,使用方便,性价比很高,得到了广泛的应用。
3 DSP用于“电子信息工程综合实践”平台的意义
“电子信息工程综合实践”课程,涉及的内容覆盖面较广,使用传统的实验设备及实验手段完成这些实践内容,实现过程较复杂,实验设备较分散,可操作性也不好。有的实践课程,特别是涉及到复杂数字信号处理,传统的实验设备和手段难以胜任。
DSP器件高速的数字信号处理能力以及它和外围信号处理电路方便的接口设计,使得它在信号处理特别是实时高速的信号处理领域越来越广泛地被应用。“电子信息工程综合实践”涉及的许多信号处理算法都可以用DSP来实现,再加上DSP的可程控性,使得大部分的综合实践都可以在一块DSP芯片上完成。因此,实现DSP处理器和PC微机的结合,充分利用计算机强大的操作功能和DSP的高速信号处理能力及可程控特性,就可以达到“电子信息工程综合实践”课程的大部分应用要求,就能够实现这门实践课程的系统化、综合化。
4“电子信息工程综合实践” 系统的总体方案
系统的总体方案是要构建一个以DSP核心信号处理单元,结合以计算机为控制及人机对话操作单元的通用信号处理平台。整个系统由DPS单元和微机单元两部分组成。DSP处理部分是数字信号处理的核心,大部分的信号处理任务在DSP上完成。输入、输出通道,提供为实时信号的处理和观察。DPS处理器和CP微机的连接。DSP和计算机之间主要是进行数据交换和控制。在系统工作中,PC和DPS扮演着主从的角色,DPS处理部分接受计算机的操作控制,完成数据传输、处理、控制等不同的任务。DSP既可以处理输入、输出通道送来的实时数据,也可以处理计算机传送的模拟数据。处理完成后既可以将结果送计算机作进一步的处理,也可以送给DPS处理板上的实时通道。PC微机主要是进一步加工DSP送回的处理数据,如作波形显.示,数值分析等等,同时它还控制和管理DSP的操作。DSP处理器的应用程序,由CP进行管理并根據实验需要传送给DPS。这样,通过DSP灵活的软件加载,让平台实现不同的“电子信息工程综合实践”内容。
5结语
本文考查了国内外DSP技术在教学科研领域的应用,认真分析了电子信息工程实践教学活动主要内容,结合信号信息处理的新特点,制定了系统设计的总体方案。DSP的密集运算能力能实现数字信号的实时、高速处理,而计算机强大的处理能力,方便的人机对话,使它具有灵活的软件功能、友好的操作性能。系统设计综合了它们各自的功能特点,把二者结合起来,构建电子信息工程综合实践应用平台。
参考文献
[1] 王念旭.DSP基础与应用系统设计.北京:北京航空航天大学出版社,2002.
[2] 邹理和. 数字信号处理. 北京:国防工业出版社,1995.57-158.
摘要:
时宽带宽(TB)积较小的线性调频(LFM)信号的脉冲压缩可用A100等器件构成的横向滤波器实现;对于TB积较大的LFM信号,在时域上对其进行脉冲压缩所需的计算量和硬件量太大。本文介绍用TMS320C6201 DSP在频域上实现大TB积LFM信号的实时脉冲压缩,内容包括海明加权、循环卷积、长数据分段迭加、软件流程图和硬件框图。实验结果表明,当雷达重要周期为300Hz时,对TB积为320的LFM信号进行脉冲压缩后最大副瓣电平为-42.3分贝。
关键词:LFM 脉冲压缩 信号处理器 实时信号处理 匹配滤波
为提高脉冲雷达或脉冲声纳的作用距离,通常有两个途径,其一是增加发射机峰值功率;其二是加大发射脉冲的宽度来提高平均发射功率。发射机的发射功率峰值受电源、功率放大器、功率传输通道(功率过大,波导等器件易打火)等限制;简单增加发射脉冲的宽度,相当于降低发射信号的带宽。为使相同时宽的脉冲增加带宽,可对发射脉冲内的载波进行线性调频;在接收端对线性调频的回波信号再进行脉冲压缩处理。经脉冲压缩后信号所具有的大的带宽能够提高测距精度和距离分辨力。宽脉冲内大的时宽能够提高测速精度和速度分辨力。因此脉冲压缩技术广泛用于雷达、声纳等系统,其中以线性调频信号的应用最为广泛。
1、线性调频信号的脉冲压缩。
线性调频(LFM)信号是一种瞬时频率随时间呈线性变化的信号。零中频线调频信号u(t)可表示为u(t)=exp(jπBt2/T) -T/2。式中,T为线性调频信号的时宽,B为带宽。
对线性调频信号的脉冲压缩处理,就是让信号通过一个与其相匹配的滤波器实现的。与u(t)匹配的滤波器的冲激响应为:h(t)=exp(-jπBt2/T) -T/2。
u(t)经匹配滤波器压缩后的输出g(t)为:g(t)=u(t) *h(t) T。
线性调频信号的突出优点是匹配滤波器对回波信号的多普勒频移不敏感,即使回波信号有较大的多普勒频移,原来的匹配滤波器仍能起到脉冲压缩的使用。这将大大简化信号处理系统。
经性调频信号经匹配滤波器后的输出脉冲g(t)具有sinc(t)函数型包络,其最大副瓣电平为主瓣电压的13.2dB。在多目标环境中,旁瓣会埋没附近较小目标的信号,引起目标丢失。为了提高分辨多目标的能力,可以采用加权技术。设时域加权函数为w(t),则加权输出为:g(t)=u(t)*[h(t) ・w(t) ] (4)。
引入加权函数实质上是对信号进行失配处理。以抑制旁瓣,其副作用是输出信号的包络主瓣降低、变宽。即旁瓣抑制是以信噪比损失及距离分辨力变坏作为代价的。加权函数可以选择海明加权函数、余弦平方加权函数等。海明加权函数为:w(t)=0.08+0.92・cos 2(πf/B) (5)。
在计算机中处理时,需要将信号离散化。当信号时宽很大时,在时域上计算卷积耗时较大。因此改为在频域上实现LFM信号的脉冲压缩。
G(n)=U(n) ・H(n) (6)
式中U(n)=FFT[u(n)] (7)
H(n)=FFT[h(n) ・w(n)] (8)
则:g(n)=IFFT[G(n)] (9)
在频域上LFM信号的脉冲压缩用循环卷积替代线性卷积进行计算。假设u(n)的长度为N1,h(n)的长度为N2,G(n)的长度为N。当N
2、LFM信号实时脉冲压缩的实现。
(1)TMS320C6201简介。
TMS320C6201(以下简称为C6201)是美国TI公司1997年推出的`定点DSP芯片。高速的数据处理能力和对外接口能力使其使用于雷达、声纳、通信、图像等实时处理系统。
C6201 DSP采用甚长指令字(VLIW)结构,单指令字长32Bit,8个指令组成一个指令包,总字长为256Bit。芯片内部设置了专门的指令分配模块,可以将每个256Bit的指令包同时分配到8个处理单元并由8个单元同时运行。最大处理能力可达2400MIPS。
C6201的存储器寻址空间为32Bit。外部存储器接口包括直接同步存储器接口,可与同步动态存储器(SDRAM)、同步突发静态存储器(SBSRAM)连接,主要用于大容量、高速存储;还包括直接异步存储器接口,可与静态存储器(SRAM)、只读存储器(EPROM)连接,主要用于小容量数据存储和程序存储;还有直接外部控制器接口,可与FIFO寄存器连接。
TI公司推出了世界上第一个效率可达70%――80%的汇编语言级C编译器。对于高速实时应用,采用C语言和C6000线性汇编语言混合编程的方法,能够把C语言的优点和汇编语言的高效率有机地结合在一起,代码效率达到90%以上。
(2)硬件构成。
雷达中频信号经抗混迭滤波后,将其频带限制在一定的范围内。再经A/D变换后便得到中频直接采样的数据。双口RAM用于存放中频直接采样的原始数据。
TMS320C6201用于完成LFM信号的实时脉冲压缩处理,包括FFT变换、中频信号正交化、移频、脉压、IFFT等工作。
SDRAM为高速动态存储器,用于存放LFM信号脉冲压缩处理过程中的中间数据。
处理后的数据及处理过程中的数据均可送至PC机作保存、显示等相关处理。
(3)工作流程。
在相参雷达、声纳和某些通信系统中,通常需要提取带限信号的同相分量(I)和正产分量(Q)。传统的方法是在同相支路和正交支路中把带限信号混频到基带(零中频),然后用与信号带宽相应的频率进行采样,以获得基带上的同相分量和正交分量。这种传统的正交采样方法存在的最大问题是I、Q两个支路总存在一定的增益不平衡和相位误差。
为了克服I、Q支路的幅相不平衡,本文采用中频直接采样的方法,即只用一个支路和一个A/D变换器。中频直接采样的数据通过适当的处理就可获得零中频上的正交信号数据。
FFT变换将中频直接采样的数据从时域变换到频域。
正交化的过程是从中频数据获得两路正交信号数据的过程,亦即从中频信号频谱获取正交信号频谱的过程。当采样频率fs、载频f0和信号带宽B之间满足f0=(2M-1) ・fs/4关系(一般M=1,fs>2B)时,中频信号频谱的正频率部分跟相应正交信号频谱是完全吻合的。
为了获得零中频上的正交信号频谱,必须将中频上的正交信号频谱沿频轴移动一个载频数量的大小,即移频。
用于脉冲压缩的匹配滤波器的时域值及基频谱在整个工作过程中是不变的。零中频正交信号的数据经脉冲压缩后,再做IFFT得到最终的脉冲压缩时域数据。
(4)软件计算及其优化。
在整个工作流程中,FFT及IFFT运算占用的比例很大,因此在LFM信号的实时脉冲压缩过程中,FFT程序的优化至关重要。
FFT运算采用基2时域抽取算法。在FFT的循环过程中,需要计算旋转算子。这是一个三角浮点运算,用C6201运算速度慢,很难达到实时处理的要求。所以在FFT运算之前把旋转算子计算好,放在数据存储器中加以调用。而且旋转算子的调用很有规律,寻址比较方便,所以不需花费很大的计算量。这样大大提高了FFT的运算速度。
N点FFT运算需要1/2(N・log2N)复数乘法。乘法花费指令周期较多,因此复数乘法的优化比较重要。在FFT程序中,主要采用了以下优化措施:
①采用short数据类型。
FFT中的数据类型为short,字长16位。模拟信号经A/D变换后长度为12位,与16位比较接近,这样能够很好的节省内存资源。由于TMS320C6201为定点型芯片,用它来计算整数类型的代数和运算,能够发挥其最大的运算优势。而且,C6000系列的指令集内只有16位乘法指令,这样采用16位字长,能够节省乘法运算的指令周期数。
②使用字访问short类型。
在复数乘法中,读、写内存比较频繁。读操作花费指令周期较多(需5个指令周期)。如果以short类型(字长16位)读、写内存,将要读内存6次,写内存4次。由于C6000指令集内的读写操作的数据可以是32位。所以可以采用int类型(字长32位)读、写内存,即每访问一次内存,操作数为两个Short数据。这样只需读内存3次,写内存2次,花费时间可以减少一半。
③使用内联函数。
C6000编译器提供了大量的内联函数。如16位乘法算:_mpy(),_mpyh(),_mpyh1(),_mpylh()等。内联函数可快速优化C代码,在程序中应尽量使用。
(5)长数据分段迭加。
当一个雷达重复周期内采样的数据长度很大而相应匹配滤波器的数据很短时,可采用长数据分段迭加来减小运算量。即将信号长数据分散成若干个小段(每小段数据长度都与匹配滤波器数据长度相当),对每小段数据分别作FFT处理后再相加。实验结果表明:当信号数据长度越大时,采用此种方法相对于通常补零FFT方法的优越性越大,可以满足LFM信号实时脉冲压缩的要求。
通用DSP技术的不断发展,给实时雷达信号处理系统的实现带来了极大的方便。本文阐述了LFM信号实时脉冲压缩为雷达实时信号处理的一个实例,对于雷达声或纳等设备的实时信号处理具有一定的参考价值。
★ 新的独立性度量及其在混沌信号分析中的应用
★ 微弱的反义词是什么
★ 基于DSP的仿生机器蟹多关节控制系统的实现
★ 混沌的小学生作文
★ 城市轨道信号实习心得体会
★ 理论故事范文
★ 理论征文
★ 理论学习制度
★ 编译及编译理论初探
1 设计思想和技术指标
1.1 设计思想
以W78E58B单片机为核心,辅以必要的模拟电路及上位机波形设计软件,构成一个任意信号发生器。下位机模块能通过按键控制输出产生预设正弦波,方波,三角波,矩齿波四种波形,并能显示相应的参数。在Visual C++语言编写的上位机界面用户拖动鼠标左键在图片框绘制波形时,同时将各点值存储下来,按波形产生键生成波形。并通过自制的示波器显示出波形。
1.2 主要技术指标
1)具有多个频道的存储、掉电存储断电记忆功能;可产生预设正弦波,方波,三角波,矩齿波;还可产生用户自己通过电脑编辑的任意波形,能存储10余个手绘波形。
2)软件上采用查表式,全部键盘控制方式;操作环境为屏幕英文菜单,直接点选。
3)参数显示:数字化液晶屏显示波形名,频率,幅度,周期以及倍频值。
(1)设计产生频率范围:1-4000Hz。
(2)设计频率输出幅度:0.0-10.2V。
(3)带100欧电阻负载输出误差:﹤2%。
4)能通过NH12864J-1液晶显示器显示实时波形。
2 方案设计与论证
方案1:采用模拟分立元件或单片机控制函数发生器MAX8038,可产生正弦波、方波、三角波,通过外部元件可改变输出频率,但产生的信号频率稳定度较差、精度低、抗干扰能力低、成本高而且灵活性较差,不能实现任意波形及波形运算输出等智能化的功能。
方案2:采用传统的直接频率合成器。这种方法能快速实现频率变换,具有低相位噪声以及所有方法中最高的工作频率。但由于采用大量的倍频、分频、混频和滤波环节,导致直接频率合成器的结构复杂、体积庞大、成本高,难以达到较高的频谱纯度。更重要的是,这种方法只能实现正弦波,或者进行积分,微分等方法实现方波、三角波等标准波形,而对于我们所要求的任意波形却无法实现。
方案3:用W78E58B单片机控制系统的波形表、频率、幅度,通过更换波形数据可以轻松地实现任意波形功能,采用Flash ROM将用户输入波形进行硬盘式的存储防止掉电,后级采用二阶切比雪夫滤波电路对后阶输出波形进行高频滤除,输出稳定光滑的波形。
综合考虑各种因素,选择方案3来进行任意信号发生器的设计。
3 整机工作原理
电路总体方框图(如图1所示)。
下位机模块主要完成的功能:处理键盘数据,生成波形表存储与RAM中;控制LCD显示;控制DAC0832进行幅值转换。能产生预设正弦波、方波、三角波、矩齿波四种波形,并能显示相应的参数。在Visual C++编写的上位机界面用户拖动鼠标左键在图片框绘制波形时,同时将各点值存储下来,按波形产生键生成波形,然后按确定通过串口传送给单片机系统,通过单片机将生成的数据写入波形存储器(RAM)中,再由D/A模块将波形合成出来,这样就可以产生出所需的任意波形,接到示波器上可以得到平滑稳定的波形,同时在液晶屏OCM19264-2上显示相应的波形名、频率、幅度、周期以及倍频值。从信号发生器输出端送入到STC12C5412AD单片机,根据奈氏抽样原理,将连续模拟信号用冲击信号抽样,10位量化得到离散的数字量,存储在RAM中分析,通过NH12864J-1液晶显示器显示出来。
4 系统硬件电路设计
4.1 波形产生模块
要产生任意波形,就不可能像普通直接数字频率合成器那样将要产生的波形预先固化在ROM中,所以波形存储双口RAM实现的,需存储在RAM中的波形数据是由单片机采集外部数据,对E2PROM中存储的标准波形数据进行各种相应的运算而得到的。
1)根据设计的技术指标,我们设计如下方案:将归一化的正弦波、方波、三角波的5次谐波以下的波形存储在8kbyE2PROM中,每种波形存储128个字节的点。然后由单片机根据键盘输入的不同要求,对各点数据乘相应系数并叠加,再将所得到的新的128个字节的数据存储在E2PROM中,此时我们便得到了所需要的波形数据表。
2)我们使用键盘输入所需波形的一个周期内16个采样点的数值,单片机采集数据后,进行线性插值,得到128个点的数值,送双口RAM,产生所需波形数据表,其余同上述实现部分。
4.2 数模转换及幅度控制模块
1)数模转换:采用转换速度为1us,带宽为1MHz的八位高速乘法器DAC0832,DAC0832具有快速的稳定时间,可满足波形发生器的要求。输出级接一级运放作为电流电压转换器,可得到-5V到+4.9V双极性电压输出。
2)幅度控制:利用DAC0832内部的电阻分压网络,将经前一级DAC0832产生的波形作为后一级DAC0832的基准电压,由单片机控制输入数字量,从而实现步进0.1V到峰值的调整。
4.3 键盘控制模块
信号发生器模块键盘由六个微触开关构成,控制液晶屏的输出信息,六个微触开关分别控制对液晶屏进行初始化,选定确定,波形选择,幅度步进,频率步进和周期值。
示波器模块键盘由三个独立按键组成,独立按键便于控制。分别为向下键、向上键、回车键。
4.4 液晶显示模块
现在市面上流行的点阵式液晶显示器,它具有功耗低、接口方便、能显示图形和文字、读数清晰、价格便宜等特点。考虑到实用性和通用型的结合,本系统设计选用字符型液晶模块,信号发生器选用的是4行48个字的OCM19264-2液晶模块,该液晶屏自带双控制芯片,自动完成液晶控制,该液晶含192×64dot,8bit并口传输,蓝光背景显示白字,采用全英文显示。
4.5 示波器模块
根据奈奎斯特抽样定理,将连续模拟信号用脉冲信号抽样,10位量化得到离散的数字量,存储在RAM中以便分析。这种方法的基础是高速ADC,而STC12C5412AD系列单片机内部就集成有8通道10bit的高速ADC,本设计采用120KHz采样率,根据奈奎斯特抽样定理,大于两倍于信号频率的抽样速度就能从数字量中还原出模拟信号,但为保证还原后的高保真度,本设计采用8倍抽样速率,因此进行波形分析的输入信号的频率不能大于15KHz。
4.6 上位机和单片机通信的硬件电路
由于上位计算机串口通信所使用的电平与单片机信号电平并不兼容,解决两者通信的关键问题就在于将通信接口电平相互兼容,从而达到良好通信。本设计使用了目前广泛使用的MAX232实现该功能。
5 软件的设计与实现
该系统程序中,74LS595及液晶等采用汇编语言编写,整体构成以C语言编写,上位机软件采用Visual C++开发。
5.1 下位机的软件流程图
信号发生器的工作流程图如图2所示。
5.2 上位机程序功能和界面
上位机部分采用Visual C++编写程序完成界面设计,界面内有以下几个功能区域可供操作者点击:坐标区、坐标指针实时区、station区(LINE、SINE、FREE功能键)、频率振幅显示区、编辑提示区。上位机Visual C++编写界面中使用了文本控件、命令按纽控件、标题控件、SSTAB控件、MSCom控件等,对其属性进行了相关设置。使用了Visual C++中的对话*.Show、*.Hide和MSComm1_OnComm等系统函数,开发的上位机界面如图3所示。
6 系统测试与结果分析
6.1 波形存储测试
该部分测试包括波形在线存储和掉电测试。
在线存储测试:先输出波形A,再输出波形B,按键恢复波形A,经检测可实现此功能。
掉电存储测试:输出任一波形C,关闭电源后上电,按键恢复输出波形C,经检测该功能也能实现。
6.2 波形频率测试
该部分测试先设定任一波形的频率值,然后测试其频率值,以三种基本波形为例,测试数据如表1。
6.3 周期性波形测试
周期性波形包括频率和幅值可调的正弦波,方波和三角波及其线性组合波形,用数字示波器来测试波形频率和幅值,测试数据如表2、表3。
由以上数据分析可知,本文设计的任意信号发生器满足设计的技术指标要求,符合规范。
7 结束语
本设计最大的特点是可以实现任意波形,并能在液晶屏上显示出相应参数,而且本系统软件部分采用菜单式操作,按键简单快捷。单片机采用了较好的型号,给日后的系统扩展和升级留下了足够的空间。
参考文献
[1]李广弟.单片机基础修订版[M].北京:北京航空航天大学出版社,2000.
[2]全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品汇编[M].北京:北京理工大学出版社,2002.
[3]谭浩强.C程序设计第二版[M].北京:清华大学出版社,2003.
任意波形发生器在教学、测量和工业控制等领域有着广泛的应用。目前应用较多的波形产生装置主要有:对主时钟倍频或分频、用分立元件搭接、专用的集成芯片产生(如:ICL8038)等,但普遍存在波形种类少、产生的频率低、频率稳定度差、使用不灵活等缺点[1],一般只适用于特定的信号种类(如:正弦波、方波等),或频率比较固定的场合。
近些年来发展起来的新型频率合成技术——直接数字频率合成(DDS)技术,它具有精度高、稳定性好、频率和波形易于控制等特点[1]。本文就是基于这种技术,用单片机和FPGA实现的任意波形发生器,精度高,成本低,实现简单。
2 DDS技术的基本原理
DDS技术,就是根据奈奎斯特采样定理,将模拟信号离散化,然后以二进制形式存放在存储器中。当需要该信号时,以一定的速率重复从存储器中取出数据,送入D/A转换器转换,再经低通滤波器去除高频分量,平滑输出信号,就得到想要的波形。这种频率合成技术的精度与存储器中的数据点数、D/A的转换速率和位数都有着密切的关系。数据点数越多,D/A转换的速率越快,位数越多,合成的频率范围越大,精度越高。
3 合成频率的计算
以正弦波为例,如图1。设FPGA采样时钟为fclk,对一个周期内的正弦波进行m次采样,把一个周期的相位0~2π分成了m等分,相位分辨率为。在fclk的每个上升沿输出一个相位点的幅度,例如:第一个时钟上升沿,输出相位为0的点对应的幅度;第二个时钟的上升沿,输出相位为的点对应的幅度……以此类推,即:θi=θi-1+∆θ。当相位的累加值达到2π时,就输出了一个完整的周期,然后周而复始。
由此可以看出,输出一个完整的周期需要m个时钟周期,即输出信号的频率为:。
如果相位步进值为2Δθ,即输出相位点的顺序为0,2,4……,这样输出信号频率为。若相位步进值为F,则输出的信号频率为
其中,F为频率控制字(即相位步进值),调整F的值,即可改变输出频率。
设相位累加器的位数为N,则m=2N,即存储2N个采样数据,这样输出信号的频率为
当频率控制字F为1时,输出最小频率(即频率分辨率)为
从提高频率分辨率和输出信号的平滑度角度来讲,要求分母2N越大越好;从存储器容量的角度来讲,要求N越小越好,实际应用需要在二者之间权衡。一般采样点的个数与D/A转换器的位数相一致,如:D/A转换器是10bit时,一般存储210=1024个点。相位累加器的位数不必和存储点数一一对应,可以差额取数,如:累加器位数N=20,而采样点为1024个,这样既可以达到较宽的频率范围,也可以减小存储负荷,这在对信号平滑度要求不是很严格、但频率分辨率要求较高的场合非常实用。
4 系统的设计方案
4.1 单片机部分
本系统的实际设计方案如图2。图中,单片机和FPGA组成系统的控制部分,用户输入的波形参数需要经过单片机的计算和转化,然后送给FPGA进行处理,二者的读写时序如图3所示,单片机通过P 2口向FPGA发送数据,每次8bit,P3.7—P3.4向FPGA发送命令,告诉FPGA本次传送的是什么数据。
在外围接口中,4×4行列式键盘,用于输入波形的种类、占空比和频率等参数;液晶显示屏LCD1602,用于显示当前产生的波形参数等信息。
4.2 FPGA部分
FPGA使用Altera公司的Cyclone系列的EP1C6T144,内部使用Verilog语言编写各个子模块的源程序,并用顶层原理图的形式将各个模块连接起来。
在图2中,顶层模块用于与单片机进行接口通信,并对这整个F P G A各子模块进行管理。
相位累加器采用20bit(即N=20),由于FPGA外部有源晶振的频率值不是随意的,因此,这里外部时钟源选择4.1952MHz的有源晶振,经过4分频得到1048800Hz的时钟信号,令fclk=1048800Hz,根据式(2)可得频率分辨率为:
忽略误差0.00021Hz带来的影响,则最小频率为1Hz。如需输出其他频率的信号,根据式(1)可知,只需要频率控制字F改为相应的值即可。为了使输出波形不失真,根据奈奎斯特采样定理,输出频率要满足[4]
这样,频率控制字F要满足F≤2N-1=219
地址发生器在相位累加器的控制下,不断改变取址范围,进而可以从各种波形RAM中取出各个采样点。为了节省存储空间,本设计中各种波形的采样点个数为1024,因此地址发生器只取相位累加器的高10位对存储器进行寻址。
波形选择器用于在正弦波、三角波、锯齿波和方波之间切换,切换的控制信号来自于用户的按键选择。其中,方波只有“0”和“1”两种电平信号,可以不经过RAM和D/A转换器直接输出。
时钟分频模块用计数器实现,用于产生各个模块所需要的不同时钟信号(程序略去)。
4.3 D/A模块
FPGA输出的信号是数字信号,需要经过D/A转换模块转换成模拟量,并经运算放大器输出。本设计使用AD公司的D/A转换器AD9760,它是一款精度为10bit,转换速度为125MSPS的高速D/A,输出信号为两路差分电流输出[5],如式(5):
同时,使用高速运放AD8056,它是一款低功耗、300MHz带宽,电压反馈式运放,采用8Pin-SOP封装,内部包含两个运放模块,使用方便。应用电路如图4所示。
4.4 低通滤波器
由于采样点的个数有限,经过D/A转换后的模拟信号并不是特别光滑,因此,需要对输出信号进行低通处理,得到平滑信号。低通滤波器的具体设计要根据实际需要,可以采用专用滤波器芯片,如:MAX260,LTC1067等,也可以采用简单R C滤波网络来实现。
5 系统软件流程
5.1 单片机软件设计
如图5,单片机通过检测用户按键输入,判断用户改变哪种参数(波形种类、频率和占空比),在用户对改变的参数确认后,经过计算,单片机通过P2口将数据送入FPGA,通过P3.7-P3.4将命令送到FPGA的命令接收端,产生相应的波形。
5.2 FPGA软件设计
以正弦波为例,首先通过Matlab产生1024个采样点数据[6],方法如下:
>>x=linspace(0,2*pi,1024);
>>y=511.5*sin(x)+511.5;
>>z=round(y)
然后,将这1024个采样点数据存储在FPGA的RAM中以便读取。
接着,FPGA按照如图6所示的流程进行工作。如果FPGA与单片机的接口部分没有新的数据或命令送入,就按照当前的参数值产生波形;如果有新的数据或命令送入,用新的参数值替换原来的值,没有改变的参数值保持不变,然后产生波形并送到D/A转换器。
6 测试结果
从表1中可以看出,当f<500k Hz,误差较小,波形比较理想;当f>500k Hz,频率误差逐渐变大,主要原因是根据式(4)的计算,要满足奈奎斯特采样定理,输出的信号频率值不能大于500k Hz。要想输出更高频率的波形,就需要提高系统时钟频率fclk,但这样要想保持较小的频率分辨率,就必须增加相位累加器的位数N,同时fclk和N的值要有式(2)所确定的对应关系。
7 结束语
根据以上计算和仿真测试结果,可以看出,本设计可以实现1~500k Hz的任意波形,频率分辨率为1Hz效果理想,可以应用于音频类信号产生。如需产生更高频率的信号,只需提高D/A的时钟即可(可以通过锁相环实现)。同时,可以通过增加一个D/A转换器,在FPGA的读写操作下,专门控制模拟信号的幅度;如果需要其他任意波形,只需要将它们的采样点数据存储在存储器中,需要输出该信号时,直接取出采样数据送入D/A转换器即可,这些采样点数据可以事先经过Matlab计算后,存放到存储器中,也可以在FPGA程序中,利用时钟的跳变沿依次存储在RAM中[7,8],其中时钟的频率可以根据需要由FPGA分频模块进行分频。
参考文献
[1]王广君,王永涛等.基于CPLD的高精度任意波形发生器的研制[J].实验技术与管理.2009,26(3):71-74,78.
[2]林建英,王涛,王晓迪.基于DDS技术波形发生器的实验教学研究与实施[J].实验科学与技术.2006,4(1):75-78.
[3]刘文莉,林建英,用单片机与FPGA实现的DDS波形发生器[J].研究与开发,2007,26(12):27-28
[4]蒋献丰,钱卫飞,基于单片机与FPGA的波形发生器[J].中国测试技术,2008,34(3):78-79.
[5]王彦,基于FPGA的工程设计与应用[M].西安:西安电子科技大学出版社,2007:272-279.
[6]王彦,基于FPGA的工程设计与应用[M].西安:西安电子科技大学出版社,2007:489-496.
[7]王彦,方艾,张清明,基于FPGA的数字波形发生器[J].机械与电子,2004(6):16-16.
正弦信号作为一种基本信号, 具有非常有用的性质, 如同频正弦信号相加, 结果保持频率不变;整数倍频正弦信号之间的合成信号是频率与基波相同的的非正弦信号;正弦信号对时间的微分、积分后仍为同频的正弦信号等[1]。由于这些原因, 正弦信号作为典型信号或测试信号大量应用于通信、仪器和控制等领域。正弦信号发生器的常用设计方法有查找表、递推公式法以及泰勒级数[2]。其中, 查找表要求事先将正弦信号各点数据存入存储器, 当精度要求较高时需要占用较多的存储器空间;递推公式法要求用前值算出后值, 当数据点数较大时, 容易产生积累误差。相比之下, 泰勒级数是一种更适合于实际使用的算法。
2 硬件原理
以DSP为核心的硬件电路通常包括DSP芯片、CPLD芯片、ADC/DAC电路、显示电路以及外围电路等[3]。本文基于这种思路, 设计的正弦信号发生器硬件框图如图1所示。限于篇幅, (图1) 中未列出如电源模块、电平转换模块等常规模块。DSP采用了TI公司的16位定点DSP芯片TMS320C5416, CPLD芯片既要实现与键盘的交互, 又是整个硬件系统的核心逻辑控制电路。键盘用于对输出波形的幅度、频率等作出调整。CPLD根据键盘的译码结果将不同的参数送往存储器, DSP在执行程序时从存储器中获得不同的参数从而产生不同的波形效果。
作为信号发生器的关键电路, DAC芯片采用了TI公司的AD50芯片, 该芯片内部集成了ADC与DAC。AD50与TMS320VC5416以SPI方式连接, AD50工作在主机模 (M/S=1) , 提供数据移位时钟SCLK和帧同步脉冲FS信号分别DSP的多通道缓冲串行口Mc BSP的时钟信号、帧同步信号相连, 其数据输出引脚与Mc BSP的数据串行接收引脚相连。
3 算法分析
任一个角度为θ的正弦和余弦函数均可以展开成泰勒级数, 展开的项数由计算的精度要求决定。本文为取其前五项进行近似, 其展开式如 (1) 式所示[4]:
上式中x为θ的弧度值。
实现一个周期的正弦波, 只需从0~2π依次计算各角度值即可。但是, 以上方法有一定局限性, 由于泰勒级数计算的精度取决于展开项数以及θ, 显然:
(1) 项数越多精度越高, 但计算时间越长;
(2) θ越小, 精度越高, 但随着θ值的增加, 精度必然下降。就越高。
为解决以上问题, 我们考虑计算结果复用的方法, 具体步骤:
(1) 用前述的算法计算0°~45°的sin和cos值, 保存以上计算结果。
(2) 再利用 (3) 式求出0°~90°的sin值。
(3) 通过复制, 获得0°~359°的正弦值, 重复输出该值就可以得到正弦波。
正弦信号的频率f与x的关系如式 (4) 所示, 其中fs为采样频率。
4 实验结果及分析
本文用TI公司C54xx系列DSP的汇编语言编程实现以上算法。程序中, 将式 (1) 中出现的几个常量预先与7FFF相乘, 化为16位定点数据, 存入存储器中, 由后续代码直接调用参加运算。具体数据如 (表1) 所示。
程序中, 为了实现间隔0.5°的角度计算, 通过计算32767* (π/360) =286, 将此值命名为常量angle_step存入存储器。在后续计算过程中, 采用以下代码实现0.5°的步进递增。
STM angle_step, AR0;角度步进
STM 0, AR1;起始角度0°
STM#n, BRC;n为循环次数
RPTB loop1-1;开始块重复计算
MAR*AR1+0; (AR1) + (AR0)
(图2) 给出了基于CCS的仿真波形, 图中给出了5个周期的正弦波形, 每周期360点, 每点表示1/2π弧度, 共1800点数据。选择每个正弦周期中的样点数, 改变每个采样点之间的延迟, 由DAC输出就能够产生不同频率的波形。
5 结语
本文主要探讨了基于泰勒级数展开实时运算产生正弦信号的方法, 给出了硬件原理, 重点说明了软件实现的过程。与其他正弦信号产生方法相比, 泰勒级数展开法只占用了较少的内存空间, 当计算精度要求增加时, 只要增加展开项数即可。仿真结果表明能产生预期的频率可调正弦信号。
摘要:泰勒级数是使用多项式逼近已知函数的常用方法, 本文分析了正弦信号的泰勒级数展开算法, 基于TI公司C54xx系列DSP芯片的汇编语言编程实现该算法, 并使用了存储单元复用的方法解决了为提高精度而增加展开项数导致的计数速度变慢的问题, 同时也节省了硬件资源。实验结果表明, 基于该算法在DSP芯片中实现正弦信号发生器所需的存储资源以及计算精度均优于其他方法。
关键词:泰勒级数展开,DSP,正弦信号,存储单元复用
参考文献
[1]吴湘淇.信号与系统 (第3版) [M].电子工业出版社, 2009.
[2]李真芳, 苏涛, 黄小宇.DSP程序开发—MATLAB调试及代码生成[M].西安电子科技大学出版社, 2003.
[3]姜志鹏, 姚健东, 张燕.一种基于DSP的数字声级计设计[J].价值工程, 2010, 32.
【dsp任意信号发生器】推荐阅读:
任意波形信号发生器05-29
赠与人能否任意撤销赠与合同06-30
任意角三角函数的定义09-08
低频信号发生器设计12-10
函数信号发生器设计01-03
虚拟信号发生器聂伟06-25
函数信号发生器的使用12-27
通信信号10-03
信号山公园10-08
过渡词信号词06-30