DSP

CCS之产生两个正弦波的仿真

2019-07-13 12:13发布

class="markdown_views prism-atom-one-light">

CCS之产生两个正弦波的仿真

说明

1:吐槽

一个CCS作业被占用了两天多时间,真的是搞得头大,,,从没脾气到搞得火大,再到没脾气,最后还要厚着脸皮向同学请教一些不懂的地方,,,还好同学性格和我一样好,,,对!你没看错,我还是那么的不要脸夸别人总会带着我!!!哈哈哈。

2:准备工作

CCS版本:
博主用的是CCS5版本
链接:https://pan.baidu.com/s/1P1igUhG4HPYUrSz-_RvFkA 密码:60m5
官网获取:http://processors.wiki.ti.com/index.php/Download_CCS
操作系统:
winds10
好嘛,,,到了这里就默认小伙伴你的剑已配好,就准备喝酒上战场吧!!!嘿嘿嘿 。

01 创建项目

1:Project–>new ccs project
这里写图片描述
这里写图片描述
2:创建结果
这里写图片描述

02 照着下图做就行啦

这里写图片描述

03 接着步骤02继续搞哇

这里写图片描述

添加代码

/* * main.c */ #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "limits.h" #define PI 3.14 #define fs1 10000 #define fs2 10000000 #define f1 1000 #define f2 1000000 #define point_temp 100 double y1[point_temp]; double y11[point_temp]; double y2[point_temp]; double y3[point_temp]; int main(void) { unsigned int i; double t1,t2; for(i=0;i1.00/fs1; t2=i*1.00/fs2; // t=(double)i /fs; y1[i]=sin(2*PI*f1*t1); y11[i]=sin(2*PI*f1*t2); y2[i]=sin(2*PI*f2*t2); y3[i]=y11[i]*y2[i]; } for(;;); } 这里写图片描述

04 拿起你的小锤锤来敲打我男人般的大胸吧,哈哈(没有表情实在不能表达我的内心呀)

这里写图片描述
说明:
这里要记得给设置断点奥(指定位置双击即可!!!)
这里写图片描述

05 小锤锤简直就像虫子在身上乱串

这里写图片描述

06 window–>show view–>Expressions

这里写图片描述

07 添加y1,y2, y11, y3

这里写图片描述
说明:
这里添加了y1,y2, y11, y3这些变量之后你要点击查看是否报错,要是报错最直接的办法就是删除项目重新创建,不要问我为啥博主也不知道,,,这个可能会和你的工作空间其他项目产生冲突的原因吧,就比如java创建项目时,当你在同一个项目下创建多个类的时候会因为名字等等报错!!!

08 点击三角符号

三角符号不知道不要紧,看下图操作就行!!!
这里写图片描述
敲黑板!!!
到了这就,我们的基本工作就做的差不多啦,就要开始我们要get的东西———————–图

正弦波y1图

1:参数设置 这里写图片描述
这里写图片描述
2:y1代码 /* * main.c */ #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "limits.h" #define PI 3.14 #define fs1 10000 #define fs2 10000000 #define f1 1000 #define f2 10000 #define point_temp 100 double y1[point_temp]; double y11[point_temp]; double y2[point_temp]; double y3[point_temp]; int main(void) { unsigned int i; double t1,t2; for(i=0;i1.00/fs1; t2=i*1.00/fs2; // t=(double)i /fs; y1[i]=sin(2*PI*f1*t1); y11[i]=sin(2*PI*f1*t2); y2[i]=sin(2*PI*f2*t2); y3[i]=y11[i]*y2[i]; } for(;;); } 3:y1结果图
这里写图片描述

正弦波y2图

