- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案
精彩文档
燕 山 大 学
多频窄带数字信号处理仿真系统设计
学生所在学院:信息学院
学生所在班级:电子信息工程2班
课程名称:数字信号处理
学生姓名: 姜升殿、李林、刘鹏、
左园叶、陈敏、黄品程
指导教师:陈书贞
日期:2014.12.20
2014年12月
多频窄带数字信号处理仿真系统设计
姜升殿、李林、黄品程、刘鹏、左园叶、陈敏
摘 要
本文主要是实现在TC2.0的环境下利用C语言实现多频窄带数字信号处理仿真系统。系统功能包括信号采集、信号时域及频域分析、FIR滤波器设计、数字信号滤波,在本文中主要设计四种滤波系统:低通滤波系统、高通滤波系统、带通滤波系统、带阻滤波系统。在FIR滤波器设计时使用的是窗函数设计的方法,涉及四种窗函数,分别是矩形窗、哈明窗、汉宁窗、布莱克曼窗。最后本文对设计的系统程序进一步改进,使之可以完成信号模拟到数字的转换功能、根据数字滤波器指标自动完成滤波器设计的功能、四种滤波功能以及个步骤的时域频域图形绘制。
关键词:多频窄带数字信号处理仿真系统、FIR滤波器、C语言、TC2.0
前言:
本次数字信号三级项目是教改后用于帮助同学理解数字信号的理论和提高处理解决问题的能力而设立的,主要是利用数字信号的理论结合编程实现一个多频窄带数字信号处理仿真系统设计。目前的软件解决数字信号处理的有很多,比较好的是MATLAB,其强大的数字图像处理能力为我们提供了很好的处理环境,但是由于其处理都是集成的,同时给我们的使用带来一定的不便性,对于我们理解信号处理过程和定制我们需要的信号处理软件没有参考价值。故我们选择利用tc2.0环境下的C语言进行系统设计与编写,预期实现信号的采集、信号时域及频域分析、FIR滤波器设计、数字信号滤波等功能的多频窄带数字信号处理软件仿真系统。
项目组分工:
组长姜升殿,负责程序的编写和调试以及报告和汇报ppt的部分制作;
组员李林,负责报告主要编写;
组员陈敏,负责汇报ppt的主要制作;
组员黄品程,负责部分程序的编写;
组员左园叶,负责报告的理论部分整理;
组员刘鹏,负责报告的理论部分整理。
研究报告正文
1系统整体设计思想
本报告主要是用C语言在tc2.0环境下实现信号采集、信号时域及频域分析、FIR滤波器设计、数字信号滤波等功能的多频窄带数字信号处理软件仿真系统。
由此可知,该报告设计需包括以下系统:
A 模拟信号采集模块:完成对模拟信号的采样、量化,使信号变成数字信号。
B 显示模块:完成对信号的时域和频域显示,以便于对信号的频谱和时域分布进行分析。
C 滤波器模块:根据模拟信号生成的数字信号的频域特点确定要完成的滤波指标,进而按照一定的原则选择合适的滤波器进行最后要完成的滤波过程。
D 滤波模块:系统的最后一步,完成对要求滤除的信号频率的滤除和有用频率分量的保留。
具体的系统整体设计流程见图1-1系统设计框图:
图1-1系统设计框图
2 各模块设计
2.1 模拟信号采集模块
本项目的研究的原始信号是模拟信号,而计算机只能处理二进制编码形式的数字信号,故模拟信号与数字信号之间需有一个误差比较小或者无误差的转换过程,而这个过程就是通过我们的模拟信号采集模块实现的。由理论知识可知,这个转变过程至少需要满足两个条件,一是数字信号可以无失真的还原原模拟信号,二是数字信号的频域相对于模拟信号的频域发生的改变。无失真的还原原模拟信号就要满足采样频率fs大于等于模拟信号的最高频率的二倍。以
为例,采样后的数字信号为,其中。故编程实现即为:
void Signal_low_high(int n)/*高通和低通信号滤波测试信号函数*/
{ int i;
for ( i = 0; i n; i++)
{
ARRAYI[i] = 0.0;
ARRAYR[i] = (float)cos(2 * PI*i*f1 / fs) + (float)cos(2 * PI*i*f2 / fs);
}
}
程序中ARRAYR,ARRAYI数组表示采集数字信号的实部和虚部。
2.2 显示模块
为了实现信号的采样滤波过程的图形显示,本次项目选择用TC2.0编译环境实现对信号的时域和频域显示。考虑到信号包含实部和虚部,因此程序编写时为了方便,选择将一个信号用实部和虚部表示。因此显示的时候就出现了两种情况,时域显示和频域显示,信号不同域波形需要不同的求模函数实现对信号的强度的表示,具体程序函数声明为:
/*取模函数,主要用来对时域信号的取模*/
void GetModu1(float a[],float b[],int ll)
/*取模函数,主要用来对频域信号的取模*/
void G
文档评论(0)