dsp课程设计c语言源码,DSP课程设计-基于C语言实现256点的FFT精选.pdf

DSP课程设计-基于C语言实现256点的FFT精选

XX 大学

J1111111 UNIVERSITY

DSP 课 程 设 计

基于CCS 的FFT 算法的C 语言实现和验证

学院名称:

专业班级:

学 号:

学生姓名:

指导教师姓名:

201 年 0 月 0 日

一、 课程设计目的

1.此次课程设计与理论课、实验课一同构成 《DSP 芯片的原理与开发应用》完

整课程体系;

2.针对理论课、实验课中的重点内容和难点内容进行再补充和完善;

3.以原理算法的实现和验证DSP 技术的系统性,并加深基本原理的理解和应用。

二、 课程设计整体要求

1. 设计要求:

(1)设计一个以ICETEK5509 为主体硬件、FFT 为核心算法的频谱分析系统

方案;

(2)使用C 语言编写该系统的主要代码,进一步熟悉CCS 调试环境和使用方

法,在CCS IDE 中仿真实现方案功能;

(3)在硬件试验箱上由硬件实现频谱分析。

2.进度安排:

 第一天为课题和开发环境熟悉

单路,多路模数转换(AD)

回顾CCS 的基本操作流程,尤其是开发环境的使用;

参考实验指导和示例工程掌握5509 芯片A/D 的C 语言基本控制

流程;

仔细阅读工程的源程序,做好注释,为后期开发做好系统采集前端

设计的准备;

1

 第二天到第五天为FFT 软仿真设计与验证

FFT 算法C 语言实现与验证

参考教材P371 的14.3 节完成CCS 环境中的FFT 工程的建立;

设计检测信号,验证FFT 算法的正确性及FFT 的部分性质;

运用FFT 完成IFFT 计算;

 第六天为软硬系统集成设计和调试

系统集成,实现硬件频谱分析

整合前两个工程,实现连续信号的频谱分析工程的构建;

参考A/D 转换示例和 DSP 系统功能自检示例完成硬件连接,并

测试开发系统运行效果;

基于现有系统,对于实时频谱分析给出进一步开发设计和系统改良

方案。

 第七天为现场答辩。

三、 设计原理

1.离散傅里叶变换DFT

对于长度为N 的有限长序列x(n) ,它的离散傅里叶变换(DFT)为

X(k)= x (n) * W N-nk ,k=0,1,2……N- 1 (1)

n 0

式中,W =e-j*2π/N ,称为旋转因子或蝶形因子。

N

从DFT 的定义可以看出,在x(n)为复数序列的情况下,对某个k 值,直接

按(1)式计算X(k) 只需要N 次复数乘法和(N- 1)次复数加法。因此,对所

2

2

有N 个k 值,共需要N 次复数乘法和N(N- 1)次复数加法。对于一些相当大有N

值(如 1024 点)来说,直接计算它的DFT 所需要的计算量是很大的,因此DFT

运算的应用受到了很大的限制。

2 .快速傅里叶变换FFT

旋转因子WN 有如下的特性。

对称性: WNk+N/2=-WNk

周期性:WNn(N-k)=WNk(N-n)=WN-nk

利用这些特性,既可以使DFT 中有些项合并,减少了乘法积项,又可以将

长序列的DFT 分解成几个短序列的DFT。FFT 就是利用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/331630.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 字符数组与字符串_用于字符串和数组的5种简单有效的Java技术

java 字符数组与字符串Java通常会排在前五种最流行的编程语言中,因此可以理解。 它是一种通用语言,非常容易学习,因为它是一种高级语言,并且可以满足许多用例。 由于这些原因,Java是一门很棒的语言,可以用来…

Hibernate之映射

一、映射文件 Hibernate在实现ORM功能的时候主要用到的文件有: 1、 映射类(*.Java) 描述数据库表的结构,表的字段映射为类的属性,表的记录映射为类的对象。 2、映射文件(*.hbm.xml) …

java流与文件——ZIP文档

【0】README 0.1) 本文描述转自 core java volume 2, 旨在理解 java流与文件——ZIP文档 的相关知识; 0.2) for source code, please visit https://github.com/pacosonTang/core-java-volume/blob/master/coreJavaAdvanced/cha…

单片机与gsm通信c语言,gsm模块如何与单片机通信?

51单片机与GSM模块实现通信1、检测串口线的好坏1)将串口线插在电脑上,用短路子短接串口的2脚和3脚2)打开串口调试助手3)点击自动发送,在自动发送的窗口中随便发个数据,看看能不能接收到若能接收到自己发的数据表示串口线是正常的,…

aws terraform_在AWS第1部分中使用Terraform自动缩放组:基本步骤

aws terraform因此,您想使用Terraform在AWS上创建一个自动缩放组。 以下是达到此目的的最少步骤。 在编写实际代码之前,应指定aws terraform提供程序以及provider.tf文件上的区域。 provider "aws" { version "~> 2.0" region …

java流与文件——java生成解压缩文件(夹)

【0】README 0.1) 本文描述转自 http://blog.csdn.net/chenssy/article/details/9622171 , 旨在理解 java流与文件——java生成解压缩文件(夹) 的相关知识; 0.2) for my diy source code, please visit h…