tools–>graph–>single time
1:参数设置
这里写图片描述
2:代码 /* * main.c */ #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "limits.h" #define PI 3.14 #define fs1 10000 #define fs2 10000000 #define f1 1000 #define f2 1000000 #define point_temp 100 double y1[point_temp]; double y11[point_temp]; double y2[point_temp]; double y3[point_temp]; int main(void) { unsigned int i; double t1,t2; for(i=0;i1.00/fs1; t2=i*1.00/fs2; // t=(double)i /fs; y1[i]=sin(2*PI*f1*t1); y11[i]=sin(2*PI*f1*t2); y2[i]=sin(2*PI*f2*t2); y3[i]=y11[i]*y2[i]; } for(;;); } 3: y2结果图
这里写图片描述

正弦波y3图

tools–>graph–>single time
1:参数设置
这里写图片描述
2:代码 /* * main.c */ #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "limits.h" #define PI 3.14 #define fs1 10000 #define fs2 10000000 #define f1 1000 #define f2 1000000 #define point_temp 100 double y1[point_temp]; double y11[point_temp]; double y2[point_temp]; double y3[point_temp]; int main(void) { unsigned int i; double t1,t2; for(i=0;i1.00/fs1; t2=i*1.00/fs2; // t=(double)i /fs; y1[i]=sin(2*PI*f1*t1); y11[i]=sin(2*PI*f1*t2); y2[i]=sin(2*PI*f2*t2); y3[i]=y11[i]*y2[i]; } for(;;); } 3:y3结果
这里写图片描述

y1对应的傅里叶变换

tools–>graph–>FFT magnitude
1:参数设置
这里写图片描述
2:代码 /* * main.c */ #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "limits.h" #define PI 3.14 #define fs1 10000 #define fs2 10000000 #define f1 1000 #define f2 1000000 #define point_temp 100 double y1[point_temp]; double y11[point_temp]; double y2[point_temp]; double y3[point_temp]; int main(void) { unsigned int i; double t1,t2; for(i=0;i1.00/fs1; t2=i*1.00/fs2; // t=(double)i /fs; y1[i]=sin(2*PI*f1*t1); y11[i]=sin(2*PI*f1*t2); y2[i]=sin(2*PI*f2*t2); y3[i]=y11[i]*y2[i]; } for(;;); } 3: 结果图
这里写图片描述

y2对应的傅里叶变换

tools–>graph–>FFT magnitude
1:参数修改
这里写图片描述
2:代码 /* * main.c */ #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "limits.h" #define PI 3.14 #define fs1 10000 #define fs2 10000000 #define f1 1000 #define f2 1000000 #define point_temp 100 double y1[point_temp]; double y11[point_temp]; double y2[point_temp]; double y3[point_temp]; int main(void) { unsigned int i; double t1,t2; for(i=0;i1.00/fs1; t2=i*1.00/fs2; // t=(double)i /fs; y1[i]=sin(2*PI*f1*t1); y11[i]=sin(2*PI*f1*t2); y2[i]=sin(2*PI*f2*t2); y3[i]=y11[i]*y2[i]; } for(;;); } 3:结果
这里写图片描述

y3对应的傅里叶变换

1:参数设置
这里写图片描述
2:代码 /* * main.c */ #include "math.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "limits.h" #define PI 3.14 #define fs1 10000 #define fs2 10000000 #define f1 1000 #define f2 1000000 #define point_temp 100 double y1[point_temp]; double y11[point_temp]; double y2[point_temp]; double y3[point_temp]; int main(void) { unsigned int i; double t1,t2; for(i=0;i1.00/fs1; t2=i*1.00/fs2; // t=(double)i /fs; y1[i]=sin(2*PI*f1*t1); y11[i]=sin(2*PI*f1*t2); y2[i]=sin(2*PI*f2*t2); y3[i]=y11[i]*y2[i]; } for(;;); } 3:结果
这里写图片描述

特别说明

得出此过程真的是让人D疼!!!浪费了好几天的时间,,,jjk只是个搬运工,,,主要是美美姐,小芳,老杨三位大佬在运作!!!嗯嗯。。。还是那句话,既然时间浪费啦就不能半途而废,所以就一定要把它搞出来,,,不然前面的时间就白白浪费啦,像三位学习!!!
卸载CCS,,, 债见!!!