关于CCS软件的Graph功能使用详解
原文转载于:http://blog.csdn.net/hj199404182515/article/details/60467027 非常感谢。
我们在学习使用TI的DSP集成开发环境CCS(Code Compose Studio)时,有时特别想在线的看一下内存中的数据到底是个什么样子,或者想看一下它的频谱是个什么样子,如果不知道CCS自带有绘图功能或者知道但不是很会使用,这无疑会使程序调试带来很大的不便。对于新手来说这一功能显得有些"高大上",让很多人感觉它很难使用。今天笔者就来详细的介绍一下如何正确的使用其自带的Graph功能。
为了更好的演示,笔者自己写了一段演示代码,先贴上来。
- #include "math.h"
- #define PI 3.1415926 //定义圆周率
- #define Fs 1000 //定义采样频率 Hz
- #define F1 100 //信号频率 Hz
- #define F2 20
- #define Sample_points 1024 //采样点数
- float signal1[Sample_points];
- float signal2[Sample_points];
- int main(void)
- {
- int i;
- float t;
- for(i=0;i<Sample_points;i++)
- {
- t = i*1.0/Fs;
- signal1[i] = sin(2*PI*F1*t);
- signal2[i] = sin(2*PI*F2*t);
- }
- while(1);
- }
很简单的一段代码,大致意思就是生成了两个不同频率的正弦信号。分别保存在了数组signal1和signal2中。编译该程序,然后连上仿真器连上相应的DSP芯片,笔者用的是TMS320C6748,连上后让程序运行到while(1);然后停止运行。如下图所示
Single Time使用演示
点击菜单栏Tools->Graph->Single Time,如图所示
点开后出现如下的对话窗口:
下面对里面的每一项参数进行一下说明
Acquisition Buffer Size:表示通过仿真器从DSP的内存中读取的数据的大小,由于程序里用于存储信号的数组大小是1024,这里我们设置成1024,当然也可以设置成比他更小的值,这样就只能看到信号的部分图像。
Dsp Data Type:表示你的数据是什么类型的,它一共有如下几种类型可选如图所示:
演示程序中的数组是float型的所以选择32 bit floating point。
Index Increment:索引增量,表示每个数据点序号的相差值,这里我们是逐点显示的,因此默认设置为1,如果想要每隔一个点显示一个那么你就应该设置成2。
Q_Value:Q值,一般这不常用,默认就行。
Sampling Rate Hz:以Hz为单位的采样率,在这里我们的采样率是1K,因此设置成1000。
Start Address:开始地址,表示你要显示的数组的首地址,我们现在想要看的是数组signal1因此,设置成signal1。
Auto Scale:自动调整显示比例使其适应整个显示窗口。 这里我们开启。
Axis Display :显示坐标轴,这里我们开启。
Data Plot Style:数据绘制类型,有Line和Bar两种,这里我们选择Line。
Display Data Size:显示数据大小,表示要将多少个点的数据进行显示,注意这个值一定要小于等于Acquisition Buffer Size,这里我们设置成1024。
Grid Style:网格类型,有 No Grid, Minor Grid, Major Grid三种选项,这里我们选择No Grid。
Magnitude Display Scale:幅值显示类型,有Linear(线性的)Logarithmic(对数的),这里我们选择Linear。
Time Display Unit:显示时间的单位有sample, s, ms, us几种可选,其中sample表示显示的点的序号,这里我们选择ms。
Use Dc Value For Graph:是否使用Dc值,一般不常用,默认就行。
整个的设置如下:
设置完成后,点击OK。出现如下的窗口。
可以通过窗口右上方的菜单对图像进行调整,比如我想放大,这是可以点击带+号的放大镜。如下图所示。
Dual Time的使用方法与Signle Time相比,除了能够同时显示两个数组的图像,其它的都一样。
FFT Magnitude使用演示
点击菜单栏Tools->Graph->FFT Magnitude,如图所示
里面有些参数之前已经介绍,这里不再重复,这里只介绍没有的。
Signal Type :信号类型,有Real,Complex这两种,由于演示程序里的是实数据,因此我们选择Real,如果你的数据类型是Complex,那么请选择Complex,此时会多出一些参数,因为我们平时用的大多数是实数据,因此在此不介绍Complex的。
Frequency Display Unit :频率显示单位,有Hz,KHz,MHz三种,这里我们选择Hz。
FFT Order :FFT的阶数,由它来决定FFT Frame Size,例如 FFT Order 设置为5 那么FFT Frame Size 就为32 = 2^5。这里我们设置成10,那么FFT Frame Size就是1024。
FFT Frame Size :FFT一帧变换点数,它由FFT Order决定。
FFT Window Function :FFT窗函数,就是选择做FFT变换时采用什么窗函数,有Rectangular(矩形窗,相当于没有加窗),Bartlett,Blackman,Hamming,Hanning,至于选择什么窗函数根据实际的需求来决定到底采用哪一个窗函数(不知道这些窗函数是什么的,请阅读信号与系统方面的书籍),这里我们选择的是Rectanguar,也就是不加窗。
设置好的参数如下图所示。
点击OK,出现如下所示窗口。
峰值点正好在100Hz处。
关于FFT Magnitude Phase,Complex FFT,FFT Watterfall的使用他们都与FFT Magnitude的类似,相信读者在熟练掌握了Signle Time和FFT Magnitude的使用方法后,很快的就能学会使用其它的绘图方法。
笔者使用的CCS版本是6.13,在其它的版本上使用方法与之类似,读者在学习其他版本的Graph功能时,依然可以以此为参考。
关于CCS软件的Graph功能使用详解相关推荐
- python画简单的图形的代码-Python实现画图软件功能方法详解
概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...
- python画图代码大全-Python实现画图软件功能方法详解
概述 虽然Python的强项在人工智能,数据处理方面,但是对于日常简单的应用,Python也提供了非常友好的支持(如:Tkinter),本文主要一个简单的画图小软件,简述Python在GUI(图形用户 ...
- python画图软件是哪个_Python实现画图软件功能方法详解
Python实现画图软件功能方法详解,按钮,事件,绑定,快捷键,直线 Python实现画图软件功能方法详解 易采站长站,站长之家为您整理了Python实现画图软件功能方法详解的相关内容. 概述 虽然P ...
- Nagios远程监控软件的安装与配置详解
Nagios远程监控软件的安装与配置详解 作者:redhat_hu Nagios是一款功能强大的网络监视工具,它可以有效的监控windows.linux.unix主机状态以及路由器交换机的网络设置,打 ...
- [系统安全] 四十五.APT系列(10)Metasploit后渗透技术信息收集、权限提权和功能模块详解
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- php怎么自定义设置打印区域,JavaScript_jQuery实现区域打印功能代码详解,使用CSS控制打印样式,需要设 - phpStudy...
jQuery实现区域打印功能代码详解 使用CSS控制打印样式,需要设置样式media="print",并且将页面中不需要打印的元素的样式display属性设置为none.如DEMO ...
- linux 软件 名称 更新,linux软件版本管理命令update-alternatives使用详解
linux软件版本管理命令update-alternatives使用详解 update-alternatives 命令用于处理linux系统中软件版本的切换,在各个linux发行版中均提供了该命令,命 ...
- CentOS7下的软件安装方法及策略详解
CentOS7下的软件安装方法及策略详解 互联网 01-24 15:15:09 作者:佚名 我要评论 今天小编为大家带来的是CentOS7下的软件安装方法及策略详解:希望对大家安装Cent ...
- STM32HAL库-针对芯片内部FLASH读保护实现防篡改、破解功能(详解)
目录 概述 一.使用方法 二.STM32CubeMx配置 三.Examples 四.运行结果 五.总结 概述 本篇文章介绍如何使用STM32HAL库,针对芯片读写保护实现防篡改.破解功能(详解),本 ...
- 视频+白皮书 | Kyligence 与 Kylin 功能差异详解
上周,Kyligence 企业级大数据分析平台研发负责人张逸凡,为大家带来了<Kyligence 与 Kylin 功能差异详解>线上分享,点击这里查看视频和下载对比白皮书. 以下是实录 Q ...
最新文章
- 回调函数自定义传参_koroFileHeader:一个用于生成文件头部注释和函数注释的插件...
- 国庆假期,推荐一款假日必备的看片神器!
- Cell子刊:MRI有助于揭示睡眠之谜
- Spring Cloud(6.1):搭建OAuth2 Authorization Server
- style.width与offsetWidth的区别
- 大工19春《计算机组成原理》,大工19春《计算机组成原理》在线作业3.doc
- 程序员身体容易出什么毛病..
- KVM虚拟化笔记(十)------kvm虚拟机扩充磁盘空间
- 使用cookie,点击关闭一天后显示的弹窗
- 系统设计2:数据库设计
- 关于今天zcash4win钱包出错的解决方案Error in updating status 怎么解决
- 计算机病毒是谁做的,第一个制造电脑病毒的人是谁?
- 如何获取easyclick手机安装包
- 足球数据API接口 - 【球员资料】API调用示例代码
- 学金融会python_大学生金融小白自学Python做量化投资需要注意哪些?
- 缺失数据填补基础方法(3)——Multiple Imputation by Chained Equations (MICE)
- GDPR合规|数据控制者与数据处理者区别大吗?分别承担什么法律责任?
- hadoop可以解决什么问题_CC光嫩肤 可以解决什么皮肤问题?
- python类型对象<class ‘type‘>的理解与探究
- 测试地铁速度的软件,地铁速度传感器作用,看这一篇就够了!