现代信号处理课设报告

合集下载

现代数字信号处理课程设计

现代数字信号处理课程设计

现代数字信号处理课程设计1. 概述现代数字信号处理是一个重要的领域,其应用广泛涉及到通信、计算机、音视频处理等多个方面。

本课程设计旨在让学生通过完成一个数字信号处理的小项目,掌握数字信号处理的基本原理和方法。

2. 课程设计目标通过本课程设计,学生应能够:•理解数字信号处理的基本原理和方法;•掌握数字滤波的设计和实现方法;•理解离散傅里叶变换和离散余弦变换的原理和实现;•掌握数字信号处理在音频和图像处理中的应用。

3. 课程设计内容3.1 数字滤波器设计数字滤波是数字信号处理中的基础操作之一,通过滤波器可以实现信号去噪、增强等处理。

本课程设计要求学生设计并实现一种数字滤波器,包括滤波器的选型、设计、实现等。

3.2 离散傅里叶变换和离散余弦变换离散傅里叶变换(DFT)和离散余弦变换(DCT)是数字信号处理中的重要变换方法,在音频和图像处理等领域得到广泛应用。

本课程设计要求学生了解并实现DFT和DCT变换,并应用到一个实际问题中。

3.3 音频处理音频处理是数字信号处理中的一个重要应用领域,包括音频压缩、语音识别、音频增强等多个方面。

本课程设计要求学生通过使用数字滤波、DFT和DCT等方法,对一段音频进行处理并输出结果。

3.4 图像处理图像处理是数字信号处理中的另一个重要应用领域,包括图像增强、图像压缩、图像分割等多个方面。

本课程设计要求学生通过使用数字滤波、DFT和DCT等方法,对一张图片进行处理并输出结果。

4. 课程设计要求•学生需要独立完成小项目的设计和实现,并用Markdown文本格式撰写实验报告;•实验报告需要包含设计过程、实现方法、实验结果、分析和总结等内容;•学生需要提交课程设计的代码和实验报告,报告格式和代码规范参考教师提供的模板;•学生需要在规定时间内完成课程设计任务。

5. 结语现代数字信号处理是一个重要的学科,通过本课程设计的实践,学生可以更加深入地理解数字信号处理的基本原理和方法,并掌握数字信号处理在实际应用中的运用。

通信信号处理课程报告(优秀范文五篇)

通信信号处理课程报告(优秀范文五篇)

通信信号处理课程报告(优秀范文五篇)第一篇:通信信号处理课程报告MIMO技术及其在下一代移动通信中的应用一、前言:MIMO技术是无限移动通信领域智能天线技术的重大突破。

MIMO技术能在不增加宽带的情况下,成倍的提高通信系统的容量和频谱利用率。

随着世界各国对该技术的不断研究完善,我们有理由相信MIMO技术将成为新一代移动通信系统所必须采用的关键技术。

MIMO技术源于无限通信天线分集技术与智能天线技术,它是多入单出(MISO)与单入多出(SIMO)技术的结合,具有两者的优势和特征。

MIMO系统在发端和收端均采用多天线单元,运用先进的无线传输与信号处理技术,利用无限信道的多径传播,因势利导,开发空间资源,建立空间并行传输通道,在不增加带宽与发射功率的情况下,成倍地提高无线通信的质量与数据速率,堪称现代通信领域的重要技术突破。

MIMO技术已不是传统的无线通信智能天线,其优势已非常规智能天线所及。

二、MIMO技术:1、MIMO信道模型:MIMO系统在基站和移动端都采用了天线阵列,可为移动通信系统带来更大的系统容量,更好地保障了通信质量以及提供更高的频谱利用率。

MIMO系统能够在不增加频谱资源和天线发射功率的前提下,提供未来移动通信系统所需要的大容量高速率传输。

当发射功率和传输带宽固定时,MIMO系统的最大容量或容量上限将随天线数目的增加而增加,可以提高无线信道的容量。

以基站和移动台作为发射端和接收端来分析。

上图1所示的两个线性天线阵列,假定基站有NT根天线、移动台有NR根天线。

在基站的天线阵列上的信号表示为:xj(t)=[x1(t),x2(t),…xt(t)]T式中,符号[.]T为矢量或矩阵的转置,xj(t)为移动台的第i根天线端口的信号。

同理,yj(t)= [y1(t),y2(t),…yR(t)]T 式中,yj(t)为移动台得第j根天线端口的信号。

2、MIMO系统的容量:系统的容量是表征通信系统性能最重要的标志之一,即表示了通信系统的最大传输率。

现代信号处理课程设计报告

现代信号处理课程设计报告

