欢迎来到天天文库
浏览记录
ID:11338402
大小:458.21 KB
页数:50页
时间:2018-07-11
《多频窄带数字信号处理仿真系统设计大学论文.doc》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、多频窄带数字信号处理仿真系统设计多频窄带数字信号处理仿真系统设计摘要本文主要是实现在TC2.0的环境下利用C语言实现多频窄带数字信号处理仿真系统。系统功能包括信号采集、信号时域及频域分析、FIR滤波器设计、数字信号滤波,在本文中主要设计四种滤波系统:低通滤波系统、高通滤波系统、带通滤波系统、带阻滤波系统。在FIR滤波器设计时使用的是窗函数设计的方法,涉及四种窗函数,分别是矩形窗、哈明窗、汉宁窗、布莱克曼窗。最后本文对设计的系统程序进一步改进,使之可以完成信号模拟到数字的转换功能、根据数字滤波器指标自动完成滤波器设计的
2、功能、四种滤波功能以及个步骤的时域频域图形绘制。关键词:多频窄带数字信号处理仿真系统、FIR滤波器、C语言、TC2.0前言:本次数字信号处理小项目主要是利用数字信号的理论结合编程实现一个多频窄带数字信号处理仿真系统设计。MATLAB强大的数字图像处理能力为我们提供了很好的处理环境,但是由于其处理都是集成的,给我们的使用带来一定的不便性,对于我们理解信号处理过程和定制我们需要的信号处理软件没有参考价值。故我们选择利用tc2.0环境下的C语言进行系统设计与编写,预期实现信号的采集、信号时域及频域分析、FIR滤波器设计、数
3、字信号滤波等功能的多频窄带数字信号处理软件仿真系统。正文1系统整体设计思想本报告主要是用C语言在tc2.0环境下实现信号采集、信号时域及频域分析、FIR滤波器设计、数字信号滤波等功能的多频窄带数字信号处理软件仿真系统。由此可知,该报告设计需包括以下系统:A模拟信号采集模块:完成对模拟信号的采样、量化,使信号变成数字信号。B显示模块:完成对信号的时域和频域显示,以便于对信号的频谱和时域分布进行分析。C滤波器模块:根据模拟信号生成的数字信号的频域特点确定要完成的滤波指标,进而按照一定的原则选择合适的滤波器进行最后要完成的
4、滤波过程。D滤波模块:系统的最后一步,完成对要求滤除的信号频率的滤除和有用频率分量的保留。具体的系统整体设计流程见图1-1系统设计框图:图1-1系统设计框图2各模块设计2.1模拟信号采集模块本项目的研究的原始信号是模拟信号,而计算机只能处理二进制编码形式的数字信号,故模拟信号与数字信号之间需有一个误差比较小或者无误差的转换过程,而这个过程就是通过我们的模拟信号采集模块实现的。由理论知识可知,这个转变过程至少需要满足两个条件,一是数字信号可以无失真的还原原模拟信号,二是数字信号的频域相对于模拟信号的频域发生的改变。无失
5、真的还原原模拟信号就要满足采样频率fs大于等于模拟信号的最高频率以为例,采样后的数字信号为,。故编程实现即为:voidSignal_low_high(intn)/*高通和低通信号滤波测试信号函数*/{inti;for(i=0;i6、选择用TC2.0编译环境实现对信号的时域和频域显示。考虑到信号包含实部和虚部,因此程序编写时为了方便,选择将一个信号用实部和虚部表示。因此显示的时候就出现了两种情况,时域显示和频域显示,信号不同域波形需要不同的求模函数实现对信号强度的表示,具体程序函数声明为:/*取模函数,主要用来对时域信号的取模*/voidGetModu1(floata[],floatb[],intll)/*取模函数,主要用来对频域信号的取模*/voidGetModu2(floata[],floatb[],intNNN)在具体的DOS环境下的图形显7、示,考虑系统功能实现问题,设计两个绘图函数,GRAPH用于专门显示窗函数的衰减曲线,GRAPH1通用绘图函数为显示步骤中函数的时域和频域,具体见程序:/*画图程序,用以画窗函数的时域图*/voidGRAPH(floatxw[MAX],intnn,intkk)/*xw表示窗函数,nn表示描点点数,kk表示滤波器类型*//*画图程序,用以画函数的时域和频域的图型*/voidGRAPH1(floata[],intn,intii,inthigh)/*n表示描点点数,ii表示步长,high表示所控制的画图函数的高度*/2.3滤8、波器模块本项目选择使用FIR滤波器设计方法。FIR滤波器通常采用窗函数方法来设计。窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后截取(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。因此这种方法的重点是选择一个合适的窗函数和理想滤波器。我们用表示理想的选频滤波器,它在通带上具有单位增益
6、选择用TC2.0编译环境实现对信号的时域和频域显示。考虑到信号包含实部和虚部,因此程序编写时为了方便,选择将一个信号用实部和虚部表示。因此显示的时候就出现了两种情况,时域显示和频域显示,信号不同域波形需要不同的求模函数实现对信号强度的表示,具体程序函数声明为:/*取模函数,主要用来对时域信号的取模*/voidGetModu1(floata[],floatb[],intll)/*取模函数,主要用来对频域信号的取模*/voidGetModu2(floata[],floatb[],intNNN)在具体的DOS环境下的图形显
7、示,考虑系统功能实现问题,设计两个绘图函数,GRAPH用于专门显示窗函数的衰减曲线,GRAPH1通用绘图函数为显示步骤中函数的时域和频域,具体见程序:/*画图程序,用以画窗函数的时域图*/voidGRAPH(floatxw[MAX],intnn,intkk)/*xw表示窗函数,nn表示描点点数,kk表示滤波器类型*//*画图程序,用以画函数的时域和频域的图型*/voidGRAPH1(floata[],intn,intii,inthigh)/*n表示描点点数,ii表示步长,high表示所控制的画图函数的高度*/2.3滤
8、波器模块本项目选择使用FIR滤波器设计方法。FIR滤波器通常采用窗函数方法来设计。窗设计的基本思想是,首先选择一个适当的理想选频滤波器(它总是具有一个非因果,无限持续时间脉冲响应),然后截取(加窗)它的脉冲响应得到线性相位和因果FIR滤波器。因此这种方法的重点是选择一个合适的窗函数和理想滤波器。我们用表示理想的选频滤波器,它在通带上具有单位增益
此文档下载收益归作者所有