Java的系统Property

一、java 系统Properties修改 (1)System.getProperties()可以确定当前的系统属性,返回值是一个Properties; (2)System.load(String filename)加载文件中的属性Properties等同于:System.getProperties().load(String filename) (3)System.setProperties(Properties p…

android 发布最新系统更新包,安卓升级包(安卓补丁包更新)

安卓升级包(安卓补丁包更新)2021-02-08 15:39“固件升级”文石BOOX Android 6.0及以上型号都支持升级最新系统!好消息!截至今天,您在BOOX安卓6.0系统以上的所有阅读器型号,都支持升级到最新BOOX OS 2.3.1系统了!?的设…

apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第3部分)

apache.camel我以前曾在博客中介绍过我们在下一个Camel 3.1版本中所做的优化 博客第1部分 博客第2部分 今天,我想简要介绍一下我们已经完成的最新开发,因为我们准备在本周末或下半年准备好构建和发布Camel 3.1。 从第2部分开始,我们设法在…

AVL树的单双旋转解析

【0】README 0.0) 本文部分idea 转自:http://blog.csdn.net/collonn/article/details/20128205 0.1) 本文专注于 解析 AVL 树的 单旋转(左左单旋转和右右单旋转) 和 双旋转(左右双旋转和右左单旋转&#…

List转数组toArray方法

一、List.toArray方法 List提供了一个将List转为数组的一个非常方便的方法toArray。toArray有两个重载的方法&#xff1a; Object[]toArray() 返回按适当顺序包含列表中的所有元素的数组&#xff08;从第一个元素到最后一个元素&#xff09;。<T> T[]toArray(T…

android定位会出现的问题,android – 使用GPS_PROVIDER进行定位时出现问题

使用&#xff1a;locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,MINIMUM_TIME_BETWEEN_UPDATES,MINIMUM_DISTANCE_CHANGE_FOR_UPDATES, locationListener);对于locationListener,您可以使用&#xff1a;LocationListener locationListener new Locati…

自底向上伸展树(之字形旋转+一字形旋转)

【0】README 0.1&#xff09; 本文总结于 数据结构与算法分析&#xff0c;核心剖析路线为原创&#xff0c; 旨在理清 自底向上伸展树&#xff08;之字形旋转一字形旋转&#xff09; 的基本思路&#xff1b; 0.2&#xff09; 自底向上伸展树 是基于 AVL树&#xff0c;for deta…

apache.camel_Apache Camel 3.1 –更多骆驼核心优化(第2部分)

apache.camel我以前曾在博客中介绍我们在下一个Camel 3.1版本&#xff08;第1部分&#xff09;中所做的优化 。 今天&#xff0c;我想发布大约4周后的状态更新。 我们集中在三个方面优化骆驼核心&#xff1a; 不必要的对象分配 不必要的方法调用 提高绩效 换句话说&#…

Util包中Arrays

java.util 类 Arrays java.lang.Object -java.util.Arrayspublic class Arrays extends Object此类包含用来操作数组&#xff08;比如排序和搜索&#xff09;的各种方法。此类还包含一个允许将数组作为列表来查看的静态工厂。 除非特别注明&#xff0c;否则如果指定数组引用为 …

Android的sqlite使用外部,Android 使用外部已经建立好的sqlite数据库

最近项目需要通过电话号码查询归属地&#xff0c;决定直接在本地sqlite的数据库进行查询&#xff0c;没必要去访问网络(虽然最后还是决定还是将数据库放在服务器上)一 首先先将外部的sqlite数据库放入assets文件夹下面注意&#xff1a;必须是sqlite数据库(XXX.db)&#xff0c;如…

java流与文件——操作文件

【0】README 0.1&#xff09; 本文描述转自 core java volume 2&#xff0c; 旨在理解 java流与文件——操作文件 的相关知识&#xff1b; 0.2&#xff09; for source code, please visit https://github.com/pacosonTang/core-java-volume/blob/master/coreJavaAdvanced/ch…

阅读副本和Spring Data第2部分:配置基础项目

在上一篇文章中&#xff0c;我们使用相同的数据设置了多个PostgreSQL实例。 下一步将是使用这两个服务器来配置spring项目。 如前所述&#xff0c;由于我们使用完全相同的数据库&#xff0c;因此我们将使用Spring Boot JPA帖子中的一些代码。 这将是我们的gradle构建文件 pl…

java生成UUID通用唯一识别码

一、UUID概述UUID含义是通用唯一识别码 (Universally Unique Identifier)&#xff0c;这是一个软件建构的标准&#xff0c;也是被开源软件基金会 (Open Software Foundation, OSF) 的组织在分布式计算环境 (Distributed Computing Environment, DCE) 领域的一部份。 UUID 的目…

android 项目部署,Android发布项目到JCenter

JCenter是什么大家应该都用过各种各样的Github上的第三方开源组件。类似这种效果的compile wang.yuchao.demoforjcenterlibrary:DemoForJCenterLibraryModel:1.2.5我们会比较好奇Android Studio 是从哪里得到这个类库的&#xff1f;Android Studio是从build.gradle里面定义的Ma…