中南大学课程设计报告题目现代信号处理学生姓名任秋峥指导教师张昊、张金焕学院信息科学与工程学院学号 0909090711 专业班级电子信息专业0901班完成时间 2011年9月7号目录第一章、课程设计题目 (3)1.1题目 (3)1.2课程设计要求 (3)第二章、设计思想概述 (4)2.1离散时间L TI系统及其脉冲响应 (4)2.1.1、离散时间L TI系统 (4)2.1.2离散时间系统的脉冲响应 (5)2.2、采样定理及连续时间信号的傅里叶变换 (6)2.3序列FFT (7)2.4滤波器的设计 (9)2.4.1、IIRDF的设计 (9)2.4.2 FIRDF的设计 (11)第三章、程序设计及关键部分功能说明 (13)3.1、差分方程的单位脉冲响应程序设计 (13)3.1.1差分方程在各个点的单位脉冲响应设计和分析 (13)3.2、验证采样定理 (14)3.2.1、连续时间信号的傅里叶变换 (14)3.2.2、采样定理 (16)3.3、冲击序列和矩形序列的8点和16点FFT (17)3.3.1冲击序列的FFT (17)3.3.2矩形序列的fft (18)3.4、滤波器的设计 (18)3.4.1、IIRDF的设计 (18)3.4.2、FIRDF的设计 (19)第四章、程序实现 (21)4.1、差分方程 (21)4.2采样定理 (22)4.3、FFT (25)4.4滤波器的设计 (28)4.4.1、IIRDF设计 (28)4.4.2、FIR滤波器的设计 (29)第五章、附录 (33)5.1源程序代码 (33)5.2参考文献 (39)第六章、小结与体会 (39)第一章、课程设计题目1.1题目⑴已知差分方程y(n)-y(n-1)+0.8y(n-2) = x(n);①计算并画出n = -10,...,100的脉冲响应;②研究系统的稳定性。

⑵用实验来对采样定理进行验证。

①设||1000x-t=,求并画出其傅立叶变换;e)(t②用5000样本/s和1000样本/s对该模拟信号进行采样,画出其序列傅立叶变换图并进行比较;⑶对于单位抽样序列(n)R,分别作8,16点FFT,观δ、矩形序列(n)8察它们的幅频特性,说明它们的差别,简要说明原因。

现代信号处理课设报告

现代信号处理课设报告

现代信号处理课设报告中南大学本科生课程设计报告课程名称现代信号处理指导教师赵亚湘学院信息科学与工程学院专业班级通信工程班姓名学号题目一语音信号去噪处理一、设计要求1)在windows系统下的录音机录制一段1s左右的语音信号作为原声信号,在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数;2)画出语音信号的时域波形,对采样后的语音进行fft变换,得到信号的频谱特性;对语音信号分别加入正弦噪声和白噪声,画出加噪信号的时域波形和频谱图;3)根据对加噪语音信号谱分析结果,确定滤除噪声滤波器的技术指标,设计合适的数字滤波器,并画出滤波器的频域响应;4)用所设计的滤波器对加噪的信号进行滤波,在同一个窗口画出滤波前后信号的时域图和频谱图,对滤波前后的信号进行对比,分析信号变化;5)利用sound(x)回放语音信号,验证设计效果。

二、设计思想和系统功能分析1、设计原理对语音信号加正弦/对比分析加噪声前后设计滤波,与原2、本课题的研究基本步骤如下:①确定已知声音信号的存储路径。

②在MATLAB平台上读入语音信号。

③绘制频谱图并回放原始语音信号。

④利用MATLAB编程加入一段正弦波噪音,设计滤波器去噪。

⑤利用MATLAB编程加入一段随机噪音信号,设计FIR和IIR滤波器去噪,并分别绘制频谱图、回放语音信号。

⑥通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点。

三、设计中关键部分的理论分析与计算,关键模块的设计思路1、语言的录入及处理在MATLAB软件平台下,利用函数wavread()对语音信号采集,并记录采样频率和采样点数。

将语音信号转换成计算机能够运算的有限长序列。

用FFT(傅里叶变换)对其作谱分析。

对信号添加噪声,然后通过窗函数法设计滤波器滤掉该语音信号的噪声,对比滤波前后的语音波形和频谱。

2、时域信号的FFT分析FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。

现代信号处理研究生课程报告

现代信号处理研究生课程报告

华南师范大学现代信号处理课程设计课程名称:现代信号处理课程题目: wiener滤波器和kalman滤波器的原理分析及其matlab实现指导老师:李xx专业班级: 2015级电路与系统姓名: xxxx学号: xxxxwiener滤波器和kalman滤波器的原理分析及matlab实现摘要:信号处理的实际问题,常常是要解决在噪声中提取信号的问题,因此,我们需要寻找一种所谓有最佳线性过滤特性的滤波器。

这种滤波器当信号与噪声同时输入时,在输出端能将信号尽可能精确地重现出来,而噪声却受到最大抑制。

Wiener滤波Kalman滤波就是用来解决这样一类从噪声中提取信号问题的一种过滤(或滤波)方法[1]。

Wiener滤波与Kalman滤波都是解决最佳线性过滤和预测问题,并且都是以均方误差最小为准则的。

但与Wiener滤波器不同的是,Kalman滤波器是一种自适应滤波器,Kalman滤波器提供了推导称作递推最小二乘滤波器的一大类自适应滤波器的统一框架。

关键词:Wiener滤波Kalman滤波均方误差最小自适应滤波器目录第一章绪论 (4)1.1滤波器的发展历程 (4)1.2 现代信号处理的滤波器分类 (5)1.3 wiener和kalman滤波各自的运用领域 (6)1.3.1 wiener滤波的运用范围 (6)1.3.2 kalman滤波的运用范围 (6)第二章 wiener和kalman的各自的滤波原理 (7)2.1 wiener滤波器的原理分析 (7)2.2维纳-霍夫方程 (9)2.2 kalman滤波的自适应原理分析 (11)2.3 wiener滤波和kalman滤波的区别与联系 (13)第三章 wiener和kalman滤波的matlab仿真实现 (14)3.1 FIR维纳滤波器的matlab实现 (14)3.2 kalman滤波器的matlab实现 (19)第四章总结与展望 (23)参考文献 (25)第一章绪论1.1滤波器的发展历程从滤波器的发展现状来看,滤波器从处理信号的类型可以分为模拟滤波器和数字滤波器,模拟滤波器可分为无源滤波器(Passive filter)和有源滤波器(Active filter),而数字滤波器已可用计算机软件实现,也可用大规模集成数字硬件实时实现。

