




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSPs原理及应用实验报告实验一 第17章 利用CCS开发DSP程序程序Volume.c#include #include volume.h/* Global declarations */int inp_bufferBUFSIZE; /* processing data buffers */int out_bufferBUFSIZE;int gain = MINGAIN; /* volume control variable */unsigned int processingLoad = BASELOAD; /* processing routine load value */struct PARMS str = 2934, 9432, 213, 9432, &str;/* Functions */extern void load(unsigned int loadValue);static int processing(int *input, int *output);static void dataIO(void);/* * = main = */void main() int *input = &inp_buffer0; int *output = &out_buffer0; puts(volume example startedn); /* loop forever */ while(TRUE) /* * Read input data using a probe-point connected to a host file. * Write output data to a graph connected through a probe-point. */ dataIO(); #ifdef FILEIO puts(begin processing) /* deliberate syntax error */ #endif /* apply gain */ processing(input, output); /* * = processing = * * FUNCTION: apply signal processing transform to input signal. * * PARAMETERS: address of input and output buffers. * * RETURN VALUE: TRUE. */static int processing(int *input, int *output) int size = BUFSIZE; while(size-) *output+ = *input+ * gain; /* additional processing load */ load(processingLoad); return(TRUE);/* * = dataIO = * * FUNCTION: read input signal and write processed output signal. * * PARAMETERS: none. * * RETURN VALUE: none. */static void dataIO() /* do data I/O */ return; 输入波形 输出波形 此时 Gain值为1. 输入波形 输出波形 Gain值为5Gain值为10时,输入输出波形如下:实验二 第18章 6701核心系统的定浮点运算程序的设计与分析1.定点小数乘法product.asm 代码如下: .def start .data .def _c_int00_c_int00multiplicand .word 5*32768/10multiplier .word 5*32768/10 .bss result,4,1,1 .textstart: MVKL multiplicand,A11 MVKH multiplicand,A11 MVKL multiplier,B11 MVKh multiplier,B11 LDW *A11,A12 LDW *B11,B12 NOP 5 MPYU A12,B12,A11 MPYHLU A12,B12,B11 MPYH A12,B12,B12 MPYLHU A12,B12,A12 NOP ADD B11,A12,B11 SHR B11,16,A12 SHL B11,16,B11 ADD A11,B11,A11 ADD A12,B12,A12 MVKL result,B11 MVKH result,B11 STW A11,*B11+ STW A12,*B11 NOP 5LOOP: B LOOP NOP 5 .endproduct.cmd 代码如下:MEMORY IPRAM:origin=0x00008000,len=0x01000IDRAM: origin=0x80000000,len=0x10000 SECTIONS .text : IPRAM .data : IDRAM .bss : IDRAM 反汇编窗口打开memory windows根据.cmd文件的内容做设置此时存储器窗口显示的图如下 Q值改为15 Q值改为30264位整数加减法程序加法程序: .global_add64; .text_add64: ADDU.L1 A4,A6,A1:A0; |ADD.L2 B4,B6,B7; | ADD.S2X A8,4,B0; ADD.L2X A1,B7.B7; STW.D1 A0,*A8; | STW.D2 B7,*B0; |B.S2 B3 NOP 5 .endPC改为0x00008020,加数和被加数A4、A6改为0x12345678,0xf2345678减法程序: .global _sub64 .text_sub64: SUBU.L1 A4,A6, A1:A0| SUB.L2 B4,B6,B7| SUB.S2X A8,4,B0 SUB.L2X A1,B7,B7 STW .D1 A0,* A8| STW .D2 B7,* B0| B.S2 B3 NOP 5.endPC改为0x000080003. 浮点乘除法运算程序浮点运算程序如下:#include math.h#pragma DATA_SECTION(data1,data_buf1)float data1;#pragma DATA_SECTION(data2,data_buf2)float data2;#pragma DATA_SECTION(data3,data_buf3)float data3;#pragma DATA_SECTION(data4,data_buf4)float data4;#pragma DATA_SECTION(data5,data_buf5)float data5;void main(void)data1=1.1;data2=2.84;data3=data1 * data2;data4=data1/data2;data5=sqrt(1.1);.cmd文件如下:MEMORYIPRAM : origin=0x0,len=0x10000IDRAM : origin=0x10000000,len=0xF0000SECTIONS.text IPRAMdata_buf1IDRAMdata_buf2IDRAMdata_buf3IDRAMdata_buf4IDRAMdata_buf5IDRAM .stack IDRAMcinit IDRAM.far IDRAMMemory window 设置如下图实验三 6701核心系统的FFT运算程序FFT主程序#define PI 3.14159265358979#define M 10#define N 1024#includevoid radix2(int * xr,int * xi,short * wr,short * wi);void ChangeOrder(int * xr,int * xi);int xrN,xiN;int x2* N;int xmN;int xlrN,xliN;short w1N,w2N;int y2* N;int ymN;int radix;int nx1;int i;main()double delta;radix=2;nx1=N;delta=2* PI/nx1;for(i=0;inx1/2;i+)w1i=32767* (cos(i* delta);w2i=32767* (sin(i* delta);for(i=0;inx1;i+)xri=xlri=(int)(cos(PI* i/5.0)* 0x80);xii=xlii=1;x2* i=xlri;x2* i+1=xlii;for(i=0;inx1;i+)xmi=(int)sqrt(xri* xri)+(xii* xii);ChangeOrder(xlr,xli);radix2(xlr,xli,w1,w2);for(i=0;inx1;i+)int sum=0;sum=(int)sqrt(xlri* xlri)+(xlii* xlii);ymi=sum;y2* i=(int)sqrt(xlri)* (xlri);y2* i+1=(int)sqrt(xlii)* (xlii);/*基2FFT算法程序*/void radix2(int xr,int xi,short wr,short wi)short L,B,J,P,k;int rPartKB,iPartKB;for(L=1;L=M;L+)B=(int)(pow(2,(L-1)+0.5);for(J=0;J=B-1;J+)P=J* (int)(pow(2,(M-L)+0.5);for(k=J;k=15;iPartKB=15;xrk+B=xrk-rPartKB;xik+B=xik-iPartKB;xrk=xrk+rPartKB;xik=xik+iPartKB;/*倒序子程序*/void ChangeOrder(int xr,int xi)int LH,N1,I,J,K;short T;LH=N/2;J=LH;N1=N-2;for(I=1;I=N1;I+)if(I=K)J=J-K;K=(int)(K/2+0.5);J=J+K;fft.cmd:MEMORYVECTORS:origin=0x0,len=0x400IPRAM:origin=0x400,len=0xf000IDRAM:origin=0x80000000,len=0x10000SECTIONS.vecVECTORS.textIPRAM.dataIDRAM.bssIDRAM.cinitIDRAM.comstIDRAM.farIDRAM打开Watch Window窗口对变量进行观察,单击选择窗口中的Watch1,在Name栏中输入xlr变量,发现无法找到x1r变量。经过网上的查询后,发现必须在打开.out文件的情况下添加,否则会显示找不到xlr。 View|Graph|Time/Frequency命令,设置参数512点的FFT256点的FFT实验四 FIR数字滤波器程序FIR8.C#define#define PI 3.14159265358979#define N 64#define M 512void fir8(short *x,short *h);short xiM+N;short xM;short hN;short yM;int a=(N-1)/2; main() int n,n1; for(n=0;nN;n+) hn=1; for(n1=0;n1M;n1+) xn1=(short)(sin(n1-a)*2*PI/5)/(PI*(n1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民用航空气象人员执照(气象信息系统)考试题库-上(单选、判断题)
- 蒙古北京八中乌兰察布分校2026届高二化学第一学期期末监测模拟试题含答案
- 河北省兴隆县2025年上半年公开招聘城市协管员试题含答案分析
- 河北省肃宁县2025年上半年事业单位公开遴选试题含答案分析
- 河北省乐亭县2025年上半年公开招聘村务工作者试题含答案分析
- 2025年度物流仓储设备采购合同模板集合2
- 2025版通信行业人才培训与咨询服务合同
- 2025年度写字楼公共区域清洁作业合同范本
- 2025店长聘用协议:超市连锁店店长招聘与聘用标准
- 2025年度国际项目外籍工作人员劳动合同书
- 阿特拉斯变频无油螺杆空压机说明书
- 统编本四年级上册语文课堂作业本参考答案
- DBJ50-T-389-2021 高性能混凝土应用技术标准
- 项目经理带班检查记录表(每周一次)
- 智能消防应急照明与疏散指示系统方案
- 人卫九诊断学发热
- 《特困人员集中供养服务协议》
- 说明书hid500系列变频调速器使用说明书s1.1(1)
- 人教版五年级下册期末测试数学试卷【含答案】
- 铁路路基重力式挡土墙施工方案
- T∕CMES 35004-2021 增材制造 激光粉末床熔融316L不锈钢技术要求
评论
0/150
提交评论