数字信号处理课程设计(西安科技大学通信学院)

合集下载

数字信号处理课程设计报告

数字信号处理课程设计报告

课程设计报告课程名称数字信号处理课题名称数字滤波器设计及在语音信号分析中的应用专业通信工程班级通信工程1101学号************姓名皮锋指导教师胡瑛张细政2013年9月8日湖南工程学院课程设计任务书课程名称数字信号处理课题数字滤波器设计及在语音信号分析中的应用专业班级通信工程1101学生姓名皮锋学号************指导老师胡瑛张细政审批任务书下达日期2013 年9月 1 日任务完成日期2013 年9月8日《数字信号处理》课程设计任务书一、设计目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概念。

二、设计要求1、MATLAB 的使用,掌握MATLAB 的程序设计方法。

2、Windows 环境下语音信号采集的方法。

3、数字信号处理的基本概念、基本理论和基本方法。

4、TLAB 设计FIR 和nR 数字滤波器的方法。

5、用 MATLAB 对信号进行分析和处理6、计报告4000以上,含程序设计说明,用户使用说明,源程序清单及程序框图。

7、机演示。

8、有详细的文档。

文档中包括设计思路、设计仿真程序、仿真结果及相应的分析与结论。

三、进度安排第一周星期一:课题讲解,查阅资料星期二: 总体设计,详细设计星期三:编程,上机调试、修改程序星期四:上机调试、完善程序星期五:答辩星期六-星期天:撰写课程设计报告附:课程设计报告装订顺序:封面、任务书、目录、正文、评分、附件(A4大小的图纸及程序清单)。

正文的格式:一级标题用3号黑体,二级标题用四号宋体加粗,正文用小四号宋体;行距为22。

正文的内容:一、课题的主要功能;二、课题的功能模块的划分;三、主要功能的实现;四、程序调试;五、总结;六、附件(所有程序的原代码,要求对程序写出必要的注释);七、评分表。

目录1. 课题的主要功能 (1)1.1问题描述 (1)1.2功能要求 (1)2. 课题的功能模块的划分 (2)2.1语音信号采集 (2)2.3 含噪语音信号合成 (4)2.4 数字滤波器设计及滤波 (4)2.5 回放语音信号 (4)3. 滤波器实现的原理 (5)3.1 带阻滤波器 (6)3.2 低通滤波器 (8)3.3 高通滤波 (10)4. 程序调试 (12)5. 总结 (13)6. 附件 (14)6.1 带阻滤波 (14)6.2 低通滤波 (15)6.3 高通滤波 (16)7. 评分表 (18)1.课题的主要功能1.1问题描述录制一段课程设计学生的语音信号并保存为文件,要求长度不小于10秒,并对录制的信号进行采样,使用MATLAB绘出采样后的语音信号的时域波形和频谱图。

数字信号处理课程设计

数字信号处理课程设计

数字信号处理课程设计
一、概述
本次信号处理课程设计主要对常见的数字信号处理算法进行实现。

主要内容包括数字信号滤波器、傅立叶变换和数字信号检测算法。

通过实验,学生将学习主要处理手段;同时了解数字信号处理的基本原理和应用。

二、主要内容
(1)数字信号滤波器:实现简单的数字滤波器,同时计算滤波器的频率响应;
(2)傅立叶变换:实现常用的傅立叶变换,并利用变换后的信号图像进行频率分析;
(3)数字信号检测算法:实现基本的一阶和二阶差分算法,并利用此算法进行实时信号检测;
三、实验步骤
(1)准备实验材料:将数字信号的原始信号数据以文件的形式存储,使用MATLAB等软件进行处理;
(2)实现数字滤波器:实现一阶以及多阶低通、高通和带通滤波器,
并计算响应的频谱;
(3)实现傅立叶变换:实现Fourier变换后的信号图像处理,如二维DFT等;
(4)实现数字信号检测算法:实现一阶和二阶差分算法,并利用此算法进行实时信号检测;
(5)数字信号处理综合应用实验:针对实际的数字信号,分析信号的特征,并基于实验结果进行信号处理算法的比较。

四、实验结果
完成本次实验后,可以实现对不同数字信号的处理,掌握其中滤波器、傅立叶变换等数字信号处理理论,并掌握常规的算法,学会运用算法实现实际信号处理工程。

数字信号处理课程设计

数字信号处理课程设计

目前由于通信环境得到了很大的改善,调制解调技术需要增强适应通信线路能力,所以调制信号也需要适合各种常见的通信环境和通信线路传输。

2FSK调制技术是数字通信领域中调制解调方面的关键技术之一,至今在很多领域,譬如广播、导航、通信网等方面有广泛的运用。

本课题主要研究数字调频信号2FSK的原理性质和实现方法。

使用一种数字信号发生电路充当发送数据。

所设计的接收电路能够对发送的信号解调,并能够比较发送和解调后的数据。

FSK方法简单易于实现,并且解调不需要恢复本地载波,可以异步传输,抗噪声和抗衰落性能较强。

缺点是占用频带较宽,频带利用不够经济。

MATLAB 可以用来进行通信领域的研究、开发、系统设计和仿真。

阐述了计算机仿真的发展概况,及其重要意义,着重介绍了MATLAB的基础知识和基本操作。

经结果分析表明,仿真结果与理论基本一致。

关键词 FSK MATLAB 仿真调制解调目录1课程设计的目的 (4)2课程设计的要求 (4)3. 2FSK信号相关解调的原理图 (4)4.课程设计实现步骤 (4)5.程序开始 (5)6.输出波形 (8)7.分析结果 (11)8.参考文献 (12)数字调频信号的频谱分析及解调的实现1. 课程设计目的综合运用数字信号处理的理论知识进行频谱分析和滤波器设计,通过理论推导得出相应结论,再利用MATLAB 作为编程工具进行计算机实现,从而加深所学知识的理解。

2. 课程设计基本要求(1)学会MATLAB 的使用,掌握MATLAB 的程序设计方法。

(2)掌握数字信号处理的基本概念、基本理论和基本方法。

(3)掌握功率谱的计算。

(4)掌握MATLAB 设计FIR 和IIR 数字滤波器的方法。

(5)学会用MATLAB 对信号进行分析和处理。

3. 2FSK 信号相关解调的原理图4. 课程设计实现步骤(1)数字调频信号的产生产生2FSK 信号,e (t )=S(T)cos ωC1t+S _(T)cos ωC2t ;其中S(T)= ∑аn*g(t-nTs)]为基带信号,测试信号:an={11010010}。

数字信号处理课程设计(IIR和FIR滤波器制作)

数字信号处理课程设计(IIR和FIR滤波器制作)