《现代信号处理》课程设计报告

《现代信号处理》课程设计报告

Central South University课程设计报告课程名称: 现代信号处理设计者:专业班级: 通信0905班学号:指导老师:所属院系:信息科学与工程学院二〇一一年九月目录➢一、摘要及关键字➢二、课程设计目的➢三、课程设计题目和题目设计要求➢四、仿真设计思想和系统功能分析(理论分析与计算设计思路、程序源代码、测试数据、测试输出结果,及必要的理论分析和比较)➢五、总结(包括设计过程中遇到的问题和解决方法,设计心得与体会等)➢六、参考资料0()()sin()()anT a x n x nT Ae nT u nT -==Ω一、摘要及关键字摘要:数字信号处理是通信工程专业相当重要的学科,对日后就业和科研有重大的意义,通过MATLAB ,我们可以清晰地理解数字信号处理中难以理解的一面,对理论的知识加以深化。

关键字:MATLAB 数字信号处理 GUI 序列 频谱分析 相位 滤波器二、课程设计的目的1.全面复习课程所学理论知识,巩固所学知识重点和难点,将理论与实践很好地结合起来。

2.提高综合运用所学知识独立分析和解决问题的能力;3.熟练使用一种高级语言进行编程实现。

三、课程设计题目描述和要求本次课程设计的主要任务一是应用Matlab 对信号进行处理,进行频谱分析;二是数字滤波器的设计与实现。

设计题目如下:1. 给定模拟信号:)()sin()(0t u t Ae t at a x Ω=-,式中128.444=A,α=,s rad /2500π=Ω。

对()a t x 进行采样,可得采样序列 1) 选择采样频率s f =1 kHz ,观测时间50=p T ms ,观测所得序列()x n 及其幅频特性|()|jw X e2) 改变采样频率s f =300Hz ,观测此时|()|jw X e 的变化3) 令采样频率s f =200Hz ,观测此时|()|jw X e 的变化要求分析说明原理,绘出相应的序列及其它们对应的幅频特性曲线,指出|()|jw X e 的变化,说明为什么?2. 已知Gaussian 序列固定序列()x n 中的参数p=8,令q 分别等于2,4,8,观察它们的时域和幅频特性,了解当2(),015()0,n p q en x n --⎧⎪≤≤=⎨⎪⎩其它q取不同值时,对信号序列的时域及幅频特性的影响;固定q=8,令p分别等于8,13,14,观察参数p变化对信号序列的时域及幅频特性的影响,观察p等于多少时,会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。

武汉理工大学信号分析处理课程设计报告.

武汉理工大学信号分析处理课程设计报告.

课程设计任务书学生姓名:专业班级:指导教师:工作单位:题目:信号分析处理课程设计-基于MATLAB的二进制移相键控(2PSK)调制与解调分析初始条件:1.Matlab6.5以上版本软件;2.先修课程:通信原理等;要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、利用MATLAB中的simulink工具箱中的模块进行二进制移相键控(2PSK)调制与解调,观察波形变化;2、画出程序设计框图,编写程序代码,上机运行调试程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结;3、课程设计说明书按学校统一规范来撰写,具体包括:⑴目录;⑵理论分析;⑶程序设计;⑷程序运行结果及图表分析和总结;⑸课程设计的心得体会(至少800字,必须手写。

);⑹参考文献(不少于5篇)。

时间安排:周一、周二查阅资料,了解设计内容;周三、周四程序设计,上机调试程序;周五、整理实验结果,撰写课程设计说明书。

指导教师签名:年月日系主任(或责任教师)签名:年月日目录绪论 (1)1.软件介绍 (2)2.基本原理 (3)2.1 2PSK信号的基本原理 (3)2.2 2PSK信号的调制 (3)2.3 2PSK信号的解调 (4)3. 电路设计 (5)3.1调制部分原理图 (5)3.2调制部分参数设计 (5)3.3解调部分原理图 (7)3.4解调部分参数设计 (7)3.5总原理图 (9)4.Simulink仿真结果 (10)5.Matlab程序设计 (11)5.1程序设计框图 (11)5.2程序代码 (13)6.心得体会 (18)7.参考文献 (19)绪论Psk调制是通信系统仿真中最为重要的环节之一,Psk调制技术的改进也是通信系统性能提高的重要途径。

本文首先分析了数字调制系统的基本调制解调方法,然后,运用matlab软件仿真。

通过仿真,观察了调制解调过程中各环节时域和频域的波形,并结合这几种调制方法的调制原理,跟踪分析了各个环节对调制性能的影响及仿真模型的可靠性。

现代信号处理技术(上机实验报告)

现代信号处理技术(上机实验报告)

