设计数字信号处理课程设计
数字信号处理课程设计报告_3
目录1.设计概述(目的和要求) 32.设计任务 33.设计题目(简要描述三个题目) 44.内容及结果 45.思考及体会14一、课程设计目的及要求数字信号处理是一门理论性和实践性都很强的学科,通过课程设计可以加深理解掌握基本理论,培养学生分析问题和解决问题的综合能力,为将来走向工作岗位奠定坚实的基础,因此做好课程设计是学好本课程的重要教学辅助环节。
本指导书结合教材《数字信号处理教程》的内容,基于MATLAB程序语言提出课程设计的题目及要求,在做课程设计之前要求学生要尽快熟悉MATLAB语言,充分预习相关理论知识,独立编写程序,以便顺利完成课程设计。
二、课程设计任务课程设计的过程是综合运用所学知识的过程。
课程设计主要任务是围绕数字信号的频谱分析、特征提取和数字滤波器的设计来安排的。
根据设计题目的具体要求,运用MATLAB语言完成题目所规定的任务及功能。
设计任务包括:查阅专业资料、工具书或参考文献,了解设计课题的原理及算法、编写程序并在计算机上调试,最后写出完整、规范的课程设计报告书。
课程设计地点在信息学院机房,一人一机,在教师统一安排下独立完成规定的设计任务。
三、课程设计题目根据大纲要求提供以下三个课程设计题目供学生选择,根据实际情况也可做其它相关课题。
1.DFT在信号频谱分析中的应用1. 用MATLAB语言编写计算序列x(n)的N点DFT的m函数文件dft.m。
并与MA TLAB中的内部函数文件fft.m作比较。
2. 对离散确定信号()cos(0.48)cos(0.52)x n n n ππ=+ 作如下谱分析:(1) 截取()x n 使()x n 成为有限长序列N(0≤≤n N -1),(长度N 自己选)写程序计算出()x n 的N 点DFT ()X k ,并画出相应的幅频图()~X k k 。
(2) 将 (1)中()x n 补零加长至M 点(长度M 自己选),编写程序计算()x n 的M 点DFT 1()X k ,并画出相应的图1()~X k k 。
数字信号处理课程设计时
数字信号处理课程设计时一、教学目标本课程的教学目标是使学生掌握数字信号处理的基本理论、方法和应用,培养学生运用数字信号处理技术解决实际问题的能力。
具体目标如下:1.知识目标:(1)掌握数字信号处理的基本概念、原理和算法;(2)了解数字信号处理技术在通信、音视频处理、图像处理等领域的应用;(3)熟悉常用数字信号处理软件和工具。
2.技能目标:(1)能够运用数字信号处理理论分析和解决实际问题;(2)具备使用Matlab等软件进行数字信号处理的能力;(3)具备一定的编程能力,能够实现简单的数字信号处理算法。
3.情感态度价值观目标:(1)培养学生对数字信号处理技术的兴趣和热情;(2)培养学生团队合作、创新思维和终身学习的意识。
二、教学内容本课程的教学内容主要包括以下几个部分:1.数字信号处理基本概念:数字信号、离散时间信号、离散时间系统、Z域等;2.数字信号处理基础算法:傅里叶变换、离散傅里叶变换、快速傅里叶变换、滤波器设计等;3.数字信号处理应用:通信系统、音视频处理、图像处理等;4.常用数字信号处理软件和工具:Matlab、Python等。
三、教学方法为了实现课程目标,我们将采用以下教学方法:1.讲授法:通过课堂讲解,使学生掌握数字信号处理的基本概念、原理和算法;2.讨论法:引导学生通过小组讨论,深入理解数字信号处理技术的应用;3.案例分析法:分析实际案例,使学生更好地理解数字信号处理技术在各个领域的应用;4.实验法:通过实验操作,锻炼学生的动手能力和实际问题解决能力。
四、教学资源为了支持课程教学,我们将准备以下教学资源:1.教材:《数字信号处理》;2.参考书:《数字信号处理教程》、《数字信号处理实践》;3.多媒体资料:课件、教学视频等;4.实验设备:计算机、Matlab软件、示波器等。
五、教学评估本课程的评估方式包括以下几个方面:1.平时表现:通过课堂参与、提问、讨论等环节,评估学生的学习态度和积极性;2.作业:布置适量的作业,评估学生的理解和应用能力;3.实验报告:评估学生在实验过程中的操作能力和问题解决能力;4.期末考试:采用闭卷考试的方式,全面评估学生对本课程知识的掌握程度。
数字信号处理系统分析与设计课程设计
数字信号处理系统分析与设计课程设计一、课程设计背景数字信号处理是目前电子信息领域中最重要的研究方向之一,随着数字信号处理技术的发展和应用的广泛性,大学生必须掌握数字信号处理系统的设计和实现技能。
数字信号处理系统是将信号转换成数字信号进行处理的系统,数字处理技术较其他处理方式具有高速度、稳定性和准确性等优点。
因此,设计和实现数字信号处理系统已成为电子信息领域人才培养的重要环节之一。
二、课程设计目的本课程设计的主要目的是帮助学生掌握数字信号处理系统的基本原理和实现方法,培养学生的实践能力和团队协作能力,提高学生对数字信号处理相关知识的理解和应用能力。
通过本课程设计的实践环节,学生可以逐步掌握数字信号的特点和不同的数字信号处理技术,加深对数字信号处理系统的了解。
同时,学生还需要通过团队协作完成系统的设计和实现,提高学生的实践能力和团队协作能力。
三、课程设计内容本课程设计的主要内容包括以下几个方面:3.1 数字信号处理系统基本原理数字信号处理系统的基本原理是学习数字信号的采样、量化、编码和数字信号处理的基本原理,包括数字信号处理系统的模块组成,数字信号采集系统的原理、数字信号处理算法和实现等。
3.2 数字信号处理算法设计本方面内容主要包括数字信号处理基本算法的设计和实现,包括滤波、FFT、DFT、FIR、IIR等算法的设计和实现。
3.3 数字信号处理系统设计本方面内容主要包括数字信号处理系统的设计和实现,包括数字信号处理系统的硬件和软件的设计,系统的集成和测试等。
3.4 课程设计报告撰写本课程设计要求学生完成课程设计报告撰写工作,包括阶段性报告和最终报告。
课程设计报告应包括以下内容:问题描述、系统架构、设计过程、功能分析、算法设计、实现方法、性能测试、问题和改进等。
四、课程设计评分课程设计的评分主要包括以下几个方面:课程设计全过程的评估、课程设计报告的质量评估和展示评估。
其中,课程设计全过程的评估包括课程设计计划的制定与执行情况、系统设计与实现情况等;课程设计报告的质量评估主要是对报告的内容、格式、语言、思路等进行评估;展示评估则是对学生进行现场答辩、演示等的评估。
现代数字信号处理课程设计
现代数字信号处理课程设计1. 概述现代数字信号处理是一个重要的领域,其应用广泛涉及到通信、计算机、音视频处理等多个方面。
本课程设计旨在让学生通过完成一个数字信号处理的小项目,掌握数字信号处理的基本原理和方法。
2. 课程设计目标通过本课程设计,学生应能够:•理解数字信号处理的基本原理和方法;•掌握数字滤波的设计和实现方法;•理解离散傅里叶变换和离散余弦变换的原理和实现;•掌握数字信号处理在音频和图像处理中的应用。
3. 课程设计内容3.1 数字滤波器设计数字滤波是数字信号处理中的基础操作之一,通过滤波器可以实现信号去噪、增强等处理。
本课程设计要求学生设计并实现一种数字滤波器,包括滤波器的选型、设计、实现等。
3.2 离散傅里叶变换和离散余弦变换离散傅里叶变换(DFT)和离散余弦变换(DCT)是数字信号处理中的重要变换方法,在音频和图像处理等领域得到广泛应用。
本课程设计要求学生了解并实现DFT和DCT变换,并应用到一个实际问题中。
3.3 音频处理音频处理是数字信号处理中的一个重要应用领域,包括音频压缩、语音识别、音频增强等多个方面。
本课程设计要求学生通过使用数字滤波、DFT和DCT等方法,对一段音频进行处理并输出结果。
3.4 图像处理图像处理是数字信号处理中的另一个重要应用领域,包括图像增强、图像压缩、图像分割等多个方面。
本课程设计要求学生通过使用数字滤波、DFT和DCT等方法,对一张图片进行处理并输出结果。
4. 课程设计要求•学生需要独立完成小项目的设计和实现,并用Markdown文本格式撰写实验报告;•实验报告需要包含设计过程、实现方法、实验结果、分析和总结等内容;•学生需要提交课程设计的代码和实验报告,报告格式和代码规范参考教师提供的模板;•学生需要在规定时间内完成课程设计任务。
5. 结语现代数字信号处理是一个重要的学科,通过本课程设计的实践,学生可以更加深入地理解数字信号处理的基本原理和方法,并掌握数字信号处理在实际应用中的运用。
数字信号处理课程设计
数字信号处理课程设计
一、概述
本次信号处理课程设计主要对常见的数字信号处理算法进行实现。
主要内容包括数字信号滤波器、傅立叶变换和数字信号检测算法。
通过实验,学生将学习主要处理手段;同时了解数字信号处理的基本原理和应用。
二、主要内容
(1)数字信号滤波器:实现简单的数字滤波器,同时计算滤波器的频率响应;
(2)傅立叶变换:实现常用的傅立叶变换,并利用变换后的信号图像进行频率分析;
(3)数字信号检测算法:实现基本的一阶和二阶差分算法,并利用此算法进行实时信号检测;
三、实验步骤
(1)准备实验材料:将数字信号的原始信号数据以文件的形式存储,使用MATLAB等软件进行处理;
(2)实现数字滤波器:实现一阶以及多阶低通、高通和带通滤波器,
并计算响应的频谱;
(3)实现傅立叶变换:实现Fourier变换后的信号图像处理,如二维DFT等;
(4)实现数字信号检测算法:实现一阶和二阶差分算法,并利用此算法进行实时信号检测;
(5)数字信号处理综合应用实验:针对实际的数字信号,分析信号的特征,并基于实验结果进行信号处理算法的比较。
四、实验结果
完成本次实验后,可以实现对不同数字信号的处理,掌握其中滤波器、傅立叶变换等数字信号处理理论,并掌握常规的算法,学会运用算法实现实际信号处理工程。
(完整word版)数字信号处理课程设计
目录第1章需求分析----------------------------------------------------- 3 1.1设计题目------------------------------------------------------------------ 3 1.2设计要求------------------------------------------------------------------ 3 1.3系统功能分析-------------------------------------------------------------- 3第2章原理分析和设计-------------------------------------------- 4 2.1理论分析和计算------------------------------------------------------------ 4第3章详细设计----------------------------------------------------- 5 3.1算法设计思路-------------------------------------------------------------- 5 3.2对应的详细程序清单及程序注释说明------------------------------------------ 6第4章调试分析过程描述---------------------------------------- 10 4.1测试数据、测试输出结果--------------------------------------------------- 10 4.2程序调试过程中存在的问题以及对问题的思考--------------------------------- 13第5章总结-------------------------------------------------------- 15第1章需求分析1.1设计题目在Matlab 环境中,利用编程方法对FDMA通信模型进行仿真研究1.2设计要求1.2.1 Matlab支持麦克风,可直接进行声音的录制,要求至少获取3路语音信号。
数字信号处理课程设计
数字信号处理课程设计2022年12月24日目录一、设计任务与要求............................................................. ...........31.1设计任务............................................................. ...................31.2设计要求............................................................. ..................3二、设计原理及过程............................................................. ...........42.1设计原理............................................................. ..................42.2三种典型序列的表达式及程序...........................................52.3时移、频移与傅里叶变换原理...........................................5三、设计内容及结果............................................................. ...........63.1时域波形............................................................. ..................63.2幅度谱及相位谱............................................................. ......83.3时移、频移及特性实现.....................................................113.4自行设计一个序列—单位冲击序列 (16)四、心得与体会............................................................. .................18参考文献.. (18)一、设计任务与要求1.1设计任务1.1.1对于三种典型序列------单位采样序列、实指数序列、矩形序列,要求:1.画出以上序列的时域波形图;2.求出以上序列的傅里叶变换;3.画出以上序列的幅度谱及相位谱,并对相关结果予以理论分析;4.对以上序列分别进行时移,画出时移后序列的频谱图,验证傅里叶变换的时移性质;5.对以上序列的频谱分别进行频移,求出频移后频谱所对应的序列,并画出序列的时域波形图,验证傅里叶变换的频移性质。
数字信号处理简明教程课程设计
数字信号处理简明教程课程设计一、课程背景数字信号处理是目前科技领域中最为重要、应用最为广泛的学科,它在多个领域都具有广泛的应用,如语音识别、图像处理、智能控制、电视广播、通讯等等。
为了加强对数字信号处理的深入理解,同时提高学生的实践能力,设计了简明教程课程。
二、教学目标本课程旨在通过讲授数字信号处理的相关知识,让学生了解信号与系统的基本概念、数字信号的特殊性质、数字信号加工的各种方法以及数字滤波器和频率分析的基本概念,进一步提高学生的分析问题和解决问题的能力,培养学生的实际操作能力,为将来的工作和学习打下坚实的基础。
三、教学内容1.信号与系统的基本概念在数字信号处理基础中,首先需要了解的就是信号与系统的基本概念,包括信号与系统的定义、特性、分类和表达方式等。
2.数字信号的特殊性质数字信号是一种离散信号,不同于连续信号,它具有很多特殊性质,如采样定理、离散化、量化误差等。
本课程将详细讲解数字信号的特殊性质及其应用。
3.数字信号的加工方法对数字信号的加工是数字信号处理技术的核心部分,主要包括数字滤波器和数字信号处理算法。
本课程将全面介绍数字滤波器的方法和处理算法,以及加工应用实例。
4.数字滤波器和频率分析的基本概念数字滤波器是数字信号处理技术中最重要的一部分,本课程将详细讲解数字滤波器的基本功能、分类和结构。
同时,本课程还将深入探讨信号的频率分析方法、快速傅里叶变换等,为学生提供更全面的数字信号处理知识体系。
四、教学方法本课程采取理论讲解、实验操作和实际应用相结合的教学方法,重视理论和实践相结合,培养学生的操作能力和综合素质。
同时,本课程注重实用性和实效性,引导学生运用数字信号处理技术来解决实际问题。
五、实验内容为了使学生更好地理解数字信号处理技术的原理和应用,本课程安排了多项实验内容,如 MATLAB编程实验、数字信号处理设备的使用实验等,通过实验操作,培养学生的实际处理能力和实践创新意识。
六、教学成果通过本课程的学习和实践,学生可以掌握数字信号处理的基本理论知识和应用技能,具备基本的数字信号分析和处理能力,提高分析问题和解决问题的能力,为将来的工作和学习打下坚实的基础。
数字信号处理课程设计报告
《数字信号处理》课程设计报告目录第一章课程设计的概述............................................................................... 错误!未定义书签。
第一节课程设计的目的....................................................................... 错误!未定义书签。
第二节课程设计题目描述和要求第三节课程设计预期目标第二章课程设计方案 (3)第一节设计纲要 (3)第二节设计方案 (4)第三章滤波器的选择与设计 (5)第一节滤波器的选择 (5)第二节滤波器的设计 (5)第四章语音信号的设计流程第一节语音信号的录制第二节语音信号的时域、频域分析第三节加上噪声的语音信号第四节语音信号通过滤波器第五章源程序代码及整体波形第六章课程设计总结第七章参考文献第一章课程设计的概述第一节.课程设计目的通过对课程设计任务的完成,使学生进一步巩固数字信号处理的基本概念、理论、分析方法和实现方法;使学生掌握的基本理论和分析方法方面的知识得到进一步扩展;使学生能有效地将理论和实际紧密结合;增强学生软件编程实现能力和解决实际问题的能力。
要求学生能够熟练地用Matlab语言编程实现IIR数字滤波器和FIR数字滤波器,进一步明确数字信号处理的工程应用。
第二节.课程设计题目描述和要求1、认真独立的完成课程设计。
2、通过课程设计,加深对所学知识的理解和认识。
3、仿真调试通过,达到预期效果。
4、写出设计报告。
第三节、课程设计预期目标1、要求学生理解课题教学的理论内容。
2、掌握和熟悉matlab软件的编程方法和仿真过程。
3、掌握综合运用各种技术和知识的方法。
第二章课程设计方案第一节设计纲要要求录制一段自己的语音信号后,在MATLAB软件中采集语音信号、回放语音信号并画出语音信号的时域波形和频谱图;对所采集的信号加入干扰噪声,对加入噪声进行播放,并进行时域和频谱分析;对比及早前后的时域图和频谱图,分析讨论采用什么的滤波器进行滤除噪声。
数字信号处理课程设计
数字信号处理课程设计一、课程设计任务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 结果分析通过实验结果可以看出,经过数字信号处理后的音频信号具有了更好的音质和更好的稳定性。
数字信号处理的课程设计报告
目录1.绪论 (3)1.1 设计目的 (3)1.2 设计的要求 (3)1.3 设计内容 (3)1.3.1 预习题部分 (3)1.3.2 设计题部分 (4)2.设计方案与设计原理 (5)2.1 设计思路 (5)2.2设计原理 (6)3.设计步骤与仿真结果 (9)3.1 语音信号的获取 (9)3.1.1 语音信号的采集 (9)3.1.2 干扰信号的加载 (10)3.2 IIR数字滤波器的设计 (12)3.2.1 巴特沃斯带通滤波器的设计 (12)3.2.2 巴特沃斯低通滤波器的设计 (13)3.2.3 巴特沃斯高通滤波器的设计 (13)3.3 FIR数字滤波器的设计 (14)3.3.1 Hanning窗带通滤波器的设计 (14)3.3 .2 Hanning窗带通滤波器的设计 (15)3.3.3 Hanning窗带通滤波器的设计 (16)4.预习题部分 (17)5.收获和体会 (26)6主要参考文献 (28)7.附录 (29)附录1巴特沃斯带通滤波器的仿真程序 (29)附录2 巴特沃斯低通滤波器的仿真程序 (30)附录3 巴特沃斯高通滤波器的仿真程序 (31)附录4 Hanning窗带通滤波器仿真程序 (32)附录5 Hanning窗低通滤波器仿真程序 (33)附录6 Hanning窗高通滤波器仿真程序 (34)1 绪论1.1设计目的通过本次课程设计,综合运用数字信号处理技术课程和其他有关先修课程的理论和生产实际知识去分析和解决具体问题,并使所学知识得到进一步巩固、深化和发展。
初步培养学生对工程设计的独立工作能力,学习设计的一般方法。
通过课程设计树立正确的设计思想,提高学生分析问题、解决问题的能力。
进行设计基本技能的训练,如查阅设计资料和手册、程序的设计、调试等。
1.2 设计要求(1) 熟悉离散信号和系统的时域特性。
(2) 掌握数字信号处理的基本概念,基本理论和基本方法。
(3) 掌握序列快速傅里叶变换方法。
数字信号处理课程设计
数字信号处理 课程设计一、课程目标知识目标:1. 理解数字信号处理的基本概念、原理和方法,掌握其数学表达和物理意义;2. 掌握数字信号处理中的关键算法,如傅里叶变换、快速傅里叶变换、滤波器设计等;3. 了解数字信号处理技术在通信、语音、图像等领域的应用。
技能目标:1. 能够运用所学知识分析数字信号处理问题,提出合理的解决方案;2. 能够运用编程工具(如MATLAB)实现基本的数字信号处理算法,解决实际问题;3. 能够对数字信号处理系统的性能进行分析和优化。
情感态度价值观目标:1. 培养学生对数字信号处理学科的兴趣,激发其探索精神和创新意识;2. 培养学生严谨的科学态度和良好的团队协作精神,提高沟通与表达能力;3. 增强学生对我国在数字信号处理领域取得成就的自豪感,树立为国家和民族发展贡献力量的信心。
课程性质:本课程为专业选修课,旨在使学生掌握数字信号处理的基本理论和方法,培养其解决实际问题的能力。
学生特点:学生具备一定的数学基础和编程能力,对数字信号处理有一定了解,但缺乏系统学习和实践经验。
教学要求:结合学生特点和课程性质,注重理论与实践相结合,采用案例教学、互动讨论等教学方法,提高学生的参与度和实践能力。
通过本课程的学习,使学生能够达到上述课程目标,为后续相关课程和实际工作打下坚实基础。
二、教学内容1. 数字信号处理基础:包括数字信号、离散时间信号与系统、信号的采样与恢复等基本概念,使学生建立数字信号处理的基本理论框架。
教材章节:第一章 数字信号处理概述2. 傅里叶变换及其应用:介绍傅里叶变换的原理、性质和应用,以及快速傅里叶变换算法。
教材章节:第二章 傅里叶变换及其应用3. 数字滤波器设计:讲解数字滤波器的基本原理、设计方法和性能评价,包括IIR和FIR滤波器。
教材章节:第三章 数字滤波器设计4. 数字信号处理应用案例分析:通过通信、语音、图像等领域的实际案例,使学生了解数字信号处理技术的应用。
数字信号处理课程设计
4实训程序
2.
01
n=0:40;
02
a=2;b=-3;
03
x1=cos(2*pi*0.12*n);
04
x2=cos(2*pi*0.45*n);
05
x=a*x1+b*x2;
06
num=[1 1 1]/3;
07
den=1;
08
ic=[0 1];
09
clf;
10
4实训程序
y1=filter(num,den,x1,ic);
4实训程序
num=[1 1 1]/3;
ic=[0 0];
y1=filter(num,den,x1,ic);
y2=filter(num,den,x2,ic);
yt=[0 0 y1];
d=y2-yt;
n=[n 41 42];
subplot(3,1,1)
stem(n,y2,"filled");
den=1;
9
4实训程序
subplot(3,1,2)
stem(n,yt,"filled");
ylabel('Amplitude');
title('输出的线性组合:a*y_{1}(n)+b*y_{2}(n)');
subplot(3,1,3)
stem(n,d,"filled");
xlabel('Time index n');
stem(n1,x1,"filled")
axis([-3 4 -1 13])
n2=[0 1 2];
(1)
x2=0.5.^n2;
数字信号处理课程设计(含完整代码)
课题一数字信号处理系统设计一、项目要求用本课程所学的数字信号处理理论知识,设计一个具有信号的采集、处理、传输、显示和存储等功能的系统,内容如下: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带通滤波后波形图。
数字信号处理课程设计报告
设计一信号的基本运算一、设计目的熟悉信号的基本运算,通过运用Matlab进行仿真,加深对信号基本运算的理解。
通过对数据的处理,加深对Matlab中数据存取,数值运算,矩阵运算的方式及工作原理的了解。
二、设计原理Matlab是以矩阵为基础的一种软件,其集成了数值运算、矩阵运算、信号处理和图形等众多功能。
其中,对数据的存取都是以矩阵的方式进行的。
Matlab工具箱中提供了很多已经编写好的函数,我们这用些函数的时候只需要从工具箱中调用就可以了,这些函数都十分的方便。
如其中的wavread( )函数,我们可以用来从音频文件中获取数据,然后对这些数据进行运算,然后通过sound( )函数对音频文件进行回放;还有一些特殊矩阵的生成函数,如用函数zeros生成全0矩阵:格式B=zeros(m,n)生成m×n的全0阵;用函数ones生成全1矩阵:格式B=ones(m,n)生成m×n的全1阵;用函数rand生成随机矩阵:格式B=rand(m,n)生成m×n的随机矩阵;用函数eye生成单位阵:格式B=eye(m,n)生成m×n矩阵,其中对角线元素全为1,其他元素为0。
通过类似这样的操作,我们就可以方便的对信号进行相应的处理。
本次实验中,我们对一段音频信号,进行回音的模仿,然后经过上采样和下采样,反转的处理,并演示处理后的效果。
三、设计内容本次实验,我们通过采样得到一段以采样频率为8192Hz的语音信号x(k),然后通过编写Matlab程序对这段语音信号进行回音模仿,采用函数x(k)=x(k)+a*x(k-d),期中d为时延,a为时延信号的衰减幅度。
然后对语音信号进行下采样x(k/2)、上采样x(2k)、反转x(-k)。
下采样即在得到的语音信号的基础上,隔一个k值取一个函数值;上采样,即在得到的信号的基础上进行每两个k值之间进行插值;反转即把得到的信号的k变为-k。
通过这样的处理后,回放语音信号,观察效果,再看处理后的信号的时域波形。
数字信号处理教程课程设计
数字信号处理教程课程设计一、引言数字信号处理(Digital Signal Processing, DSP)是通过数值计算来获取、处理和分析信号的一种技术。
随着现代电子通信技术和嵌入式系统的发展,数字信号处理已经成为了一个重要的研究领域。
本课程设计旨在通过模拟与实验相结合的方式,为学生提供数字信号处理基础知识和实践经验。
这将有助于学生更好地理解和应用数字信号处理技术。
二、课程设计目标本课程设计旨在达到以下目标:1.帮助学生理解数字信号处理的基础知识和概念;2.通过实际操作,让学生掌握数字信号处理技术;3.通过课程设计,提高学生创新思维和解决问题的能力。
三、课程设计内容1. 数字信号处理基础知识•数字信号处理概述•采样定理及其证明•信号离散化•数字滤波器设计•快速傅里叶变换(FFT)及其应用•数字信号处理的应用领域2. 数字信号处理实践本课程的实践环节包括以下内容:•采样定理的验证•信号离散化实验•数字滤波器设计与仿真•FFT算法的实现•数字信号处理应用实例3. 课程设计要求本课程设计要求学生独立完成以下任务:•撰写数字信号处理课程论文•完成数字信号处理相关程序设计•课堂展示数字信号处理应用实例四、课程设计步骤本课程设计分为以下步骤:1. 阶段性目标确定在本课程设计之初,老师会与学生一起确定阶段性目标,以帮助学生理解和掌握数字信号处理基础知识。
2. 数字信号处理理论教学老师将通过讲授数字信号处理基础理论知识,来帮助学生更好地理解数字信号处理技术的基础知识。
3. 实验设计老师将制定实验计划,设计合适的实验,以帮助学生巩固理论,并且将数字信号处理的抽象概念转化为实际的运算过程。
4. 编程与实践操作学生将通过编程和实践操作,来掌握数字信号处理技术,完成实验后还需要撰写数字信号处理课程论文。
五、期望帮助与输出本课程设计采用 Matlab 软件作为编程工具,老师将为学生提供实验数据和相应的代码。
同时,教师将提供必要的帮助和引导,帮助学生顺利完成数字信号处理课程设计任务。
数字信号处理课程设计
数字信号处理综合课程设计目录设计目的 (3)设计内容....................................................................................4. 设计总结. (10).设计目的Matlab软件是面向工程计算的高级语言,它集科学计算,信息处理,图像处理,自动控制于一体,使用方便,具有极高的编程效率。
今年来退出了许多工具箱,如通信、信号处理、模糊逻辑、小波等。
它的出现大大推进了科学研究。
利用Matlab这一工具来分析通信专业的许多基本问题,通过仿真实验,加深课程中理论概念的理解。
设计内容第一章信号的时域分析设计题目:x(t)=[5e-t-5e-3t]u(t)程序:t=-1:0.1:5;x1=5*exp(-1*t)-5*exp(-3*t);x2=(t>=0);x=x1.*x2;plot(t,x);第二章信号的频域分析设计题目:x(t)=2sin(t-3)+sin(8t)程序:T0=2;N=32;T=T0/N;t=0:T:T0;x=2*sin(pi*t-3)+sin(8*pi*t);X=1/N*fft(x,N);f=1/T/N*(-N/2:(N/2-1));%N,f=1/T/N*(-(n-1)/2:(N-1)/2);subplot(2,1,1);stem(f,abs(fftshift(X)));xlabel('F(Hz)');ylabel('magnitude');subplot(2,1,2);stem(f,angle(fftshift(X)));xlabel('F(Hz)');ylabel('phase');第三章系统分析与设计设计题目:已知某LTI系统的微分方程2y’’(t)+y’(t)+8y(t)=x(t),用Matlab求该系统的单位冲激响应和阶跃响应,并与理论值比较。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
语音信号滤波去噪报告书课程:数字信号处理指导老师:完成组员:完成日期: 2013.01.05摘要本课程设计主要是下载一段语音信号,绘制其波形并观察其频谱。
然后在该语言信号中加一个噪音,利用布莱克曼和矩形窗窗设计一个FIR滤波器,对该语音信号进行虑噪处理,然后比较滤波前后的波形与频谱。
在本课程设计中,是用MATLAB的集成环境完成一系列的设计。
首先对加噪的语音信号进行虑波去噪处理,再比较滤波前后的频率响应曲线,若一样则满足所设计指标,否则不满足。
也可以调用函数sound听滤波前后其语音信号是否带有噪声。
若无噪声也说明该滤波器的设置也是成功的。
关键词语音信号;MATLAB; FIR滤波器;滤波去噪;1 引言人们在语音通信的过程中将不可避免的会受到来自周围环境的干扰,例如传输媒介引入的噪声,通信设备内部的电噪声,乃至其他讲话者的话音等。
正因为有这些干扰噪声的存在,接受者接受到的语音已不是原始的纯净语音信号,而是受噪声干扰污染的带噪声语音信号。
而本课程设计就是利用MATLAB集成环境用布莱克曼窗的方法设计一个FIR滤波器,对语音信号进行滤波去噪处理,并将虑噪前后的频谱图进行对比。
1.1 课程设计目的数字信号处理课程设计是数字信号处理课程的重要实践性环节,是学生在校期间一次较全面的工程师能力训练,在实现学生总体培养目标中占有重要地位。
综合运用本课程的理论知识进行频谱分析以及滤波器设计,通过理论推导得出相应结论,并利用MATLAB作为编程工具进行计算机实现,从而复习巩固了课堂所学的理论知识,提高了对所学知识的综合应用能力,并从实践上初步实现了对数字信号的处理。
本课程设计能使学生对通信工程领域各种技术的DSP实现的设计有较熟练的掌握。
且通过自身的实践,对DSP的设计程序、内容和方法有更深入的掌握,提高实际运用的能力。
并可综合运用这些知识解决一定的实际问题,使学生在所学知识的综合运用能力上以及分析问题、解决问题能力上得到一定的提高。
1.2课程设计的要求(1)、录制一段个人自己的语音信号,并对录制的信号进行采样,画出采样后语音信号的时域波形和频谱图。
(2)、给定滤波器的性能指标,采用窗函数法和双线性变换设计滤波器,并画出滤波器的频率响应。
(3)、用自己设计的滤波器对采集的信号进行滤波,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化并回放语音信号;(4)、通过利用各种不同的开发工具实现语音信号的滤波去噪,掌握数字信号的分析方法和处理方法。
而且通过课程设计能够培养学生严谨的科学态度,认真的工作作风和团队协作精神。
(5)、在老师的指导下,要求独立完成课程设计的全部内容,并按要求编写课程设计学年论文,能正确阐述和分析设计和实验结果。
1.3设计平台MATLAB名称是有两个英文单词Matrix和Laboratory的前三个字母组成。
MATLAB7.0是美国MathWorks公司开发的优秀计算软件MATLAB的最新版本。
MATLAB自20世纪80年代面世以来,以其强大的数值计算能力、优秀的绘图功能以及与其他软件良好的交互功能在众多的数学计算软件中独领风骚,特别是它源代码的开放性使用户可以二次开发,受到了广大使用者的格外赞赏。
MATLAB是一个为科学和工程计算机专门设计的交互式大型软件,是一个可以完成各种精确计算和数据处理的、可视化的、强大的计算工具。
它集图和精确计算与一身,在应用数学、物理、化工、机电工程、医药、金融和其他需要进行复杂数值计算的领域得到了广泛应用。
它不仅是一个在各类工程设计中便于使用的计算工具,在世界各地的高等院校中十分流行,在各类工业应用中更有不俗的表现。
MATLAB可以几乎所有的PC机和大型计算机上运行,适用于Window、UNIX等多种系统平台。
本课程设计我们就可以直接诶使用MATLAB 提供的模块,实现模拟通信系统的仿真。
MATLAB软件有很强的开放性和适应性。
在保持内核不变的情况下,MATLAB可以针对不同的应用学科推出相应的工具箱,目前已经推出了图像处理工具箱、信号处理工具箱、小波工具箱、神经网络工具箱以及通信工具箱等多个学科的专用工具箱,极大的方便了不同学科的研究工作。
国内已有越来越多的科研和技术人员认识到MABLAB 的强大作用,并在不同领域内使用MATLAB 来快速实现科研构想和提高工作效率。
2 设计原理2.1 FIR 滤波器FIR(Finite Impulse Response)滤波器:有限长单位冲激响应滤波器,是数字信号处理系统中最基本的元件,它可以在保证任意幅频特性的同时具有严格的线性相频特性,同时其单位抽样响应是有限长的,因而滤波器是稳定的系统。
因此,FIR 滤波器在通信、图像处理、模式识别等领域都有着广泛的应用。
FIR 数字滤波器以其良好的线性特性被广泛应用于现代电子通信系统中,是数字信号处理的重要内容之一。
在实际信号处理中,往往要求系统兼具实时性和灵活性,而已有的一些软件或硬件实现方案(如DSP)则难以同时达到这两方面的要求。
使用具有并行处理特性的FPGA 来实现FIR 滤波器,既有很强的实时性,又兼顾了灵活性,为数字信号处理提供了一种很好的解决方案。
FIR 滤波器系数计算较为繁琐,在设计时借助Matlab 工具箱,选择合适的窗函数,可以方便地计算滤波器系数,并分析其幅频、相频特性。
有限长单位冲激响应(FIR )滤波器有以下特点:(1)、系统的单位冲激响应h (n)在有限个n 值处不为零;(2)、系统函数H (z)在|z|>0处收敛,极点全部在z = 0处(因果系统);(3)、 结构上主要是非递归结构,没有输出到输入的反馈,但有些结构中(例如频率抽样结构)也包含有反馈的递归部分。
设FIR 滤波器的单位冲激响应h (n)为一个N 点序列,0 ≤ n ≤ N —1,则滤波器的系统函数为:H(z) = ∑-=10)(N n z n h -n (2-1)就是说,它有(N —1)阶极点在z = 0处,有(N —1)个零点位于有限z 平面的任何位置因此H(z)是永远稳定的。
稳定和香味特性是FIR 滤波器突出的优点。
FIR 滤波器有以下几种基本结构:横截型(卷积型、直接型)、级联型、频率抽样型、快速卷积结构。
FIRDF的设计方法主要分为两类:第一类是基于逼近理想滤波器特性的方法,包括窗函数法、频率采样法和等波纹最佳逼近法;第二类是最优设计法。
2.2窗口设计法数字信号处理的主要数学工具是博里叶变换.而傅里叶变换是研究整个时间域和频率域的关系。
不过,当运用计算机实现工程测试信号处理时,不可能对无限长的信号进行测量和运算,而是取其有限的时间片段进行分析。
做法是从信号中截取一个时间片段,然后用观察的信号时间片段进行周期延拓处理,得到虚拟的无限长的信号,然后就可以对信号进行傅里叶变换、相关分析等数学处理。
无线长的信号被截断以后,其频谱发生了畸变,原来集中在f(0)处的能量被分散到两个较宽的频带中去了(这种现象称之为频谱能量泄漏)。
为了减少频谱能量泄漏,可采用不同的截取函数对信号进行截断,截断函数称为窗函数,简称为窗。
窗函数设计法的基本思路是用FIRDF逼近希望的滤波特性。
设希望逼近的滤波器的频率响应函数为hd (e jω),其单位脉冲响应用hd(n)表示。
为了设计简单方便,通常选择hd(e jω)为具有片段常数特性的理想滤波器。
因此hd(n)是无限长非因果序列,不能直接作为FIRDF的单位脉冲响应。
窗函数设计法就是截取hd(n)为有限长的一段因果序列,并用合适的窗函数进行加权做为FIRDF的单位脉冲响应h(n)。
下面介绍窗函数设计法的基本设计过程。
窗口设计法的主要工作是计算hd (n)和w(n),但当Hd(e jω)较为复杂时,hd(n)就不容易由反付里叶变换求得。
这时一般可用离散付里叶变换代替连续付里叶变换,求得近似值。
窗口法的设计步骤如下:(1)、通过傅里叶变换忽的理想滤波器的单位脉冲响应hd(n)。
(2)、根据指标选择窗口形状、大小和位置。
确定窗口类型的主要依据是过渡带宽和阻带最小衰耗的指标。
(3)、给定理想频响由hd (e jω)和hd(n),加窗得h(n)=w(n)hd(n)。
(4)、检验滤波器的性能。
由h(n)求H (e jω) 是否在误差容限之内。
如果不满足,则返回第(2)步。
以上步骤中hd(n)、H(e jω)的计算可采用傅氏变换的现成公式和程序,窗函数w(n)也是现成的。
但整个设计过程不能一次完成,因为窗口类型和大小的选择没有解析公式可一次算出。
整个设计可用计算机编程来做。
窗口法的优点是简单,有闭合的公式可用,性能及参数都有表格资料可查,计算程序简单,较为实用。
缺点是当H d (e j ω)较为复杂时,h d (n)就不容易由反付里叶变换求得。
边界频率因为加窗的影响而不易控制。
窗口函数对理想特性的影响:改变了理想频响的边沿特性,形成过渡带,宽为N 4π , 等于WR(ω)的主瓣宽度;过渡带两旁产生肩峰和余振(带内、带外起伏),取决于 WR(ω)的旁瓣,旁瓣多,余振多;旁瓣相对值大,肩峰强,与 N 无关;N 增加,过渡带宽减小,肩峰值不变。
因主瓣附近(2-2)其中x=N ω/2,所以N 的改变不能改变主瓣与旁瓣的比例关系,只能改变W R (ω)的绝对值大小和起伏的密度,当N 增加时,幅值变大,频率轴变密,而最大肩峰永远为8.95%,这种现象称为吉布斯(Gibbs )效应。
肩峰值的大小决定了滤波器通带内的平稳程度和阻带内的衰减,所以对滤波器的性能有很大的影响。
改变窗函数的形状,可改善滤波器的特性,窗函数有许多种,但要满足以下两点要求:窗谱主瓣宽度要窄,以获得较陡的过渡带;相对于主瓣幅度,旁瓣要尽可能小,使能量尽量集中在主瓣中,这样就可以减小肩峰和余振,以提高阻带衰减和通带平稳性。
但实际上对同样长度的窗这两点不能兼得,一般总是通过增加主瓣宽度来换取对旁瓣的抑制。
2.3 布莱克曼窗布莱克曼窗的时域形式可表示为:R N n N n n )]14cos(08.0)12(cos 5.042.0[)(w -+--=ππN (n) (2-3) 它的频域特性为:W 0.42W )(=ωR 0.25[W )(+ωR W N +--)12(πωR ]12(-+N πω 0.04[W +R )14(--N πωW +R )]14(-+N πω (2-4) 其中)(ωR W 为矩形窗函数的幅度频率特性。
x x N N N N N W R sin 2/)2/sin()2/sin()2/sin()(=≈=ωωωωω增加一个二次谐波余弦分量,可进一步降低旁瓣,但主瓣宽度进一步增加,为N 12。
加N 可减少过渡带。
布莱克曼窗函数的最大旁瓣之比主瓣值低57db ,但是主瓣宽度是矩形窗函数的主瓣宽度的三倍。