数字信号处理课程设计一、数字信号处理课程设计目地通过课程设计,主要达到以下目地:1.使学生增进对MATLAB地认识,加深对数字信号处理理论方面地理解.2.使学生掌握数字信号处理中IIR和FIR滤波器地设计.3.使学生了解和掌握用MATLAB实现IIR和FIR滤波器地设计方法、过程,为以后地设计打下良好基础.二、数字信号处理课程设计说明及要求1.在数字信号处理课程设计环节中,学生可以自选题目,但必须要经过指导教师地审查同意后方可进行设计.2.数字信号处理课程设计要达到地结果:要求写出详细设计报告,在设计报告中写出源程序、并附上综合结果和仿真波形等.3.使学生能熟练掌握MATLAB软件地使用方法.4.使学生能进行至少三种类型地滤波器地设计(内容可由老师指定或自由选择).5.使学生能独立写出严谨地、有理论根据地、实事求是地、文理通顺地、字迹端正地课程设计报告.考查形式为:设计中地能力表现和设计报告,综合评分.三、数字信号处理课程设计所需要地硬件工具PC机四、数字信号处理课程设计所需要地软件MATLAB软件五、数字信号处理课程设计过程1.选择题目:根据自己掌握地情况选择合适地题目.要求IIR滤波器地设计中,模拟滤波器地设计选择一个,数字滤波器地设计选择一个;FIR滤波器地设计中,窗函数选择一个.2.技术参数设定:选定所要设计地某种类型地滤波器后,设定相应地技术参数.3.Matlab程序设计.4.得出结果和仿真波形.5.总结:对以上各设计步骤写出详细地设计报告,存在什么问题,如何解决.六、数字信号处理课程设计参考题目1.IIR(无限脉冲响应)模拟滤波器设计(1)模拟低通滤波器设计设计要求:用Matlab根据技术指标设计一个模拟低通滤波器,对于滤波器地类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等).总体要求:Matlab原程序+仿真波形+技术指标(2)模拟高通滤波器设计设计要求:用Matlab根据技术指标设计一个模拟高通滤波器,对于滤波器地类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等).总体要求:Matlab原程序+仿真波形+技术指标(3)模拟带通滤波器设计类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等).总体要求:Matlab原程序+仿真波形+技术指标(4)模拟带阻滤波器设计设计要求:用Matlab根据技术指标设计一个模拟带阻滤波器,对于滤波器地类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等).总体要求:Matlab原程序+仿真波形+技术指标注:从以上四个题目中任选一个.2.IIR(无限脉冲响应)数字滤波器设计(1)IIR数字低通滤波器设计设计要求:用Matlab根据技术指标设计一个数字低通滤波器,对于滤波器地类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等).总体要求:Matlab原程序+仿真波形+技术指标(2)IIR数字高通滤波器设计设计要求:用Matlab根据技术指标设计一个数字高通滤波器,对于滤波器地类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等).总体要求:Matlab原程序+仿真波形+技术指标(3)IIR数字带通滤波器设计类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等).总体要求:Matlab原程序+仿真波形+技术指标(4)IIR数字带阻滤波器设计设计要求:用Matlab根据技术指标设计一个数字带阻滤波器,对于滤波器地类型可以自行选择(如巴特沃斯滤波器、切比雪夫滤波器、椭圆滤波器、贝塞尔滤波器等).总体要求:Matlab原程序+仿真波形+技术指标注:从以上四个题目中任选一个.3.FIR(有限脉冲响应)数字滤波器设计(1)基于矩形窗地FIR滤波器设计设计要求:用Matlab根据技术指标设计一个基于矩形窗地FIR滤波器.总体要求:Matlab原程序+仿真波形+技术指标+窗函数(2)基于汉宁窗(升余弦窗)地FIR滤波器设计设计要求:用Matlab根据技术指标设计一个基于汉宁窗地FIR滤波器.总体要求:Matlab原程序+仿真波形+技术指标+窗函数(3)基于汉明窗(改进地升余弦窗)地FIR滤波器设计设计要求:用Matlab根据技术指标设计一个基于汉明窗地FIR滤波器.总体要求:Matlab原程序+仿真波形+技术指标+窗函数(4)基于布莱克曼窗(三阶升余弦窗)地FIR滤波器设计设计要求:用Matlab根据技术指标设计一个基于布莱克曼窗地FIR滤波器.总体要求:Matlab原程序+仿真波形+技术指标+窗函数(5)基于凯塞窗地FIR滤波器设计设计要求:用Matlab根据技术指标设计一个基于凯塞窗地FIR滤波器.总体要求:Matlab原程序+仿真波形+技术指标+窗函数注:从以上五个题目中任选一个.七、数字信号处理课程设计环节参考资料及网站:1.参考资料(1)数字信号处理丁玉美西安电子科技大学出版社(2)应用MATLAB实现信号分析和处理张明照科学出版社(3)数字信号处理及MATLAB实现余成波清华大学出版社(4)MATLAB7.0在数字信号处理中地应用罗军辉机械工业出版社(5)MATLAB信号处理刘波电子工业出版社(6)Matlab信号处理与应用董长虹国防工业出版社(7)数字信号处理原理及其MATLAB实现从玉良电子工业出版社(8)数字信号处理基础及MATLAB实现周辉中国林业出版社2.相关网站(2)Matlab大观园(3)Matlab学习网八、设计报告要求和成绩评定1.设计报告一律按照规定地格式,使用A4纸,格式、封面统一给出模版.2.报告内容(1)设计题目:包括三个题目.在参考题目中IIR滤波器地设计中,模拟滤波器地设计选择一个、数字滤波器地设计选择一个;FIR滤波器地设计中,选择一种窗函数进行设计.(2)设计要求(3)设计原理(4)源程序清单(5)设计结果和仿真波形(6)收获和体会(7)参考文献字数要求不少于5000字.九、成绩评定办法课程设计成绩按照设计报告和操作、答辩三部分情况综合给出.1.要求设计地程序和波形、设计报告必须独立完成,鼓励创新.注意:凡是两份完全一样地设计,两人都按不及格处理.2.设计报告交打印件,内容必须齐全、完整、工整.注意:仿真波形图不准手画,必须是从原图中抓取.3. 答辩时一个问题也回答不出,教师答辩记录中又没有记录地,视为未完成设计,按不及格处理.4.凡是没有请假就不参加设计地,按不及格处理.5.不参加开题地,不按规定答辩地,未按时完成设计报告地,按不及格处理.。

数字信号处理课程设计

数字信号处理课程设计

数字信号处理课程设计一、课程设计任务1.1 设计背景数字信号处理是关于数字信号的获取、处理和应用的学科,广泛应用于通信、图像处理、音频处理等领域。

随着现代通信技术的发展,数字信号处理的应用越来越广泛,因此数字信号处理技术的研究和应用已经成为了当前的热点和难点问题。

本次数字信号处理课程设计旨在通过实践,使学生深入了解数字信号处理技术,并且掌握数字信号处理的基本原理与方法。

同时,通过此课程设计的实践环节,学生将运用所学的数字信号处理知识,针对某一具体问题进行深入分析,设计相应的算法,并进行实验验证,培养学生的实践能力。

1.2 设计任务本次数字信号处理课程设计任务为:通过 MATLAB 对音频信号进行数字信号处理,实现音频信号数字化、本地化、校准、滤波、平滑等操作,并设计出相应的算法。

具体任务包括:1.对输入的音频信号进行数字化:将模拟信号输入到 A/D 转换器中,将其转换为数字信号。

2.实现音频信号的本地化:通过本地化处理,实现对音频信号的空间定位。

3.针对音频信号的校准问题,设计相应的校准算法。

4.实现音频信号的滤波和平滑处理:通过低通滤波、高通滤波等方法,实现对音频信号的滤波和平滑处理。

二、实验流程2.1 实验器材本实验采用的主要器材为:1.电脑2.MATLAB 软件3.音频设备2.2 实验流程本实验的主要流程如下所示:1.设置音频输入输出设备,并初始化参数% 设置音频输入输出设备audioInput = audioDeviceReader(44100, 16, 1); audioOutput = audioDeviceWriter(44100, 16, 1);% 初始化参数blockSize = 1024;overlap = 512;sampleRate = 44100;2.进行音频信号采集与播放while true% 采集音频数据audioData = audioInput();% 对音频数据进行数字信号处理processedData = processAudioData(audioData, blockSize, overlap, sampleRate);% 播放处理后的音频数据audioOutput(processedData);end3.设计音频数据处理算法function processedData = processAudioData(audioData, blockSize, overlap, sampleRate)% 数字化处理audioData = double(audioData);% 本地化处理processedData = doLocalization(audioData);% 校准算法processedData = doCalibration(processedData);% 滤波和平滑处理processedData = doFiltering(processedData, sampleRate);% 返回处理后的音频数据processedData = single(processedData);end4.对音频数据进行本地化处理function localizationData = doLocalization(audioData) % 实现音频信号的本地化localizationData = audioData;end5.设计校准算法,使音频数据满足一定标准function calibrationData = doCalibration(processedDat a)% 校准算法calibrationData = processedData;end6.设计滤波和平滑处理算法function filteredData = doFiltering(processedData, sa mpleRate)% 低通滤波lowPassFilter = designfilt('lowpassfir', 'FilterOrder', 70, 'CutoffFrequency', 5000, 'SampleRate', sampleRate); filteredData = filtfilt(lowPassFilter, processedData);% 高通滤波highPassFilter = designfilt('highpassfir', 'FilterOrde r', 70, 'CutoffFrequency', 500, 'SampleRate', sampleRat e);filteredData = filtfilt(highPassFilter, filteredData);% 平滑处理smoothedData = smoothdata(filteredData, 'movmean', 50);% 返回处理后的数据filteredData = smoothedData;end三、实验结果及分析3.1 实验结果通过对 MATLAB 下进行数字信号处理的实验,得到了如下所示的实验结果:1.输入音频信号Input AudioInput Audio2.经过数字化、本地化、校准、滤波、平滑等处理后的音频信号Processed AudioProcessed Audio3.2 结果分析通过实验结果可以看出,经过数字信号处理后的音频信号具有了更好的音质和更好的稳定性。