实验一系统响应与系统稳定性一实验程序:1.调用filter函数接差分方程:>> A=[1,-0.9];B=[0.05,0.05];>> x1n=[1 1 1 1 1 1 1 1 zeros(1,50)];>> x2n=ones(1,128);>> hn=impz(B,A,58);>> subplot(1,1,1);y='h(n)';tstem(hn,y);>> title(' (a)系统单位脉冲响应h(n)')>> y1n=filter(B,A,x1n);>> title('(b)系统对R8(n)的响应y1n');>> y2n=filter(B,A,x2n);>> subplot(1,1,1);y='y2(n)';tstem(y2n,y);>> title('(c) 系统对u(n)的响应y2(n)');2.调用conv函数计算卷积:>> x1n=[1 1 1 1 1 1 ];>> h1n=[ones(1,10) zeros(1,10)];>> h2n=[1 2.5 2.5 1 zeros(1,10)];>> y21n=conv(h1n,x1n);>> y22n=conv(h2n,x1n);>> subplot(1,1,1);y='h1(n)';tstem(h1n,y);>> title('(1) 系统单位脉冲响应h1(n)')>> subplot(1,1,1);y='y21n';tsttem(y21n,y);>> subplot(1,1,1);y='y21n';tstem(y21n,y);>> title('(2) h1n与R8(n)的卷积y21(n)')>> subplot(1,1,1);y='h2(n)';tstem(h2n,y);>> title('(3) 系统单位脉冲响应h2(n)')>> subplot(1,1,1);y='y22(n)';tstem(y22n,y);>> title('(4) h2(n)与R8(n)的卷积y22(n)')3.谐振器分析:>> un=ones(1,256);>> n=0:255;>> xsin=sin(0.014*n)+sin(0.4*n);>> A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; >> y31n=filter(B,A,un);>> y32n=filter(B,A,xsin);>> subplot(1,1,1);y='y31(n)';tstem(y31n,y);>> title('(1) 谐振器对u(n)的响应y31(n)')>> subplot(1,1,1);y='y32(n)';tstem(y32n,y);>> title('(2) 谐振器对正弦信号的响应y32(n)') 二试验程序运行结果:实验二用FFT对信号作频谱分析一实验程序:1.调用函数fft计算序列x(n)的DFT>>x1n=[ones(1,4)];>> M=8;xa=1:(M/2);xb=(M/2):(-1):1;x2n=[xa,xb];>> M=8;xa=1:(M/2);xb=(M/2):-1:1;x2n=[xa,xb];>> x3n=[xb,xa];>> X1k8=fft(x1n,8);>> X1K16=fft(x1n,16);>> X1k16=fft(x1n,16);>> X2k8=fft(x2n,8);>> X2k16=fft(x2n,16);>> X3k8=fft(x3n,8);>> X3k16=fft(x3n,16);%以下为绘图程序>> subplot(1,1,1);mstem(X1k8)>> title('(a)8点DFT[x_1(n)]');>> axis([0,2,0,1.2*max(abs(X1k8))])>> subplot(1,1,1);mstem(X1k16);>> title('(b)16点DFT[x_1(n)]');>> axis([0,2,0,1.2*max(abs(X1k16))])>> subplot(1,1,1);mstem(X2k8)>> title('(c) 8点DFT[X_2(n)]');>> axis([0,2,0,1.2*max(abs(X2k8))])>> subplot(1,1,1);mstem(X2k16)>> title('(d) 16点DFT[x_2(n)]');>> axis([0,2,0,1.2*max(abs(X2k16))])>> subplot(1,1,1);mstem(X3k8);>> title('(e) 8点DFT[x_3(n)]');>> axis([0,2,0,1.2*max(abs(X3k8))])>> subplot(1,1,1);mstem(X3k16);>> title('(f) 16点DFT[x_3(n)]');>> axis([0,2,0,1.2*max(abs(X3k16))])2.周期序列谱分析:>> N=8;n=0:N-1;>> x4n=cos(pi*n/4);>> x5n=cos(pi*n/4)+cos(pi*n/8);>> X4k8=fft(x4n);>> x5k8=fft(x5n);>> N=16;n=0:N-1;>> x4n=cos(pi*n/4);>> x5n=cos(pi*n/4)+cos(pi*n/8);>> X4k16=fft(x4n);>> x5k16=fft(x5n);>> subplot(1,1,1);mstem(X4k8);>> title('(g) 8点DFT[x_4(n)]');>> axis([0,2,0,1.2*max(abs(X4k8))])>> subplot(1,1,1);mstem(X4k16);>> title('(h) 16点DFT[x_4(n)]');>> axis([0,2,0,1.2*max(abs(X4k16))])>> subplot(1,1,1);mstem(X5k8);Undefined function or variable 'X5k8'.>> subplot(1,1,1);mstem(x5k8);>> title('(i) 8点DFT[x_5(n)]');>> axis([0,2,0,1.2*max(abs(x5k8))])>> subplot(1,1,1);mstem(X5k16);Undefined function or variable 'X5k16'.>> subplot(1,1,1);mstem(x5k16);>> title('(j) 16点DFT[x_5(n)]');>> axis([0,2,0,1.2*max(abs(x5k16))])3.模拟周期信号谱分析:>> Fs=64;T=1/Fs;>> N=16;n=0:N-1;>> x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);>> X6k16=fft(x6nT);>> X6k16=fftshift(X6k16);>> Tp=N*T;F=1/Tp;>> k=-N/2:N/2-1;fk=k*F;>> subplot(1,1,1);stem(fk,abs(X6k16),'.');box on>> title('(a) 16点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度'); >> axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k16))])>> N=32;n=0:N-1;>> x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);>> X6k32=fft(x6nT);>> X6k32=fftshift(X6k32);>> Tp=N*T;F=1/Tp;>> k=-N/2:N/2-1;fk=k*F;>> subplot(1,1,1);stem(fk,abs(X6k32),'.');box on>> title('(b) 32点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度'); >> axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k32))])>> N=64;n=0:N-1;>> x6nT=cos(8*pi*n*T)+cos(16*pi*n*T)+cos(20*pi*n*T);>> X6k64=fft(x6nT);>> X6k64=fftshift(X6k64);>> Tp=N*T;F=1/Tp;>> k=-N/2:N/2-1;fk=k*F;>> subplot(1,1,1);stem(fk,abs(X6k64),'.');box on>> title('(c) 64点|DFT[x_6(nT)]|');xlabel('f(Hz)');ylabel('幅度'); >> axis([-N*F/2-1,N*F/2-1,0,1.2*max(abs(X6k64))])二程序运行结果:实验三 IIR数字滤波器设计与软件实现一实验程序:>> Fs=10000;T=1/Fs;>> st=mstg;N =16001.低通滤波器设计与实现:>> fp=280;fs=450;>> wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;>> [N,wp]=ellipord(wp,ws,rp,rs);>> [B,A]=ellip(N,rp,rs,wp);>> y1t=filter(B,A,st);>> subplot(3,1,1);>> myplot(B,A);>> yt='y_1(t)';>> subplot(3,1,2);tplot(y1t,T,yt);2.带通滤波器设计与实现:>> fp1=440;fpu=560;fs1=275;fsu=900;>> wp=[2*fp1/Fs,2*fpu/Fs];ws=[2*fs1/Fs,2*fsu/Fs];rp=0.1;rs=60;>> [N,wp]=ellipord(wp,ws,rp,rs);>> [B,A]=ellip(N,rp,rs,wp);>> y2t=filter(B,A,st);>> subplot(3,1,1);>> myplot(B,A);>> yt='y_2(t)';>> subplot(3,1,2);tplot(y2t,T,yt)3.高通滤波器设计与实现:>> fp=890;fs=600;>> wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60;>> [N,wp]=ellipord(wp,ws,rp,rs);>> [B,A]=ellip(N,rp,rs,wp,'high');>> y3t=filter=(B,A,st);>> subplot(3,1,1);myplot(B,A);>> yt='y_3(t)';>> subplot(3,1,2);tplot(y3t,T,yt)二实验程序运行结果:图(1) 三路调幅信号s(t)的时域波形和幅频特性曲线图(2) 低通滤波器损耗函数及其分离出的调幅信号y1(t) 图(3) 带通滤波器损耗函数及其分离出的调幅信号y2(t)图(4) 高通滤波器损耗函数及其分离出的调幅信号y3(t) N=1000时不能得到6根理想谱线:N=2000时可以得到6根理想谱线:实验四 FIR数字滤波器设计与软件实现一实验程序:1.用窗函数法设计滤波器:>> N=1000;xt=xtg(N);>> fp=120;fs=150;Rp=0.2;As=60;Fs=1000;>> wc=(fp+fs)/Fs;>> B=2*pi*(fs-fp)/Fs;>> Nb=ceil(11*pi/B);>> hn=fir1(Nb-1,wc,blackman(Nb));>> Hw=abs(fft(hn,1024));>> ywt=fftfilt(hn,xt,N);>> rs=60;a=1;mpplot(hn,a,rs)2.用等波纹最佳逼近法设计滤波器:>> fb=[fp,fs];m=[1,0];>> dev=[(10^(Rp/20)-1)/(10^(Rp/20)+1),10^(-As/20)]; >> [Ne,fo,mo,W]=remezord(fb,m,dev,Fs);>> hn=remez(Ne,fo,mo,W);>> Hw=abs(fft(hn,1024));>> yet=fftfilt(hn,xt,N);>> subplot(2,1,1)>> mfftplot(hn,1000)>> yn='hn';tstem(hn,yn)>> yn='hn';A=1;myplot(hn,A)二实验程序运行结果:附录实验中用到的特殊绘图函数1.时域序列离散波形绘制函数tstem:function tstem(xn,yn)%时域序列绘图函数% xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串)n=0:length(xn)-1;stem(n,xn,'.');box onxlabel('n');ylabel(yn);axis([0,n(end),min(xn),1.2*max(xn)])2.Xk的离散幅频特性绘制函数mstem:function mstem(Xk)M=length(Xk);k=0:M-1;wk=2*k/M; %产生M点DFT的采样点频率stem(wk,abs(Xk),'.');box on%绘制M点DFT的幅频特性图xlabel('w/pi');ylabel('幅度');axis([0,2,0,1.2*max(abs(Xk))]) 3.交换函数fftshift:function [f, sf]=FFT_SHIFT(t, st)%This function is FFT to calculate a signal’s Fourier transform %Input: t: sampling time , st : signal data. Time length must greater thean 2%output: f : sampling frequency , sf: frequen%output is the frequency and the signal spectrumdt=t(2)-t(1);T=t(end);df=1/T;N=length(t);f=[-N/2:N/2-1]*df;sf=fft(st);sf=T/N*fftshift(sf);4.信号产生函数mstg:function st=mstgN=1600Fs=10000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;fc1=Fs/10;fm1=fc1/10;fc2=Fs/20;fm2=fc2/10;fc3=Fs/40;fm3=fc3/10;xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);st=xt1+xt2+xt3;fxt=fft(st,N);subplot(3,1,1)plot(t,st);grid;xlabel('t/s');ylabel('s(t)');axis([0,Tp/8,min(st),max(st)]);title('(a) s(t)的波形');subplot(3,1,2)stem(f,abs(fxt)/max(abs(fxt)),'.');grid;title('(b) s(t)的频谱') axis([0,Fs/5,0,1.2]);xlabel('f/HZ');ylabel('幅度')5.时域离散系统损耗函数的绘制函数:myplotfunction myplot(B,A)[H,W]=freqz(B,A,1000);m=abs(H);plot(W/pi,20*log10(m/max(m)));grid on;xlabel('\omega/\pi');ylabel('幅度(dB)')axis([0,1,-80,5]);title('损耗函数曲线');6.时域序列连续曲线的绘制函数:tplotfunction tplot(xn,T,yn)n=0:length(xn)-1;t=n*T;plot(t,xn);xlabel('t/s');ylabel(yn);axis([0,t(end),min(xn),1.2*max(xn)]);7.序列向量xn的N点fft并绘制其幅频特性曲线的绘图函数mfftplot:function mfftplot(xn,N)Xk=fft(xn,N);k=0:N-1;wk=2*k/N;m=abs(Xk);mm=max(m);plot(wk,m/mm);grid on;xlabel('\omega/\pi');ylabel('幅度(dB)');axis([0,2,0,1.2]);title('低通滤波器幅频特性曲线')8.时域离散系统损耗函数和相频特性函数的绘图函数:mpplot:function mpplot(B,A,Rs)if nargin<3 ymin=-80;else ymin=-Rs-20;end;[H,W]=freqz(B,A,1000);m=abs(H);p=angle(H);subplot(2,1,1);plot(W/pi,20*log10(m/max(m)));grid on;xlabel('\omega/\pi');ylabel('幅度(dB)')axis([0,1,ymin,5]);title('低通滤波器幅频特性曲线')subplot(2,1,2);plot(W/pi,p/pi);xlabel('\omega/\pi');ylabel('y_w(t)/\pi');grid on;title('滤除噪声后的信号波形')9.信号产生函数xtg:function xt=xtg(N)N=2000;Fs=1000;T=1/Fs;Tp=N*T;t=0:T:(N-1)*T;fc=Fs/10;f0=fc/10;mt=cos(2*pi*f0*t);ct=cos(2*pi*fc*t);xt=mt.*ct;nt=2*rand(1,N)-1;fp=150;fs=200;Rp=0.1;As=70;fb=[fp,fs];m=[0,1];dev=[10^(-As/20),(10^(Rp/20)-1)/(10^(Rp/20)+1)];[n,fo,mo,W]=remezord(fb,m,dev,Fs);hn=remez(n,fo,mo,W);yt=filter(hn,1,10*nt);xt=xt+yt; %噪声加信号fst=fft(xt,N);k=0:N-1;f=k/Tp;subplot(3,1,1);plot(t,xt);grid;xlabel('t/s');ylabel('x(t)');axis([0,Tp/5,min(xt),max(xt)]);title('(a) 信号加噪声波形')subplot(3,1,2);plot(f,abs(fst)/max(abs(fst)));grid;title('(b) 信号加噪声的频谱')axis([0,Fs/2,0,1.2]);xlabel('f/Hz');ylabel('幅度')现代信号处理技术上机实验报告姓名:常鸿斌学号:09250418班级:通信工程四班。

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

中南大学本科生课程设计报告课程名称现代信号处理指导教师赵亚湘学院信息科学与工程学院专业班级通信工程班姓名学号题目一语音信号去噪处理一、设计要求1)在windows系统下的录音机录制一段1s左右的语音信号作为原声信号,在MATLAB软件平台下,利用函数wavread对语音信号进行采样,记住采样频率和采样点数;2)画出语音信号的时域波形,对采样后的语音进行fft变换,得到信号的频谱特性;对语音信号分别加入正弦噪声和白噪声,画出加噪信号的时域波形和频谱图;3)根据对加噪语音信号谱分析结果,确定滤除噪声滤波器的技术指标,设计合适的数字滤波器,并画出滤波器的频域响应;4)用所设计的滤波器对加噪的信号进行滤波,在同一个窗口画出滤波前后信号的时域图和频谱图,对滤波前后的信号进行对比,分析信号变化;5)利用sound(x)回放语音信号,验证设计效果。

二、设计思想和系统功能分析②在MATLAB平台上读入语音信号。

③绘制频谱图并回放原始语音信号。

④利用MATLAB编程加入一段正弦波噪音,设计滤波器去噪。

⑤利用MATLAB编程加入一段随机噪音信号,设计FIR和IIR滤波器去噪,并分别绘制频谱图、回放语音信号。