数字信号处理课程设计

数字信号处理课程设计

课程设计课程名称数字信号处理课程设计题目名称数字调音台学生学院专业班级学号学生姓名指导教师摘要根据数字信号处理课程设计教学大纲的要求,利用Matlab(工程设计软件)设计数字调音台,并且给出了具体的软件实施方案。

Matlab功能强大、简单易学、编程效率高,深受广大科技工作者的欢迎。

特别是Matlab还具有信号分析工具箱,不需具备很强的编程能力,就可以很方便地进行信号分析、处理和设计。

此次设计利用Matlab对音频信号进行采样后;并画出音频信号的时域波形、频谱图;然后利用IIR设计高通、低通、带通以及帯阻滤波器对现有的音频信号进行滤波,实现音频音色的改变实现调音台的功能,并画出滤波后信号的时域波形和频谱,对滤波前后的信号进行对比,分析信号的变化;最后利用GUI设计一个数字信号系统界面。

目录1、课程设计目的 (4)2、一般设计要求 (4)3 、课题选择 (5)3.1 题目选择:题目二:数字调音台 (5)课程设计报告要求 (5)3.2 涉及知识点 (5)3.3 总体方案 (6)4 系统设计 (7)4.1 系统流程图 (7)4.2 具体设计 (7)4.2.1 音乐选择与播放区域设计 (8)4.2.2 滤波器参数设置区域 (9)4.2.3 滤波器类型选择区域设计 (9)5 程序设计 (10)5.1 matlab简介 (10)5.2滤波器设计所涉及的matlab函数 (10)6 系统运行与测试 (16)6.1 音乐选择与播放区域 (16)6.1.1 选择曲目 (16)6.1.2 播放曲目 (16)6.1.3 停止曲目 (16)6.2 滤波器参数设置区域 (17)6.3 滤波器类型选择区域 (17)6.3.1 高通滤波器 (17)6.3.2 低通滤波器 (18)6.3.3 带通滤波器 (19)7 总结: (21)参考文献 (21)附录:附完整的matlab程序 (22)1、课程设计目的《数字信号处理》课程是一门理论和技术发展十分迅速、应用非常广泛的前沿性学科,在雷达、通信、医学、地震等众多领域都有广发的应用。

《数字信号处理》教案

《数字信号处理》教案

《数字信号处理》教学大纲课程类型:专业课总学时:通信工程专业70;信息工程专业64讲课学时:通信工程专业60;信息工程专业54实践学时:通信工程专业10;信息工程专业10一、课程的目的与任务本课程讲授数字信号处理的基本理论和基本分析方法,并且进行理论与算法的实践。

要求学生掌握离散时间信号与系统的基本理论,掌握离散时间系统的时域分析与 Z变换及离散傅立叶变换和快速傅里叶变换的理论计算法;掌握IIR和FIR数字滤波器的结构、理论和设计方法,为学生毕业后从事数字技术及其工程应用提供必要的训练。

二、课程有关说明《数字信号处理》是通信工程专业和信息工程专业的专业课,课程的内容包括:线性时不变离散时间系统的基础知识、数学模型(差分方程)及其求解,Z变换,离散傅立叶变换(DFT)理论及应用,快速傅立叶变换(FFT),无限长单位脉冲响应(IIR)数字滤波器设计,有限长单位脉冲响应(FIR)数字滤波器设计等内容。

除了理论教学外,还配有一定数量的上机实验。

数字信号处理在理论上所涉及的范围及其广泛。

高等数学、随机过程、复变函数等都是其数学基本工具。

电路理论、信号与系统等是其理论基础。

其算法及实现(硬件和软件)与计算机学科和微电子技术密不可分。

学生应该认真学习以上的知识,更好地掌握数字信号处理的基本理论、算法和实现技能。

主要教学方式:教师主讲,答疑、课堂讨论为辅,并结合实验教学。

考核评分方式:闭卷考试三、教学内容绪论(2学时)本章应掌握:数字信号处理的基本概念。

熟悉:数字信号处理系统的基本组成。

了解:数字信号处理的学科概貌、学科特点、实际应用、发展方向和实现方法。

第一章时域离散信号和时域离散系统(4学时)第一节时域离散信号本节应掌握:序列的运算,即移位、翻褶、和、积、累加、差分、时间尺度变换、卷积和等;序列的周期性。

熟悉:几种常用序列,即单位抽样序列、单位阶跃序列、矩形序列、实指数序列、复指数序列、正弦序列。

了解:用单位抽样序列来表示任意序列。

《数字信号处理》课程教案

《数字信号处理》课程教案

《数字信号处理》课程教案数字信号处理课程教案第一部分:课程概述数字信号处理是现代通信和信号处理领域中的重要学科,本课程旨在介绍数字信号处理的基本概念和理论,并探讨其在实际应用中的应用和技术。

第二部分:教学目标1. 理解数字信号处理的基本原理和基础知识;2. 掌握数字信号的采样、量化和编码技术;3. 了解常见的数字滤波器设计方法;4. 学习数字信号处理中的快速傅里叶变换(FFT)算法;5. 探讨数字信号处理在音频、图像和视频信号处理中的应用。

第三部分:教学内容1. 数字信号处理基础知识1.1 数字信号与模拟信号的比较1.2 采样和量化1.3 数字信号编码1.4 常见信号的时域和频域表示2. 离散时间信号和系统2.1 离散时间信号的表示和性质2.2 线性时不变系统2.3 离散时间系统的性质和分类3. 离散时间系统的频域分析3.1 离散时间信号的傅里叶变换3.2 离散频域系统的频率响应3.3 滤波器的设计和实现4. 数字滤波器设计4.1 IIR滤波器的设计方法4.2 FIR滤波器的设计方法4.3 改进的滤波器设计方法5. 快速傅里叶变换(FFT)算法5.1 傅里叶变换的基本概念及性质5.2 离散傅里叶变换(DFT)及其性质5.3 快速傅里叶变换算法及其应用6. 数字信号处理在多媒体中的应用6.1 音频信号处理技术6.2 图像信号处理技术6.3 视频信号处理技术第四部分:教学方法1. 理论讲授与案例分析相结合,通过实际应用案例来深化理解;2. 课堂互动,鼓励学生提问和参与讨论;3. 实验操作,通过实际操作提升学生的实践能力;4. 小组合作,鼓励学生进行小组项目研究和报告。

第五部分:教学评估1. 平时表现:出勤、课堂参与和作业完成情况;2. 期中考试:对课程前半部分内容的回顾和检验;3. 实验报告:根据实验内容,撰写实验报告并提交;4. 期末考试:综合检验对整个课程的掌握情况。

第六部分:教材与参考书目主教材:《数字信号处理导论》(第四版),作者:约翰·G·普罗阿基斯;参考书目:1. 《数字信号处理》(第四版),作者:阿兰·V·奥泽;2. 《数字信号处理:实用方法与应用》(第三版),作者:埃密里奥·马其尔夏兰德。