⑥通过仿真后的图像以及对语音信号的回放,对比两种去噪方式的优缺点。

三、设计中关键部分的理论分析与计算,关键模块的设计思路1、语言的录入及处理在MATLAB软件平台下,利用函数wavread()对语音信号采集,并记录采样频率和采样点数。

将语音信号转换成计算机能够运算的有限长序列。

用FFT(傅里叶变换)对其作谱分析。

对信号添加噪声,然后通过窗函数法设计滤波器滤掉该语音信号的噪声,对比滤波前后的语音波形和频谱。

2、时域信号的FFT分析FFT即为快速傅氏变换,是离散傅氏变换的快速算法,它是根据离散傅氏变换的奇、偶、虚、实等特性,对离散傅立叶变换的算法进行改进获得的。

在MATLAB 的信号处理工具箱中函数FFT和IFFT用于快速傅立叶变换和逆变换。

函数FFT 用于序列快速傅立叶变换,其调用格式为y=fft(x),其中,x是序列,y是序列的FFT,x可以为一向量或矩阵,若x为一向量,y是x的FFT且和x相同长度;若x为一矩阵,则y是对矩阵的每一列向量进行FFT。

如果x长度是2的幂次方,函数fft执行高速基-2FFT算法,否则fft执行一种混合基的离散傅立叶变换算法,计算速度较慢。