(完整word版)数字信号处理课程设计

(完整word版)数字信号处理课程设计

目录第1章需求分析----------------------------------------------------- 3 1.1设计题目------------------------------------------------------------------ 31.2设计要求------------------------------------------------------------------ 31.3系统功能分析-------------------------------------------------------------- 3第2章原理分析和设计-------------------------------------------- 4 2.1理论分析和计算------------------------------------------------------------ 4第3章详细设计----------------------------------------------------- 5 3.1算法设计思路-------------------------------------------------------------- 53.2对应的详细程序清单及程序注释说明------------------------------------------ 6第4章调试分析过程描述---------------------------------------- 104.1测试数据、测试输出结果--------------------------------------------------- 104.2程序调试过程中存在的问题以及对问题的思考--------------------------------- 13第5章总结-------------------------------------------------------- 15第1章需求分析1.1设计题目在Matlab 环境中,利用编程方法对FDMA通信模型进行仿真研究1.2设计要求1.2.1 Matlab支持麦克风,可直接进行声音的录制,要求至少获取3路语音信号。

数字信号处理课程设计

数字信号处理课程设计

数字信号处理 课程设计一、课程目标知识目标:1. 理解数字信号处理的基本概念、原理和方法,掌握其数学表达和物理意义;2. 掌握数字信号处理中的关键算法,如傅里叶变换、快速傅里叶变换、滤波器设计等;3. 了解数字信号处理技术在通信、语音、图像等领域的应用。

技能目标:1. 能够运用所学知识分析数字信号处理问题,提出合理的解决方案;2. 能够运用编程工具(如MATLAB)实现基本的数字信号处理算法,解决实际问题;3. 能够对数字信号处理系统的性能进行分析和优化。

情感态度价值观目标:1. 培养学生对数字信号处理学科的兴趣,激发其探索精神和创新意识;2. 培养学生严谨的科学态度和良好的团队协作精神,提高沟通与表达能力;3. 增强学生对我国在数字信号处理领域取得成就的自豪感,树立为国家和民族发展贡献力量的信心。

课程性质:本课程为专业选修课,旨在使学生掌握数字信号处理的基本理论和方法,培养其解决实际问题的能力。

学生特点:学生具备一定的数学基础和编程能力,对数字信号处理有一定了解,但缺乏系统学习和实践经验。

教学要求:结合学生特点和课程性质,注重理论与实践相结合,采用案例教学、互动讨论等教学方法,提高学生的参与度和实践能力。

通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程和实际工作打下坚实基础。

二、教学内容1. 数字信号处理基础:包括数字信号、离散时间信号与系统、信号的采样与恢复等基本概念,使学生建立数字信号处理的基本理论框架。

教材章节:第一章 数字信号处理概述2. 傅里叶变换及其应用:介绍傅里叶变换的原理、性质和应用,以及快速傅里叶变换算法。

教材章节:第二章 傅里叶变换及其应用3. 数字滤波器设计:讲解数字滤波器的基本原理、设计方法和性能评价,包括IIR和FIR滤波器。

教材章节:第三章 数字滤波器设计4. 数字信号处理应用案例分析:通过通信、语音、图像等领域的实际案例,使学生了解数字信号处理技术的应用。

数字信号处理课程设计(含完整代码)

数字信号处理课程设计(含完整代码)

课题一数字信号处理系统设计一、项目要求用本课程所学的数字信号处理理论知识,设计一个具有信号的采集、处理、传输、显示和存储等功能的系统,内容如下:1、录制一段语音信号,并对录制的语音信号进行采样(采样频率可取fs=22050Hz);2、画出采样后的语音信号的时域波形和频谱图;3、滤波器的性能指标:低通滤波器:通带边界频率fp=1kHz,通带最大衰减Ap=1dB;阻带边界频率fp=1.2kHz,阻带最小衰减Ap=100dB;高通滤波器:通带边界频率fp=5kHz,通带最大衰减Ap=1dB;阻带边界频率fp=4.8kHz,阻带最小衰减Ap=100dB;带通滤波器:通带上限截止频率fp2=3kHz, 通带下限截止频率fp1=1.2kHz;阻带上限截止频率fs2=3.2kHz, 通带下限截止频率fp1=1kHz;通带最大衰减Ap=1dB, 阻带最小衰减As=100dB;采用双线性变换法设计滤波器,并画出滤波器的频率响应;4、用自己设计的滤波器对采样的信号进行滤波,画出滤波后信号的时域波形和频谱图,并对滤波前后的信号进行对比,分析信号的变化;5、回放语音6、用GUI设计一个信号系统的用户界面。

二、实验所要用到的MATLAB函数1、语音信号的采样与播放wavread();[y,fs,bite]=wavread();%语音信号的采样sound(y,fs,bite);%播放语音2.滤波器:IIR:butte();%巴特沃思滤波器cheby1(); %切比雪夫I滤波器elliptical();%椭圆滤波器3.频率响应:[h,f]=freqz(b,a,n,fs)freqz(b,a,n,fs)5.快速傅里叶变换fft (x, n)6.画曲线plot(x, y)stem(x, y)7.在MATLAB中,设计辅助低通原型巴特沃思和切比雪夫滤波器的阶数和截止频率;1)利用buttord和cheblord确定阶数;2)[num,den]=butter(N,Wn),[num,den]=cheby1(N,Wn)3)lp2hp,lp2bp,lp2bs可以完成低通滤波器到高通,带通,带阻的转换4)使用biliner对模拟滤波器进行双线性变换,求得数字滤波器的传输函数系数三、数字滤波器(代码)1.IIR低通滤波器fp=1000;ft=5500;fs=1200;wp=2*pi*fp/ft;ws=2*pi*fs/ft;Fp=2*ft*tan(wp/2);Fs=2*ft*tan(ws/2);[n,Omgc]=buttord(Fp,Fs,1,100,'s');[z,p,k]=buttap(n);B=k*real(poly(z));A=real(poly(p));[b1,a1]=lp2lp(B,A,Omgc);[ba1,aa1]=bilinear(b1,a1,ft); %模拟转数字[Ha,w]=freqz(ba1,aa1); %求频率相应plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR 低通滤波器');xlabel('频率/HZ');ylabel('幅值');2.IIR高通滤波器fp=5000;ft=25000;%取抽样频率•fs=4800;Rp=1;As=100;wp=2*pi*fp/ft;%通带频率ws=2*pi*fs/ft;%截止频率Fp=2*ft*tan(wp/2);Fs=2*ft*tan(ws/2);[n,Omgc]=ellipord(Fp,Fs,Rp,As,'s'); %计算阶数n和截止频率[z,p,k]=ellipap(n,Rp,As);B3=k*real(poly(z));A3=real(poly(p));[b3,a3]=lp2hp(B3,A3,Omgc);[ba3,aa3]=bilinear(b3,a3,ft);[Ha,w]=freqz(ba3,aa3);plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR高通滤波器');xlabel('频率/HZ');ylabel('幅值');3.IIR带通滤波器fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000; As=100;Rp=1;wp1=2*pi*fp1/ft;wp2=2*pi*fp2/ft;ws1=2*pi*fs1/ft;ws2=2*pi*fs2/ft;Fp1=2*ft*tan(wp1/2);Fp2=2*ft*tan(wp2/2);Fp=[Fp1,Fp2];Fs1=2*ft*tan(ws1/2);Fs2=2*ft*tan(ws2/2);Fs=[Fs1,Fs2];bw=Fp2-Fp1;w0=sqrt(Fp1*Fp2);%通带宽和中心频率[n,Omgn]=cheb1ord(Fp,Fs,Rp,As,'s');[z,p,k]=cheb1ap(n,Rp);B2=k*real(poly(z));A2=real(poly(p));[b2,a2]=lp2bp(B2,A2,w0,bw);[ba2,aa2]=bilinear(b2,a2,ft);[Ha,w]=freqz(ba2,aa2);plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR 带通滤波器'); xlabel('频率/HZ'); ylabel('幅值');四、总代码function varargout = bzh(varargin)% BZH M-file for bzh.fig% BZH, by itself, creates a new BZH or raises the existing% singleton*.%% H = BZH returns the handle to a new BZH or the handle to% the existing singleton*.%% BZH('CALLBACK',hObject,eventData,handles,...) calls the local% function named CALLBACK in BZH.M with the given input arguments.%% BZH('Property','Value',...) creates a new BZH or raises the % existing singleton*. Starting from the left, property value pairs are% applied to the GUI before ko_OpeningFunction gets called. An % unrecognized property name or invalid value makes property application% stop. All inputs are passed to bzh_OpeningFcn via varargin. %% *See GUI Options on GUIDE's Tools menu. Choose "GUI allowsonly one% instance to run (singleton)".%% See also: GUIDE, GUIDATA, GUIHANDLES% Copyright 2002-2003 The MathWorks, Inc.% Edit the above text to modify the response to help bzh% Last Modified by GUIDE v2.5 09-Jan-2014 08:54:22% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @bzh_OpeningFcn, ...'gui_OutputFcn', @bzh_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})gui_State.gui_Callback = str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before bzh is made visible.function bzh_OpeningFcn(hObject, eventdata, handles, varargin)% This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% varargin command line arguments to bzh (see VARARGIN)% Choose default command line output for bzhhandles.output = hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes bzh wait for user response (see UIRESUME)% uiwait(handles.figure1);% --- Outputs from this function are returned to the command line. function varargout = bzh_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structurevarargout{1} = handles.output;% --- Executes on button press in tag_start.function tag_start_Callback(hObject, eventdata, handles)% hObject handle to tag_start (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1)cla;global z0;global yy;fs=22050;nbits=32;[yy,fs,nbits]=wavread('D:\f.wav'); %语音信号加载sound(yy,fs); %回放语音z0=yy;axes(handles.axes1);plot(yy);title('时域采样信号波形');grid onn=length(yy); %求出语音信号的长度Y=fft(yy,n); %傅里叶变换axes(handles.axes2);plot(20*log10(abs(Y)));title('时域采样信号频谱');guidata(hObject,handles);grid on% --- Executes on button press in tag_ditong.function tag_ditong_Callback(hObject, eventdata, handles)% hObject handle to tag_ditong (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes1)cla;global z1;global yy;global ba1;global aa1;global Fp;global Fs;fp=1000;ft=5500;fs=1200;wp=2*pi*fp/ft;ws=2*pi*fs/ft;Fp=2*ft*tan(wp/2);Fs=2*ft*tan(ws/2);[n,Omgc]=buttord(Fp,Fs,1,100,'s');[z,p,k]=buttap(n);B=k*real(poly(z));A=real(poly(p));[b1,a1]=lp2lp(B,A,Omgc);[ba1,aa1]=bilinear(b1,a1,ft); %模拟转数字z1=filter(ba1,aa1,yy);[Ha,w]=freqz(ba1,aa1); %求频率相应plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR 低通滤波器');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_gaotong.function tag_gaotong_Callback(hObject, eventdata, handles)% hObject handle to tag_gaotong (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes2)cla;global yy;global z2;global B3;global ba3;global aa3;global Fp;global Fs;fp=5000;ft=25000;%取抽样频率•fs=4800;Rp=1;As=100;wp=2*pi*fp/ft;%通带频率ws=2*pi*fs/ft;%截止频率Fp=2*ft*tan(wp/2);Fs=2*ft*tan(ws/2);[n,Omgc]=ellipord(Fp,Fs,Rp,As,'s'); %计算阶数n和截止频率[z,p,k]=ellipap(n,Rp,As);B3=k*real(poly(z));A3=real(poly(p));[b3,a3]=lp2hp(B3,A3,Omgc);[ba3,aa3]=bilinear(b3,a3,ft);z2=filter(ba3,aa3,yy);[Ha,w]=freqz(ba3,aa3);plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR高通滤波器');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_daitong.function tag_daitong_Callback(hObject, eventdata, handles)% hObject handle to tag_daitong (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3)cla;global yy;global z3;global B2;global ba2;global aa2;fp1=1200;fp2=3000;fs1=1000;fs2=3200;ft=10000;As=100;Rp=1;wp1=2*pi*fp1/ft;wp2=2*pi*fp2/ft;ws1=2*pi*fs1/ft;ws2=2*pi*fs2/ft;Fp1=2*ft*tan(wp1/2);Fp2=2*ft*tan(wp2/2);Fp=[Fp1,Fp2];Fs1=2*ft*tan(ws1/2);Fs2=2*ft*tan(ws2/2);Fs=[Fs1,Fs2];bw=Fp2-Fp1;w0=sqrt(Fp1*Fp2);%通带宽和中心频率[n,Omgn]=cheb1ord(Fp,Fs,Rp,As,'s');[z,p,k]=cheb1ap(n,Rp);B2=k*real(poly(z));A2=real(poly(p));[b2,a2]=lp2bp(B2,A2,w0,bw);[ba2,aa2]=bilinear(b2,a2,ft);z3=filter(ba2,aa2,yy);[Ha,w]=freqz(ba2,aa2);plot(w*ft/(2*pi),20*log10(abs(Ha)));title('IIR 带通滤波器');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_dibo.function tag_dibo_Callback(hObject, eventdata, handles)% hObject handle to tag_dibo (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3)cla;global yy;global z1;global ba1;global aa1;m4=fft(z1);plot(z1,'y');title('IIR滤波后的信号波形');xlabel('时间/t');ylabel('幅值');axes(handles.axes4)cla;plot(abs(m4),'y');title('IIR滤波后信号频谱');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_gaobo.function tag_gaobo_Callback(hObject, eventdata, handles)% hObject handle to tag_gaobo (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3)cla;global yy;global z2;global B3;global ba3;global aa3;m5=fft(z2);plot(z2,'y');title('IIR滤波后的信号波形');xlabel('时间/t');ylabel('幅值');axes(handles.axes4)cla;plot(abs(m5),'y');title('IIR滤波后信号频谱');xlabel('频率/HZ');ylabel('幅值');% --- Executes on button press in tag_daibo.function tag_daibo_Callback(hObject, eventdata, handles)% hObject handle to tag_daibo (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) axes(handles.axes3)cla;global yy;global z3;global B2;global ba2;global aa2;m6=fft(z3);plot(z3,'y');title('IIR滤波后的信号波形');xlabel('时间/t');ylabel('幅值');axes(handles.axes4)cla;plot(abs(m6),'y');title('IIR滤波后信号频谱');xlabel('频率/HZ');ylabel('幅值');% --- Executes on selection change in tag_choose.function tag_choose_Callback(hObject, eventdata, handles)% hObject handle to tag_choose (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% Hints: contents = get(hObject,'String') returns tag_choose contents as cell array% contents{get(hObject,'Value')} returns selected item from tag_choose% --- Executes during object creation, after setting all properties. function tag_choose_CreateFcn(hObject, eventdata, handles)% hObject handle to tag_choose (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called% Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER.if ispcset(hObject,'BackgroundColor','white');elseset(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundCo lor'));end% --- Executes on button press in tag_return.function tag_return_Callback(hObject, eventdata, handles)% hObject handle to tag_return (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global z0;global z1;global z2;global z3;global yy;val=get(handles.tag_choose,'Value');if(val==1)[yy,fs,nbits]=wavread('D:\f.wav'); %语音信号加载sound(yy,fs); %回放语音endif(val==2)sound(z1,22050);endif(val==3)sound(z3,22050);endif(val==4)sound(z2,22050);end% --- Executes on mouse press over axes background.function axes1_ButtonDownFcn(hObject, eventdata, handles)% hObject handle to axes1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)% --- If Enable == 'on', executes on mouse press in 5 pixel border. % --- Otherwise, executes on mouse press in 5 pixel border or over tag_start.function tag_start_ButtonDownFcn(hObject, eventdata, handles)% hObject handle to tag_start (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA)采样后信号滤波器数字波形IIR低通滤波后波形图IIR高通滤波后波形图IIR带通滤波后波形图。

数字信号处理教程课程设计

数字信号处理教程课程设计

数字信号处理教程课程设计一、引言数字信号处理(Digital Signal Processing, DSP)是通过数值计算来获取、处理和分析信号的一种技术。

随着现代电子通信技术和嵌入式系统的发展,数字信号处理已经成为了一个重要的研究领域。

本课程设计旨在通过模拟与实验相结合的方式,为学生提供数字信号处理基础知识和实践经验。

这将有助于学生更好地理解和应用数字信号处理技术。

二、课程设计目标本课程设计旨在达到以下目标:1.帮助学生理解数字信号处理的基础知识和概念;2.通过实际操作,让学生掌握数字信号处理技术;3.通过课程设计,提高学生创新思维和解决问题的能力。

三、课程设计内容1. 数字信号处理基础知识•数字信号处理概述•采样定理及其证明•信号离散化•数字滤波器设计•快速傅里叶变换(FFT)及其应用•数字信号处理的应用领域2. 数字信号处理实践本课程的实践环节包括以下内容:•采样定理的验证•信号离散化实验•数字滤波器设计与仿真•FFT算法的实现•数字信号处理应用实例3. 课程设计要求本课程设计要求学生独立完成以下任务:•撰写数字信号处理课程论文•完成数字信号处理相关程序设计•课堂展示数字信号处理应用实例四、课程设计步骤本课程设计分为以下步骤:1. 阶段性目标确定在本课程设计之初,老师会与学生一起确定阶段性目标,以帮助学生理解和掌握数字信号处理基础知识。

2. 数字信号处理理论教学老师将通过讲授数字信号处理基础理论知识,来帮助学生更好地理解数字信号处理技术的基础知识。

3. 实验设计老师将制定实验计划,设计合适的实验,以帮助学生巩固理论,并且将数字信号处理的抽象概念转化为实际的运算过程。

4. 编程与实践操作学生将通过编程和实践操作,来掌握数字信号处理技术,完成实验后还需要撰写数字信号处理课程论文。

五、期望帮助与输出本课程设计采用 Matlab 软件作为编程工具,老师将为学生提供实验数据和相应的代码。

同时,教师将提供必要的帮助和引导,帮助学生顺利完成数字信号处理课程设计任务。

数字信号处理第二版课程设计

数字信号处理第二版课程设计

数字信号处理第二版课程设计背景介绍数字信号处理是一门应用广泛的技术学科,它涉及到从数字信号中提取、表示、转换和处理信息的理论和方法。

数字信号处理技术主要应用于通信、图像处理、控制、医学等领域。

本次课程设计旨在通过对数字信号处理知识的学习和应用,加深对此领域的理解和应用能力。

任务描述本次课程设计任务为设计一个基于FPGA的数字信号处理系统,主要包括以下几个部分:1.信号采集模块采集输入信号,将信号转换为数字信号并存储在内存中,为后续信号处理提供数据来源。

2.滤波模块对采集到的信号进行滤波处理,使用IIR、FIR等数字滤波器,去除噪声和干扰。

3.数据处理模块对滤波后的信号进行进一步处理,包括傅里叶变换、小波变换、相关性分析等处理方法,以提取和分析信号中的有用信息。

4.输出模块将处理过的信号输出到外部设备,如液晶显示器、PC机等,以便对处理结果进行观测和分析。

设计思路本设计采用VHDL语言对数字信号处理系统进行描述和实现,并基于Xilinx ISE软件完成系统的仿真和实验验证。

1.信号采集模块信号采集模块主要包括模数转换器(ADC)和数据存储器,采用16位精度的ADC进行信号采集,将采集到的数据存储在内存中。

2.滤波模块滤波模块采用FIR滤波器进行滤波处理,采用Xilinx FIR Compiler工具进行滤波器的设计和优化,可以保证高效、低功耗的滤波处理。

3.数据处理模块数据处理模块主要实现信号的傅里叶变换和小波变换,采用Xilinx DSP IP库中的FFT和小波变换模块进行设计和实现,在对信号进行频谱分析和时频分析时,可以充分应用这些模块。

4.输出模块输出模块可以将处理后的信号通过UART串口输出到外部设备,或者通过SPI 总线和液晶显示器进行实时显示。

实验结果通过对系统的实验验证,可以得到以下结果:在信号采集模块中,使用采样频率为10kHz的ADC对模拟信号进行采集,采集精度为16位,可以保证高精度的数据采集和存储。

数字信号处理课程设计报告

数字信号处理课程设计报告

数字信号处理课程设计报告通信与信息工程学院数字信号处理课程设计班级:电子信息科学与技术姓名:学号:指导教师:设计时间:成绩:评语:通信与信息工程学院二〇一三年题目一采样定理的验证1.设()(0.8)()nx n u n,利用filter函数求出()*()x n x n(其中*为线性卷积)的前50个样本,并作图。

(1)n=0:49;xn=0.8.^n;B=1;A=[1,-0.8];yn=filter(B,A,xn);stem(n,yn)grid on;xlabel('n');ylabel('yn=x(n)*x(n)')0.511.522.5ny n =x (n )*x (n )2.考虑模拟信号()sin(20),010.01a s x t t t T s π=≤≤=,在,0.050.1s s 和间隔采样得到()x n 。

(1)对每一个s T 画出()x n 。

(2)采用sin c 内插从样本()x n 重建模拟信号()a y t ,并从图中求出在()a y t 中的频率(不管末端效果)。

(3)采用三次样条内插从样本()x n 重建模拟信号,并从图中求出在()a y t 中的频率。

(1)clc;t=0:0.001:1;Ts1=0.01;N1=1/Ts1;n1=0:N1; xn1=sin(20*pi*n1*Ts1); subplot(3,1,1);stem(n1,xn1,'.');axis([0 100 -1 1]);xlabel('n');ylabel('x_1(n)');title('Ts=0.01');t=0:0.001:1;Ts2=0.05;N2=1/Ts2;n2=0:N2; xn2=sin(20*pi*n2*Ts2); subplot(3,1,2);stem(n2,xn2,'.');axis([0 20 -1 1]);xlabel('n');ylabel('x_2(n)');title('Ts=0.05'); t=0:0.001:1;Ts3=0.1;N3=1/Ts3;n3=0:N3; xn3=sin(20*pi*n3*Ts3); subplot(3,1,3);stem(n3,xn3,'.');axis([0 10 -1 1]);xlabel('n');ylabel('x_3(n)');title('Ts=0.1');102030405060708090100n x 1(n )Ts=0.012468101214161820n x 2(n )Ts=0.0512345678910nx 3(n )Ts=0.1(2)t=0:0.001:1;T=0.1;xt=sin(20*pi*t);subplot(4,1,1);plot(t,xt); title('xt 原图');xlabel('t');ylabel('xt');grid on;Ts1=0.01;n1=0:100;t1=0:Ts1:1;xn1=sin(20*pi*n1*Ts1);tn1=ones(length(n1),1)*t1-n1'*Ts1*ones(1,length(t1));%ones (M,N):生成M*N 大小的全1矩阵yt1=xn1*sinc(tn1*pi/Ts1);subplot(4,1,2);plot(t1,yt1);axis([0 1 -1 1]);title('sinc 内插0.01恢复的xt1图');xlabel('n');ylabel('xt1');grid on;Ts2=0.05;n2=0:20;t2=0:Ts2:1;xn2=sin(20*pi*n2*Ts2); tn2=ones(length(n2),1)*t2-n2'*Ts2*ones(1,length(t2));yt2=xn2*sinc(tn2*pi/Ts2);subplot(4,1,3);plot(t2,yt2);axis([0 1 -1 1]); title('sinc 内插0.05恢复的xt2图');xlabel('n');ylabel('xt2');grid on;Ts3=0.1;n3=0:10;t3=0:Ts3:1;xn3=sin(20*pi*n3*Ts3); tn3=ones(length(n3),1)*t3-n3'*Ts3*ones(1,length(t3));yt3=xn3*sinc(tn3*pi/Ts3);subplot(4,1,4);plot(t3,yt3);axis([0 1 -1 1]); title('sinc 内插0.1恢复的xt3图');xlabel('n');ylabel('xt3');grid on;00.10.20.30.40.50.60.70.80.91-101xt 原图tx t00.10.20.30.40.50.60.70.80.91-101sinc 内插0.01恢复的xt1图nx t 100.10.20.30.40.50.60.70.80.91-101sinc 内插0.05恢复的xt2图nx t 200.10.20.30.40.50.60.70.80.91-101sinc 内插0.1恢复的xt3图nx t 3(3)Ts1=0.01;Fs=1/Ts1;xa1=spline(Ts1*n1,xn1,t);subplot(3,1,1);plot(t,xa1);axis([0,1,-1,1]); ylabel('x_a(t)');title('Ts=0.01'); Ts2=0.05;Fs=1/Ts2;xa2=spline(Ts2*n2,xn2,t);subplot(3,1,2);plot(t,xa2);axis([0,1,-1,1]); ylabel('x_a(t)');title('Ts=0.05'); Ts3=0.1;Fs=1/Ts3;xa3=spline(Ts3*n3,xn3,t);subplot(3,1,3);plot(t,xa3);axis([0,1,-1,1]); ylabel('x_a(t)');title('Ts=0.1');00.10.20.30.40.50.60.70.80.91-101x a(t )Ts=0.0100.10.20.30.40.50.60.70.80.91-101x a(t )Ts=0.0500.10.20.30.40.50.60.70.80.91-101x a(t )Ts=0.1结果分析与体会:采用sin c 内插从样本()x n 重建模拟信号()a y t 时,0.01s 和0.05s 依据奈奎斯特采样定理应该能恢复原来的波形,但因为采样点太少,间距分散导致0.05s 时无法恢复。

科技大学数字信号处理课程设计

科技大学数字信号处理课程设计

数字信号处理课程设计第1章 信号的时域分析1.1 连续信号的时域分析用Matlab 产生下列信号并与人工分析结果进行比较: (1) r (t)= t u (t) -1<t<10 (2) x (t)=1+cos10 t -1<t<1 (3) x (t)=(5e - t - 5e -3 t ) u (t) -1<t<5 (4) x (t)=cos(2πt) cos(20πt) 0<t<5 (5) x (t)=sin(t)/t -10<t<10(1)t=-1:0.01:5;x=(t>=0); plot(t,x);axis([-2,6,-0.1,1.1]);0246810(2)t=-1:0.001:1; x=1+cos(10*t); plot(t,x);ylabel('x(t)');xlabel('t');00.20.40.60.811.21.41.61.82x (t )t(3)t=0:0.001:5; x=t(t>=0); plot(t,x);axis([-2,6,-0.1,1.1]); t=0:0.1:10; m=(t>=0);n=5*exp(-t)-5*exp(-3*t); x=n.*m; plot(t,x);00.20.40.60.811.21.41.61.82(4) w0=2*pi;w1=20*pi; t=0:0.001:5; x=cos(w0*t).*cos(w1*t); plot(t,x); ylabel('x(t)');xlabel('t');-1-0.8-0.6-0.4-0.200.20.40.60.81x (t )t(5)t=-10:0.1:10; m=sin(t); x=m./t; plot(t,x);ylabel('x(t)');xlabel('t');x (t )t1.2 离散时间序列的时域分析及信号的运算1.使用Matlab 产生下列序列、作图并与理论值进行比较: (1)x(n)=2δ(n+n 0)(2) x(n)=(0.9) n [sin(0.25πn)+cos(0.25πn)] n=-4:4;x=(0.9).^n;y=[sin(0.25*pi*n)+cos(0.25*pi*n)]; m=x.*y; stem(n,m);(3)已知LTI 离散系统,x(n)=[1 1 1],h(n)=[0 1 2 3],求y(n) x=[1,1,1];h=[0,1,2,3]; y=conv(x,h);subplot(3,1,1);stem([0:length(x)-1],x); ylabel('x');xlabel('Time index n');subplot(3,1,2);stem([0:length(h)-1],h); ylabel('h');xlabel('Time index n');subplot(3,1,3);stem([0:length(y)-1],y); ylabel('y=x*h');xlabel('Time index n');xTime index nhTime index ny =x *hTime index n(4)已知x(t)=e –2 t u (t), y(t)=e - t u (t) , 求:x(t) * y(t) t=-10:10; u=(t>=0); m=exp(-2*t); n=exp(-1*t); x=m.*u; y=n.*u;h=conv(x,y);subplot(3,1,1);stem([0:length(x)-1],x); ylabel('x(n))');xlabel('Time index n'); subplot(3,1,2);stem([0:length(y)-1],y); ylabel('y(n)');xlabel('Time index n'); subplot(3,1,3);stem([0:length(h)-1],h);ylabel('h(n)=x(n)*y(n)');xlabel('Time index n');x (n ))Time index ny (n )Time index nh (n )=x (n )*y (n )Time index n(5)已知信号x(t)=(1+t/2)[u(t+2)-u(t-2)], 求x(t+2),x(t-2),x(-t),x(2t),-x(t) t=-10:10; m=(t>=2); n=(t>=-2);x=(1+(t./2)).*(n-m); plot(t+2,x);00.511.5t=-10:10; m=(t>=2); n=(t>=-2);x=(1+(t./2)).*(n-m); plot(t-2,x);00.511.5t=-10:10; m=(t>=2); n=(t>=-2);x=(1+(t./2)).*(n-m); plot(-t,x);0.511.5t=-10:10; m=(t>=2); n=(t>=-2);x=(1+(t./2)).*(n-m); plot(2*t,x);0.511.5t=-10:10; m=(t>=2); n=(t>=-2);x=(1+(t./2)).*(n-m); plot(t,-x);-1.5-1-0.5第2章 信号的频域分析2.1 利用DFT 分析连续信号频谱1.用fourier 函数,理论上求下列连续时间信号的频谱。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

通信与信息工程学院数字信号处理课程设计(综合实验)班级:电信XX班姓名:XX学号:XX指导教师:李远征设计时间:2013~2014学年第18~19周成绩:评通信与信息工程学院二〇一三年设计一 正余弦信号的谱分析【一】 设计目的1. 用DFT 实现对正余弦信号的谱分析;2. 观察DFT 长度和窗函数长度对频谱的影响;3. 对DFT 进行谱分析中的误差现象获得感性认识。

【二】 设计原理数字信号处理方法的一个重要用途是在离散时间域中确定一个连续时间信号的频谱,通常称为频谱分析,更具体地说,它也包括确定能量谱和功率谱。

基于表征正余弦信号的基本参数,如振幅、频率和相位不随时间改变,则此信号的傅立叶变换)(ωj e G 可以用计算它的DTFT 得到∑∞-∞=-=n nj j en g e G ωω)()(实际上无限长序列)(n g 首先乘以一个长度为M 的窗函数)(n w ,使它变成一个长为M 的有限长序列,)()()(1n w n g n g =,对)(1n g 求出的DTFT )(1ωj e G 应该可以作为原连续模拟信号)(t g a 的频谱估计,然后求出)(1ωj eG 在πω20≤≤区间等分为N 点的离散傅立叶变换DFT 。

为保证足够的分辨率,DFT 的长度N 选的比窗长度M 大,其方法是在截断了的序列后面补上N -M 个零。

计算采用FFT 算法。

【三】 设计内容1.图1.1 设计内容1的运行结果程序:N=input('输入谱分析的长度');n=0:N-1;x1=cos(pi*20*n/64);x2=cos(pi*22*n/64);subplot(2,2,1),stem(n,x1)xlabel('n');ylabel('x1(n)');title('余弦序列');subplot(2,2,2),stem(n,x2)xlabel('n');ylabel('x2(n)');title('余弦序列');X1=abs(fft(x1,N));subplot(2,2,3)k=0:N-1;stem(k,X1) %绘制序列的幅xlabel('k');ylabel('X1(k)');string=[num2str(N),'点FFT幅频曲线'];X2=abs(fft(x2,N)); %求x2余弦序subplot(2,2,4)k=0:N-1;stem(k,X2)xlabel('k');ylabel('X2(k)');string=[num2str(N),'点FFT幅频曲线'];泄漏的原因:通过图可看出:频率为10Hz的余弦曲线DFT只有两个点不等于零,位于k=5和k=27处,k=5对应于频率10Hz,k=27对应于频率54Hz(也就是-10Hz)。

这样DFT确实正确的分辨了余弦信号的频率。

但是这样的理想结果是恰巧得到的,此时我们借去了五个完整的余弦周期(f*N/Fs=5). 将频率改为11Hz,采样频率和窗长度依然为32点,计算图像可看出:频谱图上k=5和k=27处都有较大的峰值,而其它的点上幅度不再为零。

这两个峰值对应的频率为10Hz和12Hz,所以,信号的峰值位于两者之间,本来是单一的11Hz频率的能量会分不到许多DFT频率上,这种现象叫频率泄露,来源于截断效应。

2.图1.2 设计内容2的运行结果程序:N1=input('输入谱分析的长度');N2=input('输入谱分析的长度');N3=input('输入谱分析的长度');N4=input('输入谱分析的长度');n=0:16;x=0.5*sin(pi*2*0.22*n)+sin (pi*2*0.34*n);X1=abs(fft(x,N1)); %求余弦序列的N1点FFTsubplot(2,2,1)k=0:N1-1;stem(k,X1) %绘制序列的幅频特性曲线xlabel('k');ylabel('X1(k)');string=[num2str(N1),'点FFT幅频曲线'];X2=abs(fft(x,N2)); %求余弦序列的N2点FFTsubplot(2,2,2)k=0:N2-1;stem(k,X2) %绘制序列的幅频特性曲线xlabel('k');ylabel('X2(k)');string=[num2str(N2),'点FFT幅频曲线'];X3=abs(fft(x,N3)); %求余弦序列的N3点FFTsubplot(2,2,3)k=0:N3-1;stem(k,X3) %绘制序列的幅频特性曲线xlabel('k');ylabel('X3(k)');string=[num2str(N3),'点FFT幅频曲线'];X4=abs(fft(x,N4)); %求余弦序列的N4点FFTsubplot(2,2,4)k=0:N4-1;stem(k,X4) %绘制序列的幅频特性曲线xlabel('k');ylabel('X4(k)');string=[num2str(N4),'点FFT幅频曲线'];DFT长度对频谱分辨率的影响:DFT样本值就是其DTFT在相应位置的采样。

在图中很难看出两个峰值,因此要提高它的分辨率,故把R增大,逐渐可以看出它有两个峰值,将k换算成数字频率f=w/2*pi=k/R.这样可确定峰值的位置大体在f=0.21和0.35之附近,与信号的给定频率有一定的误差,这也是截断和泄露带来的问题,在这图上还可以看到一些较小的峰,这是很难判断是输入信号固有的,还是由泄露引起的。

这说明了增加DFT长度R减小了相邻样本间的频率间距,提高频谱的视在分辨率,因而可以提高样本未知的测定精度。

3.要能分清两个频率,分辨率至少应达到f=0.03.因为此处的数字频率是对采样频率Fs进行归一化后的,几fr最大为1,因此总的样本数至少要达到1/0.03=33. 加窗以后可以使频谱函数更加光滑,便于分辨峰值位置和准确的数值,为了提高实际分辨率,应该尽量增加信号的长度N及DF长度R,当受到条件限制不能提高N,则单独提高R可以提高视在分辨率.说明:①图形输出结果应清楚美观,可以排版,缩放,建议充分利用子图分割显示的方式,将多幅图形显示在一个窗口中,便于比较和说明。

②代码只需给出核心部分,中间添加必要的注释(可以手写)。

③写清题号,不用抄题目,直接给出设计内容结果图形和代码即可。

【四】结果分析与体会回答内容包括以下几点:1.分析输出结果,说明设计是否正确,或是否达到了设计要求;2.设计有哪些不足和可以改进之处;3.通过本设计有哪些体会和建议。

注:回答的内容应简明扼要,要求手写完成;内容①必答,内容②和③可根据自己对设计的了解和体会选答;若两份报告回答内容雷同,取消两份报告的成绩。

设计二数字滤波器的设计及实现【一】设计目的1.熟悉IIR数字滤波器和FIR数字滤波器的设计原理和方法;2.学会调用MATLAB信号处理工具箱中的滤波器设计函数设计各种IIR和FIR数字滤波器,学会根据滤波要求确定滤波器指标参数;3.掌握用IIR 和FIR 数字滤波器的MATLAB 实现方法,并能绘制滤波器的幅频特性、相频特性;4.通过观察滤波器的输入、输出信号的时域波形及其频谱,建立数字滤波的概念。

【二】 设计原理抑制载波单频调幅信号的数学表达式为[]))(2c o s ())(2c o s (21)2c o s ()2c o s ()(000t f f t f f t f t f t s c c c ++-==ππππ (2.1)其中,)2cos(t f c π称为载波,c f 为载波频率,)2cos(0t f π称为单频调制信号,0f 为调制正弦波信号频率,且满足c f >0f 。

由(2.1)式可见,所谓抑制载波单频调制信号,就是两个正弦信号相乘,它有2个频率成分:和频c f +0f ,差频c f -0f ,这两个频率成分关于载波频率c f 对称。

所以,1路抑制载波单频调幅信号的频谱图是关于载波频率c f 对称的两根谱线。

显然,当调制频率0f 和(或)载波频率c f 不同时,可以得到包含不同频率成分的单频调幅信号,将几路不同频率成分的单频调幅信号相加后形成混合信号,产生复合信号。

【三】 设计内容 1.图2.1 设计内容1的运行结果程序:function st=mstg%产生信号序列st ,并显示st 的时域波形和频谱%st=mstg 返回三路调幅信号相加形成的混合信号,长度N=800 N=800; %信号长度N 为800Fs=10000;T=1/Fs;Tp=N*T; %采样频率Fs=10kHz ,Tp 为采样时间 t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10; %第1路调幅信号载波频率fc1=1000Hzfm1=fc1/10; %第1路调幅信号的调制信号频率fm1=100Hzfc2=Fs/20; %第2路调幅信号载波频率fc2=500Hzfm2=fc2/10; %第2路调幅信号的调制信号频率fm2=50Hzfc3=Fs/40; %第3路调幅信号载波频率fc3=250Hzfm3=fc3/10; %第3路调幅信号的调制信号频率fm3=25Hzxt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t); %产生第1路调幅信号xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t); %产生第2路调幅信号xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t); %产生第3路调幅信号st=xt1+xt2+xt3; %三路信号相加,得到复合信号fxt=fft(st,N); %计算信号st的频谱%以下为绘图命令subplot(2,1,1);plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp,min(st),max(st)]);title('(a)s(t)的波形')subplot(2,1,2);stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b)s(t)的频谱')axis([0,Fs/8,0,1.2]);xlabel('f/Hz');ylabel('幅度');(注意:将函数mstg保存在M文件里面,保存名为st。

相关文档
最新文档