函数FFT的另一种调用格式为y=fft(x,N),式中,x,y意义同前,N为正整数。

函数执行N点的FFT,若x为向量且长度小于N,则函数将x补零至长度N;若向量x的长度大于N,则函数截短x使之长度为N;若x 为矩阵,按相同方法对x进行处理。

3、滤波方法将信号中特定波段频率滤除的操作称为滤波,它是抑制和防止干扰的一项重要措施。

若有用信号和无用信号在频谱上可区分,则可采用滤波的方法来衰减甚至消除无用信号。

传统的滤波方法是使用滤波器,比如低通、高通、带通、带阻滤波器等,通常按典型的滤波器原型来设计。

典型的滤波器原型有Butterworth, Chebyshev 和elliptical 等几种。

本次设计采用巴特沃斯低通滤波器实现对加正弦噪声信号的滤波处理,采用海明窗实现对加高斯白噪声信号的滤波处理。

四、测试数据、测试输出结果,及必要的理论分析和比较1、加正弦噪声-1-0.500.51原始信号时域图time(s)幅度5001000原始信号频谱图Hz幅度-1-0.500.51滤波前信号时域图time(s)幅度01000200030004000500060005001000滤波前信号频谱图Hz幅度(1)由上图中的时域明显看出加正弦噪声前后信号的改变,频域图更是可以轻易选择低通滤波器去滤掉噪声恢复原声音信号。

-1-0.500.51滤波后信号时域图time(s)幅度5001000滤波后信号频谱图Hz幅度(2)滤波后,效果明显,听声音也可以看出,此次操作的成功。

-250-200-150-100-5050频率响应w/pi幅度2、加高斯白噪声(1)下面两幅图信号时域和频域的对比也能明显看出加噪声前后的差异之处。

而且可以看出,巴特沃斯高通、低通、带通滤波器都不能够滤去这种噪声,因此想到窗函数,而我选择的是海明窗。

00.51 1.52 2.53 3.54-1-0.500.51原始信号时域图time(s)幅度01000200030004000500060005001000原始信号频谱图Hz幅度00.511.522.533.54-1-0.500.51滤波前信号时域图time(s)幅度01000200030004000500060005001000滤波前信号频谱图Hz幅度(2)滤波之后的声音信号显然不适合原声音信号一样,但声音效果还是差不多的。

00.511.522.533.54-1-0.500.51滤波后信号时域图time(s)幅度01000200030004000500060005001000滤波后信号频谱图Hz幅度-70-60-50-40-30-20-10频率响应Hz幅度五、总结,包括设计过程中遇到的问题和解决方法,设计心得与体会等Matlab 是一套高性能的数值计算和可视化软件。

打开matlab 软件,新建new M-File,输入程序代码,代码分为四大块:原始信号程序;噪声信号程序;巴特沃斯低通滤波器设计程序;对信号进行滤波处理程序,当然每个程序包括画图程序。

在编写程序的过程中,有很多需要注意的,比如在利用windows进行录音的时候,windows7录音的格式是.wma格式的,开始是不注意,导致程序一开始运行时就出错,需要用改成.wav格式的,之后对于滤波器性能指标的设计,时域和频谱波形的画图程序显示也需要注意,否则很容易出错,或是显示不了波形。

用巴特沃斯低通滤波器滤除噪声之后,实验总是存在误差,无法完全滤除噪声。

低通滤波后,声音稍微有些发闷、低沉,原因是高频分量被低通滤波器衰减。

但是很接近原来的声音。

如果用高通滤波后,只有少许杂音,原因是低频分量被高通滤波器衰减,而人声部分正好是低频部分,所以只剩下杂音,或者发出高频杂音但人的耳朵听不到。

MATLAB7.0功能十分强大且操作起来比较简单,可以在短时间内掌握其操作要领,同时加深了数字信号处理理论联系实际的学习和运用。

在编程过程中,MATLAB7.0对格式要求非常严格,不能识别中文标点符号,在使用时容易出现错误,导致整个程序不能运行。

在以往,我们都是通过课本来感性的认知语音信号,通过本次的课程设计,让我对语音信号有了一个较为实际的认识。

于此同时,让我们再次把数字信号处理及数字滤波器的设计方法重新进行了复习和学习。

最为重要的是,本次课程设计让我重新审视了学习的过程:只去做实验是不行的,首先还是要思考,遇到了问题查书籍,百度搜索也只是一种手段,更加重要的是要去想,去理解,只有这样才能真正的做好实验。

六、参考文献[1]高西全,丁玉美.数字信号处理(第三版)[M].西安:西安电子科技大学出版社,[2]周玲.基于MATLAB的语音信号数字滤波处理[J].安庆师范学院学报.[3]王薇,张明敏.基于MATLAB的FIR数字滤波器典型设计[J].火力与指挥控制.七、程序源代码清单%第一题(正弦)%信号采样[x,fs,bit]=wavread('C:\Users\ASUS\Desktop\信号课设\相关资料\相关资料\Sounds\bat.wav'); M=size(x,1); %提取采样信号的长度t=(0:length(x)-1)/fs; %计算样本时刻f=fs*(0:(M+1)/2-1)/M+1;x=x(:,1); %只取单声道X=fft(x,M+1);figure(1)subplot(2,1,1);plot(t,x)title('原始信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f,abs(X(1:(M+1)/2)));title('原始信号频谱图')xlabel('Hz');ylabel('幅度');%加正弦白噪声及滤波a=0.02;f1=5000;ts=0:1/fs:(size(x)-1)/fs; %将所加噪声信号的点数调整到与原始信号相同noise=a*sin(2*pi*f1*ts)'; %噪声为5000Hz的正弦信号z=x+noise;Z=fft(z,M+1); %进行N+1点FFT变换fp=3500; %通带截止频率fc=4500; %阻带下限截止频率Rp=3; %通带波纹Rs=30; %阻带波纹Wp=fp/fs*2*pi;Ws=fc/fs*2*pi; %计算对应的数字频率T=2;Fs=1/T; %定义采样间隔wp1=2/T*tan(Wp/2);ws1=2/T*tan(Ws/2); %截止频率预畸变[N,wn]=buttord(wp1,ws1,Rp,Rs,'s');%计算滤波器介数和截止频率[cs,ds]=butter(N,wn,'s'); %计算滤波器系统函数分子分母系数[b,a]=bilinear(cs,ds,Fs); %双线性变换得到数字滤波器系统函数分子分母系数[H,W]=freqz(b,a);y=filter(b,a,z); %对加噪信号进行滤波Y=fft(y,M+1); %对滤波后进行N+1点FFT变换figure(2)subplot(2,1,1); %画滤波前信号波形图和频谱图plot(t,z)title('滤波前信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f,abs(Z(1:(M+1)/2)));title('滤波前信号频谱图')xlabel('Hz');ylabel('幅度');figure(3)subplot(2,1,1); %画滤波后信号波形图和频谱图plot(t,y)title('滤波后信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f,abs(Y(1:(M+1)/2)));title('滤波后信号频谱图')xlabel('Hz');ylabel('幅度');figure(4) %绘制滤波器频率响应plot(W/pi,20*log10(abs(H)))title('频率响应')xlabel('w/pi');ylabel('幅度');sound(5*x,fs)pause;sound(20*x,fs)pause;sound(20*z,fs)pause;sound(20*y,fs) %滤波后的语音信号%第一题(高斯)%信号采样[x,fs,bit]=wavread('C:\Users\ASUS\Desktop\信号课设\相关资料\相关资料\Sounds\bat.wav'); M=size(x,1); %提取采样信号的长度t=(0:length(x)-1)/fs; %计算样本时刻f=fs*(0:(M+1)/2-1)/M+1;x=x(:,1); %只取单声道X=fft(x,M+1);figure(1)subplot(2,1,1);plot(t,x)title('原始信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f,abs(X(1:(M+1)/2)));title('原始信号频谱图')xlabel('Hz');ylabel('幅度');%加高斯白噪声及滤波z2=awgn(x,20); %对信号加信噪比为10的高斯白噪声N2=size(z2,1); %提取采样信号的长度t2=(0:length(z2)-1)/fs; %计算样本时刻f2=fs*(0:(N2+1)/2-1)/N2+1;X2=fft(x,N2+1);Z2=fft(z2,N2+1); %进行N+1点FFT变换fp=1000; %通带截止频率fc=2000; %阻带起始频率Wp=fp/fs*2*pi;Ws=fc/fs*2*pi; %计算对应的数字频率detaw=Ws-Wp;n=ceil(1*pi/detaw);wc=(Wp+Ws)/2;b=fir1(n-1,wc/pi,hamming(n));%选择海明窗,并归一化[H,w]=freqz(b);ma=20*log10(abs(H));v=conv(b,z2); %对加噪信号进行滤波t1=(0:length(v)-1)/fs;V=fft(v,N2+1); %对滤波后进行N+1点FFT变换figure(2)subplot(2,1,1); %画滤波前信号波形图和频谱图plot(t,z2)title('滤波前信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f2,abs(Z2(1:(N2+1)/2)));title('滤波前信号频谱图')xlabel('Hz');ylabel('幅度');figure(3)subplot(2,1,1); %画滤波后信号波形图和频谱图plot(t1,v)title('滤波后信号时域图');xlabel('time(s)');ylabel('幅度');subplot(2,1,2);plot(f2,abs(V(1:(N2+1)/2)));title('滤波后信号频谱图')xlabel('Hz');ylabel('幅度');figure(4) %绘制滤波器频率响应plot(w/pi,ma)title('频率响应')xlabel('Hz');ylabel('幅度');sound(5*x,fs)pause;sound(5*x,fs)pause;sound(5*z2,fs)pause;sound(5*v,fs) %滤波后的语音信号题目二语音信号的延时和混响一.设计要求1)利用Windows下的录音机或其他软件,录制一段自己的语音信号,时间控制在1s左右,并对录制的信号进行采样;2)语音信号的频谱分析,画出采样后语音信号的时域波形和频谱图;3)将信号加入延时和混响,再分析其频谱,并与原始信号频谱进行比较;4)设计几种特殊类型的滤波器:单回声滤波器,多重回声滤波器,全通结构的混响器,并画出滤波器的频域响应;5)用自己设计的滤波器对采集的语音信号进行滤波;6)分析得到信号的频谱,画出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化;7)回放语音信号。

相关文档
最新文档